summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <tstellar@redhat.com>2017-10-09 18:00:04 +0000
committerTom Stellard <tstellar@redhat.com>2017-10-09 18:00:04 +0000
commitfeb3aa99b53a85e4ec594bd219f2df9a631e8c6a (patch)
treef903e40b36e0c7cc1253e828227271b6a15d2849
parent58cffec4d74b21c1097de4298e637a31c637851a (diff)
Merging r309979:
------------------------------------------------------------------------ r309979 | mgorny | 2017-08-03 12:41:33 -0700 (Thu, 03 Aug 2017) | 16 lines [test] Fix clang library dir in LD_LIBRARY_PATH For stand-alone build Prepend the clang library directory (determined using SHLIBDIR, alike in clang) to the LD_LIBRARY_PATH to ensure that just-built clang libraries will be used instead of a previous installed version. When a stand-alone build is performed, LLVM_LIBS_DIR contains the path to installed LLVM library directory. The same directory frequently contains a previously installed version of clang. SHLIBDIR, on the other hand, is always the build-tree directory, and therefore contains the freshly built clang libraries. In a non-stand-alone build, both paths will be the same and therefore including them both will not cause any issues. Differential Revision: https://reviews.llvm.org/D30155 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/branches/release_50@315224 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Unit/lit.cfg9
-rw-r--r--test/lit.cfg5
-rw-r--r--test/lit.site.cfg.in1
3 files changed, 11 insertions, 4 deletions
diff --git a/test/Unit/lit.cfg b/test/Unit/lit.cfg
index ff70123c..3a1da187 100644
--- a/test/Unit/lit.cfg
+++ b/test/Unit/lit.cfg
@@ -41,14 +41,17 @@ elif platform.system() == 'Windows':
shlibpath_var = 'PATH'
# Point the dynamic loader at dynamic libraries in 'lib'.
+shlibdir = getattr(config, 'shlibdir', None)
+if not shlibdir:
+ lit_config.fatal('No shlibdir set!')
llvm_libs_dir = getattr(config, 'llvm_libs_dir', None)
if not llvm_libs_dir:
lit_config.fatal('No LLVM libs dir set!')
-shlibpath = os.path.pathsep.join((llvm_libs_dir,
+shlibpath = os.path.pathsep.join((shlibdir, llvm_libs_dir,
config.environment.get(shlibpath_var,'')))
# Win32 seeks DLLs along %PATH%.
-if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir):
- shlibpath = os.path.pathsep.join((config.shlibdir, shlibpath))
+if sys.platform in ['win32', 'cygwin'] and os.path.isdir(shlibdir):
+ shlibpath = os.path.pathsep.join((shlibdir, shlibpath))
config.environment[shlibpath_var] = shlibpath
diff --git a/test/lit.cfg b/test/lit.cfg
index bb592936..0e7de849 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -99,10 +99,13 @@ if clang_tools_binary_dir is not None:
clang_tools_dir, llvm_tools_dir, config.environment['PATH']))
config.environment['PATH'] = path
+ clang_libs_dir = getattr(config, 'clang_libs_dir', None)
+ if not clang_libs_dir:
+ lit_config.fatal('No Clang libs 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((clang_libs_dir, llvm_libs_dir,
config.environment.get('LD_LIBRARY_PATH','')))
config.environment['LD_LIBRARY_PATH'] = path
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index dfd0164c..f310b59a 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -7,6 +7,7 @@ config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
config.clang_tools_binary_dir = "@CLANG_TOOLS_BINARY_DIR@"
config.clang_tools_dir = "@CLANG_TOOLS_DIR@"
+config.clang_libs_dir = "@SHLIBDIR@"
config.python_executable = "@PYTHON_EXECUTABLE@"
config.target_triple = "@TARGET_TRIPLE@"