summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.manual1
-rw-r--r--Modules/Platform/Linux-SunPro-CXX.cmake9
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog.manual b/ChangeLog.manual
index 44181a9..29162e9 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -54,6 +54,7 @@ Changes since CMake 2.8.1
- Recognize Clang compiler
- Search basic directories on "Generic" platform
- Set MSVC* variables consistently on all generators, and test
+- Support SunPro C++ 5.11 on Linux (new compiler)
- Support VS 10 Express (related to #10670)
- Support compression with 'cmake -E tar'
- Support multiple arguments in CC,CXX,FC environment variables
diff --git a/Modules/Platform/Linux-SunPro-CXX.cmake b/Modules/Platform/Linux-SunPro-CXX.cmake
index 5490473..8ee9658 100644
--- a/Modules/Platform/Linux-SunPro-CXX.cmake
+++ b/Modules/Platform/Linux-SunPro-CXX.cmake
@@ -1,2 +1,9 @@
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-rpath-link ")
+# Sun C++ 5.9 does not support -Wl, but Sun C++ 5.11 does not work without it.
+# Query the compiler flags to detect whether to use -Wl.
+execute_process(COMMAND ${CMAKE_CXX_COMPILER} -flags OUTPUT_VARIABLE _cxx_flags ERROR_VARIABLE _cxx_error)
+if("${_cxx_flags}" MATCHES "\n-W[^\n]*component")
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-Wl,-rpath-link,")
+else()
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-rpath-link ")
+endif()
SET(CMAKE_EXE_EXPORTS_CXX_FLAG "--export-dynamic")