Re-commit "Introduce a cmake module to figure out whether we need to link with libatomic."
This re-applies commit r260235. However, this time we add -gcc-toolchain to the compiler's flags when the user has specified the LIBCXX_GCC_TOOLCHAIN variable. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260515 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -15,6 +15,7 @@ pythonize_bool(LIBCXX_ENABLE_SHARED)
|
||||
pythonize_bool(LIBCXX_BUILD_32_BITS)
|
||||
pythonize_bool(LIBCXX_GENERATE_COVERAGE)
|
||||
pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
|
||||
pythonize_bool(LIBCXX_HAS_ATOMIC_LIB)
|
||||
|
||||
# The tests shouldn't link to any ABI library when it has been linked into
|
||||
# libc++ statically or via a linker script.
|
||||
|
||||
@@ -172,6 +172,9 @@ class LinuxLocalTI(DefaultTargetInfo):
|
||||
flags += ['-lunwind', '-ldl']
|
||||
else:
|
||||
flags += ['-lgcc_s', '-lgcc']
|
||||
use_libatomic = self.full_config.get_lit_bool('use_libatomic', False)
|
||||
if use_libatomic:
|
||||
flags += ['-latomic']
|
||||
san = self.full_config.get_lit_conf('use_sanitizer', '').strip()
|
||||
if san:
|
||||
# The libraries and their order are taken from the
|
||||
|
||||
@@ -20,6 +20,7 @@ config.generate_coverage = "@LIBCXX_GENERATE_COVERAGE@"
|
||||
config.target_info = "@LIBCXX_TARGET_INFO@"
|
||||
config.executor = "@LIBCXX_EXECUTOR@"
|
||||
config.llvm_unwinder = "@LIBCXXABI_USE_LLVM_UNWINDER@"
|
||||
config.use_libatomic = "@LIBCXX_HAS_ATOMIC_LIB@"
|
||||
|
||||
# Let the main config do the real work.
|
||||
lit_config.load_config(config, "@LIBCXX_SOURCE_DIR@/test/lit.cfg")
|
||||
|
||||
Reference in New Issue
Block a user