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 <tgamb...@llnl.gov> AuthorDate: Mon Aug 29 10:01:20 2011 -0400 Commit: CMake Topic Stage <kwro...@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 <tgamb...@llnl.gov> AuthorDate: Sun Aug 28 21:58:35 2011 -0700 Commit: Todd Gamblin <tgamb...@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 _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits