[libc++] Allow running ABI list tests with different ABI versions
Summary: Currently, the ABI list test only works for ABI version 1. This commit allows running the ABI list test with ABI version 2. It also adds an ABI list file for ABI v2 on Mac OS X. Reviewers: EricWF Subscribers: mgorny, christof, dexonsmith, llvm-commits, mclow.lists Differential Revision: https://reviews.llvm.org/D49509 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337477 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -8,29 +8,19 @@ endif()
|
||||
|
||||
# Detect if we are building in the same configuration used to generate
|
||||
# the abilist files.
|
||||
if (DEFINED GENERIC_TARGET_TRIPLE
|
||||
AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.abilist"
|
||||
set(ABILIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.v${LIBCXX_ABI_VERSION}.abilist")
|
||||
set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_diff.py")
|
||||
if (EXISTS "${ABILIST_FILE}"
|
||||
AND TARGET cxx_shared
|
||||
AND ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi" OR
|
||||
(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 "")
|
||||
else()
|
||||
if (NOT DEFINED LIBCXX_HAS_ABILIST_CONFIGURATION)
|
||||
message(STATUS "libc++ configuration differs from the abilist configuration. "
|
||||
"check-cxx-abilist target is not supported")
|
||||
endif()
|
||||
set(LIBCXX_HAS_ABILIST_CONFIGURATION 0 CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
|
||||
if (LIBCXX_HAS_ABILIST_CONFIGURATION)
|
||||
set(ABILIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${GENERIC_TARGET_TRIPLE}.abilist")
|
||||
set(SYMDIFF_EXE "${LIBCXX_SOURCE_DIR}/utils/sym_diff.py")
|
||||
AND NOT LIBCXX_ABI_UNSTABLE)
|
||||
add_custom_target(check-cxx-abilist
|
||||
${SYMDIFF_EXE} --only-stdlib-symbols --strict ${ABILIST_FILE}
|
||||
$<TARGET_SONAME_FILE:cxx_shared>
|
||||
DEPENDS cxx_shared
|
||||
COMMENT "Testing ABI compatibility...")
|
||||
else()
|
||||
message(STATUS "there is no pre-generated ABI list for the requested libc++ configuration. "
|
||||
"check-cxx-abilist target is not supported")
|
||||
endif()
|
||||
|
||||
2418
lib/abi/x86_64-apple-darwin.v2.abilist
Normal file
2418
lib/abi/x86_64-apple-darwin.v2.abilist
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user