@@ -29,14 +29,21 @@ endfunction()
29
29
# cache file to CMake via -C. e.g.
30
30
#
31
31
# 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
+
32
39
set (DEFAULT_RUNTIMES "compiler-rt;libcxx" )
33
40
if (NOT WIN32 )
34
41
list (APPEND DEFAULT_RUNTIMES "libcxxabi" "libunwind" )
35
42
endif ()
36
43
set (LLVM_RELEASE_ENABLE_LTO THIN CACHE STRING "" )
37
44
set (LLVM_RELEASE_ENABLE_PGO ON CACHE BOOL "" )
38
45
set (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 "" )
40
47
# Note we don't need to add install here, since it is one of the pre-defined
41
48
# steps.
42
49
set (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")
118
125
set (RELEASE_LINKER_FLAGS "${RELEASE_LINKER_FLAGS} -static-libgcc" )
119
126
endif ()
120
127
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
+
121
133
set_instrument_and_final_stage_var(CMAKE_EXE_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
122
134
set_instrument_and_final_stage_var(CMAKE_SHARED_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
123
135
set_instrument_and_final_stage_var(CMAKE_MODULE_LINKER_FLAGS ${RELEASE_LINKER_FLAGS} STRING )
124
136
125
137
# Final Stage Config (stage2)
126
138
set_final_stage_var(LLVM_ENABLE_RUNTIMES "${LLVM_RELEASE_ENABLE_RUNTIMES} " STRING )
127
139
set_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 ()
128
143
set_final_stage_var(CPACK_GENERATOR "TXZ" STRING )
129
144
set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING )
130
145
0 commit comments