diff --git a/Modules/Platform/SCO_SV.cmake b/Modules/Platform/SCO_SV.cmake
index efb7aa0..08dbb6e 100644
--- a/Modules/Platform/SCO_SV.cmake
+++ b/Modules/Platform/SCO_SV.cmake
@@ -1,5 +1,12 @@
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-Kpic -belf")
-SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-Kpic -belf")
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-belf -Wl,-Bexport")  
+IF(CMAKE_COMPILER_IS_GNUCC)
+  SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-Bexport")
+  SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+ELSE()
+  SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-belf -Wl,-Bexport -Wl,-G")
+  SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-Kpic -belf")
+ENDIF()
+
+SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+SET(CMAKE_DL_LIBS "dl")
+
 INCLUDE(Platform/UnixPaths)
