From a4f9ab81d6cbfc3ff649dd3577e3efa700b47387 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 6 Oct 2022 01:20:42 +0100 Subject: gentoo auto-resync : 06:10:2022 - 01:20:42 --- profiles/features/clang/eapi | 1 - profiles/features/clang/make.defaults | 74 ------------------------- profiles/features/clang/package.accept_keywords | 8 --- profiles/features/clang/package.use | 14 ----- profiles/features/clang/package.use.mask | 9 --- profiles/features/clang/packages | 14 ----- profiles/features/clang/packages.build | 14 ----- profiles/features/clang/use.force | 2 - profiles/features/llvm/eapi | 1 + profiles/features/llvm/make.defaults | 74 +++++++++++++++++++++++++ profiles/features/llvm/package.accept_keywords | 8 +++ profiles/features/llvm/package.use | 14 +++++ profiles/features/llvm/package.use.mask | 9 +++ profiles/features/llvm/packages | 14 +++++ profiles/features/llvm/packages.build | 14 +++++ profiles/features/llvm/use.force | 2 + 16 files changed, 136 insertions(+), 136 deletions(-) delete mode 100644 profiles/features/clang/eapi delete mode 100644 profiles/features/clang/make.defaults delete mode 100644 profiles/features/clang/package.accept_keywords delete mode 100644 profiles/features/clang/package.use delete mode 100644 profiles/features/clang/package.use.mask delete mode 100644 profiles/features/clang/packages delete mode 100644 profiles/features/clang/packages.build delete mode 100644 profiles/features/clang/use.force create mode 100644 profiles/features/llvm/eapi create mode 100644 profiles/features/llvm/make.defaults create mode 100644 profiles/features/llvm/package.accept_keywords create mode 100644 profiles/features/llvm/package.use create mode 100644 profiles/features/llvm/package.use.mask create mode 100644 profiles/features/llvm/packages create mode 100644 profiles/features/llvm/packages.build create mode 100644 profiles/features/llvm/use.force (limited to 'profiles/features') diff --git a/profiles/features/clang/eapi b/profiles/features/clang/eapi deleted file mode 100644 index 7ed6ff82de6b..000000000000 --- a/profiles/features/clang/eapi +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/profiles/features/clang/make.defaults b/profiles/features/clang/make.defaults deleted file mode 100644 index 77b32d47a3c2..000000000000 --- a/profiles/features/clang/make.defaults +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# this is for now highly experimental -dilfridge - -# use clang as the primary compiler -CC="clang" -CXX="clang++" - -# libtool needs this -LD="ld.lld" - -# linker flags -LDFLAGS="${LDFLAGS} -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed" - -## hardening flags -#SOME_HARDENING_CFLAGS="-fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2" -#SOME_HARDENING_LDFLAGS="-Wl,-z,relro,-z,now -pie" -# -# we need to eventually do this the same way as in gcc, for now let's -# keep it to a minimum -SOME_HARDENING_CFLAGS="-D_FORTIFY_SOURCE=2" -SOME_HARDENING_LDFLAGS="" - -# enable hardening by default, cf. gcc[pie,ssp] -CFLAGS="${CFLAGS} ${SOME_HARDENING_FLAGS}" -CXXFLAGS="${CXXFLAGS} ${SOME_HARDENING_FLAGS}" -LDFLAGS="${LDFLAGS} ${SOME_HARDENING_LDFLAGS}" - -# use LLVM-provided binutils -AR="llvm-ar" -AS="clang -c" -CPP="clang-cpp" -NM="llvm-nm" -STRIP="llvm-strip" -RANLIB="llvm-ranlib" -OBJCOPY="llvm-objcopy" -STRINGS="llvm-strings" -OBJDUMP="llvm-objdump" -READELF="llvm-readelf" -ADDR2LINE="llvm-addr2line" - -# Rust needs this to build some crates (like uutils) -# https://github.com/rust-lang/rust/blob/master/compiler/rustc_llvm/build.rs -LLVM_USE_LIBCXX=1 -# https://github.com/rust-lang/cc-rs#c-support -# https://github.com/rust-lang/cc-rs/blob/main/src/lib.rs -CXXSTDLIB="c++" - -# bootstrap USE for stage1 - -# curl needed by cmake -BOOTSTRAP_USE="${BOOTSTRAP_USE} ssl curl_ssl_openssl" - -# Clang needs this -BOOTSTRAP_USE="${BOOTSTRAP_USE} python_single_target_python3_10" - -# sys-devel/llvm -BOOTSTRAP_USE="${BOOTSTRAP_USE} -binutils-plugin" - -# sys-devel/clang, sys-devel/clang-runtime, sys-libs/llvm-libunwind, sys-libs/libcxx, sys-libs/libcxxabi -BOOTSTRAP_USE="${BOOTSTRAP_USE} compiler-rt clang libunwind" - -# sys-devel/clang -BOOTSTRAP_USE="${BOOTSTRAP_USE} default-compiler-rt default-lld default-libcxx llvm-libunwind" - -# sys-devel/clang-runtime -BOOTSTRAP_USE="${BOOTSTRAP_USE} libcxx -sanitize" - -# sys-libs/libcxxabi -BOOTSTRAP_USE="${BOOTSTRAP_USE} libcxxabi" - -# llvm & clang: explicitly disable all extra targets, otherwise linking stage2 fails -BOOTSTRAP_USE="${BOOTSTRAP_USE} -llvm_targets_BPF -llvm_targets_AMDGPU -llvm_targets_NVPTX -llvm_targets_BPF" diff --git a/profiles/features/clang/package.accept_keywords b/profiles/features/clang/package.accept_keywords deleted file mode 100644 index 231f53933017..000000000000 --- a/profiles/features/clang/package.accept_keywords +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# this version contains the path fix for portage needed for stage1 builds -=sys-apps/portage-3.0.33 ~amd64 - -# this version contains the fix for CPP resetting -=sys-libs/glibc-2.35-r10 ~amd64 diff --git a/profiles/features/clang/package.use b/profiles/features/clang/package.use deleted file mode 100644 index 267fafefe792..000000000000 --- a/profiles/features/clang/package.use +++ /dev/null @@ -1,14 +0,0 @@ -# use lld by default -sys-devel/llvm -binutils-plugin - -# use all defaults -sys-devel/clang default-compiler-rt default-lld default-libcxx llvm-libunwind -sys-devel/clang-common default-compiler-rt default-lld default-libcxx llvm-libunwind -sys-libs/compiler-rt clang - -# disable sanitizers for now -sys-devel/clang-runtime compiler-rt libcxx -sanitize -# sys-libs/compiler-rt-sanitizers clang - -sys-libs/libcxx libunwind libcxxabi -sys-libs/libcxxabi libunwind diff --git a/profiles/features/clang/package.use.mask b/profiles/features/clang/package.use.mask deleted file mode 100644 index 0975580eab0d..000000000000 --- a/profiles/features/clang/package.use.mask +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Sam James (2022-09-15) -# Works on pure LLVM systems: bug #870211. -dev-lang/rust -llvm-libunwind - -# libquadmath is gcc-specific -dev-lang/perl quadmath diff --git a/profiles/features/clang/packages b/profiles/features/clang/packages deleted file mode 100644 index 9536b85862f3..000000000000 --- a/profiles/features/clang/packages +++ /dev/null @@ -1,14 +0,0 @@ -# now part of @system set -*sys-devel/lld -*sys-devel/llvm -*sys-devel/clang -*sys-libs/libcxx -*sys-libs/libcxxabi -*sys-libs/compiler-rt -*sys-libs/llvm-libunwind - -# not needed with clang --*sys-devel/gcc --*sys-devel/gcc-config --*sys-devel/binutils --*sys-devel/binutils-config diff --git a/profiles/features/clang/packages.build b/profiles/features/clang/packages.build deleted file mode 100644 index fd1e69e329e3..000000000000 --- a/profiles/features/clang/packages.build +++ /dev/null @@ -1,14 +0,0 @@ -# will be pulled by stage1 -sys-libs/compiler-rt -sys-libs/libcxxabi -sys-libs/libcxx -sys-devel/llvm -sys-devel/lld -sys-devel/clang -sys-libs/llvm-libunwind - -# remove gcc & friends --sys-devel/gcc --sys-devel/gcc-config --sys-devel/binutils --sys-devel/binutils-config diff --git a/profiles/features/clang/use.force b/profiles/features/clang/use.force deleted file mode 100644 index b1067fb9ea86..000000000000 --- a/profiles/features/clang/use.force +++ /dev/null @@ -1,2 +0,0 @@ -clang -llvm-libunwind diff --git a/profiles/features/llvm/eapi b/profiles/features/llvm/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/features/llvm/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/features/llvm/make.defaults b/profiles/features/llvm/make.defaults new file mode 100644 index 000000000000..77b32d47a3c2 --- /dev/null +++ b/profiles/features/llvm/make.defaults @@ -0,0 +1,74 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# this is for now highly experimental -dilfridge + +# use clang as the primary compiler +CC="clang" +CXX="clang++" + +# libtool needs this +LD="ld.lld" + +# linker flags +LDFLAGS="${LDFLAGS} -fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed" + +## hardening flags +#SOME_HARDENING_CFLAGS="-fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2" +#SOME_HARDENING_LDFLAGS="-Wl,-z,relro,-z,now -pie" +# +# we need to eventually do this the same way as in gcc, for now let's +# keep it to a minimum +SOME_HARDENING_CFLAGS="-D_FORTIFY_SOURCE=2" +SOME_HARDENING_LDFLAGS="" + +# enable hardening by default, cf. gcc[pie,ssp] +CFLAGS="${CFLAGS} ${SOME_HARDENING_FLAGS}" +CXXFLAGS="${CXXFLAGS} ${SOME_HARDENING_FLAGS}" +LDFLAGS="${LDFLAGS} ${SOME_HARDENING_LDFLAGS}" + +# use LLVM-provided binutils +AR="llvm-ar" +AS="clang -c" +CPP="clang-cpp" +NM="llvm-nm" +STRIP="llvm-strip" +RANLIB="llvm-ranlib" +OBJCOPY="llvm-objcopy" +STRINGS="llvm-strings" +OBJDUMP="llvm-objdump" +READELF="llvm-readelf" +ADDR2LINE="llvm-addr2line" + +# Rust needs this to build some crates (like uutils) +# https://github.com/rust-lang/rust/blob/master/compiler/rustc_llvm/build.rs +LLVM_USE_LIBCXX=1 +# https://github.com/rust-lang/cc-rs#c-support +# https://github.com/rust-lang/cc-rs/blob/main/src/lib.rs +CXXSTDLIB="c++" + +# bootstrap USE for stage1 + +# curl needed by cmake +BOOTSTRAP_USE="${BOOTSTRAP_USE} ssl curl_ssl_openssl" + +# Clang needs this +BOOTSTRAP_USE="${BOOTSTRAP_USE} python_single_target_python3_10" + +# sys-devel/llvm +BOOTSTRAP_USE="${BOOTSTRAP_USE} -binutils-plugin" + +# sys-devel/clang, sys-devel/clang-runtime, sys-libs/llvm-libunwind, sys-libs/libcxx, sys-libs/libcxxabi +BOOTSTRAP_USE="${BOOTSTRAP_USE} compiler-rt clang libunwind" + +# sys-devel/clang +BOOTSTRAP_USE="${BOOTSTRAP_USE} default-compiler-rt default-lld default-libcxx llvm-libunwind" + +# sys-devel/clang-runtime +BOOTSTRAP_USE="${BOOTSTRAP_USE} libcxx -sanitize" + +# sys-libs/libcxxabi +BOOTSTRAP_USE="${BOOTSTRAP_USE} libcxxabi" + +# llvm & clang: explicitly disable all extra targets, otherwise linking stage2 fails +BOOTSTRAP_USE="${BOOTSTRAP_USE} -llvm_targets_BPF -llvm_targets_AMDGPU -llvm_targets_NVPTX -llvm_targets_BPF" diff --git a/profiles/features/llvm/package.accept_keywords b/profiles/features/llvm/package.accept_keywords new file mode 100644 index 000000000000..231f53933017 --- /dev/null +++ b/profiles/features/llvm/package.accept_keywords @@ -0,0 +1,8 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# this version contains the path fix for portage needed for stage1 builds +=sys-apps/portage-3.0.33 ~amd64 + +# this version contains the fix for CPP resetting +=sys-libs/glibc-2.35-r10 ~amd64 diff --git a/profiles/features/llvm/package.use b/profiles/features/llvm/package.use new file mode 100644 index 000000000000..267fafefe792 --- /dev/null +++ b/profiles/features/llvm/package.use @@ -0,0 +1,14 @@ +# use lld by default +sys-devel/llvm -binutils-plugin + +# use all defaults +sys-devel/clang default-compiler-rt default-lld default-libcxx llvm-libunwind +sys-devel/clang-common default-compiler-rt default-lld default-libcxx llvm-libunwind +sys-libs/compiler-rt clang + +# disable sanitizers for now +sys-devel/clang-runtime compiler-rt libcxx -sanitize +# sys-libs/compiler-rt-sanitizers clang + +sys-libs/libcxx libunwind libcxxabi +sys-libs/libcxxabi libunwind diff --git a/profiles/features/llvm/package.use.mask b/profiles/features/llvm/package.use.mask new file mode 100644 index 000000000000..0975580eab0d --- /dev/null +++ b/profiles/features/llvm/package.use.mask @@ -0,0 +1,9 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Sam James (2022-09-15) +# Works on pure LLVM systems: bug #870211. +dev-lang/rust -llvm-libunwind + +# libquadmath is gcc-specific +dev-lang/perl quadmath diff --git a/profiles/features/llvm/packages b/profiles/features/llvm/packages new file mode 100644 index 000000000000..9536b85862f3 --- /dev/null +++ b/profiles/features/llvm/packages @@ -0,0 +1,14 @@ +# now part of @system set +*sys-devel/lld +*sys-devel/llvm +*sys-devel/clang +*sys-libs/libcxx +*sys-libs/libcxxabi +*sys-libs/compiler-rt +*sys-libs/llvm-libunwind + +# not needed with clang +-*sys-devel/gcc +-*sys-devel/gcc-config +-*sys-devel/binutils +-*sys-devel/binutils-config diff --git a/profiles/features/llvm/packages.build b/profiles/features/llvm/packages.build new file mode 100644 index 000000000000..fd1e69e329e3 --- /dev/null +++ b/profiles/features/llvm/packages.build @@ -0,0 +1,14 @@ +# will be pulled by stage1 +sys-libs/compiler-rt +sys-libs/libcxxabi +sys-libs/libcxx +sys-devel/llvm +sys-devel/lld +sys-devel/clang +sys-libs/llvm-libunwind + +# remove gcc & friends +-sys-devel/gcc +-sys-devel/gcc-config +-sys-devel/binutils +-sys-devel/binutils-config diff --git a/profiles/features/llvm/use.force b/profiles/features/llvm/use.force new file mode 100644 index 000000000000..b1067fb9ea86 --- /dev/null +++ b/profiles/features/llvm/use.force @@ -0,0 +1,2 @@ +clang +llvm-libunwind -- cgit v1.2.3