--- Modules/CMakeDetermineSystem.cmake	2006-11-20 20:41:59.000000000 +0100
+++ Modules/CMakeDetermineSystem.cmake-new	2006-12-01 08:46:31.000000000 +0100
@@ -31,14 +31,19 @@
   IF(CMAKE_UNAME)
     EXEC_PROGRAM(uname ARGS -s OUTPUT_VARIABLE CMAKE_SYSTEM_NAME)
     EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
-    EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
-      RETURN_VALUE val)
+    IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+	EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
+	  RETURN_VALUE val)
+    ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux")
+        EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
+	  RETURN_VALUE val)
+	IF("${val}" GREATER 0)
+		EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
+        	RETURN_VALUE val)
+	ENDIF("${val}" GREATER 0)
+    ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
     IF("${val}" GREATER 0)
-      EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR
-        RETURN_VALUE val)
-    ENDIF("${val}" GREATER 0)
-    IF("${val}" GREATER 0)
-      SET(CMAKE_SYSTEM_PROCESSOR "unknown")
+	SET(CMAKE_SYSTEM_PROCESSOR "unknown")
     ENDIF("${val}" GREATER 0)
     SET(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
     # processor may have double quote in the name, and that needs to be removed
