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
This commit is contained in:
Eric Fiselier 2017-04-20 04:19:02 +00:00
parent 4db0c69373
commit 70a3eb60ed
2 changed files with 11 additions and 2 deletions

View File

@ -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)

View File

@ -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'.