summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-01-21 20:03:32 (GMT)
committerBrad King <brad.king@kitware.com>2010-01-21 20:03:32 (GMT)
commit3684f62340d026c4fcc31b04af2685c7092a27e2 (patch)
treef7c04c985883b11f2d4a04f4f0aa080b24abc7f0
parent41024b006bcfcb0222b10fa08af2d75153511d18 (diff)
downloadCMake-3684f62340d026c4fcc31b04af2685c7092a27e2.zip
CMake-3684f62340d026c4fcc31b04af2685c7092a27e2.tar.gz
CMake-3684f62340d026c4fcc31b04af2685c7092a27e2.tar.bz2
Do not export all symbols from DLLs on Cygwin
In commit "use export all symbols on cygwin" (2003-01-21) we started passing -Wl,--export-all-symbols when linking shared libraries. Now cygwin exports all symbols automatically if no symbols are explicitly exported. When symbols are explicitly exported we want to honor that narrow interface. Therefore this flag should not be passed. Change based on patch from issue #10122.
-rw-r--r--Modules/Platform/CYGWIN-GNU.cmake5
1 files changed, 3 insertions, 2 deletions
diff --git a/Modules/Platform/CYGWIN-GNU.cmake b/Modules/Platform/CYGWIN-GNU.cmake
index 993de69..6a80f62 100644
--- a/Modules/Platform/CYGWIN-GNU.cmake
+++ b/Modules/Platform/CYGWIN-GNU.cmake
@@ -18,6 +18,7 @@ if(__CYGWIN_COMPILER_GNU)
endif()
set(__CYGWIN_COMPILER_GNU 1)
+# TODO: Is -Wl,--enable-auto-import now always default?
set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--enable-auto-import")
set(CMAKE_CREATE_WIN32_EXE "-mwindows")
@@ -44,7 +45,7 @@ macro(__cygwin_compiler_gnu lang)
SET(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
ENDFOREACH(type)
- # To simulate UNIX shared libs we export/import all DLL symbols.
- set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,--export-all-symbols -Wl,--enable-auto-import")
+ # TODO: Is -Wl,--enable-auto-import now always default?
+ set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS} -Wl,--enable-auto-import")
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS}")
endmacro()