[libcxx] Make sure use_system_cxx_lib does not override cxx_runtime_root for DYLD_LIB...
authorLouis Dionne <ldionne@apple.com>
Fri, 14 Dec 2018 18:19:14 +0000 (18:19 +0000)
committerLouis Dionne <ldionne@apple.com>
Fri, 14 Dec 2018 18:19:14 +0000 (18:19 +0000)
Otherwise, even specifying a runtime root different from the library
we're linking against won't work -- the library we're linking against
is always used. This is undesirable if we try testing something like
linking against a recent libc++.dylib but running the tests against an
older version (the back-deployment use case).

llvm-svn: 349171

libcxx/docs/TestingLibcxx.rst
libcxx/utils/libcxx/test/target_info.py

index 48b7271..ebbbf62 100644 (file)
@@ -138,8 +138,7 @@ configuration. Passing the option on the command line will override the default.
   Specify the directory of the libc++ library to use at runtime. This directory
   is not added to the linkers search path. This can be used to compile tests
   against one version of libc++ and run them using another. The default value
-  for this option is `cxx_library_root`. This option cannot be used
-  when use_system_cxx_lib is provided.
+  for this option is `cxx_library_root`.
 
 .. option:: use_system_cxx_lib=<bool>
 
index 2ca09dc..3181d4b 100644 (file)
@@ -144,12 +144,12 @@ class DarwinLocalTI(DefaultTargetInfo):
     def configure_env(self, env):
         library_paths = []
         # Configure the library path for libc++
-        if self.full_config.use_system_cxx_lib:
+        if self.full_config.cxx_runtime_root:
+            library_paths += [self.full_config.cxx_runtime_root]
+        elif self.full_config.use_system_cxx_lib:
             if (os.path.isdir(str(self.full_config.use_system_cxx_lib))):
                 library_paths += [self.full_config.use_system_cxx_lib]
-            pass
-        elif self.full_config.cxx_runtime_root:
-            library_paths += [self.full_config.cxx_runtime_root]
+
         # Configure the abi library path
         if self.full_config.abi_library_root:
             library_paths += [self.full_config.abi_library_root]