[Cmake-commits] CMake branch, next, updated. v2.8.5-1749-gd7d3a5b
Todd Gamblin
tgamblin at llnl.gov
Mon Aug 29 10:01:36 EDT 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 d7d3a5b134e890055a3cf79cb27df612eda6704f (commit)
via d1697625f8dd279ae5ebd8df887908f28c2f9f40 (commit)
via b17a6dd55b94179fb87f27255f918a7d82ea57e5 (commit)
via 195ac0aac1a8e3e02f9951a4a3c0ea2d37a3f68a (commit)
from f6218b1f7f85bb3ad111ecf5c8ac831e54f19853 (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=d7d3a5b134e890055a3cf79cb27df612eda6704f
commit d7d3a5b134e890055a3cf79cb27df612eda6704f
Merge: f6218b1 d169762
Author: Todd Gamblin <tgamblin at llnl.gov>
AuthorDate: Mon Aug 29 10:01:20 2011 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Aug 29 10:01:20 2011 -0400
Merge topic 'xl-CreateExportList-fix' into next
d169762 Fix XL compilers on non-AIX machines.
b17a6dd KWSys Nightly Date Stamp
195ac0a KWSys Nightly Date Stamp
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d1697625f8dd279ae5ebd8df887908f28c2f9f40
commit d1697625f8dd279ae5ebd8df887908f28c2f9f40
Author: Todd Gamblin <tgamblin at llnl.gov>
AuthorDate: Sun Aug 28 21:58:35 2011 -0700
Commit: Todd Gamblin <tgamblin at llnl.gov>
CommitDate: Sun Aug 28 22:04:41 2011 -0700
Fix XL compilers on non-AIX machines.
Linking broken on non-AIX machines when using XL compilers due to those
machines not using the CreateExportList tool. Made use of this tool
conditional on finding it.
diff --git a/Modules/Compiler/XL.cmake b/Modules/Compiler/XL.cmake
index d07890f..d2567d5 100644
--- a/Modules/Compiler/XL.cmake
+++ b/Modules/Compiler/XL.cmake
@@ -35,14 +35,19 @@ macro(__compiler_xl lang)
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
- # The compiler front-end passes all object files, archive files, and shared
- # library files named on the command line to CreateExportList to create a
- # list of all symbols to be exported from the shared library. This causes
- # all archive members to be copied into the shared library whether they are
- # needed or not. Instead we run the tool ourselves to pass only the object
- # files so that we export only the symbols actually provided by the sources.
- set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
- "${CMAKE_XL_CreateExportList} <OBJECT_DIR>/objects.exp <OBJECTS>"
- "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
- )
+ # CMAKE_XL_CreateExportList is part of the AIX XL compilers but not the linux ones.
+ # If we found the tool, we'll use it to create exports, otherwise stick with the regular
+ # create shared library compile line.
+ if (CMAKE_XL_CreateExportList)
+ # The compiler front-end passes all object files, archive files, and shared
+ # library files named on the command line to CreateExportList to create a
+ # list of all symbols to be exported from the shared library. This causes
+ # all archive members to be copied into the shared library whether they are
+ # needed or not. Instead we run the tool ourselves to pass only the object
+ # files so that we export only the symbols actually provided by the sources.
+ set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+ "${CMAKE_XL_CreateExportList} <OBJECT_DIR>/objects.exp <OBJECTS>"
+ "<CMAKE_${lang}_COMPILER> <CMAKE_SHARED_LIBRARY_${lang}_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS> -Wl,-bE:<OBJECT_DIR>/objects.exp <CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>"
+ )
+ endif()
endmacro()
-----------------------------------------------------------------------
Summary of changes:
Modules/Compiler/XL.cmake | 25 +++++++++++++++----------
Source/kwsys/kwsysDateStamp.cmake | 2 +-
2 files changed, 16 insertions(+), 11 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list