# -----------------------------------------------------------------------------
-# $Id: bootstrap.mk,v 1.33 2005/01/27 13:00:14 simonmar Exp $
+# $Id: bootstrap.mk,v 1.34 2005/05/10 10:29:49 simonmar Exp $
#
# Makefile rules for booting from .hc files without a driver.
#
# 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 $(TOP)/mk/version.mk
-include $(TOP)/mk/paths.mk
-
-# Reset TOP
-TOP:=$(TOP_SAVED)
-
-include $(TOP)/mk/suffix.mk
-
# -----------------------------------------------------------------------------
# Set the platform-specific options to send to the C compiler. These should
# match the list in machdepCCOpts in ghc/compiler/DriverFlags.hs.
ifeq "$(i386_TARGET_ARCH)" "1"
PLATFORM_CC_OPTS += -DDONT_WANT_WIN32_DLL_SUPPORT
-PLATFORM_HC_BOOT_CC_OPTS += -fno-defer-pop -fomit-frame-pointer
+PLATFORM_HC_BOOT_CC_OPTS += -fno-defer-pop -fomit-frame-pointer -fno-builtin
+endif
+
+ifeq "$(x86_64_TARGET_ARCH)" "1"
+PLATFORM_HC_BOOT_CC_OPTS += -fomit-frame-pointer -fno-asynchronous-unwind-tables -fno-unit-at-a-time -fno-builtin
endif
ifeq "$(hppa_TARGET_ARCH)" "1"
-PLATFORM_CC_OPTS += -static -D_HPUX_SOURCE
+PLATFORM_CC_OPTS += -D_HPUX_SOURCE
endif
ifeq "$(powerpc_TARGET_ARCH)" "1"
HC_BOOT_CC_OPTS = $(PLATFORM_HC_BOOT_CC_OPTS) $(PLATFORM_CC_OPTS) $(CC_OPTS)
-SRC_CC_OPTS += -I$(FPTOOLS_TOP_ABS)/ghc/includes -I$(FPTOOLS_TOP_ABS)/libraries/base/include -I$(FPTOOLS_TOP_ABS)/libraries/unix/include -I$(FPTOOLS_TOP_ABS)/libraries/parsec/include
+SRC_CC_OPTS += -I$(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL) -I$(FPTOOLS_TOP_ABS)/libraries/base/include -I$(FPTOOLS_TOP_ABS)/libraries/unix/include -I$(FPTOOLS_TOP_ABS)/libraries/parsec/include
# C code compiled with UseGhcForCc=YES assumes the existence of certain CPP
# symbols defined by GHC (eg. __GLASGOW_HASKELL__), so we better make sure
endif
ifeq "$(HaveLibGmp)" "NO"
-DASH_L_GHC_RTS_GMP_DIR=-L$(FPTOOLS_TOP_ABS)/ghc/rts/gmp
+DASH_L_GHC_RTS_GMP_DIR=-L$(FPTOOLS_TOP_ABS)/$(GHC_RTS_DIR_REL)/gmp
endif
HC_BOOT_LD_OPTS = \
- -L$(FPTOOLS_TOP_ABS)/ghc/rts \
+ -L$(FPTOOLS_TOP_ABS)/$(GHC_RTS_DIR_REL) \
$(DASH_L_GHC_RTS_GMP_DIR) \
-L$(FPTOOLS_TOP_ABS)/libraries/base \
-L$(FPTOOLS_TOP_ABS)/libraries/base/cbits \
- -L$(FPTOOLS_TOP_ABS)/libraries/haskell98
+ -L$(FPTOOLS_TOP_ABS)/libraries/haskell98 \
+ -L$(FPTOOLS_TOP_ABS)/libraries/parsec \
+ -L$(FPTOOLS_TOP_ABS)/libraries/Cabal
ifeq "$(GhcWithInterpreter)" "YES"
HC_BOOT_LD_OPTS += \
-L$(FPTOOLS_TOP_ABS)/libraries/template-haskell \
-L$(FPTOOLS_TOP_ABS)/libraries/readline \
- -L$(FPTOOLS_TOP_ABS)/libraries/parsec \
- -L$(FPTOOLS_TOP_ABS)/libraries/Cabal \
-L$(FPTOOLS_TOP_ABS)/libraries/unix \
-L$(FPTOOLS_TOP_ABS)/libraries/unix/cbits
endif