From 1f06c33f8e2dbac5fb2fc730e2c6286e9a220320 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 1 Dec 2009 14:25:21 -0500 Subject: [PATCH] Drop -rdynamic from Linux build rules This is a GNU-specific option that should not be specified for all compilers on Linux. It tells the GNU compiler to pass -export-dynamic to the linker to export symbols from executables for use by plugins. Since we provide the ENABLE_EXPORTS target property to do the same thing in a cross-platform way, there is no need to pass -rdynamic always. Since the option is not useful for GNU tools and breaks other tools on Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK__FLAGS. This also allows us to stop setting the variable in other Linux compiler files just to erase the bad flag. See issue #9985. --- Modules/Compiler/SunPro-C.cmake | 1 - Modules/Compiler/SunPro-CXX.cmake | 1 - Modules/Compiler/SunPro-Fortran.cmake | 1 - Modules/Platform/GNU.cmake | 1 - Modules/Platform/Linux-PGI-C.cmake | 2 -- Modules/Platform/Linux-PGI-CXX.cmake | 2 -- Modules/Platform/Linux-PGI-Fortran.cmake | 2 -- Modules/Platform/Linux-XL-C.cmake | 1 - Modules/Platform/Linux-XL-CXX.cmake | 2 -- Modules/Platform/Linux-XL-Fortran.cmake | 1 - Modules/Platform/Linux-como.cmake | 1 - Modules/Platform/Linux.cmake | 1 - 12 files changed, 16 deletions(-) diff --git a/Modules/Compiler/SunPro-C.cmake b/Modules/Compiler/SunPro-C.cmake index 4e7e50b5f..4ac918ed1 100644 --- a/Modules/Compiler/SunPro-C.cmake +++ b/Modules/Compiler/SunPro-C.cmake @@ -1,6 +1,5 @@ SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h") diff --git a/Modules/Compiler/SunPro-CXX.cmake b/Modules/Compiler/SunPro-CXX.cmake index c3f079d41..fe549d637 100644 --- a/Modules/Compiler/SunPro-CXX.cmake +++ b/Modules/Compiler/SunPro-CXX.cmake @@ -1,6 +1,5 @@ SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G") -SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R") SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":") SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h") diff --git a/Modules/Compiler/SunPro-Fortran.cmake b/Modules/Compiler/SunPro-Fortran.cmake index 0933bf71d..ae38f86f7 100644 --- a/Modules/Compiler/SunPro-Fortran.cmake +++ b/Modules/Compiler/SunPro-Fortran.cmake @@ -1,6 +1,5 @@ SET(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-KPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-G") -SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "") SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-R") SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":") SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-h") diff --git a/Modules/Platform/GNU.cmake b/Modules/Platform/GNU.cmake index 26615e128..1b4dded9d 100644 --- a/Modules/Platform/GNU.cmake +++ b/Modules/Platform/GNU.cmake @@ -2,7 +2,6 @@ SET(CMAKE_DL_LIBS "dl") SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-rdynamic") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") diff --git a/Modules/Platform/Linux-PGI-C.cmake b/Modules/Platform/Linux-PGI-C.cmake index df3c38e1b..46aae3a34 100644 --- a/Modules/Platform/Linux-PGI-C.cmake +++ b/Modules/Platform/Linux-PGI-C.cmake @@ -1,5 +1,3 @@ -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") - SET (CMAKE_C_CREATE_PREPROCESSED_SOURCE " -E > ") SET (CMAKE_C_CREATE_ASSEMBLY_SOURCE " -S -o ") diff --git a/Modules/Platform/Linux-PGI-CXX.cmake b/Modules/Platform/Linux-PGI-CXX.cmake index 32a2a8e9b..194c8fbeb 100644 --- a/Modules/Platform/Linux-PGI-CXX.cmake +++ b/Modules/Platform/Linux-PGI-CXX.cmake @@ -1,4 +1,2 @@ -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") - SET (CMAKE_CXX_CREATE_PREPROCESSED_SOURCE " -E > ") SET (CMAKE_CXX_CREATE_ASSEMBLY_SOURCE " -S -o ") diff --git a/Modules/Platform/Linux-PGI-Fortran.cmake b/Modules/Platform/Linux-PGI-Fortran.cmake index 7c99e793e..7a2e0068b 100644 --- a/Modules/Platform/Linux-PGI-Fortran.cmake +++ b/Modules/Platform/Linux-PGI-Fortran.cmake @@ -1,5 +1,3 @@ -SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "") - SET(CMAKE_Fortran_MODDIR_FLAG "-module ") SET(CMAKE_Fortran_FLAGS_INIT "-Mpreprocess -Kieee -fpic") SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g -O0 -Mbounds") diff --git a/Modules/Platform/Linux-XL-C.cmake b/Modules/Platform/Linux-XL-C.cmake index efcdf87a1..5919ce1d9 100644 --- a/Modules/Platform/Linux-XL-C.cmake +++ b/Modules/Platform/Linux-XL-C.cmake @@ -1,3 +1,2 @@ SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj") diff --git a/Modules/Platform/Linux-XL-CXX.cmake b/Modules/Platform/Linux-XL-CXX.cmake index b1b6d8599..1d0e472fc 100644 --- a/Modules/Platform/Linux-XL-CXX.cmake +++ b/Modules/Platform/Linux-XL-CXX.cmake @@ -1,5 +1,3 @@ SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "") -SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj") diff --git a/Modules/Platform/Linux-XL-Fortran.cmake b/Modules/Platform/Linux-XL-Fortran.cmake index 3ebb89d87..8eda21814 100644 --- a/Modules/Platform/Linux-XL-Fortran.cmake +++ b/Modules/Platform/Linux-XL-Fortran.cmake @@ -1,3 +1,2 @@ SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-qmkshrobj") diff --git a/Modules/Platform/Linux-como.cmake b/Modules/Platform/Linux-como.cmake index 6c259f3b3..7ea732082 100644 --- a/Modules/Platform/Linux-como.cmake +++ b/Modules/Platform/Linux-como.cmake @@ -15,4 +15,3 @@ SET(CMAKE_CXX_LINK_EXECUTABLE SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake index 4e4c2cbaf..f8612813b 100644 --- a/Modules/Platform/Linux.cmake +++ b/Modules/Platform/Linux.cmake @@ -2,7 +2,6 @@ SET(CMAKE_DL_LIBS "dl") SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") -SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-rdynamic") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")