diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/Buildit DarwinStreamingSrvr6.0.3-Source-Solaris/Buildit
--- DarwinStreamingSrvr6.0.3-Source-Linux/Buildit	Wed Mar 26 01:42:48 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/Buildit	Wed May 28 10:20:03 2008
@@ -1,6 +1,7 @@
 #!/bin/sh
  
-VERSION=`grep kVersion revision.h | grep -o [:0123456789:].*[:0123456789:]`
+VERSION=`grep '^#define kVersion' revision.h | awk -F\" '{print $2}'`
+
 ##Build script for Darwin Streaming Server
 if [ `uname` = "Darwin" ] ; then
     PLATFORM=dss

diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/PlatformHeader.h DarwinStreamingSrvr6.0.3-Source-Solaris/PlatformHeader.h
--- DarwinStreamingSrvr6.0.3-Source-Linux/PlatformHeader.h	Tue May  6 01:29:00 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/PlatformHeader.h	Wed May 28 10:22:26 2008
@@ -172,6 +172,12 @@
 #ifdef _M_ALPHA
    #define BIGENDIAN 0
 #endif
+#ifdef __i386
+    #define BIGENDIAN 0
+#endif
+#ifdef __amd64
+    #define BIGENDIAN 0
+#endif 
 #ifndef BIGENDIAN
   #error NEED BIGENDIAN DEFINITION 0 OR 1 FOR PLATFORM
 #endif
@@ -187,6 +193,8 @@
 #define kPlatformNameString     "Solaris"
 #define EXPORT
 #define _REENTRANT 1
+#define kUInt32_Max (UInt32) ULONG_MAX
+#define kSInt32_Max (SInt32) LONG_MAX
 
 #elif __sgi__ 
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/CommonUtilitiesLib/OS.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OS.cpp
--- DarwinStreamingSrvr6.0.3-Source-Linux/CommonUtilitiesLib/OS.cpp	Tue May  6 01:28:59 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OS.cpp	Wed May 28 10:27:16 2008
@@ -69,10 +69,14 @@
     #include <sys/sysctl.h>
 #endif
 
-#if (__solaris__ || __linux__ || __linuxppc__)
+#if (__linux__ || __linuxppc__)
     #include "StringParser.h"
 #endif
 
+#if (__solaris__)
+       #include <unistd.h>
+#endif
+
 #if __sgi__
 	#include <sys/systeminfo.h>
 #endif
@@ -225,7 +229,11 @@
     if (tmptr == NULL)
         return 0;
         
+   #if __MacOSX__
      return tmptr->tm_gmtoff / 3600;//convert seconds to  hours before or after GMT
+   #else
+     return 0;
+   #endif
 #endif
 }
 
@@ -406,39 +414,12 @@
 
 #if(__solaris__)
 {
-    UInt32 numCPUs = 0;
-    char linebuff[512] = "";
-    StrPtrLen line(linebuff, sizeof(linebuff));
-    StrPtrLen word;
-
-    FILE *p = ::popen("uname -X","r");
-    while((::fgets(linebuff, sizeof(linebuff -1), p)) > 0)
-    {
-        StringParser lineParser(&line);
-        lineParser.ConsumeWhitespace(); //skip over leading whitespace
-
-        if (lineParser.GetDataRemaining() == 0) // must be an empty line
-            continue;
-
-        lineParser.ConsumeUntilWhitespace(&word);
-
-        if ( word.Equal("NumCPU")) // found a tag as first word in line
-        {
-            lineParser.GetThru(NULL,'=');
-            lineParser.ConsumeWhitespace();  //skip over leading whitespace
-            lineParser.ConsumeUntilWhitespace(&word); //read the number of cpus
-            if (word.Len > 0)
-                ::sscanf(word.Ptr, "%"_U32BITARG_"", &numCPUs);
-
-            break;
-        }
-    }
-    if (numCPUs == 0)
-        numCPUs = 1;
-        
-    ::pclose(p);
+    static UInt32 numCPUs = sysconf(_SC_NPROCESSORS_ONLN);  // Only ever called once
     
-       return numCPUs;
+    if (numCPUs <= 0)
+        numCPUs = 1;
+
+    return numCPUs;
 }
 #endif

diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/CommonUtilitiesLib/OSRef.h DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSRef.h
--- DarwinStreamingSrvr6.0.3-Source-Linux/CommonUtilitiesLib/OSRef.h	Fri May 23 22:28:51 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/CommonUtilitiesLib/OSRef.h	Mon May 26 15:40:24 2008
@@ -41,7 +41,9 @@
 #ifndef _OSREF_H_
 #define _OSREF_H_
 
+#define kUInt32_Max (UInt32) ULONG_MAX
 
+
 #include "StrPtrLen.h"
 #include "OSHashTable.h"
 #include "OSCond.h"

diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/MP3Broadcaster/BroadcasterMain.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/MP3Broadcaster/BroadcasterMain.cpp
--- DarwinStreamingSrvr6.0.3-Source-Linux/MP3Broadcaster/BroadcasterMain.cpp	Tue May  6 01:28:57 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/MP3Broadcaster/BroadcasterMain.cpp	Mon May 26 17:39:26 2008
@@ -229,7 +229,7 @@
     if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) 
     {   // from kill...
         if ( ::sigaction(SIGTERM, &act, NULL) != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
     }
 
@@ -236,7 +236,7 @@
     if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) 
     {   // ^C signal
         if ( ::sigaction(SIGINT, &act, NULL)  != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -244,7 +244,7 @@
     if ( ::signal(SIGPIPE, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGPIPE, &act, NULL)   != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -252,7 +252,7 @@
     if ( ::signal(SIGHUP, SIG_IGN) != SIG_IGN) 
     {   // catch any SIGHUP
         if ( ::sigaction(SIGHUP, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -260,7 +260,7 @@
     if ( ::signal(SIGALRM, SIG_IGN) != SIG_IGN) 
     {   // catch any SIGALRM
         if ( ::sigaction(SIGALRM, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -282,7 +282,7 @@
 
 	  {
 
-         qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%"_SPOINTERSIZEARG_").\n", signalID );
+         qtss_printf( "- PlaylistBroadcaster: Unexpected signal type (%_SPOINTERSIZEARG_).\n", signalID );
 
          // just ignore it...
 
diff -ur DarwinStreamingSrvr6.0.3-Source-Linux/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp DarwinStreamingSrvr6.0.3-Source-Solaris/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp
--- DarwinStreamingSrvr6.0.3-Source-Linux/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp	Tue May  6 01:29:00 2008
+++ DarwinStreamingSrvr6.0.3-Source-Solaris/PlaylistBroadcaster.tproj/PlaylistBroadcaster.cpp	Mon May 26 17:38:23 2008
@@ -2099,7 +2099,7 @@
     if ( ::signal(SIGTERM, SIG_IGN) != SIG_IGN) 
     {   // from kill...
         if ( ::sigaction(SIGTERM, &act, NULL) != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
     }
 
@@ -2106,7 +2106,7 @@
     if ( ::signal(SIGINT, SIG_IGN) != SIG_IGN) 
     {   // ^C signal
         if ( ::sigaction(SIGINT, &act, NULL)  != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -2114,7 +2114,7 @@
     if ( ::signal(SIGPIPE, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGPIPE, &act, NULL)   != 0 )
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
@@ -2122,7 +2122,7 @@
     if ( ::signal(SIGHUP, SIG_IGN) != SIG_IGN) 
     {   // broken pipe probably from a failed RTSP session (the server went down?)
         if ( ::sigaction(SIGHUP, &act, NULL)  != 0)
-        {   qtss_printf( "- PlaylistBroadcaster: System error (%"_SPOINTERSIZEARG_").\n", (PointerSizedInt)SIG_ERR );
+        {   qtss_printf( "- PlaylistBroadcaster: System error (%_SPOINTERSIZEARG_).\n", (PointerSizedInt)SIG_ERR );
         }
         
     }
