Skip to content

Commit

Permalink
[runtimes] Use llvm-libtool-darwin for runtimes build
Browse files Browse the repository at this point in the history
It's full featured now and we can use it for the runtimes build instead
of relying on an external libtool, which means the CMAKE_HOST_APPLE
restriction serves no purpose either now. Restrict llvm-lipo to Darwin
targets while I'm here, since it's only needed there.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D86367
  • Loading branch information
smeenai committed Aug 24, 2020
1 parent a7d8aab commit 2c80e2f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
2 changes: 1 addition & 1 deletion compiler-rt/CMakeLists.txt
Expand Up @@ -112,7 +112,7 @@ if (COMPILER_RT_STANDALONE_BUILD)
endif()

# Ensure that fat libraries are built correctly on Darwin
if(CMAKE_HOST_APPLE AND APPLE)
if(APPLE)
include(UseLibtool)
endif()

Expand Down
2 changes: 1 addition & 1 deletion compiler-rt/lib/builtins/CMakeLists.txt
Expand Up @@ -20,7 +20,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
if(APPLE)
include(CompilerRTDarwinUtils)
endif()
if(CMAKE_HOST_APPLE AND APPLE)
if(APPLE)
include(UseLibtool)
endif()
include(AddCompilerRT)
Expand Down
9 changes: 7 additions & 2 deletions llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Expand Up @@ -53,8 +53,10 @@ function(llvm_ExternalProject_Add name source_dir)
endforeach()

if(NOT ARG_TOOLCHAIN_TOOLS)
set(ARG_TOOLCHAIN_TOOLS clang lld llvm-ar llvm-lipo llvm-ranlib llvm-nm llvm-objdump)
if(NOT _cmake_system_name STREQUAL Darwin)
set(ARG_TOOLCHAIN_TOOLS clang lld llvm-ar llvm-ranlib llvm-nm llvm-objdump)
if(_cmake_system_name STREQUAL Darwin)
list(APPEND ARG_TOOLCHAIN_TOOLS llvm-libtool-darwin llvm-lipo)
else()
# TODO: These tools don't fully support Mach-O format yet.
list(APPEND ARG_TOOLCHAIN_TOOLS llvm-objcopy llvm-strip)
endif()
Expand Down Expand Up @@ -144,6 +146,9 @@ function(llvm_ExternalProject_Add name source_dir)
if(llvm-ar IN_LIST TOOLCHAIN_TOOLS)
list(APPEND compiler_args -DCMAKE_AR=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar${CMAKE_EXECUTABLE_SUFFIX})
endif()
if(llvm-libtool-darwin IN_LIST TOOLCHAIN_TOOLS)
list(APPEND compiler_args -DCMAKE_LIBTOOL=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-libtool-darwin${CMAKE_EXECUTABLE_SUFFIX})
endif()
if(llvm-lipo IN_LIST TOOLCHAIN_TOOLS)
list(APPEND compiler_args -DCMAKE_LIPO=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-lipo${CMAKE_EXECUTABLE_SUFFIX})
endif()
Expand Down

0 comments on commit 2c80e2f

Please sign in to comment.