[libcxx] r283684 - [CMake] Fix in-tree libcxxabi build support after r283659
Hal Finkel via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 8 19:49:31 PDT 2016
Author: hfinkel
Date: Sat Oct 8 21:49:31 2016
New Revision: 283684
URL: http://llvm.org/viewvc/llvm-project?rev=283684&view=rev
Log:
[CMake] Fix in-tree libcxxabi build support after r283659
r283659 changed the argument to gen_link_script.py from SCRIPT_ABI_LIBNAME to
LIBCXX_LIBRARIES_PUBLIC, assuming that all of the items in the
LIBCXX_LIBRARIES_PUBLIC list were library names. This is not right, however,
for in-tree libcxxabi builds, we might have the target name in this list. There
was special logic to fixup SCRIPT_ABI_LIBNAME for this situation; change it to
apply a similar fixup for LIBCXX_LIBRARIES_PUBLIC.
Modified:
libcxx/trunk/lib/CMakeLists.txt
Modified: libcxx/trunk/lib/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/lib/CMakeLists.txt?rev=283684&r1=283683&r2=283684&view=diff
==============================================================================
--- libcxx/trunk/lib/CMakeLists.txt (original)
+++ libcxx/trunk/lib/CMakeLists.txt Sat Oct 8 21:49:31 2016
@@ -244,10 +244,15 @@ endif()
if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
# Get the name of the ABI library and handle the case where CXXABI_LIBNAME
# is a target name and not a library. Ex cxxabi_shared.
- set(SCRIPT_ABI_LIBNAME "${LIBCXX_CXX_ABI_LIBRARY}")
- if (SCRIPT_ABI_LIBNAME STREQUAL "cxxabi_shared")
- set(SCRIPT_ABI_LIBNAME "c++abi")
- endif()
+ set(LIBCXX_LIBRARIES_PUBLIC_NAMES)
+ foreach(lib ${LIBCXX_LIBRARIES_PUBLIC})
+ if (lib STREQUAL "cxxabi_shared")
+ list(APPEND LIBCXX_LIBRARIES_PUBLIC_NAMES "c++abi")
+ else()
+ list(APPEND LIBCXX_LIBRARIES_PUBLIC_NAMES "${lib}")
+ endif()
+ endforeach()
+
# Generate a linker script inplace of a libc++.so symlink. Rerun this command
# after cxx builds.
add_custom_command(TARGET cxx_shared POST_BUILD
@@ -255,7 +260,7 @@ if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENAB
${PYTHON_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/gen_link_script/gen_link_script.py
ARGS
"$<TARGET_LINKER_FILE:cxx_shared>"
- "\"${LIBCXX_LIBRARIES_PUBLIC}\""
+ "\"${LIBCXX_LIBRARIES_PUBLIC_NAMES}\""
WORKING_DIRECTORY ${LIBCXX_BUILD_DIR}
)
endif()
More information about the cfe-commits
mailing list