summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain.eclass: add @SUPPORTED_EAPISMichał Górny2018-08-151-0/+1
|
* toolchain.eclass: support gcc patches from cygwinportsMichael Haubenwallner2018-07-091-0/+28
| | | | | | Download and apply patches found in Cygwin's gcc.cygport, maintained at github/cygwinports/gcc, for a compiler running on cygwin. The ebuild can define the cygwinports' git commit id as CYGWINPORTS_GITREV.
* toolchain.eclass: Cygwin provides posix threadsMichael Haubenwallner2018-07-091-1/+1
| | | | | Upstream Cygwin does build their gcc with posix threads for ages, at least since gcc4-4.5.1-1.cygport (committed on Oct 3, 2010).
* toolchain.eclass: D->ED for where to start cleanupsMichael Haubenwallner2018-07-091-5/+5
|
* toolchain.eclass: ROOT->EROOT at looking for gcc specs fileMichael Haubenwallner2018-07-091-1/+1
|
* toolchain.eclass: EAPI 7 aware for D,ED,ROOT,EROOTMichael Haubenwallner2018-07-091-18/+18
| | | | | | | | | These variables may or may not have the trailing slash. Additionally, avoid leading double slash (a network location for Cygwin) with ROOT and EROOT because they may be empty, while D and ED never should be empty and there is no reason so far to avoid double slashes in between. On the other hand, eclass variables like DATAPATH and LIBPATH do contain the leading slash, so an extra slash reduces readability for no reason.
* toolchain.eclass: Do not pass unused --disable-libgcj option in GCC >=7.Arfrever Frehtes Taifersar Arahesis2018-07-011-4/+6
| | | | | Closes: https://bugs.gentoo.org/659798 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add IUSE=systemtap to gcc-8Sergei Trofimovich2018-05-161-0/+11
| | | | | | | | Avoid automagic dependency on systemtap installed. Reported-by: lekto@o2.pl Bug: https://bugs.gentoo.org/654748 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: disallow USE="ssp -libssp" on mingw targetsSergei Trofimovich2018-05-051-1/+11
| | | | | | | | | | | | | | | | | gcc-8 added --disable-libssp flag. It used to be gentoo-specific flag up to gcc-5.4.0 and gentoo was passing --disable-libssp on all targets except solaris. On gcc-6 gentoo stopped providing --disable-libssp flag (it became no-op). USE=ssp became the default with gcc-6. gcc-8 reintroduced --disable-libssp and that broke mingw. mingw libc does not provide stack_check_*() functions and USE=ssp forces compiler to emit those calls. This change disallows disabling libssp on mingw if USE=ssp is set. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop IUSE=gcj from gcc-7 (removed upstream)Sergei Trofimovich2018-05-031-1/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop IUSE=cilk from gcc-8 (removed upstream)Sergei Trofimovich2018-05-031-1/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain.eclass: disable libstdcxx-time for bare metalSergei Trofimovich2018-04-291-1/+8
| | | | | | | | | | | | | | | | | | | | | Historically Gentoo unconditionally sets --enable-libstdcxx-time=yes to avoid --enable-libstdcxx-time=rt on linux targets, bug #411681 Unfortunately this conflicts with arm-none-eabi and other bare-metal targets that don't provide enough plumbing to support for POSIX timers. This change ogerrides our default to --disable-libstdcxx-time on *-elf and *-eabi targets. Tested as: $ crossdev --stage4 arm-none-eabi Reported-by: scheer@wsoptics.de Reported-by: Thomas Schneider Bug: https://bugs.gentoo.org/411681 Bug: https://bugs.gentoo.org/589672 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: Transition deps to x11-base/xorg-protoMatt Turner2018-04-271-2/+1
|
* toolchain.eclass: don't install libcp1plugin.laSergei Trofimovich2018-04-141-0/+2
| | | | | | | | | | | | Don't install plugin's .la file. Plugins are meant to be loaded at runtime (they all export the same sympols, etc.). Plugins don't have static library equivalent. Drop 'libcp1plugin.la'. Reported-by: Paolo Pedroni Closes: https://bugs.gentoo.org/638216 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: Use :0= for dependency on >=dev-libs/isl-0.14.Arfrever Frehtes Taifersar Arahesis2018-03-131-1/+1
| | | | | Closes: https://bugs.gentoo.org/650170 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
* eclass/toolchain.eclass: die early in case of EAPI < 5Matthias Maier2018-02-011-2/+2
| | | | | | With the latest changes (slot operators) we need at least EAPI 5 when inheriting toolchain.eclass. Thus, in case of EAPI=4, die early with a more descriptive error message.
* eclass/toolchain.eclass: Add := operators to a number of critical depsMatthias Maier2018-02-011-4/+4
| | | | | | | | | | | | We should annotate a number of critical library dependencies of the compiler with := operators to ensure that the compiler gets rebuilt in time. TODO: We should also check for FEATURES=preserve-libs / print a warning before attempting to upgrade a library with soname change. Otherwise, users might be off to a rocky ride. Closes: https://bugs.gentoo.org/642316
* eclass/toolchain.eclass: Add .xz variants to snapshot releasesMatthias Maier2018-01-191-2/+10
|
* toolchain.eclass: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-onlySergei Trofimovich2018-01-071-1/+1
| | | | | | | | | | | | | | | | | CROSSCOMPILE_OPTS is a USE_EXPAND of a single item: headers-only. Convert it to a global USE flag instead. Mechanical ebuild rename done as: $ sed -e 's@crosscompile_opts_headers-only@headers-only@g' \ -i $(git grep -l headers-only) 'headers-only' flag is used by crossdev to bootstrap stage1 compiler before libc is available. crossdev switched to USE=headers-only in =sys-devel/crossdev-20171230. Bug: https://bugs.gentoo.org/642712 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: remove built_with_use, bug #610456Ulrich Müller2018-01-051-12/+7
| | | | Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
* toolchain.eclass: update to EAPI=5 standardsAnthony G. Basile2018-01-011-33/+36
| | | | | | | | | | | This eclass is inherited by ebuilds in sys-devel/{gcc,kgcc64,gcc-apple}, each which make use of different IUSE flags. This causes problems with `use X` constructions when X is not in the IUSE flags. At EAPI=4 this simply emitted a warning, while at EAPI=5 this is an error. We update the eclass to make use of use_if_iuse and similar constructions where necessary to bring the eclass into compliance with EAPI=5. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
* eclass/toolchain.eclass: use CXXFLAGS=CFLAGS if CFLAGS_<CTARGET> is not setSergei Trofimovich2017-12-251-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain.eclass: do not die if uclibc patches are not availableAnthony G. Basile2017-12-051-3/+0
| | | | | | | gcc-6 and above no longer needs uclibc specific patches, so we don't die if the patchset is not available. We do, however, still apply it if UCLIBC_VER is defined in the ebuild to future proof the code in case we need to reintroduce the patchset in the future.
* toolchain.eclass: Add -no-pie to stage1 LDFLAGS when building <gcc-6 with ↵Magnus Granberg2017-11-181-0/+8
| | | | | | >=gcc6, bug 618908 Closes: https://bugs.gentoo.org/618908
* toolchain.eclass: add ~slyfox devspace for gcc patchesSergei Trofimovich2017-10-241-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* sys-devel/gcc: add a USE for building GCC with PGOShane Peelar2017-09-241-1/+6
| | | | | Package-Manager: Portage-2.3.10, Repoman-2.3.3 Closes: https://github.com/gentoo/gentoo/pull/5741
* toolchain.eclass: drop GCC_FILESDIR override, bug #629776Sergei Trofimovich2017-09-161-7/+5
| | | | | | | | | | | | | | | GCC_FILESDIR support was broken by portage-2.3.6 commit: https://github.com/gentoo/portage/commit/0637c95545ab7dc0bb5d091de221b9e99e2cf5b2 ("portage.package.ebuild: Use a fake FILESDIR to catch invalid accesses") Unfortunately it was applied to older EAPIs without fixing all the users first. The change yanks GCC_FILESDIR override support and hardcodes FILESDIR usage (as all the ebuilds except 'gcc' are broken anyway). Bug: https://bugs.gentoo.org/629776 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: allow CTARGET to contain '.'Sergei Trofimovich2017-09-051-1/+2
| | | | | | | | | | | | | On CTARGET="hppa2.0-unknown-linux-gnu" the following code local VAR="CFLAGS_"${CTARGET//-/_} CXXFLAGS=${!VAR} produces incorrect substitution: CFLAGS_hppa2.0_unknown_linux_gnu which caused 'crossdev hppa2.0-unknown-linux-gnu' to fail. The change adds '.' mangling as well. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: Update masquerades via dev-util/shadowman postinst/rmMichał Górny2017-08-261-0/+7
|
* toolchain.eclass: upstream now uses .xz compressed tarballsAnthony G. Basile2017-08-031-2/+10
|
* toolchain.eclass: add DEPEND to dev-libs/boehm-gc, bug #617788Matthias Maier2017-05-101-0/+6
| | | | | | | sys-devel/gcc-7.1.0 requires external dev-libs/boehm-gc, the internal copy got removed [1]. [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=242985
* sys-devel/gcc: add 7.1.0 to the tree, bug #617260Matthias Maier2017-05-071-1/+2
| | | | Package-Manager: Portage-2.3.5, Repoman-2.3.2
* toolchain.eclass: enable pie and ssp for gcc >= 6 for #615370William Hubbs2017-05-061-1/+1
|
* Drop $Id$ per council decision in bug #611234.Robin H. Johnson2017-02-281-1/+0
| | | | Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* toolchain.eclass: fix a typo in a commentMagnus Granberg2017-02-031-2/+2
|
* toolchain.eclass: pax-mark java compiler #574808Magnus Granberg2017-02-021-0/+6
|
* toolchain.eclass: remove trailing slash of D.Benda Xu2017-01-091-1/+1
| | | | Bug: 531610
* toolchain.eclass: Quote variables containing EPREFIX.Benda Xu2017-01-091-11/+11
| | | | | | | | | Directory prefixify part 4. LIBPATH, etc. now have EPREFIX prepended. The latter need to be quoted. Bug: 531610
* toolchain.eclass: Prepend/strip EPREFIX.Benda Xu2017-01-091-17/+17
| | | | | | | | | Directory prefixify part 3. Raw directories are prepended by EPREFIX. Directories passed to ebuild helpers are EPREFIX stripped. Bug: 531610
* toolchain.eclass: prefixify helper scripts.Benda Xu2017-01-091-5/+5
| | | | | | Directory prefixify part 2. Bug: 531610
* toolchain.eclass: D->ED ROOT->EROOT replacements.Benda Xu2017-01-091-14/+15
| | | | | | | | | Directory prefixify part 1. In addition, E/D and E/ROOT has trailing slashes. No need to write an additional slash. Bug: 531610
* toolchain.eclass: drop env -i from gcc-config calls.Benda Xu2017-01-091-4/+4
| | | | | | | | | | In Prefix, PATH should also be preserved, resulting in a mouthful of `env -i PATH=${PATH} ROOT=${ROOT}`. The origin commit introducing env -i was for "cleanup". Dropping env -i is cleaner. Reference: https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/?id=a8a64d1886cc5c9f975353b97237f2900a3ee88c Reference: https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/?id=7d9f89700a2ee50674c0d871ec6d21b468ac6206 Bug: 531610
* toolchain.eclass: Call fix_libtool_files.sh by nameBenda Xu2017-01-091-2/+2
| | | | | /usr/sbin is in PATH, avoid writing ${EPREFIX}/usr/sbin/fix_libtool_files.sh.
* toolchain.eclass: add support for gcc 6.x with no spec filesMagnus Granberg2016-09-131-31/+56
|
* toolchain.eclass: add use pch for gcc 6.x supportMagnus Granberg2016-09-131-2/+7
|
* toolchain.eclass: [QA] Remove meaningless USE=multislot, #584610Michał Górny2016-06-211-5/+1
| | | | | | | | | | | | | | | The USE=multislot as defined partially by toolchain.eclass and partially by sys-devel/gcc was used for two purposes: - enabling build-time (only) blockers on old gcc versions -- which do not make any sense because they are build-time only and there is no technical reason for two gcc version ranges not to be installed at the same time, both at build time and at run time, - changing behavior of post-install wrt conditional gcc-config calls. Both cases are invalid use of USE flags, considering that the flag does not affect the installed files in any way.
* toolchain.eclass: prune more unused libtool archives #573302Mike Frysinger2016-05-111-2/+38
|
* sys-devel/gcc: add USE=mpx support for Intel MPX #578396Mike Frysinger2016-05-111-1/+5
|
* sys-devel/gcc: add USE=vtv support for vtable verification #547040Mike Frysinger2016-05-081-1/+8
|
* toolchain.eclass: automatically select latest gcc-config profile when ↵Mike Frysinger2016-04-141-12/+22
| | | | | | | | | unmerging active version #529608 If the user is unmerging the current version, try and automatically switch to a better version. We blindly pick the latest one available for the target in question since there's not really a better metric to figure out which one the user actually would want.