]> granicus.if.org Git - clang/commitdiff
[test] Correctly include build llvm_shlib_dir in stand-alone builds
authorMichal Gorny <mgorny@gentoo.org>
Tue, 15 Nov 2016 12:54:10 +0000 (12:54 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Tue, 15 Nov 2016 12:54:10 +0000 (12:54 +0000)
Add the build llvm_shlib_dir into LD_LIBRARY_PATH before the directory
specified as llvm_libs_dir, in order to fix stand-alone builds
attempting to use installed clang libraries.

In case of stand-alone builds llvm_libs_dir specifies the location of
installed LLVM libraries which can also contain an older version
(previous build) of clang libraries. Therefore, ensure to specify
llvm_shlib_dir (which is always the build tree path) before
the potentially-system llvm_libs_dir.

Differential Revision: https://reviews.llvm.org/D26115

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286952 91177308-0d34-0410-b5e6-96231b3b80d8

test/lit.cfg

index 7695ea87b443bc34a17f55ab3cc3ab3f54d3502d..7d8bebf57ff62c42931f0a24290b0af315730bfd 100644 (file)
@@ -102,10 +102,15 @@ if clang_obj_root is not None:
     path = os.path.pathsep.join((
             clang_tools_dir, llvm_tools_dir, config.environment['PATH']))
     config.environment['PATH'] = path
+    # in stand-alone builds, llvm_shlib_dir is clang's build tree
+    # while llvm_libs_dir is installed LLVM (and possibly older clang)
+    llvm_shlib_dir = getattr(config, 'llvm_shlib_dir', None)
+    if not llvm_shlib_dir:
+        lit_config.fatal('No LLVM shlib dir set!')
     llvm_libs_dir = getattr(config, 'llvm_libs_dir', None)
     if not llvm_libs_dir:
         lit_config.fatal('No LLVM libs dir set!')
-    path = os.path.pathsep.join((llvm_libs_dir,
+    path = os.path.pathsep.join((llvm_shlib_dir, llvm_libs_dir,
                                  config.environment.get('LD_LIBRARY_PATH','')))
     config.environment['LD_LIBRARY_PATH'] = path