56861a2a4e
- Update to version 17.0.6. * This release contains bug-fixes for the LLVM 17.0.0 release. This release is API and ABI compatible with 17.0.0. - Rebase patches: * llvm-do-not-install-static-libraries.patch * llvm-normally-versioned-libllvm.patch - Use major version only instead of full (patch-level) version for versioned executables: we don't support parallel installation of multiple versions of the same LLVM major version. (boo#1217450) Also drop the clang-X.Y symlink that was introduced for boo#1012260, because Y is always 0. - Manage clang-cpp with update-alternatives like other binaries. OBS-URL: https://build.opensuse.org/request/show/1130357 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm17?expand=0&rev=17
135 lines
5.7 KiB
Diff
135 lines
5.7 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-17.0.6.src/cmake/modules/AddClang.cmake
|
|
===================================================================
|
|
--- a/clang-17.0.6.src/cmake/modules/AddClang.cmake
|
|
+++ b/clang-17.0.6.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-17.0.6.src/cmake/modules/AddLLD.cmake
|
|
===================================================================
|
|
--- a/lld-17.0.6.src/cmake/modules/AddLLD.cmake
|
|
+++ b/lld-17.0.6.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-17.0.6.src/cmake/polly_macros.cmake
|
|
===================================================================
|
|
--- a/polly-17.0.6.src/cmake/polly_macros.cmake
|
|
+++ b/polly-17.0.6.src/cmake/polly_macros.cmake
|
|
@@ -42,12 +42,14 @@ 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}
|
|
- EXPORT LLVMExports
|
|
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
|
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
|
+ if (MODULE OR SHARED_LIBRARY OR NOT LLVM_BUILD_LLVM_DYLIB)
|
|
+ install(TARGETS ${name}
|
|
+ EXPORT LLVMExports
|
|
+ LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
|
+ ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
|
+ 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-17.0.6.src/lib/CMakeLists.txt
|
|
===================================================================
|
|
--- a/polly-17.0.6.src/lib/CMakeLists.txt
|
|
+++ b/polly-17.0.6.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
|