From 8047fa9ca5822619bdea298fc932b1a7560da757 Mon Sep 17 00:00:00 2001 From: Alexander Gabert Date: Sat, 11 Oct 2003 23:09:24 +0000 Subject: added hardened-gcc -yet_exec flag mechanism and CFLAGS for ghc if hardened-gcc is used --- dev-lang/ghc/ChangeLog | 6 +++++- dev-lang/ghc/Manifest | 4 ++-- dev-lang/ghc/ghc-5.04.3-r1.ebuild | 22 ++++++++++++++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) (limited to 'dev-lang') diff --git a/dev-lang/ghc/ChangeLog b/dev-lang/ghc/ChangeLog index a9f60b90f695..fd23f5ea571d 100644 --- a/dev-lang/ghc/ChangeLog +++ b/dev-lang/ghc/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-lang/ghc # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.19 2003/07/31 10:49:24 kosmikus Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ChangeLog,v 1.20 2003/10/11 23:09:18 pappy Exp $ + + 12 Oct 2003; Alexander Gabert ghc-5.04.3-r1.ebuild: + added hardened-gcc -yet_exec flag mechanism and CFLAGS for ghc if hardened-gcc + is used *ghc-6.0.1 (31 Jul 2003) diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index 66b635ae4520..69a6905dac52 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -1,11 +1,11 @@ MD5 53cadcab720c08f0d03fced644adc7ce ghc-5.04.3.ebuild 4536 -MD5 b262275ab8db519fad4e55e7ef7c5cd7 ghc-5.04.3-r1.ebuild 6825 +MD5 9d2782cd9679fcfba616689114151164 ghc-5.04.3-r1.ebuild 6822 MD5 6c6a8a53a1d8079dc9b280bd7481fc55 ghc-5.04.ebuild 6945 MD5 b6e8ef3b1bab47650ac6a3134e931375 ghc-6.0.ebuild 4262 MD5 4e310a2cb7f0093cd85d9a366f2337cc ghc-5.04.2.ebuild 4536 MD5 42b857369c2e24507f00520e99fdaf5a ghc-5.02.3.ebuild 7646 MD5 fa326cb3c1499ef73016242e06a243e9 ghc-6.0.1.ebuild 4264 -MD5 50cd2b10ba4fbcb2615be6fd7e87f8bc ChangeLog 5145 +MD5 cc88f61ab36897188be9d89141012808 ChangeLog 5142 MD5 a769ecfcd1cdd2d40986627df7dfb249 metadata.xml 224 MD5 9da9270be8ac4d92d6a5c23fd519cc3c files/lndir.c 8050 MD5 cc8947705ec2b2a685edb4eefddeebc2 files/ghc-5.02.3-gentoo.patch.bz2 14489 diff --git a/dev-lang/ghc/ghc-5.04.3-r1.ebuild b/dev-lang/ghc/ghc-5.04.3-r1.ebuild index 906f42ba0664..5e75de706fc4 100644 --- a/dev-lang/ghc/ghc-5.04.3-r1.ebuild +++ b/dev-lang/ghc/ghc-5.04.3-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2003 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-5.04.3-r1.ebuild,v 1.5 2003/09/06 22:27:51 msterret Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ghc/ghc-5.04.3-r1.ebuild,v 1.6 2003/10/11 23:09:18 pappy Exp $ #Some explanation of bootstrap logic: # @@ -23,7 +23,7 @@ #There is only one issue: ghci will be successfully built only if ghc is bootstrapped from the same version. #Thus we need to detect presently installed one and bootstrap in one or two stages.. -inherit base +inherit base flag-o-matic IUSE="doc tetex opengl" @@ -131,12 +131,30 @@ src_compile() { if test x$need_stage1 = xyes; then echo ">>> Bootstrapping intermediate GHC ${PV} using GHC ${BASE_GHC_VERSION}" + if has_version "sys-devel/hardened-gcc" + then + # flag-o-matic will automatically insert -yet_exec if -fPIC is filtered + # and the flag-o-matic eclass is inherited above + filter-flags "-fPIC" + pushd "${STAGE1_B}" || die + PATH="${GHCPATH}" ./configure \ + -host="${CHOST}" \ + --prefix="${STAGE1_D}/usr" \ + --with-ghc="${GHC}" \ + --with-gcc="gcc ${CFLAGS}" \ + --without-happy || die "intermediate stage configure failed" + # the configure will tell ghc to use the gcc toolchain assembler with -yet_exec for compiling + # so ghc-asm will not bug about the PIC prologue that would otherwise be inserted by gcc + # specs file which is provided by sys-devel/hardened-gcc and it's transparent PIC specs file + else + pushd "${STAGE1_B}" || die PATH="${GHCPATH}" ./configure \ -host="${CHOST}" \ --prefix="${STAGE1_D}/usr" \ --with-ghc="${GHC}" \ --without-happy || die "intermediate stage configure failed" + fi #parallel make causes trouble make || die "intermediate stage make failed" make install || die -- cgit v1.2.3-65-gdbad