[Cmake-commits] CMake branch, next, updated. v2.8.6-2204-gee9dd85

Brad King brad.king at kitware.com
Wed Dec 14 09:45:17 EST 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  ee9dd859ef6f5f1caf9b87430130470855af35f9 (commit)
       via  5720e1f634b0253013b1887a924492f3dd29f012 (commit)
      from  65f7aad2f7d8884a21b9e99dc58baa16d1aef36a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ee9dd859ef6f5f1caf9b87430130470855af35f9
commit ee9dd859ef6f5f1caf9b87430130470855af35f9
Merge: 65f7aad 5720e1f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 14 09:44:54 2011 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Dec 14 09:44:54 2011 -0500

    Merge topic 'hp-shared-libs' into next
    
    5720e1f HP: Drive shared library linking with compiler front end


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5720e1f634b0253013b1887a924492f3dd29f012
commit 5720e1f634b0253013b1887a924492f3dd29f012
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Dec 12 16:37:12 2011 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Dec 14 09:32:27 2011 -0500

    HP: Drive shared library linking with compiler front end
    
    Previously we linked C, Fortran, and ASM shared libraries compiled with
    the HP compiler using a direct invocation of the linker (ld).  This
    behavior was left historically from support for an ancient HP C compiler
    that did not know how to create shared libraries.  Fortran shared
    libraries need to be linked with the compiler to get the language
    runtime library dependencies as is already done for C++.
    
    Update the HP-UX-HP* platform information to use the compiler front end
    when linking shared libraries.  This works on modern HP tools and
    produces correct behavior.  If there is a need to support older tools
    again we can add a special case for them.

diff --git a/Modules/Platform/HP-UX-HP-ASM.cmake b/Modules/Platform/HP-UX-HP-ASM.cmake
index 0a85905..05c69e4 100644
--- a/Modules/Platform/HP-UX-HP-ASM.cmake
+++ b/Modules/Platform/HP-UX-HP-ASM.cmake
@@ -1,6 +1,2 @@
 include(Platform/HP-UX-HP)
 __hpux_compiler_hp(ASM)
-
-set(CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS "-E -b +nodefaultrpath -L/usr/lib")
-
-set(CMAKE_ASM_CREATE_SHARED_LIBRARY "ld <CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_ASM_FLAG><TARGET_SONAME> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
diff --git a/Modules/Platform/HP-UX-HP-C.cmake b/Modules/Platform/HP-UX-HP-C.cmake
index d83e01b..1000935 100644
--- a/Modules/Platform/HP-UX-HP-C.cmake
+++ b/Modules/Platform/HP-UX-HP-C.cmake
@@ -1,11 +1,6 @@
 include(Platform/HP-UX-HP)
 __hpux_compiler_hp(C)
 
-set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-E -b +nodefaultrpath -L/usr/lib")
-
 set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
 set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
 set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> -Aa -Ae <FLAGS> -o <OBJECT>   -c <SOURCE>")
-
-# use ld directly to create shared libraries for hp cc
-set(CMAKE_C_CREATE_SHARED_LIBRARY "ld <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_C_FLAG><TARGET_SONAME> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
diff --git a/Modules/Platform/HP-UX-HP-CXX.cmake b/Modules/Platform/HP-UX-HP-CXX.cmake
index 8f3c70c..dfa1e4e 100644
--- a/Modules/Platform/HP-UX-HP-CXX.cmake
+++ b/Modules/Platform/HP-UX-HP-CXX.cmake
@@ -1,8 +1,6 @@
 include(Platform/HP-UX-HP)
 __hpux_compiler_hp(CXX)
 
-set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "+Z -Wl,-E,+nodefaultrpath -b -L/usr/lib")
-
 set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
 set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
   "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE>"
diff --git a/Modules/Platform/HP-UX-HP-Fortran.cmake b/Modules/Platform/HP-UX-HP-Fortran.cmake
index 5a3ab19..30acab8 100644
--- a/Modules/Platform/HP-UX-HP-Fortran.cmake
+++ b/Modules/Platform/HP-UX-HP-Fortran.cmake
@@ -1,7 +1,2 @@
 include(Platform/HP-UX-HP)
 __hpux_compiler_hp(Fortran)
-
-set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-E -b -L/usr/lib")
-
-set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
-  "ld <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG><TARGET_SONAME> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
diff --git a/Modules/Platform/HP-UX-HP.cmake b/Modules/Platform/HP-UX-HP.cmake
index 5e70d31..bce0a8b 100644
--- a/Modules/Platform/HP-UX-HP.cmake
+++ b/Modules/Platform/HP-UX-HP.cmake
@@ -17,18 +17,14 @@ if(__HPUX_COMPILER_HP)
   return()
 endif()
 set(__HPUX_COMPILER_HP 1)
-set(_Wl_C "")
-set(_Wl_CXX "-Wl,")
-set(_Wl_Fortran "")
-set(_Wl_ASM "")
 
 macro(__hpux_compiler_hp lang)
   set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "+Z")
+  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-Wl,-E,+nodefaultrpath -b -L/usr/lib")
   set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-Wl,+s,-E,+nodefaultrpath")
-  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "${_Wl_${lang}}+b")
+  set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG "-Wl,+b")
   set(CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG_SEP ":")
-  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "${_Wl_${lang}}+h")
-  set(CMAKE_EXECUTABLE_RUNTIME_${lang}_FLAG "-Wl,+b")
+  set(CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG "-Wl,+h")
 
   set(CMAKE_${lang}_FLAGS_INIT "")
 endmacro()

-----------------------------------------------------------------------

Summary of changes:
 Modules/Platform/HP-UX-HP-ASM.cmake     |    4 ----
 Modules/Platform/HP-UX-HP-C.cmake       |    5 -----
 Modules/Platform/HP-UX-HP-CXX.cmake     |    2 --
 Modules/Platform/HP-UX-HP-Fortran.cmake |    5 -----
 Modules/Platform/HP-UX-HP.cmake         |   10 +++-------
 5 files changed, 3 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list