diff --git a/bolt/lib/Core/CMakeLists.txt b/bolt/lib/Core/CMakeLists.txt index bb58667066fd8..8c1f5d0bb37b5 100644 --- a/bolt/lib/Core/CMakeLists.txt +++ b/bolt/lib/Core/CMakeLists.txt @@ -35,6 +35,7 @@ add_llvm_library(LLVMBOLTCore ParallelUtilities.cpp Relocation.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB LINK_LIBS ${LLVM_PTHREAD_LIB} diff --git a/bolt/lib/Passes/CMakeLists.txt b/bolt/lib/Passes/CMakeLists.txt index 1c1273b3d2420..1e3289484a5ba 100644 --- a/bolt/lib/Passes/CMakeLists.txt +++ b/bolt/lib/Passes/CMakeLists.txt @@ -46,6 +46,7 @@ add_llvm_library(LLVMBOLTPasses VeneerElimination.cpp RetpolineInsertion.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB LINK_LIBS diff --git a/bolt/lib/Profile/CMakeLists.txt b/bolt/lib/Profile/CMakeLists.txt index 9aa4ba0490b0f..a2bb4aa074c75 100644 --- a/bolt/lib/Profile/CMakeLists.txt +++ b/bolt/lib/Profile/CMakeLists.txt @@ -7,6 +7,7 @@ add_llvm_library(LLVMBOLTProfile YAMLProfileReader.cpp YAMLProfileWriter.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB LINK_COMPONENTS diff --git a/bolt/lib/Rewrite/CMakeLists.txt b/bolt/lib/Rewrite/CMakeLists.txt index 5d114925f59b0..c83cf36982167 100644 --- a/bolt/lib/Rewrite/CMakeLists.txt +++ b/bolt/lib/Rewrite/CMakeLists.txt @@ -25,6 +25,7 @@ add_llvm_library(LLVMBOLTRewrite RewriteInstance.cpp SDTRewriter.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB LINK_LIBS diff --git a/bolt/lib/RuntimeLibs/CMakeLists.txt b/bolt/lib/RuntimeLibs/CMakeLists.txt index d3ac71d3e7978..b8db7e4a15538 100644 --- a/bolt/lib/RuntimeLibs/CMakeLists.txt +++ b/bolt/lib/RuntimeLibs/CMakeLists.txt @@ -11,6 +11,7 @@ add_llvm_library(LLVMBOLTRuntimeLibs HugifyRuntimeLibrary.cpp InstrumentationRuntimeLibrary.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB ) diff --git a/bolt/lib/Target/AArch64/CMakeLists.txt b/bolt/lib/Target/AArch64/CMakeLists.txt index 7e2d33e09b5a0..8435ea7245e7e 100644 --- a/bolt/lib/Target/AArch64/CMakeLists.txt +++ b/bolt/lib/Target/AArch64/CMakeLists.txt @@ -19,6 +19,7 @@ endif() add_llvm_library(LLVMBOLTTargetAArch64 AArch64MCPlusBuilder.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB DEPENDS diff --git a/bolt/lib/Target/RISCV/CMakeLists.txt b/bolt/lib/Target/RISCV/CMakeLists.txt index 5d19d38717de4..6c3a196f8a1fe 100644 --- a/bolt/lib/Target/RISCV/CMakeLists.txt +++ b/bolt/lib/Target/RISCV/CMakeLists.txt @@ -20,6 +20,7 @@ endif() add_llvm_library(LLVMBOLTTargetRISCV RISCVMCPlusBuilder.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB DEPENDS diff --git a/bolt/lib/Target/X86/CMakeLists.txt b/bolt/lib/Target/X86/CMakeLists.txt index b274716e89a4c..6d1accb5e8159 100644 --- a/bolt/lib/Target/X86/CMakeLists.txt +++ b/bolt/lib/Target/X86/CMakeLists.txt @@ -21,6 +21,7 @@ add_llvm_library(LLVMBOLTTargetX86 X86MCPlusBuilder.cpp X86MCSymbolizer.cpp + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB DEPENDS diff --git a/bolt/lib/Utils/CMakeLists.txt b/bolt/lib/Utils/CMakeLists.txt index c452c1fac3772..efba6d54449d3 100644 --- a/bolt/lib/Utils/CMakeLists.txt +++ b/bolt/lib/Utils/CMakeLists.txt @@ -29,6 +29,8 @@ add_llvm_library(LLVMBOLTUtils CommandLineOpts.cpp Utils.cpp ${version_inc} + + NO_EXPORT DISABLE_LLVM_LINK_LLVM_DYLIB LINK_LIBS diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 54a54db338e69..e046e3798e544 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -932,7 +932,7 @@ endfunction() macro(add_llvm_library name) cmake_parse_arguments(ARG - "SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN" + "SHARED;BUILDTREE_ONLY;MODULE;INSTALL_WITH_TOOLCHAIN;NO_EXPORT" "" "" ${ARGN}) @@ -967,7 +967,11 @@ macro(add_llvm_library name) set(umbrella) endif() - get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) + if(ARG_NO_EXPORT) + set(export_to_llvmexports) + else() + get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) + endif() install(TARGETS ${name} ${export_to_llvmexports} LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} @@ -980,7 +984,9 @@ macro(add_llvm_library name) COMPONENT ${name}) endif() endif() - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) + if(NOT ARG_NO_EXPORT) + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) + endif() endif() get_subproject_title(subproject_title)