From a77001966167a4830c8d26a222e36ab63965d193 Mon Sep 17 00:00:00 2001 From: Petr Hosek <phosek@chromium.org> Date: Wed, 16 Nov 2016 23:59:06 +0000 Subject: [PATCH] [CMake] Support lld with LTO bootstrap lld has LTO support, if requested we should add a dependency on lld rather than LLVMgold when doing LTO bootstrap build. Differential Revision: https://reviews.llvm.org/D26649 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287179 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab4090d704..422bedaa98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -511,10 +511,10 @@ if (CLANG_ENABLE_BOOTSTRAP) set(STAMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/${NEXT_CLANG_STAGE}-stamps/) set(BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${NEXT_CLANG_STAGE}-bins/) - # If the next stage is LTO we need to depend on LTO and possibly LLVMgold + # If the next stage is LTO we need to depend on LTO and possibly lld or LLVMgold if(BOOTSTRAP_LLVM_ENABLE_LTO OR LLVM_ENABLE_LTO AND NOT LLVM_BUILD_INSTRUMENTED) - add_dependencies(clang-bootstrap-deps LTO) if(APPLE) + add_dependencies(clang-bootstrap-deps LTO) # on Darwin we need to set DARWIN_LTO_LIBRARY so that -flto will work # using the just-built compiler, and we need to override DYLD_LIBRARY_PATH # so that the host object file tools will use the just-built libLTO. @@ -526,7 +526,12 @@ if (CLANG_ENABLE_BOOTSTRAP) set(LTO_LIBRARY -DDARWIN_LTO_LIBRARY=${LLVM_SHLIB_OUTPUT_INTDIR}/libLTO.dylib -DDYLD_LIBRARY_PATH=${LLVM_LIBRARY_OUTPUT_INTDIR}) elseif(NOT WIN32) - add_dependencies(clang-bootstrap-deps LLVMgold llvm-ar llvm-ranlib) + add_dependencies(clang-bootstrap-deps llvm-ar llvm-ranlib) + if(BOOTSTRAP_LLVM_ENABLE_LLD) + add_dependencies(clang-bootstrap-deps lld) + elseif(LLVM_BINUTILS_INCDIR) + add_dependencies(clang-bootstrap-deps LLVMgold) + endif() set(LTO_AR -DCMAKE_AR=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ar) set(LTO_RANLIB -DCMAKE_RANLIB=${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-ranlib) endif() -- 2.40.0