Merge remote-tracking branch 'origin/18' into 18

This commit is contained in:
Gianfranco Costamagna 2024-02-22 14:23:43 +01:00
commit 61c73fcbe8
7 changed files with 51 additions and 6 deletions

13
debian/changelog vendored
View File

@ -1,3 +1,16 @@
llvm-toolchain-18 (1:18.1.0~rc2-5) UNRELEASED; urgency=medium
[ John Paul Adrian Glaubitz ]
* Install *clang_rt* on sparc and sparc64
* Run chrpath for libclang on sparc and sparc64
[ Sylvestre Ledru ]
* add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules
see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1
* Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now)
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 19 Feb 2024 16:21:34 +0100
llvm-toolchain-18 (1:18.1.0~rc2-4) unstable; urgency=medium
* Fix 32bit builds, exclude i386, don't build clang-rt there

10
debian/control vendored
View File

@ -956,3 +956,13 @@ Description: Flang library - Development package
of examples, some functionalities are still missing.
.
This package contains the flang libraries and headers.
# ------------- LLVM libc -------------
Package: libllvmlibc-18-dev
Section: libdevel
Architecture: any
Description: LLVM C Library - dev package
Implementation of the C standard library targeting C17 and above.
.
This is an experimental project. Don't use in production.

10
debian/control.in vendored
View File

@ -956,3 +956,13 @@ Description: Flang library - Development package
of examples, some functionalities are still missing.
.
This package contains the flang libraries and headers.
# ------------- LLVM libc -------------
Package: libllvmlibc-@LLVM_VERSION@-dev
Section: libdevel
Architecture: any
Description: LLVM C Library - dev package
Implementation of the C standard library targeting C17 and above.
.
This is an experimental project. Don't use in production.

View File

@ -3,3 +3,9 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a
usr/lib/llvm-@LLVM_VERSION@/include/c++/
usr/lib/llvm-@LLVM_VERSION@/include/c++/v1/
usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a
# C++ modules
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.modules.json
usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std.compat/*.inc
usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/*.cppm
usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std/*.inc

View File

@ -2,7 +2,7 @@
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/sanitizer/
[!sparc !sparc64] usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/*clang_rt*
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/*/*clang_rt*
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/README.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/fuzzer/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/orc/c_api.h

1
debian/libllvmlibc-X.Y-dev.install.in vendored Normal file
View File

@ -0,0 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libllvmlibc.a

15
debian/rules vendored
View File

@ -25,15 +25,15 @@ LLVM_VERSION_NEXT := $(shell echo $(LLVM_VERSION_FULL) | awk -F. '{ OFS="."; $$N
# disable fixfilepath in favor of the llvm-project supplied flavor, disable lto
# remove +time64,+lfs once the time64_t transition starts
ifeq ($(DEB_HOST_ARCH),i386)
RUNTIMES = compiler-rt;libcxx;libcxxabi
RUNTIMES = compiler-rt;libcxx;libcxxabi;libc
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto
else
ifeq ($(DEB_HOST_ARCH_BITS),32)
RUNTIMES = libcxx;libcxxabi
RUNTIMES = libcxx;libcxxabi;libc
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto abi=+time64,+lfs
skip_packages = -Nlibclang-rt-$(LLVM_VERSION)-dev
else
RUNTIMES = compiler-rt;libcxx;libcxxabi
RUNTIMES = compiler-rt;libcxx;libcxxabi;libc
ifeq ($(DEB_HOST_ARCH),mips64el)
export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto hardening=-stackprotector,-stackprotectorstrong
else
@ -563,7 +563,7 @@ ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS)))
endif
# enables cmake build targets like stage2-[target_name]
ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-libcxx;check-libcxxabi;check-mlir;check-sanitizer;llvm-config;test-suite
ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-libcxx;check-libcxxabi;check-mlir;check-libc;check-sanitizer;llvm-config;test-suite
%:
dh $@ $(DH_OPTIONS)
@ -791,6 +791,8 @@ endif
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
-DLIBCXX_INSTALL_LIBRARY=OFF \
-DLIBCXX_INSTALL_MODULES=ON \
-DBOOTSTRAP_LIBCXX_INSTALL_MODULES=ON \
-DOPENMP_ENABLE_LIBOMP_PROFILING=OFF \
-DOPENMP_ENABLE_LIBOMPTARGET_PROFILING=OFF \
-DLIBOMP_ENABLE_RTTI=OFF \
@ -1142,7 +1144,7 @@ override_dh_auto_install:
# Only run on executable, not script
chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1`
ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe sparc sparc64))
ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe))
ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux))
# To fix custom-library-search-path
chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so || true
@ -1481,6 +1483,9 @@ endif
# Libcxx
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxx || true
# Libc
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libc || true
# Libcxxabi
ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxxabi || true