[llvm-dev] [compiler-rt] r329776 - [XRay][compiler-rt] Fix osx-based builds

George Karpenkov via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 11 10:50:09 PDT 2018


Hi Dean,

For me the build is still broken:

-- Builtin supported architectures: i386;x86_64;x86_64h
CMake Error at projects/compiler-rt/lib/xray/tests/CMakeLists.txt:21 (add_library):
  add_library cannot create target "RTXRay.test.osx" because another target
  with the same name already exists.  The existing target is a static library
  created in source directory
  "/Volumes/Transcend/code/llvm/projects/compiler-rt/lib/xray/tests".  See
  documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  projects/compiler-rt/lib/xray/tests/CMakeLists.txt:73 (add_xray_lib)

Do you think you could take a look?

Regards,
George

> On Apr 10, 2018, at 10:16 PM, Dean Michael Berris via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: dberris
> Date: Tue Apr 10 22:16:11 2018
> New Revision: 329776
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=329776&view=rev
> Log:
> [XRay][compiler-rt] Fix osx-based builds
> 
> This is a follow-up to D45474.
> 
> Modified:
>    compiler-rt/trunk/lib/xray/tests/CMakeLists.txt
> 
> Modified: compiler-rt/trunk/lib/xray/tests/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/xray/tests/CMakeLists.txt?rev=329776&r1=329775&r2=329776&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/xray/tests/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/xray/tests/CMakeLists.txt Tue Apr 10 22:16:11 2018
> @@ -34,13 +34,18 @@ function(get_xray_lib_for_arch arch lib)
> endfunction()
> 
> set(XRAY_TEST_ARCH ${XRAY_SUPPORTED_ARCH})
> +set(XRAY_UNITTEST_LINK_FLAGS ${CMAKE_THREAD_LIBS_INIT})
> +if (NOT APPLE)
> +  append_list_if(COMPILER_RT_HAS_LIBM -lm XRAY_UNITTEST_LINK_FLAGS)
> +  append_list_if(COMPILER_RT_HAS_LIBRT -lrt XRAY_UNITTEST_LINK_FLAGS)
> +  append_list_if(COMPILER_RT_HAS_LIBDL -ldl XRAY_UNITTEST_LINK_FLAGS)
> +  append_list_if(COMPILER_RT_HAS_LIBPTHREAD -pthread XRAY_UNITTEST_LINK_FLAGS)
> +endif()
> +
> macro(add_xray_unittest testname)
>   cmake_parse_arguments(TEST "" "" "SOURCES;HEADERS" ${ARGN})
>   if(UNIX AND NOT APPLE)
>     set(CMAKE_DL_LIBS_INIT "")
> -    foreach(lib ${CMAKE_DL_LIBS})
> -      list(APPEND CMAKE_DL_LIBS_INIT -l${lib})
> -    endforeach()
>     foreach(arch ${XRAY_TEST_ARCH})
>       set(TEST_OBJECTS)
>       get_xray_lib_for_arch(${arch} XRAY_RUNTIME_LIBS)
> @@ -55,9 +60,7 @@ macro(add_xray_unittest testname)
>         RUNTIME "${XRAY_RUNTIME_LIBS}"
>         DEPS gtest xray
>         CFLAGS ${XRAY_UNITTEST_CFLAGS}
> -        LINK_FLAGS ${TARGET_LINK_FLAGS}
> -          -lstdc++ -lm ${CMAKE_THREAD_LIBS_INIT}
> -          ${CMAKE_DL_LIBS_INIT} -lrt)
> +        LINK_FLAGS ${TARGET_LINK_FLAGS} ${XRAY_UNITTEST_LINK_FLAGS} -lstdc++)
>       set_target_properties(XRayUnitTests
>         PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
>     endforeach()
> @@ -66,11 +69,19 @@ endmacro()
> 
> if(COMPILER_RT_CAN_EXECUTE_TESTS)
>   foreach(arch ${XRAY_SUPPORTED_ARCH})
> -    add_xray_lib("RTXRay.test.${arch}"
> -      $<TARGET_OBJECTS:RTXray.${arch}>
> -      $<TARGET_OBJECTS:RTXrayFDR.${arch}>
> -      $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
> -      $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>)
> +    if (APPLE)
> +      add_xray_lib("RTXRay.test.osx"
> +        $<TARGET_OBJECTS:RTXray.osx>
> +        $<TARGET_OBJECTS:RTXrayFDR.osx>
> +        $<TARGET_OBJECTS:RTSanitizerCommon.osx>
> +        $<TARGET_OBJECTS:RTSanitizerCommonLibc.osx>)
> +    else()
> +      add_xray_lib("RTXRay.test.${arch}"
> +        $<TARGET_OBJECTS:RTXray.${arch}>
> +        $<TARGET_OBJECTS:RTXrayFDR.${arch}>
> +        $<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
> +        $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>)
> +    endif()
>   endforeach()
>   add_subdirectory(unit)
> endif()
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-dev mailing list