# -----------------------------------------------------------------------------
-# $Id: bootstrap.mk,v 1.2 2001/03/26 16:58:09 simonmar Exp $
+# $Id: bootstrap.mk,v 1.6 2001/03/27 12:59:18 simonmar Exp $
#
# Makefile rules for booting from .hc files without a driver.
#
+# When booting from .hc files without a compiler installed, we don't have
+# the benefit of the GHC driver to add all the magic options required to
+# compile the .hc files, so we have to duplicate that functionality here.
+# The result is unfortunately ugly, but we don't have another choice.
TOP_SAVED := $(TOP)
TOP:=$(TOP)/ghc
-include $(FPTOOLS_TOP_ABS)/ghc/mk/version.mk
-include $(FPTOOLS_TOP_ABS)/ghc/mk/paths.mk
+include $(TOP)/mk/version.mk
+include $(TOP)/mk/paths.mk
# Reset TOP
TOP:=$(TOP_SAVED)
PLATFORM_CC_OPTS += -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
-HC_BOOT_CC_OPTS = $(PLATFORM_HC_BOOT_CC_OPTS) $(CC_OPTS)
+HC_BOOT_CC_OPTS = $(PLATFORM_HC_BOOT_CC_OPTS) -D__GLASGOW_HASKELL__=411 $(CC_OPTS)
SRC_CC_OPTS += -I$(FPTOOLS_TOP_ABS)/ghc/includes -I$(FPTOOLS_TOP_ABS)/ghc/lib/std/cbits -I$(FPTOOLS_TOP_ABS)/hslibs/lang/cbits -I$(FPTOOLS_TOP_ABS)/hslibs/posix/cbits -I$(FPTOOLS_TOP_ABS)/hslibs/util/cbits -I$(FPTOOLS_TOP_ABS)/hslibs/text/cbits -I$(FPTOOLS_TOP_ABS)/hslibs/hssource/cbits
-L$(FPTOOLS_TOP_ABS)/ghc/lib/std/cbits \
-L$(FPTOOLS_TOP_ABS)/hslibs/lang \
-L$(FPTOOLS_TOP_ABS)/hslibs/lang/cbits \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/concurrent \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/concurrent/cbits \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/posix \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/posix/cbits \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/util \
+ -L$(FPTOOLS_TOP_ABS)/hslibs/util/cbits \
-L$(FPTOOLS_TOP_ABS)/hslibs/text \
-u "PrelBase_Izh_static_info" \
-u "PrelBase_Czh_static_info" \
-u "PrelMain_mainIO_closure" \
-u "__init_PrelMain"
-HC_BOOT_LIBS = -lHStext -lHSlang -lHSstd -lHSstd_cbits -lHSrts -lgmp $(EXTRA_HC_BOOT_LIBS)
+HC_BOOT_LIBS = -lHStext -lHSutil -lHSposix -lHSposix_cbits -lHSconcurrent -lHSlang -lHSlang_cbits -lHSstd -lHSstd_cbits -lHSrts -lgmp $(EXTRA_HC_BOOT_LIBS)
+
+ifeq "$(GhcLibsWithReadline)" "YES"
+HC_BOOT_LIBS += $(LibsReadline)
+endif
+
+ifeq "$(HaveLibDL)" "YES"
+HC_BOOT_LIBS += -ldl
+endif
# -----------------------------------------------------------------------------
# suffix rules for building a .o from a .hc file.