add option to tell LIT where to find the libc++ library when built out of tree
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@232518 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 813e891..bcc2e6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,6 +118,7 @@
option(LIBCXXABI_ENABLE_THREADS "Build with threads enabled" ON)
set(LIBCXXABI_GCC_TOOLCHAIN "" CACHE STRING "GCC toolchain for cross compiling.")
set(LIBCXXABI_SYSROOT "" CACHE STRING "Sysroot for cross compiling.")
+set(LIBCXXABI_LIBCXX_LIBRARY_PATH "" CACHE STRING "The path to libc++ library.")
# Default to building a shared library so that the default options still test
# the libc++abi that is being built. There are two problems with testing a
diff --git a/test/libcxxabi/test/config.py b/test/libcxxabi/test/config.py
index d08aff8..a8c993f 100644
--- a/test/libcxxabi/test/config.py
+++ b/test/libcxxabi/test/config.py
@@ -76,5 +76,10 @@
self.cxx.link_flags += ['-lc++abi']
def configure_env(self):
- if sys.platform == 'darwin' and self.libcxxabi_lib_root:
- self.env['DYLD_LIBRARY_PATH'] = self.libcxxabi_lib_root
+ library_paths = []
+ if self.libcxxabi_lib_root:
+ library_paths += [self.libcxxabi_lib_root]
+ if self.cxx_library_root:
+ library_paths += [self.cxx_library_root]
+ if sys.platform == 'darwin' and library_paths:
+ self.env['DYLD_LIBRARY_PATH'] = ':'.join(library_paths)
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index c033dbb..836ad90 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -5,6 +5,7 @@
config.libcxxabi_lib_root = "@LIBCXXABI_LIBRARY_DIR@"
config.libcxx_src_root = "@LIBCXXABI_LIBCXX_PATH@"
config.cxx_headers = "@LIBCXXABI_LIBCXX_INCLUDES@"
+config.cxx_library_root = "@LIBCXXABI_LIBCXX_LIBRARY_PATH@"
config.llvm_unwinder = "@LIBCXXABI_USE_LLVM_UNWINDER@"
config.enable_threads = "@LIBCXXABI_ENABLE_THREADS@"
config.use_sanitizer = "@LLVM_USE_SANITIZER@"