summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-03-13 20:46:19 (GMT)
committerBrad King <brad.king@kitware.com>2003-03-13 20:46:19 (GMT)
commit284071e3fac51dfcca3ef9a5c74778d7ad9e10e4 (patch)
treecf642403d27eff98d5fcaa4ec90548a2023faf6f /Modules/Platform
parent2f927a538b14593de3f355bcd76b001231f69acb (diff)
downloadCMake-284071e3fac51dfcca3ef9a5c74778d7ad9e10e4.zip
CMake-284071e3fac51dfcca3ef9a5c74778d7ad9e10e4.tar.gz
CMake-284071e3fac51dfcca3ef9a5c74778d7ad9e10e4.tar.bz2
BUG: Don't use -nostdlib option to link shared libraries. Just use gcc -shared, even for C++ libraries.
Diffstat (limited to 'Modules/Platform')
-rw-r--r--Modules/Platform/SunOS.cmake19
1 files changed, 12 insertions, 7 deletions
diff --git a/Modules/Platform/SunOS.cmake b/Modules/Platform/SunOS.cmake
index 4254565..e1c5c58 100644
--- a/Modules/Platform/SunOS.cmake
+++ b/Modules/Platform/SunOS.cmake
@@ -1,6 +1,6 @@
IF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r -nostdlib")
+ SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")
ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
@@ -12,22 +12,27 @@ IF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")
IF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -nostdlib")
+ SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC")
- SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-shared -nostdlib")
+ SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-shared")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,-R")
SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
ENDIF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
-IF(NOT CMAKE_COMPILER_IS_GNUCXX)
+IF(CMAKE_COMPILER_IS_GNUCXX)
+ IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+ "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+ ELSE(CMAKE_COMPILER_IS_GNUCC)
+ # Take default rule from CMakeDefaultMakeRuleVariables.cmake.
+ ENDIF(CMAKE_COMPILER_IS_GNUCC)
+ELSE(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> -xar -o <TARGET> <OBJECTS> "
"<CMAKE_RANLIB> <TARGET> ")
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-
+ENDIF(CMAKE_COMPILER_IS_GNUCXX)