[compiler-rt] r282024 - [CMake] Explicitly add --target option to compiler flags

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 20 14:36:31 PDT 2016


Author: cbieneman
Date: Tue Sep 20 16:36:30 2016
New Revision: 282024

URL: http://llvm.org/viewvc/llvm-project?rev=282024&view=rev
Log:
[CMake] Explicitly add --target option to compiler flags

Summary:
Much of the non-Darwin build system assumes that COMPILER_RT_DEFAULT_TARGET_TRIPLE is the default target triple for the compiler being used. With clang as your compiler this isn't necessarily true.

To ensure that the rest of the build system behaves as expected this patch adds "--target=${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" to the compiler flags for C, CXX and ASM sources.

Reviewers: compnerd, rengolin, fjricci

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D24156

Modified:
    compiler-rt/trunk/cmake/Modules/CompilerRTUtils.cmake

Modified: compiler-rt/trunk/cmake/Modules/CompilerRTUtils.cmake
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/CompilerRTUtils.cmake?rev=282024&r1=282023&r2=282024&view=diff
==============================================================================
--- compiler-rt/trunk/cmake/Modules/CompilerRTUtils.cmake (original)
+++ compiler-rt/trunk/cmake/Modules/CompilerRTUtils.cmake Tue Sep 20 16:36:30 2016
@@ -227,6 +227,18 @@ macro(construct_compiler_rt_default_trip
     set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${COMPILER_RT_TEST_TARGET_TRIPLE})
   endif()
 
+  if(NOT APPLE)
+    # Much of the non-darwin compiler-rt build assumes that
+    # COMPILER_RT_DEFAULT_TARGET_TRIPLE is the default target of the compiler
+    # being used. That isn't always a safe assumption, but adding this here
+    # makes it all work.
+    # This doesn't prevent needing to set CMAKE_<LANG>_COMPILER_TARGET in some
+    # situations, so YMMV.
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --target=${COMPILER_RT_DEFAULT_TARGET_TRIPLE}")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --target=${COMPILER_RT_DEFAULT_TARGET_TRIPLE}")
+    set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --target=${COMPILER_RT_DEFAULT_TARGET_TRIPLE}")
+  endif()
+
   string(REPLACE "-" ";" TARGET_TRIPLE_LIST ${COMPILER_RT_DEFAULT_TARGET_TRIPLE})
   list(GET TARGET_TRIPLE_LIST 0 COMPILER_RT_DEFAULT_TARGET_ARCH)
   list(GET TARGET_TRIPLE_LIST 1 COMPILER_RT_DEFAULT_TARGET_OS)




More information about the llvm-commits mailing list