)
AC_SUBST(BootingFromHc)
+dnl ** Booting from unregisterised .hc files?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(hc-boot-unregisterised,
+[ --enable-hc-boot-unregisterised
+ With --enable-hc-boot, treat the intermediate .hc files as
+ unregisterised rather than registerised code.
+ (This option is mostly of interest to porters.)
+],
+[BootingFromUnregisterisedHc=YES],
+[BootingFromUnregisterisedHc=NO]
+)
+AC_SUBST(BootingFromUnregisterisedHc)
+
+if test "$BootingFromHc" = "NO"; then
+if test "$BootingFromUnregisterisedHc" = "YES"; then
+AC_MSG_ERROR([--enable-hc-boot-unregisterised requires --enable-hc-boot.])
+fi;
+fi;
+
dnl ** Enable the construction of Win32 DLLs?
dnl --------------------------------------------------------------
# unpacked). All options are passed through to ./configure (especially
# useful with --prefix).
-configopts="$*"
+configopts="$*" # e.g., --enable-hc-boot-unregisterised
# check for GNU make
#
# -----------------------------------------------------------------------------
-# $Id: bootstrap.mk,v 1.11 2001/05/25 10:53:59 simonmar Exp $
+# $Id: bootstrap.mk,v 1.12 2001/07/23 22:33:53 ken Exp $
#
# Makefile rules for booting from .hc files without a driver.
#
# -----------------------------------------------------------------------------
# suffix rules for building a .o from a .hc file.
+ifeq "$(BootingFromUnregisterisedHc)" "YES"
+
+# without mangling
+
+%.o : %.hc
+ $(CC) -x c $< -o $@ -c -O $(HC_BOOT_CC_OPTS) -I. `echo $(patsubst -monly-%-regs, -DSTOLEN_X86_REGS=%, $(filter -monly-%-regs, $($*_HC_OPTS))) | sed 's/^$$/-DSTOLEN_X86_REGS=4/'`
+
+else
+
+# with mangling
+
%.raw_s : %.hc
$(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/'`
%.o : %.s
$(CC) -c -o $@ $<
+
+endif
# BootingFromHc - build GHC and the libraries from .hc files?
BootingFromHc = @BootingFromHc@
+# BootingFromUnregisterisedHc - treat .hc files as containing unregisterised
+# rather than registerised code, i.e., disable the mangler?
+BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
+
# build the libs first if we're bootstrapping from .hc files
ifeq "$(BootingFromHc)" "YES"
AllProjects = glafp-utils hslibs ghc green-card happy hdirect hood nofib