summaryrefslogtreecommitdiff
path: root/lang/nhc98/patches
diff options
context:
space:
mode:
authorkristerw <kristerw@pkgsrc.org>2005-05-01 22:55:07 +0000
committerkristerw <kristerw@pkgsrc.org>2005-05-01 22:55:07 +0000
commit44796a62d61b82d55f4a953ba316076b1db311ef (patch)
tree8001b705e0263e626e21c5ab41c32b0565cda635 /lang/nhc98/patches
parent2ea7529561afb1eb65299db2633fab366af2c4ac (diff)
downloadpkgsrc-44796a62d61b82d55f4a953ba316076b1db311ef.tar.gz
Update nhc98 to 1.18.
Changes from 1.16: # New: Several more packages of hierarchical libraries are included in the build: base, parsec, haskell-src, QuickCheck, HaXml, HUnit, Cabal. # New: FFI improvements: foreign import "dynamic" is now supported, and named C header-files are now used. # New: The compiler now uses cpphs for Haskell source instead of cpp. This removes problems with string gaps, primes in identifiers, and so on. # New: In hmake-interactive, if the readline library is not available, the simple line editor now has a history mechanism. # Bugfix: hmake's processing of cpp conditional directives is improved also. # Bugfix: More evil bugfixes for gcc versions ? 3.3 # Bugfix: A numeric pattern can now match against a Num newtype. # Bugfix: Foreign imports and abstract newtypes now play OK together. # Bugfix: Methods in qualified classes no longer need to be qualified in instance decls. # Bugfix: GreenCard now accepts <<.../...>> syntax.
Diffstat (limited to 'lang/nhc98/patches')
-rw-r--r--lang/nhc98/patches/patch-ab11
-rw-r--r--lang/nhc98/patches/patch-ac501
-rw-r--r--lang/nhc98/patches/patch-ad16
-rw-r--r--lang/nhc98/patches/patch-ae25
-rw-r--r--lang/nhc98/patches/patch-af23
-rw-r--r--lang/nhc98/patches/patch-ag144
-rw-r--r--lang/nhc98/patches/patch-ah115
7 files changed, 80 insertions, 755 deletions
diff --git a/lang/nhc98/patches/patch-ab b/lang/nhc98/patches/patch-ab
deleted file mode 100644
index 5a5393611ad..00000000000
--- a/lang/nhc98/patches/patch-ab
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2004/01/03 09:50:39 kristerw Exp $
-
---- src/runtime/Integer/alloca.c.orig Sat Jan 3 07:32:14 2004
-+++ src/runtime/Integer/alloca.c Sat Jan 3 07:31:44 2004
-@@ -4,5 +4,5 @@
- void *alloca (unsigned size)
- {
- fprintf(stderr,"Falilure alloca %d called:-(\n",size);
-- abort(-1);
-+ abort();
- }
diff --git a/lang/nhc98/patches/patch-ac b/lang/nhc98/patches/patch-ac
deleted file mode 100644
index c1bce8285cc..00000000000
--- a/lang/nhc98/patches/patch-ac
+++ /dev/null
@@ -1,501 +0,0 @@
-$NetBSD: patch-ac,v 1.2 2004/01/16 00:59:18 kristerw Exp $
-
---- src/runtime/Integer/asmlong.h.orig 2003-02-27 10:19:30.000000000 +0000
-+++ src/runtime/Integer/asmlong.h 2003-12-16 16:33:42.000000000 +0000
-@@ -1,13 +1,13 @@
- #if defined (__a29k__) || defined (___AM29K__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %1,%4,%5
-- addc %0,%2,%3" \
-+ __asm__ ("add %1,%4,%5\n" \
-+" addc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %1,%4,%5
-- subc %0,%2,%3" \
-+ __asm__ ("sub %1,%4,%5\n" \
-+" subc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -31,14 +31,14 @@
-
- #if defined (__arm__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("adds %1,%4,%5
-- adc %0,%2,%3" \
-+ __asm__ ("adds %1,%4,%5\n" \
-+" adc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subs %1,%4,%5
-- sbc %0,%2,%3" \
-+ __asm__ ("subs %1,%4,%5\n" \
-+" sbc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -46,14 +46,14 @@
-
- #if defined (__gmicro__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add.w %5,%1
-- addx %3,%0" \
-+ __asm__ ("add.w %5,%1\n" \
-+" addx %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub.w %5,%1
-- subx %3,%0" \
-+ __asm__ ("sub.w %5,%1\n" \
-+" subx %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
-@@ -74,14 +74,14 @@
-
- #if defined (__hppa)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %4,%5,%1
-- addc %2,%3,%0" \
-+ __asm__ ("add %4,%5,%1\n" \
-+" addc %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %5,%4,%1
-- subb %3,%2,%0" \
-+ __asm__ ("sub %5,%4,%1\n" \
-+" subb %3,%2,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -89,14 +89,14 @@
-
- #if defined (__i386__) || defined (__i486__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl %5,%1
-- adcl %3,%0" \
-+ __asm__ ("addl %5,%1\n" \
-+" adcl %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl %5,%1
-- sbbl %3,%0" \
-+ __asm__ ("subl %5,%1\n" \
-+" sbbl %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
-@@ -157,14 +157,14 @@
-
- #if defined (___IBMR2__) /* IBM RS6000 */
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("a %1,%4,%5
-- ae %0,%2,%3" \
-+ __asm__ ("a %1,%4,%5\n" \
-+" ae %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sf %1,%5,%4
-- sfe %0,%3,%2" \
-+ __asm__ ("sf %1,%5,%4\n" \
-+" sfe %0,%3,%2" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -264,32 +264,32 @@
- : "od" ((unsigned long int)(x)), "n" (0))
- #else /* not mc68020 */
- #define umul_ppmm(xh, xl, a, b) \
-- __asm__ ("| Inlined umul_ppmm
-- movel %2,d0
-- movel %3,d1
-- movel d0,d2
-- swap d0
-- movel d1,d3
-- swap d1
-- movew d2,d4
-- mulu d3,d4
-- mulu d1,d2
-- mulu d0,d3
-- mulu d0,d1
-- movel d4,d0
-- eorw d0,d0
-- swap d0
-- addl d0,d2
-- addl d3,d2
-- jcc 1f
-- addl #65536,d1
--1: swap d2
-- moveq #0,d0
-- movew d2,d0
-- movew d4,d2
-- movel d2,%1
-- addl d1,d0
-- movel d0,%0" \
-+ __asm__ ("| Inlined umul_ppmm\n" \
-+" movel %2,d0\n" \
-+" movel %3,d1\n" \
-+" movel d0,d2\n" \
-+" swap d0\n" \
-+" movel d1,d3\n" \
-+" swap d1\n" \
-+" movew d2,d4\n" \
-+" mulu d3,d4\n" \
-+" mulu d1,d2\n" \
-+" mulu d0,d3\n" \
-+" mulu d0,d1\n" \
-+" movel d4,d0\n" \
-+" eorw d0,d0\n" \
-+" swap d0\n" \
-+" addl d0,d2\n" \
-+" addl d3,d2\n" \
-+" jcc 1f\n" \
-+" addl #65536,d1\n" \
-+"1: swap d2\n" \
-+" moveq #0,d0\n" \
-+" movew d2,d0\n" \
-+" movew d4,d2\n" \
-+" movel d2,%1\n" \
-+" addl d1,d0\n" \
-+" movel d0,%0" \
- : "=g" ((unsigned long int)(xh)), "=g" ((unsigned long int)(xl)) \
- :"g" ((unsigned long int)(a)), "g" ((unsigned long int)(b)) \
- : "d0", "d1", "d2", "d3", "d4")
-@@ -298,14 +298,12 @@
-
- #if defined (__m88000__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addu.co %1,%r4,%r5
-- addu.ci %0,%r2,%r3" \
-+ __asm__ ("addu.co %1,%r4,%r5\n\taddu.ci %0,%r2,%r3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\
- "%rJ" ((unsigned long int)(al)), "rJ" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subu.co %1,%r4,%r5
-- subu.ci %0,%r2,%r3" \
-+ __asm__ ("subu.co %1,%r4,%r5\n\t subu.ci %0,%r2,%r3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\
- "rJ" ((unsigned long int)(al)), "rJ" ((unsigned long int)(bl)))
-@@ -322,9 +320,9 @@
-
- #if defined (__mips__)
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("multu %2,%3
-- mflo %0
-- mfhi %1" \
-+ __asm__ ("multu %2,%3\n" \
-+" mflo %0\n" \
-+" mfhi %1" \
- : "=r" ((unsigned long int)(w0)), "=r" ((unsigned long int)(w1))\
- : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v)))
- #define UMUL_TIME 5
-@@ -338,11 +336,11 @@
- : "%0" ((unsigned long int)(u)), "g" ((unsigned long int)(v))); \
- __w; })
- #define div_qrnnd(q, r, n1, n0, d) \
-- __asm__ ("movd %2,r0
-- movd %3,r1
-- deid %4,r0
-- movd r1,%0
-- movd r0,%1" \
-+ __asm__ ("movd %2,r0\n" \
-+" movd %3,r1\n" \
-+" deid %4,r0\n" \
-+" movd r1,%0\n" \
-+" movd r0,%1" \
- : "=g" ((unsigned long int)(q)), "=g" ((unsigned long int)(r)) \
- : "g" ((unsigned long int)(n0)), "g" ((unsigned long int)(n1)), \
- "g" ((unsigned long int)(d)) : "r0", "r1")
-@@ -350,23 +348,23 @@
-
- #if defined (__pyr__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addw %5,%1
-- addwc %3,%0" \
-+ __asm__ ("addw %5,%1\n" \
-+" addwc %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subw %5,%1
-- subwb %3,%0" \
-+ __asm__ ("subw %5,%1\n" \
-+" subwb %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- /* This insn doesn't work on ancient pyramids. */
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("movw %2,tr11
-- uemul %3,tr10
-- movw tr10,%0
-- movw tr11,%1" \
-+ __asm__ ("movw %2,tr11\n" \
-+" uemul %3,tr10\n" \
-+" movw tr10,%0\n" \
-+" movw tr11,%1" \
- : "=r" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\
- : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \
- : "tr10", "tr11")
-@@ -374,14 +372,14 @@
-
- #if defined (__ibm032__) /* RT/ROMP */
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("a %1,%5
-- ae %0,%3" \
-+ __asm__ ("a %1,%5\n" \
-+" ae %0,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("s %1,%5
-- se %0,%3" \
-+ __asm__ ("s %1,%5\n" \
-+" se %0,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -389,26 +387,26 @@
- do { \
- unsigned long int __m0 = (m0), __m1 = (m1); \
- __asm__ ( \
-- "s r2,r2
-- mts r10,%2
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- cas %0,r2,r0
-- mfs r10,%1" \
-+ "s r2,r2\n" \
-+" mts r10,%2\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" cas %0,r2,r0\n" \
-+" mfs r10,%1" \
- : "=r" ((unsigned long int)(ph)), "=r" ((unsigned long int)(pl)) \
- : "%r" (__m0), "r" (__m1) \
- : "r2"); \
-@@ -433,14 +431,14 @@
-
- #if defined (__sparc__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addcc %4,%5,%1
-- addx %2,%3,%0" \
-+ __asm__ ("addcc %4,%5,%1\n" \
-+" addx %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subcc %4,%5,%1
-- subx %2,%3,%0" \
-+ __asm__ ("subcc %4,%5,%1\n" \
-+" subx %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -458,46 +456,46 @@
- /* SPARC without integer multiplication and divide instructions.
- (i.e. at least Sun4/20,40,60,65,75,110,260,280,330,360,380,470,490) */
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("! Inlined umul_ppmm
-- wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr
-- sra %3,31,%%g2 ! Don't move this insn
-- and %2,%%g2,%%g2 ! Don't move this insn
-- andcc %%g0,0,%%g1 ! Don't move this insn
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,0,%%g1
-- add %%g1,%%g2,%0
-- rd %%y,%1" \
-+ __asm__ ("! Inlined umul_ppmm\n" \
-+" wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n" \
-+" sra %3,31,%%g2 ! Don't move this insn\n" \
-+" and %2,%%g2,%%g2 ! Don't move this insn\n" \
-+" andcc %%g0,0,%%g1 ! Don't move this insn\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,0,%%g1\n" \
-+" add %%g1,%%g2,%0\n" \
-+" rd %%y,%1" \
- : "=r" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\
- : "%rI" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \
- : "%g1", "%g2")
-@@ -505,30 +503,30 @@
- /* It's quite necessary to add this much assembler for the sparc.
- The default udiv_qrnnd (in C) is more than 10 times slower! */
- #define udiv_qrnnd(q, r, n1, n0, d) \
-- __asm__ ("! Inlined udiv_qrnnd
-- mov 32,%%g1
-- subcc %1,%2,%%g0
--1: bcs 5f
-- addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
-- sub %1,%2,%1 ! this kills msb of n
-- addx %1,%1,%1 ! so this can't give carry
-- subcc %%g1,1,%%g1
--2: bne 1b
-- subcc %1,%2,%%g0
-- bcs 3f
-- addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
-- b 3f
-- sub %1,%2,%1 ! this kills msb of n
--4: sub %1,%2,%1
--5: addxcc %1,%1,%1
-- bcc 2b
-- subcc %%g1,1,%%g1
--! Got carry from n. Subtract next step to cancel this carry.
-- bne 4b
-- addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb
-- sub %1,%2,%1
--3: xnor %0,0,%0
-- ! End of inline udiv_qrnnd" \
-+ __asm__ ("! Inlined udiv_qrnnd\n" \
-+" mov 32,%%g1\n" \
-+" subcc %1,%2,%%g0\n" \
-+"1: bcs 5f\n" \
-+" addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n" \
-+" sub %1,%2,%1 ! this kills msb of n\n" \
-+" addx %1,%1,%1 ! so this can't give carry\n" \
-+" subcc %%g1,1,%%g1\n" \
-+"2: bne 1b\n" \
-+" subcc %1,%2,%%g0\n" \
-+" bcs 3f\n" \
-+" addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n" \
-+" b 3f\n" \
-+" sub %1,%2,%1 ! this kills msb of n\n" \
-+"4: sub %1,%2,%1\n" \
-+"5: addxcc %1,%1,%1\n" \
-+" bcc 2b\n" \
-+" subcc %%g1,1,%%g1\n" \
-+"! Got carry from n. Subtract next step to cancel this carry.\n" \
-+" bne 4b\n" \
-+" addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb\n" \
-+" sub %1,%2,%1\n" \
-+"3: xnor %0,0,%0\n" \
-+" ! End of inline udiv_qrnnd" \
- : "=r&" ((unsigned long int)(q)), "=r&" ((unsigned long int)(r))\
- : "r" ((unsigned long int)(d)), "1" ((unsigned long int)(n1)), \
- "0" ((unsigned long int)(n0)) : "%g1")
-@@ -538,14 +536,14 @@
-
- #if defined (__vax__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl2 %5,%1
-- adwc %3,%0" \
-+ __asm__ ("addl2 %5,%1\n" \
-+" adwc %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl2 %5,%1
-- sbwc %3,%0" \
-+ __asm__ ("subl2 %5,%1\n" \
-+" sbwc %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
diff --git a/lang/nhc98/patches/patch-ad b/lang/nhc98/patches/patch-ad
deleted file mode 100644
index f74c30fc285..00000000000
--- a/lang/nhc98/patches/patch-ad
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-ad,v 1.1 2004/01/16 00:59:18 kristerw Exp $
-
---- src/runtime/Kernel/Makefile.orig 2003-02-05 15:39:18.000000000 +0000
-+++ src/runtime/Kernel/Makefile 2003-12-16 16:31:29.000000000 +0000
-@@ -38,8 +38,9 @@
- ${AOBJS} ${OOBJS}: ${OBJDIR}/%.o: %.c
- ${CC} -c ${CFLAGS} -o $@ $<
- ${SOBJS}: ${OBJDIR}/%.o: %.c
-- ${CC} -S ${CFLAGS} -o - $< | sed '/.align 32/s/32/4/' |\
-- ${CC} -c -x assembler ${CFLAGS} -o $@ -
-+ ${CC} -S ${CFLAGS} -o - $< |\
-+ sed -e '/.align 32/s/32/4/' -e '/.p2align 5/s/5/2/' |\
-+ ${CC} -c -x assembler-with-cpp ${CFLAGS} -o $@ -
-
- LINKS = bytecode.h cinterface.h mutlib.h newmacros.h \
- node.h runtime.h stableptr.h newbytecode.h bytecode_o.h
diff --git a/lang/nhc98/patches/patch-ae b/lang/nhc98/patches/patch-ae
deleted file mode 100644
index 1b271daf409..00000000000
--- a/lang/nhc98/patches/patch-ae
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-ae,v 1.2 2004/01/16 20:03:59 kristerw Exp $
-
---- script/nhc98.inst.orig Fri Mar 7 17:48:45 2003
-+++ script/nhc98.inst Fri Jan 16 17:59:50 2004
-@@ -71,6 +71,12 @@
- MAINROUTINE=$NHC98LIBDIR/$MACHINE/main
-
- CC=${CC-gcc}" -D__NHC__=$VERSIONNUM"
-+gcc_ver=`gcc -dumpversion`
-+gcc_ver_major=`expr "$gcc_ver" : '\([0-9]*\)'`
-+gcc_ver_minor=`expr "$gcc_ver" : '[0-9]*\.\([0-9]*\)'`
-+if test $gcc_ver_major -eq 3 -a $gcc_ver_minor -ge 3; then
-+ CC="${CC} -fno-zero-initialized-in-bss"
-+fi
-
- CPPDEFAULT="${CC} -D__HASKELL__=98 -D__HASKELL_98__ -D__HASKELL98__ -x c -E"
-
-@@ -543,6 +549,7 @@
- echo $CPPAS $ENDIAN $CPPASFLAGS $CINCDIRS $TMPCPPASFILE -o $TMPASFILE
- fi
- $CPPAS $ENDIAN $CPPASFLAGS $CINCDIRS $TMPCPPASFILE -o - | \
-+ sed -e '/.p2align 5/s/5/2/' |\
- sed -e '/.align 32/s/32/4/' >$TMPASFILE # evil mangler!
- if test $CSRC -eq 0
- then
diff --git a/lang/nhc98/patches/patch-af b/lang/nhc98/patches/patch-af
deleted file mode 100644
index 70475dd6cf8..00000000000
--- a/lang/nhc98/patches/patch-af
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD: patch-af,v 1.1 2004/01/16 00:59:18 kristerw Exp $
-
---- src/compiler98/NT.hs.orig 3 Jun 2002 15:03:19
-+++ src/compiler98/NT.hs 1 Apr 2003 13:54:36
-@@ -1,7 +1,7 @@
- module NT ( NT(..), NewType(..)
- , anyNT, consNT, freeNT, freshNT, polyNT, strTVar
- , sndNTvar, strNT, strictNT, transCtxs, useNT
-- , contextNT, ntContext2Pair, stripNT
-+ , contextNT, ntContext2Pair, stripNT, anyVarNT
- ) where
-
-
-@@ -157,3 +157,9 @@
-
-
- sndNTvar (c,v) = (c,NTvar v) -- used for ctxs
-+
-+
-+anyVarNT :: NT -> Maybe Id
-+anyVarNT (NTany tvn) = Just tvn
-+anyVarNT (NTvar tvn) = Just tvn
-+anyVarNT _ = Nothing
diff --git a/lang/nhc98/patches/patch-ag b/lang/nhc98/patches/patch-ag
index c6e6c9b10a4..a6f37e5d68a 100644
--- a/lang/nhc98/patches/patch-ag
+++ b/lang/nhc98/patches/patch-ag
@@ -1,133 +1,13 @@
-$NetBSD: patch-ag,v 1.1 2004/01/16 00:59:18 kristerw Exp $
+$NetBSD: patch-ag,v 1.2 2005/05/01 22:55:07 kristerw Exp $
---- src/compiler98/TypeUnify.hs.orig 20 Feb 2003 18:23:29
-+++ src/compiler98/TypeUnify.hs 1 Apr 2003 13:54:36
-@@ -3,7 +3,7 @@
- -}
- module TypeUnify(unify,unifyr) where
-
--import NT(NT(..),NewType(..),freeNT,strNT)
-+import NT(NT(..),NewType(..),freeNT,strNT,anyVarNT)
- import IdKind
- import TypeSubst
- import TypeUtil
-@@ -20,12 +20,12 @@
-
- unify state phi (t1@(NTany tvn1),t2) =
- case applySubst phi tvn1 of
-- Nothing -> extend phi tvn1 (subst phi t2)
-+ Nothing -> extendV state phi tvn1 (subst phi t2)
- Just phitvn -> unify state phi (phitvn,subst phi t2)
-
- unify state phi (t1@(NTvar tvn1),(NTany tvn2)) =
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTvar tvn1),t2) =
-@@ -35,7 +35,7 @@
-
- unify state phi (t1@(NTcons _ _),t2@(NTany tvn2)) =
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTcons _ _),t2@(NTvar tvn2)) =
-@@ -81,13 +81,13 @@
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTany tvn2)) =
- -- strace ("unify(2) " ++ show t1 ++ " " ++ show t2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTvar tvn2)) =
- -- strace ("unify(3) " ++ show t1 ++ " " ++ show t2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTcons c2 ts2)) =
-@@ -130,7 +130,7 @@
- unify state phi (t1@(NTexist e),t2@(NTany tvn2)) =
- -- strace ("unify exist " ++ show e ++ " any " ++ show tvn2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTexist e),t2@(NTvar tvn2)) =
-@@ -166,6 +166,8 @@
-
- ------
-
-+-- expand any type synonym at top, so that none is at top in result
-+expandAll :: IntState -> NT -> NT
- expandAll state t@(NTcons tcon ts) =
- case unifyExpand state tcon of
- Left _ -> t
-@@ -178,6 +180,15 @@
- Right _ -> False
- Left _ -> True
-
-+-- expand all type synonyms, so that none is left in result
-+fullyExpand :: IntState -> NT -> NT
-+fullyExpand state t =
-+ case expandAll state t of
-+ NTstrict t -> NTstrict (fullyExpand state t)
-+ NTapp t1 t2 -> NTapp (fullyExpand state t1) (fullyExpand state t2)
-+ NTcons id ts -> NTcons id (map (fullyExpand state) ts)
-+ t -> t
-+
- {-
- If tcon is a type synoym, then unifyExpand returns the depth and the
- definition body of the type synoym.
-@@ -205,27 +216,26 @@
-
- expand (NewType free [] ctxs [nt]) ts = subst (list2Subst (zip free ts)) nt
-
--
-+{-
-+Extends substitution by subtitution of `t' for `tvn'.
-+Performs occurrence check and assures that replacement of `tvn' is a type
-+variable, if `t' expands to a type variable.
-+-}
- extendV :: IntState -> AssocTree Id NT -> Id -> NT
- -> Either (AssocTree Id NT, String) (AssocTree Id NT)
-
--extendV state phi tvn t@(NTcons c _) =
-- if unboxedIS state c then
-- Left (phi,"polymorphic type variable bound to unboxed data " ++ strIS state c)
-- else
-- extend phi tvn t
- extendV state phi tvn t =
-- extend phi tvn t
-+ let t' = expandAll state t
-+ in case anyVarNT t' of
-+ Just tvn' -> if tvn' == tvn
-+ then Right phi
-+ else Right (addSubst phi tvn t')
-+ Nothing ->
-+ if tvn `elem` freeNT t'
-+ then let t'' = fullyExpand state t'
-+ -- expansion may have less free variables
-+ in if tvn `elem` freeNT t''
-+ then Left (phi,"(type-variable occurrence check fails)")
-+ else Right (addSubst phi tvn t'')
-+ else Right (addSubst phi tvn t) -- do not expand unnecessarily
-
--extend phi tvn t@(NTany tvn') =
-- if tvn' == tvn
-- then Right phi
-- else Right (addSubst phi tvn t)
--extend phi tvn t@(NTvar tvn') =
-- if tvn' == tvn
-- then Right phi
-- else Right (addSubst phi tvn t)
--extend phi tvn t | tvn `elem` freeNT t =
-- Left (phi,"(type-variable occurrence check fails)")
--extend phi tvn t@(NTcons c _) = Right (addSubst phi tvn t)
--extend phi tvn t = Right (addSubst phi tvn t)
+--- src/compiler98/RenameLib.hs 22 Dec 2004 12:58:35 -0000 1.31
++++ src/compiler98/RenameLib.hs 11 Apr 2005 14:24:49 -0000
+@@ -216,7 +216,7 @@
+ (coni:_) ->
+ case (ntI . dropJust . lookupAT st ) coni of
+ (NewType _ [] _ [NTcons c _ _,res]) -> (synType,(u,c):newType)
+- (NewType _ [] _ [NTvar v _,res]) -> (synType,(u,v):newType)
++ (NewType _ [] _ [NTvar v _,res]) -> (synType, newType)
+ (NewType _ [] _ [NTapp v1 v2,res]) -> (synType,newType)
+ -- ^ MW hack: omits potential circularity check!
+ (NewType _ [] _ (_:_:_)) ->
diff --git a/lang/nhc98/patches/patch-ah b/lang/nhc98/patches/patch-ah
index 4beac27e600..6d339e0f407 100644
--- a/lang/nhc98/patches/patch-ah
+++ b/lang/nhc98/patches/patch-ah
@@ -1,96 +1,117 @@
-$NetBSD: patch-ah,v 1.1 2005/04/15 21:58:32 kristerw Exp $
+$NetBSD: patch-ah,v 1.2 2005/05/01 22:55:07 kristerw Exp $
---- Makefile.orig Fri Apr 15 23:07:16 2005
-+++ Makefile Fri Apr 15 23:10:52 2005
-@@ -132,13 +132,13 @@
+--- Makefile.orig 2005-04-21 22:10:31.000000000 +0200
++++ Makefile 2005-04-21 22:16:30.000000000 +0200
+@@ -140,13 +140,13 @@
TARGDIR= targets
- TARGETS= runtime prelude libraries greencard hp2graph \
+ TARGETS= runtime prelude libraries greencard hp2graph hsc2hs cpphs \
- profruntime profprelude profprelude-$(CC) \
- timeruntime timeprelude timeprelude-$(CC) \
-+ profruntime profprelude profprelude-${BUILDCOMP} \
-+ timeruntime timeprelude timeprelude-${BUILDCOMP} \
- timetraceruntime timetraceprelude \
+- proflibraries timelibraries proflibraries-$(CC) timelibraries-$(CC) \
- compiler-nhc compiler-hbc compiler-ghc compiler-$(CC) \
- hmake-nhc hmake-hbc hmake-ghc hmake-$(CC) \
- greencard-nhc greencard-hbc greencard-ghc greencard-$(CC) \
-- prelude-$(CC) pragma-$(CC) libraries-$(CC)
-+ compiler-nhc compiler-hbc compiler-ghc compiler-${BUILDCOMP} \
-+ hmake-nhc hmake-hbc hmake-ghc hmake-${BUILDCOMP} \
-+ greencard-nhc greencard-hbc greencard-ghc greencard-${BUILDCOMP} \
-+ prelude-${BUILDCOMP} pragma-${BUILDCOMP} libraries-${BUILDCOMP}
+- prelude-$(CC) pragma-$(CC) libraries-$(CC) hsc2hs-$(CC) cpphs-$(CC)
++ profruntime profprelude profprelude-gcc \
++ timeruntime timeprelude timeprelude-gcc \
++ proflibraries timelibraries proflibraries-gcc timelibraries-gcc \
++ compiler-nhc compiler-hbc compiler-ghc compiler-gcc \
++ hmake-nhc hmake-hbc hmake-ghc hmake-gcc \
++ greencard-nhc greencard-hbc greencard-ghc greencard-gcc \
++ prelude-gcc pragma-gcc libraries-gcc hsc2hs-gcc cpphs-gcc
.PHONY: default basic all compiler help config install
-@@ -173,10 +173,10 @@
- libraries
- basic-ghc: $(PRAGMA) runtime hmake-ghc greencard-ghc compiler-ghc prelude \
- libraries
--basic-$(CC): runtime prelude-$(CC) pragma-$(CC) compiler-$(CC) \
-- greencard-$(CC) hmake-$(CC) libraries-$(CC)
-+basic-${BUILDCOMP}: runtime prelude-${BUILDCOMP} pragma-${BUILDCOMP} compiler-${BUILDCOMP} \
-+ greencard-${BUILDCOMP} hmake-${BUILDCOMP} libraries-${BUILDCOMP}
+@@ -186,8 +186,8 @@
+ prelude hsc2hs libraries
+ basic-ghc: $(PRAGMA) runtime hmake-ghc greencard-ghc compiler-ghc cpphs \
+ prelude hsc2hs libraries
+-basic-$(CC): runtime prelude-$(CC) pragma-$(CC) cpphs-$(CC) compiler-$(CC) \
+- greencard-$(CC) hmake-$(CC) hsc2hs-$(CC) libraries-$(CC)
++basic-gcc: runtime prelude-gcc pragma-gcc cpphs-gcc compiler-gcc \
++ greencard-gcc hmake-gcc hsc2hs-gcc libraries-gcc
--all-$(BUILDCOMP): basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
-+all-${BUILDCOMP}: basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
+ all-$(BUILDCOMP): basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
- heapprofile: compiler profruntime profprelude-$(BUILDCOMP) hp2graph
- timeprofile: compiler timeruntime timeprelude-$(BUILDCOMP)
-@@ -275,41 +275,41 @@
- touch $(TARGDIR)/$(MACHINE)/timeprelude
+@@ -309,56 +309,56 @@
+ done && touch $(TARGDIR)/$(MACHINE)/timelibraries
-$(TARGDIR)/$(MACHINE)/prelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/prelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/prelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) fromC relink
- touch $(TARGDIR)/$(MACHINE)/prelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/prelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/prelude-gcc
touch $(TARGDIR)/$(MACHINE)/prelude
-$(TARGDIR)/$(MACHINE)/timeprelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/timeprelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/timeprelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) CFG=z fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) CFG=z clean all
cd src/prelude; $(MAKE) CFG=z relink
- touch $(TARGDIR)/$(MACHINE)/timeprelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/timeprelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/timeprelude-gcc
touch $(TARGDIR)/$(MACHINE)/timeprelude
-$(TARGDIR)/$(MACHINE)/profprelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/profprelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/profprelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) CFG=p fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) CFG=p clean all
cd src/prelude; $(MAKE) CFG=p relink
- touch $(TARGDIR)/$(MACHINE)/profprelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/profprelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/profprelude-gcc
touch $(TARGDIR)/$(MACHINE)/profprelude
-$(TARGDIR)/$(MACHINE)/compiler-$(CC): $(COMPILERC)
-+$(TARGDIR)/$(MACHINE)/compiler-${BUILDCOMP}: $(COMPILERC)
++$(TARGDIR)/$(MACHINE)/compiler-gcc: $(COMPILERC)
cd src/compiler98; $(MAKE) fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) clean all # Patch machine-specific parts.
cd src/prelude; $(MAKE) relink
cd src/compiler98; $(MAKE) relink
- touch $(TARGDIR)/$(MACHINE)/compiler-$(CC)
-$(TARGDIR)/$(MACHINE)/greencard-$(CC): $(GREENCARDC)
-+ touch $(TARGDIR)/$(MACHINE)/compiler-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/greencard-${BUILDCOMP}: $(GREENCARDC)
++ touch $(TARGDIR)/$(MACHINE)/compiler-gcc
++$(TARGDIR)/$(MACHINE)/greencard-gcc: $(GREENCARDC)
cd src/greencard; $(MAKE) fromC
- touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-$(CC)
-$(TARGDIR)/$(MACHINE)/pragma-$(CC): script/hmake-PRAGMA.hc
-+ touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/pragma-${BUILDCOMP}: script/hmake-PRAGMA.hc
++ touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-gcc
++$(TARGDIR)/$(MACHINE)/pragma-gcc: script/hmake-PRAGMA.hc
script/nhc98 -o $(PRAGMA) script/hmake-PRAGMA.hc
- touch $(TARGDIR)/$(MACHINE)/pragma-$(CC)
+-$(TARGDIR)/$(MACHINE)/cpphs-$(CC): $(CPPHS)
++ touch $(TARGDIR)/$(MACHINE)/pragma-gcc
++$(TARGDIR)/$(MACHINE)/cpphs-gcc: $(CPPHS)
+ cd src/cpphs; $(MAKE) -f Makefile.nhc98 fromC
+- touch $(TARGDIR)/$(MACHINE)/cpphs-$(CC)
-$(TARGDIR)/$(MACHINE)/hmake-$(CC): $(HMAKEC)
-+ touch $(TARGDIR)/$(MACHINE)/pragma-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/hmake-${BUILDCOMP}: $(HMAKEC)
- cd src/hmake; $(MAKE) fromC config
- cd src/interpreter; $(MAKE) fromC
++ touch $(TARGDIR)/$(MACHINE)/cpphs-gcc
++$(TARGDIR)/$(MACHINE)/hmake-gcc: $(HMAKEC)
+ cd src/hmake; $(MAKE) BUILDCOMP=nhc fromC config
+ cd src/interpreter; $(MAKE) BUILDCOMP=nhc fromC
- touch $(TARGDIR)/$(MACHINE)/hmake-$(CC)
+-$(TARGDIR)/$(MACHINE)/hsc2hs-$(CC): $(HSC2HS) $(HSC2HSC)
++ touch $(TARGDIR)/$(MACHINE)/hmake-gcc
++$(TARGDIR)/$(MACHINE)/hsc2hs-gcc: $(HSC2HS) $(HSC2HSC)
+ cd src/hsc2hs; $(MAKE) -f Makefile.nhc98 fromC
+- touch $(TARGDIR)/$(MACHINE)/hsc2hs-$(CC)
-$(TARGDIR)/$(MACHINE)/libraries-$(CC): $(LIBRARIES)
-+ touch $(TARGDIR)/$(MACHINE)/hmake-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/libraries-${BUILDCOMP}: $(LIBRARIES)
- cd src/libraries/base; $(MAKE) -f Makefile.nhc98 fromC
-- touch $(TARGDIR)/$(MACHINE)/libraries-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/libraries-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/hsc2hs-gcc
++$(TARGDIR)/$(MACHINE)/libraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/libraries-$(CC)
+-$(TARGDIR)/$(MACHINE)/proflibraries-$(CC): $(LIBRARIES)
++ done && touch $(TARGDIR)/$(MACHINE)/libraries-gcc
++$(TARGDIR)/$(MACHINE)/proflibraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 CFG=p fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/proflibraries-$(CC)
+-$(TARGDIR)/$(MACHINE)/timelibraries-$(CC): $(LIBRARIES)
++ done && touch $(TARGDIR)/$(MACHINE)/proflibraries-gcc
++$(TARGDIR)/$(MACHINE)/timelibraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 CFG=z fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/timelibraries-$(CC)
++ done && touch $(TARGDIR)/$(MACHINE)/timelibraries-gcc
script/errnogen.c: script/GenerateErrNo.hs