[add 'prelude.m4' for common m4 definitons, make m4 use the same include path as haskell source, prefix all builtins  with m4_ to avoid name clashes
John Meacham <john@repetae.net>**20080218182546] hunk ./Ho/Build.hs 49
+import RawFiles(prelude_m4)
hunk ./Ho/Build.hs 511
+m4Prelude :: IO FilePath
+m4Prelude = writeFile "/tmp/jhc_prelude.m4" prelude_m4 >> return "/tmp/jhc_prelude.m4"
+
+
hunk ./Ho/Build.hs 523
+        incFlags =  [ "-I" ++ d | d <- optIncdirs options]
hunk ./Ho/Build.hs 526
-          | fopts FO.M4 ->  readSystem "m4" ["-D__JHC__", "-s", fn]
+          | fopts FO.M4 -> do
+            m4p <- m4Prelude
+            readSystem "m4" $ ["-D__JHC__", "-s", "-P"] ++ incFlags ++ [m4p,fn]
hunk ./Makefile.am 79
-RAWFILES = data/HsFFI.h data/jhc_rts.c data/jhc_rts_header.h data/wsize.h data/jhc_rts_alloc.c data/jhc_rts2.c data/ViaGhc.hs ChangeLog data/shortchange.txt
+RAWFILES = data/HsFFI.h data/jhc_rts.c data/jhc_rts_header.h data/wsize.h data/jhc_rts_alloc.c data/jhc_rts2.c data/ViaGhc.hs ChangeLog data/shortchange.txt data/prelude.m4
addfile ./data/prelude.m4
hunk ./data/prelude.m4 1
+m4_changequote({{,}})
+m4_changecom({-,-})
+
+m4_define(ONCE,{{m4_ifdef(done-$1,{{m4_dnl}},{{m4_define(done-$1,1)$1}})}})
hunk ./lib/base/Jhc/Float.hs 3
-changequote({{,}})
-
hunk ./lib/base/Jhc/Float.hs 189
-define(NUMINSTANCE,
+m4_define(NUMINSTANCE,
hunk ./lib/base/Jhc/Inst/Enum.hs 2
-changequote({{,}})
hunk ./lib/base/Jhc/Inst/Enum.hs 13
-define(ENUMINST,{{
+m4_define(ENUMINST,{{
hunk ./lib/base/Jhc/Inst/Read.hs 3
-
-changequote({{,}})
-
-
hunk ./lib/base/Jhc/Inst/Read.hs 19
-define(READINST,{{
+m4_define(READINST,{{
hunk ./lib/base/Jhc/Inst/Read.hs 32
-define(READWORD,{{
+m4_define(READWORD,{{