Overview

Request 733037 accepted

- Update to version 9.0.0.
* For details, see the release notes:
- https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/projects/libcxx/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/lld/docs/ReleaseNotes.html
- Change License to "Apache-2.0 WITH LLVM-exception OR NCSA".
(https://llvm.org/foundation/relicensing/)
- Allow building with ThinLTO and enable it on some architectures.
- Disable LTO cache in lto-disable-cache.patch.
- Unset MALLOC_CHECK_ for compilation to mitigate lock contention.
- No debug info for ppc like for the other 32-bit targets.
- Clean up _constraints: same constraints for 32-bit targets.
- Don't use BUILD_SHARED_LIBS for Clang anymore, since the newly
available libclang-cpp.so should expose the full C++ API.
- Link tools with libclang-cpp.so by using CLANG_LINK_CLANG_DYLIB,
similar to LLVM_BUILD_LLVM_DYLIB for libLLVM.so.
- Remove obsolete n_clang_allow_BUILD_SHARED_LIBRARY.patch.
- Add link-clang-shared.patch to link more clang targets with
libclang-cpp.so, especially libclang.so.
- Add link-clang-tools-extra-shared.patch, link-lldb-shared.patch:
link targets in clang-tools-extra and lldb with libclang-cpp.so.
- Simplify llvm-do-not-install-static-libraries.patch, also handle
Clang, for which we now get static libraries.
- Package documentation for llvm and clang separately, recommend
them for the main package: they are not required for development,
but actually useful for working with the non-devel packages.
- Recommend editor plugins not just for llvm-devel.
- Recommend libstdc++ for Clang again.
- Move diagtool from llvm to clang subpackage.
- Properly distinguish between %{_relver} and %{version}.
- Drop aarch64-disable-memorytest.patch and reactivate test.
- Rebase clang-resourcedirs.patch.
- Rebase llvm-normally-versioned-libllvm.patch.
- Rebase llvm-remove-clang-only-flags.patch.
- Rebase llvm_build_tablegen_component_as_shared_library.patch.
- Rebase set-revision.patch.
- Increase disk space for build.

Loading...

Aaron Puchert's avatar

The most important changes are:

  • LLVM has been relicensed. It is still available under the old license for now, but that will change. OBS doesn't know LLVM-exception yet and complains about that, I've already filed a bug though. (bsc#1144953, which is not public.)
  • Upstream provides a way to build a single shared library for Clang's C++ API. We use that instead of changing BUILD_SHARED_LIBS within the build process. Unfortunately many targets don't link with that new library, that's why we have these link-*-shared.patch files. I plan to upstream them. (The first is https://reviews.llvm.org/D67321.)
  • I finally managed to turn on ThinLTO. The problem was that linking libLLVM.so took around an hour, which is of course not acceptable. Profiling showed a massive lock contention coming from malloc_check and friends, indeed turning that off for compilation results in link times of roughly 5 minutes.
  • The documentation is now a separate package, because some users want the -devel package without docs, and the docs are actually mostly user documentation.
Request History
Aaron Puchert's avatar

aaronpuchert created request

- Update to version 9.0.0.
* For details, see the release notes:
- https://releases.llvm.org/9.0.0/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/projects/libcxx/docs/ReleaseNotes.html
- https://releases.llvm.org/9.0.0/tools/lld/docs/ReleaseNotes.html
- Change License to "Apache-2.0 WITH LLVM-exception OR NCSA".
(https://llvm.org/foundation/relicensing/)
- Allow building with ThinLTO and enable it on some architectures.
- Disable LTO cache in lto-disable-cache.patch.
- Unset MALLOC_CHECK_ for compilation to mitigate lock contention.
- No debug info for ppc like for the other 32-bit targets.
- Clean up _constraints: same constraints for 32-bit targets.
- Don't use BUILD_SHARED_LIBS for Clang anymore, since the newly
available libclang-cpp.so should expose the full C++ API.
- Link tools with libclang-cpp.so by using CLANG_LINK_CLANG_DYLIB,
similar to LLVM_BUILD_LLVM_DYLIB for libLLVM.so.
- Remove obsolete n_clang_allow_BUILD_SHARED_LIBRARY.patch.
- Add link-clang-shared.patch to link more clang targets with
libclang-cpp.so, especially libclang.so.
- Add link-clang-tools-extra-shared.patch, link-lldb-shared.patch:
link targets in clang-tools-extra and lldb with libclang-cpp.so.
- Simplify llvm-do-not-install-static-libraries.patch, also handle
Clang, for which we now get static libraries.
- Package documentation for llvm and clang separately, recommend
them for the main package: they are not required for development,
but actually useful for working with the non-devel packages.
- Recommend editor plugins not just for llvm-devel.
- Recommend libstdc++ for Clang again.
- Move diagtool from llvm to clang subpackage.
- Properly distinguish between %{_relver} and %{version}.
- Drop aarch64-disable-memorytest.patch and reactivate test.
- Rebase clang-resourcedirs.patch.
- Rebase llvm-normally-versioned-libllvm.patch.
- Rebase llvm-remove-clang-only-flags.patch.
- Rebase llvm_build_tablegen_component_as_shared_library.patch.
- Rebase set-revision.patch.
- Increase disk space for build.


Martin Pluskal's avatar

pluskalm accepted request

ok

openSUSE Build Service is sponsored by