diff options
Diffstat (limited to 'llvm-shlib_Create_object_libraries_for_each_component_and_link_against_them.patch')
-rw-r--r-- | llvm-shlib_Create_object_libraries_for_each_component_and_link_against_them.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/llvm-shlib_Create_object_libraries_for_each_component_and_link_against_them.patch b/llvm-shlib_Create_object_libraries_for_each_component_and_link_against_them.patch deleted file mode 100644 index 6e6797276359..000000000000 --- a/llvm-shlib_Create_object_libraries_for_each_component_and_link_against_them.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 43ceb74eb1a5801662419fb66a6bf0d5414f1ec5 Mon Sep 17 00:00:00 2001 -From: Tom Stellard <tstellar@redhat.com> -Date: Wed, 31 Mar 2021 21:35:04 -0700 -Subject: [PATCH] llvm-shlib: Create object libraries for each component and - link against them - -This makes it possible to build libLLVM.so without first creating a -static library for each component. In the case where only libLLVM.so is -built (i.e. ninja LLVM) this eliminates 150 linker jobs. - -Reviewed By: stellaraccident - -Differential Revision: https://reviews.llvm.org/D95727 ---- - llvm/cmake/modules/AddLLVM.cmake | 3 ++- - llvm/tools/llvm-shlib/CMakeLists.txt | 4 ++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index 2f055c7799624..c7a50b7a393ef 100644 ---- a/llvm/cmake/modules/AddLLVM.cmake -+++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -488,6 +488,7 @@ function(llvm_add_library name) - add_dependencies(${obj_name} ${link_lib}) - endif() - endforeach() -+ target_link_libraries(${obj_name} ${ARG_LINK_LIBS}) - endif() - endif() - -@@ -746,7 +747,7 @@ function(add_llvm_component_library name) - "COMPONENT_NAME;ADD_TO_COMPONENT" - "" - ${ARGN}) -- add_llvm_library(${name} COMPONENT_LIB ${ARG_UNPARSED_ARGUMENTS}) -+ add_llvm_library(${name} COMPONENT_LIB OBJECT ${ARG_UNPARSED_ARGUMENTS}) - string(REGEX REPLACE "^LLVM" "" component_name ${name}) - set_property(TARGET ${name} PROPERTY LLVM_COMPONENT_NAME ${component_name}) - -diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt b/llvm/tools/llvm-shlib/CMakeLists.txt -index b0ee19049e6fa..728995ad8b299 100644 ---- a/llvm/tools/llvm-shlib/CMakeLists.txt -+++ b/llvm/tools/llvm-shlib/CMakeLists.txt -@@ -33,6 +33,10 @@ if(LLVM_BUILD_LLVM_DYLIB) - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) - - list(REMOVE_DUPLICATES LIB_NAMES) -+ -+ # Link against the object libraries instead of static libraries. -+ list(TRANSFORM LIB_NAMES PREPEND "obj.") -+ - if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") |