diff options
author | Eric Fiselier <eric@efcs.ca> | 2017-01-02 21:58:06 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2017-01-02 21:58:06 +0000 |
commit | ea38cde827cdb83134adb7eade860a9b77a486b6 (patch) | |
tree | d153d0f0e3141f6a0722defcd5e47a3698a1e47c /lib/abi/CMakeLists.txt | |
parent | 766e557e5aba9a26c63ca89bd8d7384a60b20c4c (diff) |
Fix configuring and building libc++ w/o an ABI library.
Typically libc++ uses libc++abi or libcxxrt to provide the ABI and runtime bits
of the C++ STL. However we also support building w/o an ABI library entirely.
This patch fixes building libc++ w/o an ABI library (and incorporates the
`~type_info()` fix in D28211).
The main changes in this patch are:
1) Add `-DLIBCXX_CXX_ABI=default` instead of using the empty string to mean "default".
2) Fix CMake bits which treated "none" as "default" on OS X.
3) Teach the source files to respect `-D_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY`.
4) Define ~type_info() when _LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY is defined.
Unfortunately this patch doesn't help clean up the macro mess that we use to
configure for different ABI libraries.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290839 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/abi/CMakeLists.txt')
-rw-r--r-- | lib/abi/CMakeLists.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/abi/CMakeLists.txt b/lib/abi/CMakeLists.txt index 223dbdbcb..e3eb3bf39 100644 --- a/lib/abi/CMakeLists.txt +++ b/lib/abi/CMakeLists.txt @@ -5,7 +5,7 @@ if (DEFINED TARGET_TRIPLE AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/${TARGET_TRIPLE}.abilist" AND TARGET cxx_shared AND ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi" OR - (APPLE AND "${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "none")) + (APPLE AND "${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "default")) AND NOT LIBCXX_ABI_UNSTABLE AND LIBCXX_ABI_VERSION EQUAL "1") set(LIBCXX_HAS_ABILIST_CONFIGURATION 1 CACHE INTERNAL "") |