From: "Aric Belsito" <lluixhi@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/musl:master commit in: eclass/
Date: Sat, 6 Jan 2018 22:38:00 +0000 (UTC) [thread overview]
Message-ID: <1515278251.66f05bf7536ef5dadde32b0faf4ad199eef90dab.lluixhi@gentoo> (raw)
commit: 66f05bf7536ef5dadde32b0faf4ad199eef90dab
Author: Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Sat Jan 6 22:37:31 2018 +0000
Commit: Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Sat Jan 6 22:37:31 2018 +0000
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=66f05bf7
toolchain.eclass: sync with upstream
eclass/toolchain.eclass | 90 ++++++++++++++++++++++++-------------------------
1 file changed, 44 insertions(+), 46 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e3011d6..d3a06ea 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -23,14 +23,13 @@ fi
FEATURES=${FEATURES/multilib-strict/}
-EXPORTED_FUNCTIONS="pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm"
case ${EAPI:-0} in
- 0|1) die "Need to upgrade to at least EAPI=2";;
- 2|3) EXPORTED_FUNCTIONS+=" src_prepare src_configure" ;;
- 4*|5*) EXPORTED_FUNCTIONS+=" pkg_pretend src_prepare src_configure" ;;
- *) die "I don't speak EAPI ${EAPI}."
+ 0|1|2|3) die "Need to upgrade to at least EAPI=4" ;;
+ 4*|5*) ;;
+ *) die "I don't speak EAPI ${EAPI}." ;;
esac
-EXPORT_FUNCTIONS ${EXPORTED_FUNCTIONS}
+EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
+ src_compile src_test src_install pkg_postinst pkg_postrm
#---->> globals <<----
@@ -390,10 +389,6 @@ toolchain_pkg_pretend() {
#---->> pkg_setup <<----
toolchain_pkg_setup() {
- case ${EAPI} in
- 2|3) toolchain_pkg_pretend ;;
- esac
-
# we dont want to use the installed compiler's specs to build gcc
unset GCC_SPECS
unset LANGUAGES #265283
@@ -496,7 +491,7 @@ toolchain_src_prepare() {
do_gcc_PIE_patches
epatch_user
- if ( tc_version_is_at_least 4.8.2 || use hardened ) && ! use vanilla ; then
+ if ( tc_version_is_at_least 4.8.2 || use_if_iuse hardened ) && ! use vanilla ; then
make_gcc_hard
fi
@@ -538,7 +533,7 @@ toolchain_src_prepare() {
fi
# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
- if tc_version_is_at_least 4.3 && use gcj ; then
+ if tc_version_is_at_least 4.3 && use_if_iuse gcj ; then
if tc_version_is_at_least 4.5 ; then
einfo "Copying ecj-4.5.jar"
cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
@@ -648,20 +643,20 @@ make_gcc_hard() {
# Gcc >= 6.X we can use configurations options to turn pie/ssp on as default
if tc_version_is_at_least 6.0 ; then
- if use pie ; then
+ if use_if_iuse pie ; then
einfo "Updating gcc to use automatic PIE building ..."
fi
- if use ssp ; then
+ if use_if_iuse ssp ; then
einfo "Updating gcc to use automatic SSP building ..."
fi
- if use hardened ; then
+ if use_if_iuse hardened ; then
# Will add some optimatizion as default.
gcc_hard_flags+=" -DEXTRA_OPTIONS"
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
fi
else
- if use hardened ; then
+ if use_if_iuse hardened ; then
# rebrand to make bug reports easier
BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
if hardened_gcc_works ; then
@@ -909,7 +904,7 @@ toolchain_src_configure() {
# Use the default ("release") checking because upstream usually neglects
# to test "disabled" so it has a history of breaking. #317217
- if tc_version_is_at_least 3.4 ; then
+ if tc_version_is_at_least 3.4 && in_iuse debug ; then
# The "release" keyword is new to 4.0. #551636
local off=$(tc_version_is_at_least 4.0 && echo release || echo no)
confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes ${off})}" )
@@ -922,7 +917,7 @@ toolchain_src_configure() {
)
# If we want hardened support with the newer piepatchset for >=gcc 4.4
- if tc_version_is_at_least 4.4 && want_minispecs ; then
+ if tc_version_is_at_least 4.4 && want_minispecs && in_iuse hardened ; then
confgcc+=( $(use_enable hardened esp) )
fi
@@ -934,7 +929,7 @@ toolchain_src_configure() {
fi
# Support to disable pch when building libstdcxx
- if tc_version_is_at_least 6.0 && ! use pch ; then
+ if tc_version_is_at_least 6.0 && ! use_if_iuse pch ; then
confgcc+=( --disable-libstdcxx-pch )
fi
@@ -998,7 +993,7 @@ toolchain_src_configure() {
--disable-threads
--without-headers
)
- elif built_with_use --hidden --missing false ${CATEGORY}/${needed_libc} crosscompile_opts_headers-only ; then
+ elif has_version "${CATEGORY}/${needed_libc}[crosscompile_opts_headers-only(-)]" ; then
confgcc+=(
"${confgcc_no_libc[@]}"
--with-sysroot="${PREFIX}"/${CTARGET}
@@ -1061,12 +1056,12 @@ toolchain_src_configure() {
gcc-multilib-configure
# ppc altivec support
- confgcc+=( $(use_enable altivec) )
+ in_iuse altivec && confgcc+=( $(use_enable altivec) )
# gcc has fixed-point arithmetic support in 4.3 for mips targets that can
# significantly increase compile time by several hours. This will allow
# users to control this feature in the event they need the support.
- tc_version_is_at_least 4.3 && confgcc+=( $(use_enable fixed-point) )
+ tc_version_is_at_least 4.3 && in_iuse fixed-point && confgcc+=( $(use_enable fixed-point) )
case $(tc-is-softfloat) in
yes) confgcc+=( --with-float=soft ) ;;
@@ -1232,23 +1227,26 @@ toolchain_src_configure() {
# graphite was added in 4.4 but we only support it in 4.8+ due to external
# library issues. #448024
- if tc_version_is_at_least 5.0 ; then
+ if tc_version_is_at_least 5.0 && in_iuse graphite ; then
confgcc+=( $(use_with graphite isl) )
use graphite && confgcc+=( --disable-isl-version-check )
- elif tc_version_is_at_least 4.8 ; then
+ elif tc_version_is_at_least 4.8 && in_iuse graphite ; then
confgcc+=( $(use_with graphite cloog) )
use graphite && confgcc+=( --disable-isl-version-check )
elif tc_version_is_at_least 4.4 ; then
confgcc+=( --without-{cloog,ppl} )
fi
- if tc_version_is_at_least 4.8 ; then
+ if tc_version_is_at_least 4.8 && in_iuse sanitize ; then
confgcc+=( $(use_enable sanitize libsanitizer) )
fi
- if tc_version_is_at_least 6.0 ; then
+ if tc_version_is_at_least 6.0 && in_iuse pie ; then
+ confgcc+=( $(use_enable pie default-pie) )
+ fi
+
+ if tc_version_is_at_least 6.0 && in_iuse ssp ; then
confgcc+=(
- $(use_enable pie default-pie)
# This defaults to -fstack-protector-strong.
$(use_enable ssp default-ssp)
)
@@ -1487,7 +1485,7 @@ gcc_do_filter_flags() {
# "hppa2.0-unknown-linux-gnu" -> hppa2_0_unknown_linux_gnu
local VAR="CFLAGS_"${CTARGET//[-.]/_}
- CXXFLAGS=${!VAR}
+ CXXFLAGS=${!VAR-${CFLAGS}}
fi
export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
@@ -1578,7 +1576,7 @@ gcc_do_make() {
# resulting binaries natively ^^;
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
else
- if tc_version_is_at_least 3.3 && use pgo; then
+ if tc_version_is_at_least 3.3 && use_if_iuse pgo; then
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}
else
GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean}
@@ -1622,7 +1620,7 @@ gcc_do_make() {
${GCC_MAKE_TARGET} \
|| die "emake failed with ${GCC_MAKE_TARGET}"
- if ! is_crosscompile && use cxx && use_if_iuse doc ; then
+ if ! is_crosscompile && use_if_iuse cxx && use_if_iuse doc ; then
if type -p doxygen > /dev/null ; then
if tc_version_is_at_least 4.3 ; then
cd "${CTARGET}"/libstdc++-v3/doc
@@ -1789,7 +1787,7 @@ toolchain_src_install() {
# Rather install the script, else portage with changing $FILESDIR
# between binary and source package borks things ....
- if ! is_crosscompile ; then
+ if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
insinto "${DATAPATH#${EPREFIX}}"
newins "$(prefixify_ro "${FILESDIR}"/awk/fixlafiles.awk-no_gcc_la)" fixlafiles.awk || die
exeinto "${DATAPATH#${EPREFIX}}"
@@ -2083,7 +2081,7 @@ toolchain_pkg_postinst() {
eselect compiler-shadow update all
fi
- if ! is_crosscompile ; then
+ if ! is_crosscompile && [[ ${PN} != "kgcc64" ]] ; then
echo
ewarn "If you have issues with packages unable to locate libstdc++.la,"
ewarn "then try running 'fix_libtool_files.sh' on the old gcc versions."
@@ -2248,13 +2246,13 @@ gcc-lang-supported() {
is_ada() {
gcc-lang-supported ada || return 1
- use ada
+ use_if_iuse ada
}
is_cxx() {
gcc-lang-supported 'c++' || return 1
! is_crosscompile && tc_version_is_at_least 4.8 && return 0
- use cxx
+ use_if_iuse cxx
}
is_d() {
@@ -2264,27 +2262,27 @@ is_d() {
is_f77() {
gcc-lang-supported f77 || return 1
- use fortran
+ use_if_iuse fortran
}
is_f95() {
gcc-lang-supported f95 || return 1
- use fortran
+ use_if_iuse fortran
}
is_fortran() {
gcc-lang-supported fortran || return 1
- use fortran
+ use_if_iuse fortran
}
is_gcj() {
gcc-lang-supported java || return 1
- use cxx && use_if_iuse gcj
+ use_if_iuse cxx && use_if_iuse gcj
}
is_go() {
gcc-lang-supported go || return 1
- use cxx && use_if_iuse go
+ use_if_iuse cxx && use_if_iuse go
}
is_jit() {
@@ -2294,7 +2292,7 @@ is_jit() {
is_multilib() {
tc_version_is_at_least 3 || return 1
- use multilib
+ use_if_iuse multilib
}
is_objc() {
@@ -2304,7 +2302,7 @@ is_objc() {
is_objcxx() {
gcc-lang-supported 'obj-c++' || return 1
- use cxx && use_if_iuse objc++
+ use_if_iuse cxx && use_if_iuse objc++
}
# Grab a variable from the build system (taken from linux-info.eclass)
@@ -2376,12 +2374,12 @@ want_minispecs() {
if tc_version_is_at_least 6.0 ; then
return 0
fi
- if tc_version_is_at_least 4.3.2 && use hardened ; then
+ if tc_version_is_at_least 4.3.2 && use_if_iuse hardened ; then
if ! want_pie ; then
ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
elif use vanilla ; then
ewarn "You will not get hardened features if you have the vanilla USE-flag."
- elif use nopie && use nossp ; then
+ elif use_if_iuse nopie && use_if_iuse nossp ; then
ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
elif ! hardened_gcc_works ; then
ewarn "Your $(tc-arch) arch is not supported."
@@ -2395,11 +2393,11 @@ want_minispecs() {
}
want_pie() {
- ! use hardened && [[ -n ${PIE_VER} ]] && use nopie && return 1
+ ! use_if_iuse hardened && [[ -n ${PIE_VER} ]] && use_if_iuse nopie && return 1
[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
tc_version_is_at_least 4.3.2 && return 1
[[ -z ${PIE_VER} ]] && return 1
- use !nopie && return 0
+ use_if_iuse nopie || return 0
return 1
}
next reply other threads:[~2018-01-06 22:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-06 22:38 Aric Belsito [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-11-20 23:24 [gentoo-commits] proj/musl:master commit in: eclass/ Sam James
2021-11-17 11:48 Sam James
2021-11-17 11:47 Sam James
2019-08-28 21:29 Jory Pratt
2019-05-20 21:04 Jory Pratt
2019-05-05 16:49 Jory Pratt
2019-04-11 12:55 Anthony G. Basile
2019-02-24 17:14 Anthony G. Basile
2019-01-05 0:44 Anthony G. Basile
2018-05-17 18:15 Aric Belsito
2018-05-03 18:31 Aric Belsito
2018-04-14 17:41 Aric Belsito
2018-01-25 19:48 Aric Belsito
2017-12-12 20:58 Anthony G. Basile
2017-11-29 20:00 Aric Belsito
2017-09-05 19:13 Aric Belsito
2017-05-06 21:30 Aric Belsito
2016-12-26 0:04 Aric Belsito
2016-05-03 8:51 Anthony G. Basile
2016-05-03 8:32 Anthony G. Basile
2015-10-02 21:30 Anthony G. Basile
2015-08-30 15:32 Anthony G. Basile
2015-06-12 20:09 Anthony G. Basile
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1515278251.66f05bf7536ef5dadde32b0faf4ad199eef90dab.lluixhi@gentoo \
--to=lluixhi@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox