[PATCH] D30957: [CMake] Support single target builtins build on Darwin

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 23 19:33:25 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL298678: [CMake] Support single target builtins build on Darwin (authored by phosek).

Changed prior to commit:
  https://reviews.llvm.org/D30957?vs=92541&id=92895#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D30957

Files:
  llvm/trunk/runtimes/CMakeLists.txt


Index: llvm/trunk/runtimes/CMakeLists.txt
===================================================================
--- llvm/trunk/runtimes/CMakeLists.txt
+++ llvm/trunk/runtimes/CMakeLists.txt
@@ -61,6 +61,10 @@
   # This variable makes sure that e.g. llvm-lit is found.
   set(LLVM_MAIN_SRC_DIR ${LLVM_BUILD_MAIN_SRC_DIR})
 
+  if(APPLE)
+   set(LLVM_ENABLE_LIBCXX ON CACHE BOOL "")
+  endif()
+
   # Handle common options used by all runtimes.
   include(AddLLVM)
   include(HandleLLVMOptions)
@@ -153,7 +157,7 @@
   # is required because the other runtimes need the builtin libraries present
   # before the just-built compiler can pass the configuration tests.
   if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt)
-    if(APPLE OR NOT LLVM_BUILTIN_TARGETS)
+    if(NOT LLVM_BUILTIN_TARGETS)
       llvm_ExternalProject_Add(builtins
                                ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt/lib/builtins
                                CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR}
@@ -167,6 +171,14 @@
       get_cmake_property(variableNames VARIABLES)
       add_custom_target(builtins)
       foreach(target ${LLVM_BUILTIN_TARGETS})
+        string(REPLACE "-" ";" builtin_target_list ${target})
+        foreach(item ${builtin_target_list})
+          string(TOLOWER "${item}" item_lower)
+          if(item_lower MATCHES "darwin")
+            message(FATAL_ERROR "LLVM_BUILTIN_TARGETS isn't implemented for Darwin platform!")
+          endif()
+        endforeach()
+
         foreach(variableName ${variableNames})
           if(variableName MATCHES "^BUILTINS_${target}")
             string(REPLACE "BUILTINS_${target}_" "" new_name ${variableName})
@@ -183,6 +195,7 @@
                                           -DCMAKE_ASM_COMPILER_WORKS=On
                                           -DCOMPILER_RT_DEFAULT_TARGET_ONLY=On
                                           ${${target}_extra_args}
+                               TOOLCHAIN_TOOLS clang lld llvm-ar llvm-ranlib
                                PASSTHROUGH_PREFIXES COMPILER_RT
                                USE_TOOLCHAIN
                                ${EXTRA_ARGS})


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30957.92895.patch
Type: text/x-patch
Size: 2163 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170324/2cf4a07e/attachment.bin>


More information about the llvm-commits mailing list