summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2015-02-05 23:28:17 +0000
committerAnthony G. Basile <blueness@gentoo.org>2015-02-05 23:28:17 +0000
commit271b260947480f08d0dcc7d05543b83383b9e4ef (patch)
tree1e1f7ec8229d802c1d2ae2a431f5f0b121a52d78 /eclass
parentAdd 'fonts' use flag to toggle freetype DEPEND. Bug 538926. (diff)
downloadgentoo-2-271b260947480f08d0dcc7d05543b83383b9e4ef.tar.gz
gentoo-2-271b260947480f08d0dcc7d05543b83383b9e4ef.tar.bz2
gentoo-2-271b260947480f08d0dcc7d05543b83383b9e4ef.zip
Restore the old way of dealing with fixed includes for bsd, bug #536878.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/ChangeLog5
-rw-r--r--eclass/toolchain.eclass27
2 files changed, 20 insertions, 12 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog
index 69db1dc50022..6fa61a55945b 100644
--- a/eclass/ChangeLog
+++ b/eclass/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1521 2015/02/04 09:44:24 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1522 2015/02/05 23:28:17 blueness Exp $
+
+ 05 Feb 2015; Anthony G. Basile <blueness@gentoo.org> toolchain.eclass:
+ Restore the old way of dealing with fixed includes for bsd, bug #536878.
04 Feb 2015; Ulrich Müller <ulm@gentoo.org> git-r3.eclass:
Respect the EVCS_UMASK variable to override the default umask when writing
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7a98ab70f2f5..f1fc90d0bc4a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.648 2015/01/21 21:59:31 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.649 2015/02/05 23:28:17 blueness Exp $
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -595,15 +595,6 @@ toolchain_src_prepare() {
einfo " ${f%%...}"
done
fi
-
- # We don't need fixed header files. This is a gcc hack for dealing with broken
- # (ie non-ansi compliant) header files on old unix systems. On modern systems,
- # these "fixed" headers are known to break things. We just stub them out.
- if tc_version_is_at_least 4.0; then
- echo : > "${S}"/fixincludes/fixinc.in || die
- else
- echo : > "${S}"/gcc/fixinc/fixincl.sh || die
- fi
}
guess_patch_type_in_dir() {
@@ -1607,6 +1598,9 @@ toolchain_src_test() {
toolchain_src_install() {
cd "${WORKDIR}"/build
+ # Do allow symlinks in private gcc include dir as this can break the build
+ find gcc/include*/ -type l -delete
+
# Copy over the info pages. We disabled their generation earlier, but the
# build system only expects to install out of the build dir, not the source. #464008
mkdir -p gcc/doc
@@ -1617,6 +1611,17 @@ toolchain_src_install() {
fi
done
+ # We remove the generated fixincludes, as they can cause things to break
+ # (ncurses, openssl, etc). We do not prevent them from being built, as
+ # in the following commit which we revert:
+ # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.647&r2=1.648
+ # This is because bsd userland needs fixedincludes to build gcc, while
+ # linux does not. Both can dispose of them afterwards.
+ while read x ; do
+ grep -q 'It has been auto-edited by fixincludes from' "${x}" \
+ && rm -f "${x}"
+ done < <(find gcc/include*/ -name '*.h')
+
# Do the 'make install' from the build directory
S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die