llvm18/llvm-do-not-install-static-libraries.patch
Aaron Puchert 8a40ab05bb Accepting request 1156665 from home:aaronpuchert:llvm-next
- New package based on version 18.1.0.
  * For details, see the release notes:
    - https://releases.llvm.org/18.1.0/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/clang/tools/extra/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/projects/libcxx/docs/ReleaseNotes.html
    - https://releases.llvm.org/18.1.0/tools/lld/docs/ReleaseNotes.html
  * New LLVM tool: llvm-readtapi, LLVM TAPI file reader and
    transformer.
  * Removed LLVM tools: llvm-tapi-diff, llvm-remark-size-diff.
  * New LLDB tool: lldb-dap debug adapter.
  * Removed LLDB tool: lldb-vscode.
- Rename libomp-devel symbolic name to libomp-devel-provider.
  We want to introduce a metapackage named libomp-devel.
- Rebase patches:
  * assume-opensuse.patch
  * link-clang-tools-extra-shared.patch
  * llvm_build_tablegen_component_as_shared_library.patch
  * llvm-do-not-install-static-libraries.patch
  * llvm-fix-find-gcc5-install.patch
  * llvm-normally-versioned-libllvm.patch
  * llvm-suse-implicit-gnu.patch
- Add patches to fix tests:
  * clang-fix-modules-test-riscv.patch
  * clang-fix-openmp-test-non-x86.patch
  * clang-fix-openmp-test.patch
  * llvm-fix-cov-test-i586.patch
- Add llvm-Remove-RC-suffix.patch to remove the "rc" suffix from
  library SO names. Upstream seems to have forgotten that.
- Restructure version macros in specfile for new versioning scheme.
- Fix packaging of ld.lld as ld alternative.

OBS-URL: https://build.opensuse.org/request/show/1156665
OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm18?expand=0&rev=1
2024-03-09 22:15:02 +00:00

141 lines
5.9 KiB
Diff

This has similar effect as simply deleting the static libraries which we don't
want after installation. By not copying them in the first place we reduce the
disk usage during installation.
Index: clang-18.1.0.src/cmake/modules/AddClang.cmake
===================================================================
--- a/clang-18.1.0.src/cmake/modules/AddClang.cmake
+++ b/clang-18.1.0.src/cmake/modules/AddClang.cmake
@@ -106,12 +106,15 @@ macro(add_clang_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
- install(TARGETS ${lib}
- COMPONENT ${lib}
- ${export_to_clangtargets}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ if (ARG_SHARED OR ARG_MODULE)
+ install(TARGETS ${lib}
+ COMPONENT ${lib}
+ ${export_to_clangtargets}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
+ endif()
if (NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${lib}
@@ -121,7 +124,6 @@ macro(add_clang_library name)
set_property(GLOBAL APPEND PROPERTY CLANG_LIBS ${lib})
endif()
- set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${lib})
else()
# Add empty "phony" target
add_custom_target(${lib})
Index: cmake/modules/AddLLVM.cmake
===================================================================
--- a/cmake/modules/AddLLVM.cmake
+++ b/cmake/modules/AddLLVM.cmake
@@ -730,11 +730,14 @@ macro(add_llvm_library name)
endif()
get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella})
- install(TARGETS ${name}
- ${export_to_llvmexports}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
+ if(ARG_SHARED OR ARG_MODULE OR NOT LLVM_BUILD_LLVM_DYLIB)
+ install(TARGETS ${name}
+ ${export_to_llvmexports}
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name})
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endif()
if (NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${name}
@@ -742,7 +745,6 @@ macro(add_llvm_library name)
COMPONENT ${name})
endif()
endif()
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
endif()
if (ARG_MODULE)
set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
Index: lld-18.1.0.src/cmake/modules/AddLLD.cmake
===================================================================
--- a/lld-18.1.0.src/cmake/modules/AddLLD.cmake
+++ b/lld-18.1.0.src/cmake/modules/AddLLD.cmake
@@ -17,13 +17,6 @@ macro(add_lld_library name)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
get_target_export_arg(${name} LLD export_to_lldtargets)
- install(TARGETS ${name}
- COMPONENT ${name}
- ${export_to_lldtargets}
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
-
if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
Index: polly-18.1.0.src/cmake/polly_macros.cmake
===================================================================
--- a/polly-18.1.0.src/cmake/polly_macros.cmake
+++ b/polly-18.1.0.src/cmake/polly_macros.cmake
@@ -42,15 +42,17 @@ macro(add_polly_library name)
llvm_config(${name} ${LLVM_LINK_COMPONENTS})
endif( LLVM_LINK_COMPONENTS )
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
- install(TARGETS ${name}
- COMPONENT ${name}
- EXPORT LLVMExports
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
- add_llvm_install_targets(install-${name}
- COMPONENT ${name})
+ if (MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB)
+ install(TARGETS ${name}
+ COMPONENT ${name}
+ EXPORT LLVMExports
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+ add_llvm_install_targets(install-${name}
+ COMPONENT ${name})
+ set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
+ endif()
endif()
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
endmacro(add_polly_library)
macro(add_polly_loadable_module name)
Index: polly-18.1.0.src/lib/CMakeLists.txt
===================================================================
--- a/polly-18.1.0.src/lib/CMakeLists.txt
+++ b/polly-18.1.0.src/lib/CMakeLists.txt
@@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI
# It depends on all library it needs, such that with
# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
# well.
-target_link_libraries(Polly PUBLIC
+target_link_libraries(Polly PRIVATE
${ISL_TARGET}
)
@@ -130,7 +130,7 @@ else ()
# to be already available in the address space the module is loaded into.
# Adding them once more would have the effect that both copies try to register
# the same command line options, to which LLVM reacts with an error.
- target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
+ target_link_libraries(LLVMPolly PRIVATE ${ISL_TARGET})
set_target_properties(LLVMPolly
PROPERTIES