commit: b46e329dd9ccf01cfdd722f38db341ead34ac418
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 27 14:51:52 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Sep 27 16:19:09 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b46e329d
mozconfig-v6.60.eclass: add USE=clang
See commit 59c9e92b639712d4c37ece540582db83afdc8608 for details.
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
eclass/mozconfig-v6.60.eclass | 31 ++++++++++++++++++++++++++-----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/eclass/mozconfig-v6.60.eclass b/eclass/mozconfig-v6.60.eclass
index c124baef74e..a9b04fd7730 100644
--- a/eclass/mozconfig-v6.60.eclass
+++ b/eclass/mozconfig-v6.60.eclass
@@ -75,7 +75,7 @@ inherit flag-o-matic toolchain-funcs mozcoreconf-v6
# Set the variable to any value if the use flag should exist but not be
default-enabled.
# use-flags common among all mozilla ebuilds
-IUSE="${IUSE} dbus debug neon pulseaudio selinux startup-notification
system-harfbuzz
+IUSE="${IUSE} clang dbus debug neon pulseaudio selinux startup-notification
system-harfbuzz
system-icu system-jpeg system-libevent system-sqlite system-libvpx"
# some notes on deps:
@@ -155,6 +155,10 @@ DEPEND="app-arch/zip
app-arch/unzip
>=sys-devel/binutils-2.30
sys-apps/findutils
+ clang? (
+ >=sys-devel/llvm-4.0.1[gold]
+ >=sys-devel/lld-4.0.1
+ )
pulseaudio? ( media-sound/pulseaudio )
elibc_glibc? (
virtual/cargo
@@ -189,6 +193,20 @@ RDEPEND+="
# }
mozconfig_config() {
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ strip-unsupported-flags
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-gcc++
+ strip-unsupported-flags
+ fi
+
# Migrated from mozcoreconf-2
mozconfig_annotate 'system_libs' \
--with-system-zlib \
@@ -200,11 +218,14 @@ mozconfig_config() {
# Must pass release in order to properly select linker
mozconfig_annotate 'Enable by Gentoo' --enable-release
- # Must pass --enable-gold if using ld.gold
- if tc-ld-is-gold ; then
- mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
+ # Avoid auto-magic on linker
+ if use clang ; then
+ # This is upstream's default
+ mozconfig_annotate "forcing ld=lld due to USE=clang"
--enable-linker=lld
+ elif tc-ld-is-gold ; then
+ mozconfig_annotate "linker is set to gold" --enable-linker=gold
else
- mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
+ mozconfig_annotate "linker is set to bfd" --enable-linker=bfd
fi
if has bindist ${IUSE}; then