From: Amir Ayupov Date: Fri, 13 May 2022 20:14:45 +0000 (-0700) Subject: [BOLT][CMAKE] Fix DYLIB build X-Git-Tag: upstream/15.0.7~7769 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bdba3d091c66e3ab87fe0d631d90771b747ddf0d;p=platform%2Fupstream%2Fllvm.git [BOLT][CMAKE] Fix DYLIB build Move BOLT libraries out of `LLVM_LINK_COMPONENTS` to `target_link_libraries`. Addresses issue #55432. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D125568 --- diff --git a/bolt/lib/Core/CMakeLists.txt b/bolt/lib/Core/CMakeLists.txt index 9e57662..8184f25 100644 --- a/bolt/lib/Core/CMakeLists.txt +++ b/bolt/lib/Core/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS - BOLTUtils DebugInfoDWARF Demangle MC @@ -26,3 +25,8 @@ add_llvm_library(LLVMBOLTCore LINK_LIBS ${LLVM_PTHREAD_LIB} ) + +target_link_libraries(LLVMBOLTCore + PRIVATE + LLVMBOLTUtils + ) diff --git a/bolt/lib/Passes/CMakeLists.txt b/bolt/lib/Passes/CMakeLists.txt index 95d872d..bb29626 100644 --- a/bolt/lib/Passes/CMakeLists.txt +++ b/bolt/lib/Passes/CMakeLists.txt @@ -51,8 +51,12 @@ add_llvm_library(LLVMBOLTPasses LINK_COMPONENTS AsmPrinter - BOLTCore - BOLTUtils MC Support ) + +target_link_libraries(LLVMBOLTPasses + PRIVATE + LLVMBOLTCore + LLVMBOLTUtils + ) diff --git a/bolt/lib/Profile/CMakeLists.txt b/bolt/lib/Profile/CMakeLists.txt index b150196..f4397e3 100644 --- a/bolt/lib/Profile/CMakeLists.txt +++ b/bolt/lib/Profile/CMakeLists.txt @@ -8,8 +8,12 @@ add_llvm_library(LLVMBOLTProfile YAMLProfileWriter.cpp LINK_COMPONENTS - BOLTCore - BOLTPasses - BOLTUtils Support ) + +target_link_libraries(LLVMBOLTProfile + PRIVATE + LLVMBOLTCore + LLVMBOLTPasses + LLVMBOLTUtils + ) diff --git a/bolt/lib/Rewrite/CMakeLists.txt b/bolt/lib/Rewrite/CMakeLists.txt index dfef547..053fa9a 100644 --- a/bolt/lib/Rewrite/CMakeLists.txt +++ b/bolt/lib/Rewrite/CMakeLists.txt @@ -1,9 +1,4 @@ set(LLVM_LINK_COMPONENTS - BOLTCore - BOLTPasses - BOLTProfile - BOLTRuntimeLibs - BOLTUtils DebugInfoDWARF DWP ExecutionEngine @@ -12,13 +7,21 @@ set(LLVM_LINK_COMPONENTS Support ) +set(TARGET_LINK_LIBRARIES + LLVMBOLTCore + LLVMBOLTPasses + LLVMBOLTProfile + LLVMBOLTRuntimeLibs + LLVMBOLTUtils + ) + if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD) - list(APPEND LLVM_LINK_COMPONENTS BOLTTargetAArch64) + list(APPEND TARGET_LINK_LIBRARIES LLVMBOLTTargetAArch64) set(BOLT_AArch64 On) endif() if ("X86" IN_LIST LLVM_TARGETS_TO_BUILD) - list(APPEND LLVM_LINK_COMPONENTS BOLTTargetX86) + list(APPEND TARGET_LINK_LIBRARIES LLVMBOLTTargetX86) set(BOLT_X64 On) endif() @@ -34,6 +37,11 @@ add_llvm_library(LLVMBOLTRewrite ${LLVM_PTHREAD_LIB} ) +target_link_libraries(LLVMBOLTRewrite + PRIVATE + ${TARGET_LINK_LIBRARIES} + ) + if (DEFINED BOLT_AArch64) target_compile_definitions(LLVMBOLTRewrite PRIVATE AARCH64_AVAILABLE) endif() diff --git a/bolt/lib/RuntimeLibs/CMakeLists.txt b/bolt/lib/RuntimeLibs/CMakeLists.txt index a489fd2..f0359a6 100644 --- a/bolt/lib/RuntimeLibs/CMakeLists.txt +++ b/bolt/lib/RuntimeLibs/CMakeLists.txt @@ -1,7 +1,4 @@ set(LLVM_LINK_COMPONENTS - BOLTCore - BOLTPasses - BOLTUtils BinaryFormat MC Object @@ -14,3 +11,10 @@ add_llvm_library(LLVMBOLTRuntimeLibs HugifyRuntimeLibrary.cpp InstrumentationRuntimeLibrary.cpp ) + +target_link_libraries(LLVMBOLTRuntimeLibs + PRIVATE + LLVMBOLTCore + LLVMBOLTPasses + LLVMBOLTUtils + ) diff --git a/bolt/tools/driver/CMakeLists.txt b/bolt/tools/driver/CMakeLists.txt index 462381b..2338cce 100644 --- a/bolt/tools/driver/CMakeLists.txt +++ b/bolt/tools/driver/CMakeLists.txt @@ -1,8 +1,5 @@ set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} - BOLTProfile - BOLTRewrite - BOLTUtils MC Object Support @@ -21,6 +18,13 @@ add_llvm_tool(llvm-bolt ${BOLT_DRIVER_DEPS} ) +target_link_libraries(llvm-bolt + PRIVATE + LLVMBOLTProfile + LLVMBOLTRewrite + LLVMBOLTUtils + ) + add_llvm_tool_symlink(perf2bolt llvm-bolt) add_llvm_tool_symlink(llvm-boltdiff llvm-bolt) diff --git a/bolt/tools/heatmap/CMakeLists.txt b/bolt/tools/heatmap/CMakeLists.txt index 2a04704..820b268 100644 --- a/bolt/tools/heatmap/CMakeLists.txt +++ b/bolt/tools/heatmap/CMakeLists.txt @@ -1,8 +1,5 @@ set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} - BOLTProfile - BOLTRewrite - BOLTUtils MC Object Support @@ -12,4 +9,11 @@ add_llvm_tool(llvm-bolt-heatmap heatmap.cpp ) +target_link_libraries(llvm-bolt-heatmap + PRIVATE + LLVMBOLTProfile + LLVMBOLTRewrite + LLVMBOLTUtils + ) + set_target_properties(llvm-bolt-heatmap PROPERTIES FOLDER "BOLT") diff --git a/bolt/unittests/Core/CMakeLists.txt b/bolt/unittests/Core/CMakeLists.txt index 926e65b..6e4538b 100644 --- a/bolt/unittests/Core/CMakeLists.txt +++ b/bolt/unittests/Core/CMakeLists.txt @@ -1,6 +1,4 @@ set(LLVM_LINK_COMPONENTS - BOLTCore - BOLTRewrite DebugInfoDWARF Object MC @@ -12,6 +10,12 @@ add_bolt_unittest(CoreTests MCPlusBuilder.cpp ) +target_link_libraries(CoreTests + PRIVATE + LLVMBOLTCore + LLVMBOLTRewrite + ) + if ("AArch64" IN_LIST LLVM_TARGETS_TO_BUILD) include_directories( ${LLVM_MAIN_SRC_DIR}/lib/Target/AArch64