Do not pass an explicit reexported symbol list when building libc++ dylib if also defining new/delete

llvm-svn: 299052
This commit is contained in:
Mehdi Amini 2017-03-30 04:40:56 +00:00
parent 01ddc1cfd5
commit 994e17b815
1 changed files with 5 additions and 1 deletions

View File

@ -150,7 +150,11 @@ if (LIBCXX_OSX_REEXPORT_SYSTEM_ABI_LIBRARY)
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
"/usr/lib/libSystem.B.dylib")
else()
if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
if (LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS)
# We can't use the "-reexported_symbols_list" when we build the
# new/delete operators as part of the dylib: the linker would fail.
set(OSX_RE_EXPORT_LINE "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib")
elseif (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
list(FIND CMAKE_OSX_ARCHITECTURES "armv7" OSX_HAS_ARMV7)
if (NOT OSX_HAS_ARMV7 EQUAL -1)
set(OSX_RE_EXPORT_LINE