summaryrefslogtreecommitdiff
path: root/lang/ghc
diff options
context:
space:
mode:
authoraugustss <augustss>2003-04-29 12:16:19 +0000
committeraugustss <augustss>2003-04-29 12:16:19 +0000
commit30366b1763ce0e9be1d9205d5e9ab83edb0db25e (patch)
tree21558bf4b04c8ad34c23623570139a87db9a3e3a /lang/ghc
parent8f13ff395923cd4f8045a7d29cec330b35de2508 (diff)
downloadpkgsrc-30366b1763ce0e9be1d9205d5e9ab83edb0db25e.tar.gz
Re-add files I missed in last commit.
Diffstat (limited to 'lang/ghc')
-rw-r--r--lang/ghc/patches/patch-aa36
-rw-r--r--lang/ghc/patches/patch-ab29
-rw-r--r--lang/ghc/patches/patch-ad94
3 files changed, 159 insertions, 0 deletions
diff --git a/lang/ghc/patches/patch-aa b/lang/ghc/patches/patch-aa
new file mode 100644
index 00000000000..d97d37b1509
--- /dev/null
+++ b/lang/ghc/patches/patch-aa
@@ -0,0 +1,36 @@
+$NetBSD: patch-aa,v 1.4 2003/04/29 12:16:19 augustss Exp $
+
+--- ./mk/bootstrap.mk.orig Tue May 14 10:25:46 2002
++++ ./mk/bootstrap.mk Fri Mar 28 23:48:02 2003
+@@ -123,10 +123,22 @@
+
+ HC_BOOT_LIBS = -lHStext -lHStext_cbits -lHSutil -lHSposix -lHSposix_cbits -lHSconcurrent -lHSlang -lHSlang_cbits -lHShaskell98 -lHSbase -lHSbase_cbits -lHSrts -lgmp -lm $(EXTRA_HC_BOOT_LIBS)
+
++# XXX_UB: if we build ghc/utils with hc-bootstrapped compiler+libs,
++# the link fails, libHSrts uses a (new) symbol from libHSbase.
++# Maybe we should insert a ranlib somewhere?
++# Workaround the problem:
++HC_BOOT_LIBS += -lHSbase
++
+ ifeq "$(GhcLibsWithReadline)" "YES"
+ HC_BOOT_LIBS += $(patsubst %, -l%, $(LibsReadline))
++HC_BOOT_LIBS += $(ExtraLdOptsReadline)
++ifneq "$(ReadlineIncludePath)" ""
++HC_BOOT_CC_OPTS += -I$(ReadlineIncludePath)
++endif
+ endif
+
++HC_BOOT_LIBS += $(ExtraLdOptsGmp)
++
+ ifeq "$(HaveLibDL)" "YES"
+ HC_BOOT_LIBS += -ldl
+ endif
+@@ -149,7 +161,7 @@
+ $(CC) -x c $< -o $@ -S -O $(HC_BOOT_CC_OPTS) -I. `echo $(patsubst -monly-%-regs, -DSTOLEN_X86_REGS=%, $(filter -monly-%-regs, $($*_HC_OPTS))) | sed 's/^$$/-DSTOLEN_X86_REGS=4/'`
+
+ %.s : %.raw_s
+- $(FPTOOLS_TOP)/$(GHC_MANGLER_DIR)/$(GHC_MANGLER) $< $@ $(patsubst -monly-%-regs, %, $(filter -monly-%-regs, $($*_HC_OPTS)))
++ $(GHC_MANGLER) $< $@ $(patsubst -monly-%-regs, %, $(filter -monly-%-regs, $($*_HC_OPTS)))
+
+ %.o : %.s
+ $(CC) -c -o $@ $<
diff --git a/lang/ghc/patches/patch-ab b/lang/ghc/patches/patch-ab
new file mode 100644
index 00000000000..104579dafd8
--- /dev/null
+++ b/lang/ghc/patches/patch-ab
@@ -0,0 +1,29 @@
+$NetBSD: patch-ab,v 1.4 2003/04/29 12:16:19 augustss Exp $
+
+--- ./mk/config.mk.in.orig Wed Feb 12 22:41:18 2003
++++ ./mk/config.mk.in Fri Mar 28 23:48:02 2003
+@@ -338,10 +338,13 @@
+ # Libraries needed for linking with readline
+ LibsReadline=@LibsReadline@
+
++# Additional linker flags needed for linking with readline
++ExtraLdOptsReadline=@ExtraLdOptsReadline@
++
+ # Include path to readline.h
+ # (no path == in standard include path)
+ #
+-ReadlineIncludePath=
++ReadlineIncludePath=@ReadlineIncludePath@
+
+ # Math library
+ LIBM=@LIBM@
+@@ -678,6 +681,9 @@
+ #
+ HaveLibGmp = @HaveLibGmp@
+ LibGmp = @LibGmp@
++
++# Additional linker flags needed for linking with gmp (when HaveLibGmp=YES)
++ExtraLdOptsGmp=@ExtraLdOptsGmp@
+
+ #-----------------------------------------------------------------------------
+ # Mingwex Library
diff --git a/lang/ghc/patches/patch-ad b/lang/ghc/patches/patch-ad
new file mode 100644
index 00000000000..1c6d2e47df7
--- /dev/null
+++ b/lang/ghc/patches/patch-ad
@@ -0,0 +1,94 @@
+$NetBSD: patch-ad,v 1.4 2003/04/29 12:16:19 augustss Exp $
+
+--- distrib/hc-build.orig Tue Jan 15 06:39:15 2002
++++ distrib/hc-build Sun Mar 30 11:57:38 2003
+@@ -2,6 +2,7 @@
+
+ # Manuel M. T. Chakravarty <chak@acm.org>, June 2000
+ # Updated for GHC 5.00, Simon Marlow, March 2001
++# Updated for GHC 5.04.3, Urban Boquist, March 2003
+ #
+ # Script to build GHC from .hc files (must be run in the fptools/ root
+ # directory into which the source and .hc files must already have been
+@@ -32,29 +33,37 @@
+ # touch happy generated files; so that in non-bootstrapping mode for
+ # installation, no attempt is made to call happy
+ #
+-touch ghc/compiler/rename/ParseIface.hs
+ touch ghc/compiler/parser/Parser.hs
+ touch ghc/compiler/main/ParsePkgConf.hs
+ touch hslibs/hssource/HsParser.hs
+
+ # We don't have genprimopcode yet so don't try to use it
+ touch ghc/compiler/prelude/primops.txt
+-touch ghc/lib/std/PrelPrimopWrappers.hs
++touch libraries/base/GHC/PrimopWrappers.hs
+
+-echo "*** Building hsc..."
++echo "*** Building compiler..."
+ ./configure --enable-hc-boot $configopts
++
++# A couple of Makefiles test BootingFromHc before including
++# boilerplate.mk, so we have to pass it explicitly:
++MAKEFLAGS="BootingFromHc=YES"
++export MAKEFLAGS
++
+ $MAKE -C glafp-utils boot all
+ $MAKE -C ghc boot
++$MAKE -C libraries boot all
+ $MAKE -C hslibs boot all
+-$MAKE -C ghc all
++$MAKE -C ghc all $MFLAGS
++
++MAKEFLAGS=
+
+ echo "*** Building libraries..."
+
+ # Reconfigure, using the newly-build ghc binary as our $(GHC), and
+ # with hc bootstrapping disabled.
+-HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/ghc/compiler/ghc-inplace"
++HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/ghc/compiler/ghc-inplace" $configopts
+
+-PRIMOP_BITS=primop-data-decl.hs-incl \
++PRIMOP_BITS="primop-data-decl.hs-incl \
+ primop-tag.hs-incl \
+ primop-list.hs-incl \
+ primop-has-side-effects.hs-incl \
+@@ -64,28 +73,30 @@
+ primop-can-fail.hs-incl \
+ primop-strictness.hs-incl \
+ primop-usage.hs-incl \
+- primop-primop-info.hs-incl
++ primop-primop-info.hs-incl"
+
+ # The reconfigure step updates a few files, which can lead to
+ # unnecessary recompilations. Touch a bunch of things here to avoid
+ # having to recompile stuff that we've already built.
+-(cd ghc/compiler; touch $PRIMOP_BITS prelude/PrimOp.o main/Config.hs main/Config.o ghc-*)
++(cd ghc/compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*)
+
+ # Remove the old libraries. Don't use make clean, because we don't
+ # want to delete the .hs files generated from the .hsc files, because
+ # we don't have hsc2hs built yet.
+-find ghc/lib/std hslibs | grep '\.\(o\|a\)' | xargs rm -f
++find libraries hslibs | grep '\.\(o\|a\)' | xargs rm -f
+
+ # Do includes and RTS now
+ $MAKE -C ghc/includes boot && $MAKE -C ghc/includes all
+ $MAKE -C ghc/rts boot && $MAKE -C ghc/rts all
+
+ # Now build a new set of libraries
+-$MAKE -C ghc/lib boot all
++$MAKE -C libraries boot all
+ $MAKE -C hslibs boot all
+
+-# Finally build ghc/utils, now that we have libraries
+-$MAKE -C ghc/utils boot all
++# Finally build all of ghc/utils
++$MAKE -C ghc/utils clean && $MAKE -C ghc/utils boot all
+
+-# At this point, the tree should be safe to do 'make install' in.
++# Avoid relinking the compiler during 'make install':
++(cd ghc/compiler; touch parser/hschooks.o ghc-*)
+
++# At this point, the tree should be safe to do 'make install' in.