[PATCH] D78332: Fix interaction of static plugins with -DLLVM_LINK_LLVM_DYLIB=ON.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 16 15:04:51 PDT 2020
efriedma created this revision.
efriedma added reviewers: serge-sans-paille, Meinersbur.
Herald added a subscriber: mgorny.
Herald added a reviewer: bollu.
Herald added a project: LLVM.
We should link static plugins into libLLVM.so; they shouldn't depend on libLLVM.so.
I'm not completely sure my CMake manipulation is right, but it seems to work.
Fixes https://bugs.llvm.org/show_bug.cgi?id=45571
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D78332
Files:
llvm/cmake/modules/AddLLVM.cmake
polly/lib/CMakeLists.txt
Index: polly/lib/CMakeLists.txt
===================================================================
--- polly/lib/CMakeLists.txt
+++ polly/lib/CMakeLists.txt
@@ -107,7 +107,7 @@
llvm_map_components_to_libnames(nvptx_libs NVPTX)
endif ()
-if (LLVM_LINK_LLVM_DYLIB)
+if (LLVM_LINK_LLVM_DYLIB AND NOT LLVM_POLLY_LINK_INTO_TOOLS)
# The shlib/dylib contains all the LLVM components
# (including NVPTX is enabled) already. Adding them to target_link_libraries
# would cause them being twice in the address space
Index: llvm/cmake/modules/AddLLVM.cmake
===================================================================
--- llvm/cmake/modules/AddLLVM.cmake
+++ llvm/cmake/modules/AddLLVM.cmake
@@ -883,7 +883,7 @@
list(REMOVE_ITEM ARG_UNPARSED_ARGUMENTS BUILDTREE_ONLY)
# process_llvm_pass_plugins takes care of the actual linking, just create an
# object library as of now
- add_llvm_library(${name} OBJECT ${ARG_UNPARSED_ARGUMENTS})
+ add_llvm_component_library(${name} OBJECT ${ARG_UNPARSED_ARGUMENTS})
target_compile_definitions(${name} PRIVATE LLVM_${name_upper}_LINK_INTO_TOOLS)
set_property(TARGET ${name} APPEND PROPERTY COMPILE_DEFINITIONS LLVM_LINK_INTO_TOOLS)
if (TARGET intrinsics_gen)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78332.258176.patch
Type: text/x-patch
Size: 1243 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200416/b29bc185/attachment.bin>
More information about the llvm-commits
mailing list