Ed Maste
2014-Nov-21 18:28 UTC
[LLVMdev] compiler-rt libclang_rt.tsan circular dependency?
After r220676 COMPILER_RT_HAS_TSAN is enabled on FreeBSD, and the TSan tests should be run. This seems to introduce a circular dependency though. I ran cmake like so: % cmake -GNinja .. -DCMAKE_C_COMPILER=/tank/emaste/src/llvm/build-nodebug/bin/clang -DLLVM_CONFIG_PATH=/tank/emaste/src/llvm/build-nodebug/bin/llvm-config Then the ninja build failed with: CMake Error at /tank/emaste/src/compiler-rt/build/lib/tsan/libcxx_tsan/src/libcxx_tsan-stamp/libcxx_tsan-configure.cmake:17 (message): Command failed: 1 /usr/bin/ld: /tank/emaste/src/llvm/build-nodebug/bin/../lib/clang/3.6.0/lib/freebsd/libclang_rt.tsan-x86_64.a: No such file: No such file or directory This comes from lib/tsan/CMakeLists.txt, which wants to build a TSan-instrumented libcxx: # Build libcxx instrumented with TSan. if(TSAN_SUPPORTED_ARCH AND COMPILER_RT_HAS_LIBCXX_SOURCES AND COMPILER_RT_TEST_COMPILER_ID STREQUAL "Clang") set(LIBCXX_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/libcxx_tsan) add_custom_libcxx(libcxx_tsan ${LIBCXX_PREFIX} DEPS ${TSAN_RUNTIME_LIBRARIES} CFLAGS -fsanitize=thread) endif() Does this need an additional test that libclang_rt.tsan is already available to Clang?