From f7461b8c5f65ac5a5ffc7c710afc21367ad74e92 Mon Sep 17 00:00:00 2001 From: Julian Lettner Date: Thu, 4 Apr 2019 17:25:43 +0000 Subject: [PATCH] [TSan][libdispatch] Specify libdispatch header dir for lit tests Specify libdispatch header dir (include path) for lit tests. This is the last missing piece in order to run the libdispatch tests on Linux even when libdispatch is installed in a custom path instead of a default (system) location. llvm-svn: 357707 --- compiler-rt/CMakeLists.txt | 12 +++++++----- compiler-rt/test/lit.common.cfg | 2 +- compiler-rt/test/tsan/libdispatch/lit.local.cfg | 11 ++++++----- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index c6769e4..28d6a59 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -183,15 +183,17 @@ pythonize_bool(COMPILER_RT_DEBUG) option(COMPILER_RT_INTERCEPT_LIBDISPATCH "Support interception of libdispatch (GCD). Requires '-fblocks'" OFF) -option(COMPILER_RT_LIBDISPATCH_INSTALL_PREFIX - "Specify if libdispatch is installed in a non-default path" "") +option(COMPILER_RT_LIBDISPATCH_INSTALL_PATH + "Specify if libdispatch is installed in a custom location" "") if (COMPILER_RT_INTERCEPT_LIBDISPATCH AND NOT APPLE) set(COMPILER_RT_LIBDISPATCH_CFLAGS -fblocks) set(COMPILER_RT_TEST_LIBDISPATCH_CFLAGS) - if (COMPILER_RT_LIBDISPATCH_INSTALL_PREFIX) + if (COMPILER_RT_LIBDISPATCH_INSTALL_PATH) list(APPEND COMPILER_RT_TEST_LIBDISPATCH_CFLAGS - -L${COMPILER_RT_LIBDISPATCH_INSTALL_PREFIX}/lib - -Wl,-rpath=${COMPILER_RT_LIBDISPATCH_INSTALL_PREFIX}/lib) + -I${COMPILER_RT_LIBDISPATCH_INSTALL_PATH}/include) + list(APPEND COMPILER_RT_TEST_LIBDISPATCH_CFLAGS + -L${COMPILER_RT_LIBDISPATCH_INSTALL_PATH}/lib + -Wl,-rpath=${COMPILER_RT_LIBDISPATCH_INSTALL_PATH}/lib) endif() list(APPEND COMPILER_RT_TEST_LIBDISPATCH_CFLAGS -lBlocksRuntime -ldispatch) endif() diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg index 37132c3..0432325 100644 --- a/compiler-rt/test/lit.common.cfg +++ b/compiler-rt/test/lit.common.cfg @@ -222,7 +222,7 @@ compiler_rt_debug = getattr(config, 'compiler_rt_debug', False) if not compiler_rt_debug: config.available_features.add('compiler-rt-optimized') -libdispatch = getattr(config, 'compiler_rt_intercept_libdispatch') +libdispatch = getattr(config, 'compiler_rt_intercept_libdispatch', False) if libdispatch: config.available_features.add('libdispatch') diff --git a/compiler-rt/test/tsan/libdispatch/lit.local.cfg b/compiler-rt/test/tsan/libdispatch/lit.local.cfg index cafc2c4..a3f05d9 100644 --- a/compiler-rt/test/tsan/libdispatch/lit.local.cfg +++ b/compiler-rt/test/tsan/libdispatch/lit.local.cfg @@ -5,9 +5,10 @@ def getRoot(config): root = getRoot(config) -if 'libdispatch' not in root.available_features: +if 'libdispatch' in root.available_features: + additional_cflags = ' -fblocks ' + for index, (template, replacement) in enumerate(config.substitutions): + if template in ['%clang_tsan ', '%clangxx_tsan ']: + config.substitutions[index] = (template, replacement + additional_cflags) +else: config.unsupported = True - -for index, (template, replacement) in enumerate(config.substitutions): - if template in ['%clang_tsan ', '%clangxx_tsan ']: - config.substitutions[index] = (template, replacement + ' -fblocks ') -- 2.7.4