diff options
author | 2022-10-06 21:53:46 +0200 | |
---|---|---|
committer | 2022-10-06 22:11:19 +0200 | |
commit | 502e5f649c1f68a28cb9aa26b3ad5b7f6ab4cd99 (patch) | |
tree | 0ab34185234268e4714f9e9306fa60e52fbcb391 /sys-devel | |
parent | dev-libs/libclc: Bump to 16.0.0_pre20221006 (diff) | |
download | gentoo-502e5f649c1f68a28cb9aa26b3ad5b7f6ab4cd99.tar.gz gentoo-502e5f649c1f68a28cb9aa26b3ad5b7f6ab4cd99.tar.bz2 gentoo-502e5f649c1f68a28cb9aa26b3ad5b7f6ab4cd99.zip |
sys-devel/clang-common: Multiple config improvements
- explicitly use binutils/GCC runtime defaults when default-*
flags are disabled instead of relying on implicit platform defaults
- add explicit dependencies on binutils/GCC when the respective runtimes
or tools are used
- use long option forms
- explicitly use ld.bfd instead of ld, when lld is not used
Notably, this resolves a problem of clang implicitly choosing ld.lld
when sys-devel/lld-toolchain-symlinks[native-symlinks] is installed.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'sys-devel')
3 files changed, 21 insertions, 24 deletions
diff --git a/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild b/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild index db83638be497..7fc966f60858 100644 --- a/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild +++ b/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild @@ -20,8 +20,11 @@ PDEPEND=" llvm-libunwind? ( sys-libs/llvm-libunwind ) !llvm-libunwind? ( sys-libs/libunwind ) ) + !default-compiler-rt? ( sys-devel/gcc ) default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) " LLVM_COMPONENTS=( clang/utils ) @@ -53,10 +56,6 @@ pkg_pretend() { fi } -usec() { - usex "default-${1}" "" "# " -} - src_install() { newbashcomp bash-autocomplete.sh clang @@ -65,10 +64,10 @@ src_install() { # This file is initially generated by sys-devel/clang-runtime. # It is used to control the default runtimes using by clang. - $(usec compiler-rt)-rtlib=compiler-rt - $(usec compiler-rt)-unwindlib=libunwind - $(usec libcxx)-stdlib=libc++ - $(usec lld)-fuse-ld=lld + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) EOF newins - gentoo-gcc-install.cfg <<-EOF diff --git a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild index db83638be497..7fc966f60858 100644 --- a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild @@ -20,8 +20,11 @@ PDEPEND=" llvm-libunwind? ( sys-libs/llvm-libunwind ) !llvm-libunwind? ( sys-libs/libunwind ) ) + !default-compiler-rt? ( sys-devel/gcc ) default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) " LLVM_COMPONENTS=( clang/utils ) @@ -53,10 +56,6 @@ pkg_pretend() { fi } -usec() { - usex "default-${1}" "" "# " -} - src_install() { newbashcomp bash-autocomplete.sh clang @@ -65,10 +64,10 @@ src_install() { # This file is initially generated by sys-devel/clang-runtime. # It is used to control the default runtimes using by clang. - $(usec compiler-rt)-rtlib=compiler-rt - $(usec compiler-rt)-unwindlib=libunwind - $(usec libcxx)-stdlib=libc++ - $(usec lld)-fuse-ld=lld + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) EOF newins - gentoo-gcc-install.cfg <<-EOF diff --git a/sys-devel/clang-common/clang-common-16.0.0_pre20221006.ebuild b/sys-devel/clang-common/clang-common-16.0.0_pre20221006.ebuild index db83638be497..7fc966f60858 100644 --- a/sys-devel/clang-common/clang-common-16.0.0_pre20221006.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0_pre20221006.ebuild @@ -20,8 +20,11 @@ PDEPEND=" llvm-libunwind? ( sys-libs/llvm-libunwind ) !llvm-libunwind? ( sys-libs/libunwind ) ) + !default-compiler-rt? ( sys-devel/gcc ) default-libcxx? ( >=sys-libs/libcxx-${PV} ) + !default-libcxx? ( sys-devel/gcc ) default-lld? ( sys-devel/lld ) + !default-lld? ( sys-devel/binutils ) " LLVM_COMPONENTS=( clang/utils ) @@ -53,10 +56,6 @@ pkg_pretend() { fi } -usec() { - usex "default-${1}" "" "# " -} - src_install() { newbashcomp bash-autocomplete.sh clang @@ -65,10 +64,10 @@ src_install() { # This file is initially generated by sys-devel/clang-runtime. # It is used to control the default runtimes using by clang. - $(usec compiler-rt)-rtlib=compiler-rt - $(usec compiler-rt)-unwindlib=libunwind - $(usec libcxx)-stdlib=libc++ - $(usec lld)-fuse-ld=lld + --rtlib=$(usex default-compiler-rt compiler-rt libgcc) + --unwindlib=$(usex default-compiler-rt libunwind libgcc) + --stdlib=$(usex default-libcxx libc++ libstdc++) + -fuse-ld=$(usex default-lld lld bfd) EOF newins - gentoo-gcc-install.cfg <<-EOF |