summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gabert <pappy@gentoo.org>2003-10-11 23:09:24 +0000
committerAlexander Gabert <pappy@gentoo.org>2003-10-11 23:09:24 +0000
commit8047fa9ca5822619bdea298fc932b1a7560da757 (patch)
treec9ad7cf48e0f58f5768ade4bdd8f69ff47d1f1dc /dev-lang/ghc
parentadded hardened-gcc -yet_exec flag mechanism and CFLAGS for ghc if hardened-gc... (diff)
downloadgentoo-2-8047fa9ca5822619bdea298fc932b1a7560da757.tar.gz
gentoo-2-8047fa9ca5822619bdea298fc932b1a7560da757.tar.bz2
gentoo-2-8047fa9ca5822619bdea298fc932b1a7560da757.zip
added hardened-gcc -yet_exec flag mechanism and CFLAGS for ghc if hardened-gcc is used
Diffstat (limited to 'dev-lang/ghc')
-rw-r--r--dev-lang/ghc/ChangeLog6
-rw-r--r--dev-lang/ghc/Manifest4
-rw-r--r--dev-lang/ghc/ghc-5.04.3-r1.ebuild22
3 files changed, 27 insertions, 5 deletions
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 <pappy@gentoo.org> 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