summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain.eclass: move from versionator to eapi7-ver eclassSergei Trofimovich2018-12-091-12/+12
| | | | | | Preparation to EAPI=6+ support in gcc ebuilds. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop info/dir index, bug #672408Sergei Trofimovich2018-12-041-0/+8
| | | | | | | | | | | | | | | | | As explained by Zac in #672408 prepinfo() was used to drop 'info/dir' index to allow portage regenerate it. gcc package does not always install 'info/dir' files (USE-dependent). This causes nondeterminism for 'info/dir' to be owned or be an orphan file. This change drops 'info/dir' unconditionally to avoid owned/orphan collisions and always make it an orphan file. Reported-by: Michal Jakubowski Bug: https://bugs.gentoo.org/672408 Bug: https://bugs.gentoo.org/587316 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: follow move from uclibc to uclibc-ngSergei Trofimovich2018-12-021-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: filter out -Wstack-protector for gcc-4.0Sergei Trofimovich2018-11-301-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop prepstrip(), bug #587316Sergei Trofimovich2018-11-251-8/+9
| | | | | | | | | | This disables all stripping in gcc. As PMS does not provide an alternative just drop stripping for now. Reported-by: Michał Górny Closes: https://bugs.gentoo.org/587316 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop prepman() and prepstrip(), bug #587316Sergei Trofimovich2018-11-221-6/+0
| | | | | | | These functions are no-op in portage-2.3.50+. Bug: https://bugs.gentoo.org/587316 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: don't delete 'go' and 'gofmt' for cross-compilersSergei Trofimovich2018-10-231-6/+11
| | | | | | | | | gcc does not build final 'go' and 'gofmt' tools when cross-compiler is built (CHOST != CTARGET). This change fixes gcc-stage2 building for USE=go case. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: filter out -Wextra -Wstack-protectorSergei Trofimovich2018-10-061-0/+2
| | | | | | | On gcc-3.x -Wextra -Wstack-protector were not yet present. These options are seen occasionally in users' CFLAGS. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: pass CONFIG_SHELL to emake, bug #664486Sergei Trofimovich2018-09-301-1/+6
| | | | | | | | | | | | | | | | | | | | | | Christian reports 'make install' failure caused by limitation of ancient autotools in detecting CONFIG_SHELL: ``` /bin/bash .../gcc-3.3.6/libstdc++-v3/../mkinstalldirs \ .../gcc-3.3.6-r2/image//usr/lib/../lib32 /bin/bash ../libtool --mode=install /bin/bash .../gcc-3.3.6/install-sh \ -c libsupc++.la .../gcc-3.3.6-r2/image//usr/lib/../lib32/libsupc++.la libtool: install: `.../gcc-3.3.6-r2/image//usr/lib/../lib32/libsupc++.la' \ is not a directory ``` We already pass CONFIG_SHELL to top-level ./configure. The workaround is to pass CONFIG_SHELL variable to 'make' as well. Reported-by: Christian Schmidt Fixed-by: Christian Schmidt Bug: https://bugs.gentoo.org/664486 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: filter out -fdiagnostics-show-option on gcc-4.0 and olderSergei Trofimovich2018-09-161-0/+3
| | | | | | -fdiagnostics-show-option was added in gcc-4.1.0. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* 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