[BOLT] Support building bolt when LLVM_LINK_LLVM_DYLIB is ON
authorserge-sans-paille <sguelton@redhat.com>
Thu, 22 Sep 2022 13:01:04 +0000 (15:01 +0200)
committerserge-sans-paille <sguelton@redhat.com>
Fri, 23 Sep 2022 05:59:30 +0000 (07:59 +0200)
This does *not* link with libLLVM, but with static archives instead. Not
super-great, but at least the build works, which is probably better than
failing.

Related to #57551

Differential Revision: https://reviews.llvm.org/D134434

15 files changed:
bolt/lib/Core/CMakeLists.txt
bolt/lib/Passes/CMakeLists.txt
bolt/lib/Profile/CMakeLists.txt
bolt/lib/Rewrite/CMakeLists.txt
bolt/lib/RuntimeLibs/CMakeLists.txt
bolt/lib/Target/AArch64/CMakeLists.txt
bolt/lib/Target/X86/CMakeLists.txt
bolt/lib/Utils/CMakeLists.txt
bolt/tools/bat-dump/CMakeLists.txt
bolt/tools/driver/CMakeLists.txt
bolt/tools/heatmap/CMakeLists.txt
bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
bolt/tools/merge-fdata/CMakeLists.txt
bolt/unittests/Core/CMakeLists.txt
bolt/unittests/Profile/CMakeLists.txt

index 501b5eb..c09a439 100644 (file)
@@ -24,6 +24,7 @@ add_llvm_library(LLVMBOLTCore
   ParallelUtilities.cpp
   Relocation.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   LINK_LIBS
   ${LLVM_PTHREAD_LIB}
   )
index c9cb7eb..544b6df 100644 (file)
@@ -45,6 +45,8 @@ add_llvm_library(LLVMBOLTPasses
   VeneerElimination.cpp
   RetpolineInsertion.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   LINK_LIBS
   ${LLVM_PTHREAD_LIB}
 
index f4397e3..0b5d771 100644 (file)
@@ -7,6 +7,8 @@ add_llvm_library(LLVMBOLTProfile
   YAMLProfileReader.cpp
   YAMLProfileWriter.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   LINK_COMPONENTS
   Support
   )
index 053fa9a..e411c50 100644 (file)
@@ -33,6 +33,8 @@ add_llvm_library(LLVMBOLTRewrite
   MachORewriteInstance.cpp
   RewriteInstance.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   LINK_LIBS
   ${LLVM_PTHREAD_LIB}
   )
index f0359a6..26c2109 100644 (file)
@@ -10,6 +10,8 @@ add_llvm_library(LLVMBOLTRuntimeLibs
   RuntimeLibrary.cpp
   HugifyRuntimeLibrary.cpp
   InstrumentationRuntimeLibrary.cpp
+
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 target_link_libraries(LLVMBOLTRuntimeLibs
index 2975396..be03e24 100644 (file)
@@ -7,6 +7,8 @@ set(LLVM_LINK_COMPONENTS
 add_llvm_library(LLVMBOLTTargetAArch64
   AArch64MCPlusBuilder.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   DEPENDS
   AArch64CommonTableGen
   )
index 7be9f80..2b769bc 100644 (file)
@@ -9,6 +9,8 @@ add_llvm_library(LLVMBOLTTargetX86
   X86MCPlusBuilder.cpp
   X86MCSymbolizer.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   DEPENDS
   X86CommonTableGen
   )
index 2a13077..9ed9be6 100644 (file)
@@ -2,6 +2,8 @@ add_llvm_library(LLVMBOLTUtils
   CommandLineOpts.cpp
   Utils.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   LINK_LIBS
   ${LLVM_PTHREAD_LIB}
 
index b7a7c45..71d4f3e 100644 (file)
@@ -5,6 +5,8 @@ set(LLVM_LINK_COMPONENTS
 
 add_llvm_tool(llvm-bat-dump
   bat-dump.cpp
+
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 target_link_libraries(llvm-bat-dump
index e56be15..1c59619 100644 (file)
@@ -14,6 +14,8 @@ endif()
 add_bolt_tool(llvm-bolt
   llvm-bolt.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   DEPENDS
   ${BOLT_DRIVER_DEPS}
   )
index cb8e7ee..9f52ddb 100644 (file)
@@ -7,6 +7,7 @@ set(LLVM_LINK_COMPONENTS
 
 add_bolt_tool(llvm-bolt-heatmap
   heatmap.cpp
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 target_link_libraries(llvm-bolt-heatmap
index f84a841..f21285f 100644 (file)
@@ -4,6 +4,8 @@ set(LLVM_LINK_COMPONENTS
 
 add_llvm_fuzzer(llvm-bolt-fuzzer
   llvm-bolt-fuzzer.cpp
+
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 if (TARGET llvm-bolt-fuzzer)
index 08b2e65..4bd2b52 100644 (file)
@@ -3,6 +3,8 @@ set(LLVM_LINK_COMPONENTS Support)
 add_bolt_tool(merge-fdata
   merge-fdata.cpp
 
+  DISABLE_LLVM_LINK_LLVM_DYLIB
+
   DEPENDS
   intrinsics_gen
 )
index 0e78d0a..15d48f2 100644 (file)
@@ -9,6 +9,8 @@ add_bolt_unittest(CoreTests
   BinaryContext.cpp
   MCPlusBuilder.cpp
   DynoStats.cpp
+
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 target_link_libraries(CoreTests
index b0f1ec0..e0aa092 100644 (file)
@@ -1,5 +1,7 @@
 add_bolt_unittest(ProfileTests
   DataAggregator.cpp
+
+  DISABLE_LLVM_LINK_LLVM_DYLIB
   )
 
 target_link_libraries(ProfileTests