
On 2001-07-10T10:24:30+0100, Simon Marlow wrote:
Great, you're in uncharted territory now :-) (no-one has bootstrapped from unregisterised .hc files with 5.00 yet...)
Heh.
Ok, for unregisterised building we need to disable the mangler. You should be able to just compile the .hc files directly using gcc, but you'll need to make sure that -DNO_REGS and -DUSE_MINIINTERPRETER are added to gcc's command line.
For now, I added these flags to EXTRA_CC_OPTS in mk/build.mk. It seems to work. Meanwhile --
The relevant makefile code is in fptools/mk/bootstrap.mk - I'm sure you'll be able to modify it to do the right thing. When you've got it working we'll think about how to set up the bootstrapping system so mangling is optional.
I wonder if it matters whether PLATFORM_CC_OPTS is set to -static in mk/bootstrap.mk? The comments there say that the flags "should match the list in machdepCCOpts in ghc/compiler/DriverFlags.hs", and DriverFlags.hs does set -static for alpha. (By the way, are *_hsc.[hc] files considered part of the ".hc distribution"? I needed them for compiling, say, Directory.hc.) Anyway, the current hurdle is that ghc/lib/std/PrelInt.hc doesn't compile because int64ToIntegerzh_fast is not declared because ghc/includes/PrimOps.h did not declare it because SUPPORT_LONG_LONGS is not defined in ghc/includes/StgTypes.h because SUPPORT_LONG_LONGS is defined in ghc/includes/StgTypes.h if and only if HAVE_LONG_LONG && SIZEOF_VOID_P < 8, and SIZEOF_VOID_P is 8. I'm not sure what the right fix is here. Why does StgTypes.h not define SUPPORT_LONG_LONGS if SIZEOF_VOID_P >= 8, anyway? -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig "There isn't anyone out there who isn't Seymour's fat lady."