summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/libcxxabi/test/config.py18
-rw-r--r--test/lit.cfg2
-rw-r--r--test/lit.site.cfg.in3
3 files changed, 14 insertions, 9 deletions
diff --git a/test/libcxxabi/test/config.py b/test/libcxxabi/test/config.py
index 52cdcbd..a761c37 100644
--- a/test/libcxxabi/test/config.py
+++ b/test/libcxxabi/test/config.py
@@ -9,8 +9,9 @@ class Configuration(LibcxxConfiguration):
def __init__(self, lit_config, config):
super(Configuration, self).__init__(lit_config, config)
self.libcxxabi_src_root = None
+ self.libcxxabi_obj_root = None
+ self.libcxxabi_lib_root = None
self.libcxx_src_root = None
- self.obj_root = None
def configure_src_root(self):
self.libcxxabi_src_root = self.get_lit_conf(
@@ -21,8 +22,10 @@ class Configuration(LibcxxConfiguration):
os.path.join(self.libcxxabi_src_root, '/../libcxx'))
def configure_obj_root(self):
- self.obj_root = self.get_lit_conf('libcxxabi_obj_root',
- self.libcxxabi_src_root)
+ self.libcxxabi_obj_root = self.get_lit_conf('libcxxabi_obj_root')
+ self.libcxxabi_lib_root = self.get_lit_conf('libcxxabi_lib_root',
+ self.libcxxabi_obj_root)
+ super(Configuration, self).configure_obj_root()
def configure_compile_flags(self):
self.cxx.compile_flags += ['-DLIBCXXABI_NO_TIMER']
@@ -59,9 +62,10 @@ class Configuration(LibcxxConfiguration):
def configure_link_flags_abi_library_path(self):
# Configure ABI library paths.
- self.cxx.link_flags += ['-L' + self.obj_root,
- '-Wl,-rpath,' + self.obj_root]
+ if self.libcxxabi_lib_root:
+ self.cxx.link_flags += ['-L' + self.libcxxabi_lib_root,
+ '-Wl,-rpath,' + self.libcxxabi_lib_root]
def configure_env(self):
- if sys.platform == 'darwin':
- self.env['DYLD_LIBRARY_PATH'] = self.obj_root
+ if sys.platform == 'darwin' and self.libcxxabi_lib_root:
+ self.env['DYLD_LIBRARY_PATH'] = self.libcxxabi_lib_root
diff --git a/test/lit.cfg b/test/lit.cfg
index f0334eb..ae46288 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -37,7 +37,7 @@ else:
' in: %s' % libcxx_test_src_root)
# Infer the test_exec_root from the libcxx_object root.
-obj_root = getattr(config, 'libcxx_obj_root', None)
+obj_root = getattr(config, 'libcxxabi_obj_root', None)
# Check that the test exec root is known.
if obj_root is None:
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index 62dcf0a..8f772fd 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -1,7 +1,8 @@
@AUTO_GEN_COMMENT@
config.cxx_under_test = "@LIBCXXABI_COMPILER@"
config.libcxxabi_src_root = "@LIBCXXABI_SOURCE_DIR@"
-config.libcxxabi_obj_root = "@LIBCXXABI_LIBRARY_DIR@"
+config.libcxxabi_obj_root = "@LIBCXXABI_BINARY_DIR@"
+config.libcxxabi_lib_root = "@LIBCXXABI_LIBRARY_DIR@"
config.libcxx_src_root = "@LIBCXXABI_LIBCXX_PATH@"
config.cxx_headers = "@LIBCXXABI_LIBCXX_INCLUDES@"
config.llvm_unwinder = "@LIBCXXABI_USE_LLVM_UNWINDER@"