summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Hill <dirtyepic@gentoo.org>2012-03-03 02:29:41 +0000
committerRyan Hill <dirtyepic@gentoo.org>2012-03-03 02:29:41 +0000
commit9be1b6854f6d962c581f568f641d6ecfddd96387 (patch)
tree8f8a900ea58c2bf172fdd08613956460a368943d /eclass/toolchain.eclass
parentgames-action/openlierox: Fix GD dependency (bug #406671) (diff)
downloadgentoo-2-9be1b6854f6d962c581f568f641d6ecfddd96387.tar.gz
gentoo-2-9be1b6854f6d962c581f568f641d6ecfddd96387.tar.bz2
gentoo-2-9be1b6854f6d962c581f568f641d6ecfddd96387.zip
Prevent bundled libffi from being installed with gcj or gccgo (bug #354903 by Xake). Drop old libffi-related code.
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r--eclass/toolchain.eclass31
1 files changed, 6 insertions, 25 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f428a202e427..12903bfeecb0 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.519 2012/03/02 05:56:29 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.520 2012/03/03 02:29:41 dirtyepic Exp $
#
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -91,7 +91,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
if tc_version_is_at_least 3 ; then
- IUSE+=" bootstrap doc gcj gtk hardened libffi multilib objc"
+ IUSE+=" bootstrap doc gcj gtk hardened multilib objc"
tc_version_is_at_least "4.0" && IUSE+=" objc-gc mudflap"
tc_version_is_at_least "4.1" && IUSE+=" libssp objc++"
@@ -722,14 +722,6 @@ toolchain_src_unpack() {
use hardened && make_gcc_hard
- if is_libffi ; then
- # move the libffi target out of gcj and into all
- sed -i \
- -e '/^libgcj=/s:target-libffi::' \
- -e '/^target_lib/s:=":="target-libffi :' \
- "${S}"/configure || die
- fi
-
# install the libstdc++ python into the right location
# http://gcc.gnu.org/PR51368
if tc_version_is_at_least 4.5 ; then
@@ -780,6 +772,10 @@ toolchain_src_unpack() {
do_gcc_rename_java_bins
fi
+ # Prevent libffi from being installed
+ sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in
+ sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in
+
# Fixup libtool to correctly generate .la files with portage
cd "${S}"
elibtoolize --portage --shallow --no-uclibc
@@ -1494,17 +1490,6 @@ toolchain_src_install() {
fi
done
- # I do not know if this will break gcj stuff, so I'll only do it for
- # objc for now; basically "ffi.h" is the correct file to include,
- # but it gets installed in .../GCCVER/include and yet it does
- # "#include <ffitarget.h>" which (correctly, as it's an "extra" file)
- # is installed in .../GCCVER/include/libffi; the following fixes
- # ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
- if [[ -d ${D}${LIBPATH}/include/libffi ]] ; then
- mv -i "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include || die
- rm -r "${D}"${LIBPATH}/include/libffi || die
- fi
-
# Now do the fun stripping stuff
env RESTRICT="" CHOST=${CHOST} prepstrip "${D}${BINPATH}"
env RESTRICT="" CHOST=${CTARGET} prepstrip "${D}${LIBPATH}"
@@ -2005,10 +1990,6 @@ is_go() {
use cxx && use_if_iuse go
}
-is_libffi() {
- use_if_iuse libffi
-}
-
is_objc() {
gcc-lang-supported objc || return 1
use_if_iuse objc