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() _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits