Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 199850
Collapse All | Expand All

(-)/var/paludis/repositories/gentoo/eclass/toolchain.eclass (-2 / +19 lines)
Lines 145-151 Link Here
145
		[[ -n ${D_VER}	 ]] && IUSE="${IUSE} d"
145
		[[ -n ${D_VER}	 ]] && IUSE="${IUSE} d"
146
146
147
		if version_is_at_least 3 ; then
147
		if version_is_at_least 3 ; then
148
			IUSE="${IUSE} bootstrap doc gcj gtk hardened multilib objc vanilla"
148
			IUSE="${IUSE} bootstrap doc gcj gtk hardened libffi multilib objc vanilla"
149
149
150
			# gcc-{nios2,bfin} don't accept these
150
			# gcc-{nios2,bfin} don't accept these
151
			if [[ ${PN} == "gcc" ]] ; then
151
			if [[ ${PN} == "gcc" ]] ; then
Lines 958-963 Link Here
958
		einfo "updating configuration to build hardened GCC"
958
		einfo "updating configuration to build hardened GCC"
959
		make_gcc_hard || die "failed to make gcc hard"
959
		make_gcc_hard || die "failed to make gcc hard"
960
	fi
960
	fi
961
962
	if is_libffi && ! is_gcj ; then
963
		einfo "enabling libffi without gcj"
964
		sed -i~ -e '/^libgcj="/,/"/s/target-libffi//' \
965
				-e '/^target_libraries="/,/"/s/\${libgcj}/target-libffi &/' \
966
			configure.in configure
967
		if [[ $(diff configure.in{~,} | wc -l) -ne 8 ||
968
				$(diff configure{~,} | wc -l) -ne 8 ]]; then
969
			die "libffi sed went wrong!"
970
		fi
971
	fi
961
}
972
}
962
gcc-library_src_unpack() {
973
gcc-library_src_unpack() {
963
	:
974
	:
Lines 1719-1725 Link Here
1719
		#	"#include <ffitarget.h>" which (correctly, as it's an "extra" file)
1730
		#	"#include <ffitarget.h>" which (correctly, as it's an "extra" file)
1720
		#	is installed in .../GCCVER/include/libffi; the following fixes
1731
		#	is installed in .../GCCVER/include/libffi; the following fixes
1721
		#	ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
1732
		#	ffi.'s include of ffitarget.h - Armando Di Cianno <fafhrd@gentoo.org>
1722
		if is_objc && ! is_gcj ; then
1733
		if { is_libffi || is_objc; } && ! is_gcj ; then
1723
			#dosed "s:<ffitarget.h>:<libffi/ffitarget.h>:g" /${LIBPATH}/include/ffi.h
1734
			#dosed "s:<ffitarget.h>:<libffi/ffitarget.h>:g" /${LIBPATH}/include/ffi.h
1724
			mv "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include
1735
			mv "${D}"${LIBPATH}/include/libffi/* "${D}"${LIBPATH}/include
1725
			rm -Rf "${D}"${LIBPATH}/include/libffi
1736
			rm -Rf "${D}"${LIBPATH}/include/libffi
Lines 2366-2371 Link Here
2366
	use gcj
2377
	use gcj
2367
}
2378
}
2368
2379
2380
is_libffi() {
2381
	[[ ${GCCMAJOR} < 3 ]] && return 1
2382
	use build && return 1
2383
	use libffi
2384
}
2385
2369
is_objc() {
2386
is_objc() {
2370
	gcc-lang-supported objc || return 1
2387
	gcc-lang-supported objc || return 1
2371
	use build && return 1
2388
	use build && return 1

Return to bug 199850