@@ -29,14 +29,21 @@ endfunction()
2929# cache file to CMake via -C. e.g.
3030#
3131# cmake -D LLVM_RELEASE_ENABLE_PGO=ON -C Release.cmake
32+
33+ set (DEFAULT_PROJECTS "clang;lld;lldb;clang-tools-extra;polly;mlir;flang" )
34+ # bolt only supports ELF, so only enable it for Linux.
35+ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux" )
36+ list (APPEND DEFAULT_PROJECTS "bolt" )
37+ endif ()
38+
3239set (DEFAULT_RUNTIMES "compiler-rt;libcxx" )
3340if (NOT WIN32 )
3441 list (APPEND DEFAULT_RUNTIMES "libcxxabi" "libunwind" )
3542endif ()
3643set (LLVM_RELEASE_ENABLE_LTO THIN CACHE STRING "" )
3744set (LLVM_RELEASE_ENABLE_PGO ON CACHE BOOL "" )
3845set (LLVM_RELEASE_ENABLE_RUNTIMES ${DEFAULT_RUNTIMES} CACHE STRING "" )
39- set (LLVM_RELEASE_ENABLE_PROJECTS "clang;lld;lldb;clang-tools-extra;bolt;polly;mlir;flang" CACHE STRING "" )
46+ set (LLVM_RELEASE_ENABLE_PROJECTS ${DEFAULT_PROJECTS} CACHE STRING "" )
4047# Note we don't need to add install here, since it is one of the pre-defined
4148# steps.
4249set (LLVM_RELEASE_FINAL_STAGE_TARGETS "clang;package;check-all;check-llvm;check-clang" CACHE STRING "" )
@@ -118,13 +125,21 @@ if(NOT ${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
118125 set (RELEASE_LINKER_FLAGS "${RELEASE_LINKER_FLAGS} -static-libgcc" )
119126endif ()
120127
128+ # Set flags for bolt
129+ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux" )
130+ set (RELEASE_LINKER_FLAGS "${RELEASE_LINKER_FLAGS} -Wl,--emit-relocs,-znow" )
131+ endif ()
132+
121133set_instrument_and_final_stage_var(CMAKE_EXE_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
122134set_instrument_and_final_stage_var(CMAKE_SHARED_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
123135set_instrument_and_final_stage_var(CMAKE_MODULE_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
124136
125137# Final Stage Config (stage2)
126138set_final_stage_var(LLVM_ENABLE_RUNTIMES "${LLVM_RELEASE_ENABLE_RUNTIMES} " STRING )
127139set_final_stage_var(LLVM_ENABLE_PROJECTS "${LLVM_RELEASE_ENABLE_PROJECTS} " STRING )
140+ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux" )
141+ set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING )
142+ endif ()
128143set_final_stage_var(CPACK_GENERATOR "TXZ" STRING )
129144set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING )
130145
0 commit comments