[libcxxabi] r266729 - Enable testing for static libc++abi

Ben Craig via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 19 05:47:38 PDT 2016


Author: bcraig
Date: Tue Apr 19 07:47:38 2016
New Revision: 266729

URL: http://llvm.org/viewvc/llvm-project?rev=266729&view=rev
Log:
Enable testing for static libc++abi

This change leverages framework changes made in libcxx. See those changes for
more details. (http://reviews.llvm.org/D16544)

Some Mac specific logic for testing against libc++abi had to be moved from
libcxxabi's config.py, as it was overriding choices made in libcxx's config.py.
That logic is now in libcxx's target_info.py.

http://reviews.llvm.org/D16545

Modified:
    libcxxabi/trunk/test/CMakeLists.txt
    libcxxabi/trunk/test/libcxxabi/test/config.py
    libcxxabi/trunk/test/lit.site.cfg.in

Modified: libcxxabi/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/CMakeLists.txt?rev=266729&r1=266728&r2=266729&view=diff
==============================================================================
--- libcxxabi/trunk/test/CMakeLists.txt (original)
+++ libcxxabi/trunk/test/CMakeLists.txt Tue Apr 19 07:47:38 2016
@@ -6,7 +6,12 @@ macro(pythonize_bool var)
   endif()
 endmacro()
 
+if (NOT DEFINED LIBCXX_ENABLE_SHARED)
+  set(LIBCXX_ENABLE_SHARED ON)
+endif()
+
 pythonize_bool(LLVM_BUILD_32_BITS)
+pythonize_bool(LIBCXX_ENABLE_SHARED)
 pythonize_bool(LIBCXXABI_ENABLE_SHARED)
 pythonize_bool(LIBCXXABI_ENABLE_THREADS)
 pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
@@ -22,7 +27,12 @@ configure_file(
   ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
   @ONLY)
 
-set(LIBCXXABI_TEST_DEPS cxxabi_shared)
+if (LIBCXXABI_ENABLE_SHARED)
+  set(LIBCXXABI_TEST_DEPS cxxabi_shared)
+else()
+  set(LIBCXXABI_TEST_DEPS cxxabi_static)
+endif()
+
 if (NOT LIBCXXABI_BUILT_STANDALONE)
   list(APPEND LIBCXXABI_TEST_DEPS cxx)
 endif()

Modified: libcxxabi/trunk/test/libcxxabi/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/libcxxabi/test/config.py?rev=266729&r1=266728&r2=266729&view=diff
==============================================================================
--- libcxxabi/trunk/test/libcxxabi/test/config.py (original)
+++ libcxxabi/trunk/test/libcxxabi/test/config.py Tue Apr 19 07:47:38 2016
@@ -68,13 +68,3 @@ class Configuration(LibcxxConfiguration)
 
     def configure_compile_flags_rtti(self):
         pass
-
-    # TODO(ericwf): Remove this. This is a hack for OS X.
-    # libc++ *should* export all of the symbols found in libc++abi on OS X.
-    # For this reason LibcxxConfiguration will not link libc++abi in OS X.
-    # However __cxa_throw_bad_new_array_length doesn't get exported into libc++
-    # yet so we still need to explicitly link libc++abi.
-    # See PR22654.
-    def configure_link_flags_abi_library(self):
-        self.cxx.link_flags += ['-lc++abi']
-

Modified: libcxxabi/trunk/test/lit.site.cfg.in
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/lit.site.cfg.in?rev=266729&r1=266728&r2=266729&view=diff
==============================================================================
--- libcxxabi/trunk/test/lit.site.cfg.in (original)
+++ libcxxabi/trunk/test/lit.site.cfg.in Tue Apr 19 07:47:38 2016
@@ -14,6 +14,8 @@ config.enable_32bit             = "@LLVM
 config.target_info              = "@LIBCXXABI_TARGET_INFO@"
 config.executor                 = "@LIBCXXABI_EXECUTOR@"
 config.thread_atexit            = "@LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL@"
+config.libcxxabi_shared         = "@LIBCXXABI_ENABLE_SHARED@"
+config.enable_shared            = "@LIBCXX_ENABLE_SHARED@"
 
 # Let the main config do the real work.
 lit_config.load_config(config, "@LIBCXXABI_SOURCE_DIR@/test/lit.cfg")




More information about the cfe-commits mailing list