0a1f513dca
- New major release version 16.0.0. * For details, see the release notes: - https://releases.llvm.org/16.0.0/docs/ReleaseNotes.html - https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html - https://releases.llvm.org/16.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - https://releases.llvm.org/16.0.0/projects/libcxx/docs/ReleaseNotes.html - https://releases.llvm.org/16.0.0/tools/lld/docs/ReleaseNotes.html * New LLVM tools: - llvm-debuginfo-analyzer: Print a logical representation of low-level debug information. - llvm-remarkutil: Remark file utilities. * The test tool split-file is no longer installed. * New Clang tools: - amdgpu-arch and nvptx-arch: Tools used to detect locally available GPUs by the Clang OpenMP driver. - clang-include-cleaner: Standalone tool to determine which headers are used, using existing functionality in clangd. - clang-tblgen: Table Generation for Clang. * Removed Clang tools: clang-{nvlink,offload}-wrapper. - Rebase patches: * assume-opensuse.patch * check-no-llvm-exegesis.patch * link-clang-shared.patch * llvm_build_tablegen_component_as_shared_library.patch * llvm-do-not-install-static-libraries.patch * llvm-suse-implicit-gnu.patch * llvm-workaround-superfluous-branches.patch * openmp-drop-rpath.patch - Drop patches that have landed upstream: * clang-test-xfail-gnuless-triple.patch * CMake-Look-up-target-subcomponents-in-LLVM_AVAILABLE_LIBS.patch * libcxxabi-fix-armv7-test.patch * llvm-armv7-fix-vector-compare-with-zero-lowering.patch * llvm-link-atomic.patch - Remove llvm-better-detect-64bit-atomics-support.patch that should not be required anymore. - Add PGP signatures and keyring for source verification. OBS-URL: https://build.opensuse.org/request/show/1072964 OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm16?expand=0&rev=1
79 lines
3.5 KiB
Diff
79 lines
3.5 KiB
Diff
Before llvm4, both major and minor version updates of llvm were regularly
|
|
breaking API. Because of that, the libLLVM library was named in following
|
|
format: libLLVM-${major}-${minor}.so
|
|
|
|
(https://bugs.llvm.org/show_bug.cgi?id=25059)
|
|
(https://reviews.llvm.org/D13841)
|
|
|
|
The package containing this library was called libLLVM${major}_${minor} which
|
|
follows our guidelines.
|
|
|
|
Since llvm4, llvm decided to follow semantic versioning and only break API if
|
|
the major version was increased. In addition they do not intend to ever have
|
|
minor version other than 0.
|
|
(http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html)
|
|
|
|
The package was renamed to libLLVM${major}, which no longer follows the naming
|
|
guidelines, but since the package contained multiple libraries, it was not
|
|
detected.
|
|
|
|
Since bnc#1049703 the libLLVM${major} package contains only the
|
|
libLLVM-${major}-${minor}.so library and no others. This triggers the
|
|
shlib-policy-name-error check in our packaging system.
|
|
|
|
Because the reasons for using the libLLVM-${major}-${minor}.so format are no
|
|
longer valid, lets revert back to libLLVM.so.${major}.${minor}.${version}
|
|
format. That way the package name matches our guidelines.
|
|
|
|
Index: llvm-8.0.0rc3.src/tools/llvm-config/llvm-config.cpp
|
|
===================================================================
|
|
--- llvm-8.0.0rc3.src.orig/tools/llvm-config/llvm-config.cpp
|
|
+++ llvm-8.0.0rc3.src/tools/llvm-config/llvm-config.cpp
|
|
@@ -380,7 +380,6 @@ int main(int argc, char **argv) {
|
|
} else {
|
|
// default to the unix values:
|
|
SharedExt = "so";
|
|
- SharedVersionedExt = LLVM_DYLIB_VERSION ".so";
|
|
StaticExt = "a";
|
|
StaticDir = SharedDir = ActiveLibDir;
|
|
StaticPrefix = SharedPrefix = "lib";
|
|
@@ -393,7 +392,7 @@ int main(int argc, char **argv) {
|
|
|
|
bool DyLibExists = false;
|
|
const std::string DyLibName =
|
|
- (SharedPrefix + "LLVM-" + SharedVersionedExt).str();
|
|
+ (SharedPrefix + "LLVM." + SharedExt).str();
|
|
|
|
// If LLVM_LINK_DYLIB is ON, the single shared library will be returned
|
|
// for "--libs", etc, if they exist. This behaviour can be overridden with
|
|
Index: llvm-8.0.0rc3.src/tools/llvm-shlib/CMakeLists.txt
|
|
===================================================================
|
|
--- llvm-8.0.0rc3.src.orig/tools/llvm-shlib/CMakeLists.txt
|
|
+++ llvm-8.0.0rc3.src/tools/llvm-shlib/CMakeLists.txt
|
|
@@ -42,7 +42,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
|
|
if (LLVM_LINK_LLVM_DYLIB)
|
|
set(INSTALL_WITH_TOOLCHAIN INSTALL_WITH_TOOLCHAIN)
|
|
endif()
|
|
- add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
|
|
+ add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
|
|
|
|
list(REMOVE_DUPLICATES LIB_NAMES)
|
|
if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
|
|
Index: llvm-14.0.0rc2.src/test/lit.cfg.py
|
|
===================================================================
|
|
--- llvm-14.0.0rc2.src.orig/test/lit.cfg.py
|
|
+++ llvm-14.0.0rc2.src/test/lit.cfg.py
|
|
@@ -244,9 +244,9 @@ if config.link_llvm_dylib:
|
|
config.available_features.add('llvm-dylib')
|
|
config.substitutions.append(
|
|
('%llvmdylib',
|
|
- '{}/libLLVM-{}{}'.format(config.llvm_shlib_dir,
|
|
- config.llvm_dylib_version,
|
|
- config.llvm_shlib_ext)))
|
|
+ '{}/libLLVM{}.{}'.format(config.llvm_shlib_dir,
|
|
+ config.llvm_shlib_ext,
|
|
+ config.llvm_dylib_version)))
|
|
|
|
if config.have_tf_aot:
|
|
config.available_features.add("have_tf_aot")
|