From: Michal Gorny Date: Tue, 15 Nov 2016 12:54:10 +0000 (+0000) Subject: [test] Correctly include build llvm_shlib_dir in stand-alone builds X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23f188956f98c0a584ab170b93492be2f074a8a5;p=clang [test] Correctly include build llvm_shlib_dir in stand-alone builds 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 --- diff --git a/test/lit.cfg b/test/lit.cfg index 7695ea87b4..7d8bebf57f 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -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