diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-04-20 04:19:02 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-04-20 04:19:02 +0000 |
commit | 70a3eb60ed2e82e91b53cb7e72e8487c7850ed8c (patch) | |
tree | ab2151eec1ec037a7bc9efca49fc0a67eaba8fbf | |
parent | 4db0c6937335f46f6752ef4afe102406fc9df626 (diff) | |
download | bcm5719-llvm-70a3eb60ed2e82e91b53cb7e72e8487c7850ed8c.tar.gz bcm5719-llvm-70a3eb60ed2e82e91b53cb7e72e8487c7850ed8c.zip |
Rename the static version of libc++ on Windows.
Previously both the static version of libc++ and the
import library for the DLL had the same name, 'c++.lib'.
This patch renames the static library on Windows to be `libc++.lib`
so it no longer conflicts. This naming convention is consistent with
other windows libraries.
llvm-svn: 300817
-rw-r--r-- | libcxx/lib/CMakeLists.txt | 7 | ||||
-rw-r--r-- | libcxx/utils/libcxx/test/config.py | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/libcxx/lib/CMakeLists.txt b/libcxx/lib/CMakeLists.txt index 8f1d5715802..15dc05c761c 100644 --- a/libcxx/lib/CMakeLists.txt +++ b/libcxx/lib/CMakeLists.txt @@ -241,11 +241,16 @@ endif() if (LIBCXX_ENABLE_STATIC) add_library(cxx_static STATIC $<TARGET_OBJECTS:cxx_objects>) target_link_libraries(cxx_static ${LIBCXX_LIBRARIES}) + set(STATIC_OUTPUT_NAME "c++") + if (WIN32) + set(STATIC_OUTPUT_NAME "libc++") + endif() set_target_properties(cxx_static PROPERTIES LINK_FLAGS "${LIBCXX_LINK_FLAGS}" - OUTPUT_NAME "c++" + OUTPUT_NAME "${STATIC_OUTPUT_NAME}" ) + list(APPEND LIBCXX_TARGETS "cxx_static") # Attempt to merge the libc++.a archive and the ABI library archive into one. if (LIBCXX_ENABLE_STATIC_ABI_LIBRARY) diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py index 9aea6e69189..c9a3629f885 100644 --- a/libcxx/utils/libcxx/test/config.py +++ b/libcxx/utils/libcxx/test/config.py @@ -111,7 +111,8 @@ class Configuration(object): def make_static_lib_name(self, name): """Return the full filename for the specified library name""" if self.is_windows: - return name + '.lib' + assert name == 'c++' # Only allow libc++ to use this function for now. + return 'lib' + name + '.lib' else: return 'lib' + name + '.a' @@ -412,6 +413,9 @@ class Configuration(object): if self.is_windows: self.config.available_features.add('windows') + if self.cxx_stdlib_under_test == 'libc++': + # LIBCXX-WINDOWS-FIXME is a + self.config.available_features.add('LIBCXX-WINDOWS-FIXME') # Attempt to detect the glibc version by querying for __GLIBC__ # in 'features.h'. |