diff options
author | Ryan Hill <dirtyepic@gentoo.org> | 2012-03-03 02:29:41 +0000 |
---|---|---|
committer | Ryan Hill <dirtyepic@gentoo.org> | 2012-03-03 02:29:41 +0000 |
commit | 9be1b6854f6d962c581f568f641d6ecfddd96387 (patch) | |
tree | 8f8a900ea58c2bf172fdd08613956460a368943d /eclass/toolchain.eclass | |
parent | games-action/openlierox: Fix GD dependency (bug #406671) (diff) | |
download | gentoo-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.eclass | 31 |
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 |