$(if $(filter YESYESNO,\
$(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)),YES,NO))
-# Include support for generating Java
-GhcWithJavaGen=NO
-
HaveLibDL = @HaveLibDL@
# ArchSupportsSMP should be set iff there is support for that arch in
HscIfaceFileVersion=6
-MakefileDeps=YES
-
#------------------------------------------------------------------------------
# Options for Libraries
# Math library
LIBM=@LIBM@
-# Build the ObjectIO ?
-#
-GhcLibsWithObjectIO=@GhcLibsWithObjectIO@
-
# .NET interop support?
#
DotnetSupport=@DotnetSupport@
# (NOTE: configure script setting is ignored).
libexecdir = $(libdir)
-# This is a bit of a lie, as this is a wrapper rather than the program
-# itself. However, it means that we don't have to worry about Windows
-# and non-Windows having different extensions.
-GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/ghc-pkg-inplace
+GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/install-inplace/bin/ghc-pkg
#-----------------------------------------------------------------------------
# install configuration
WAY$(_way)_LINT_OPTS += WAY$(_way)_CPP_OPTS
# Default fptools options for dllwrap.
-SRC_BLD_DLL_OPTS += -mno-cygwin --target=i386-mingw32
+SRC_BLD_DLL_OPTS += --target=i386-mingw32
# Flags for CPP when running GreenCard on .pgc files
GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__
GHC_UTILS_DIR_REL = utils
GHC_INCLUDE_DIR_REL = includes
-GHC_COMPILER_DIR_REL = compiler
+GHC_COMPILER_DIR_REL = ghc
GHC_RTS_DIR_REL = rts
GHC_UTILS_DIR_REL = utils
GHC_DRIVER_DIR_REL = driver
GHC_HP2PS_DIR = $(FPTOOLS_TOP)/$(GHC_HP2PS_DIR_REL)
GHC_HSTAGS_DIR = $(FPTOOLS_TOP)/$(GHC_HSTAGS_DIR_REL)
GHC_GHCTAGS_DIR = $(FPTOOLS_TOP)/$(GHC_GHCTAGS_DIR_REL)
-GHC_HSC2HS_DIR = $(FPTOOLS_TOP)/$(GHC_HSC2HS_DIR_REL)
+GHC_HSC2HS_DIR = $(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)
GHC_TOUCHY_DIR = $(FPTOOLS_TOP)/$(GHC_TOUCHY_DIR_REL)
GHC_PKG_DIR = $(FPTOOLS_TOP)/$(GHC_PKG_DIR_REL)
GHC_GENPRIMOP_DIR = $(FPTOOLS_TOP)/$(GHC_GENPRIMOP_DIR_REL)
GHC_PKG_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)
GHC_GENPRIMOP_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_GENPRIMOP_DIR_REL)
GHC_GENAPPLY_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_GENAPPLY_DIR_REL)
+GHC_COMPILER_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL)
GHC_MANGLER_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_MANGLER_DIR_REL)
GHC_SYSMAN_DIR_ABS = $(FPTOOLS_TOP_ABS)/$(GHC_SYSMAN_DIR_REL)
GHC_HP2PS_PGM = hp2ps
GHC_HSTAGS_PGM = hasktags
GHC_GHCTAGS_INPLACE_PGM = ghctags-inplace
-GHC_HSC2HS_INPLACE_PGM = hsc2hs-inplace
+GHC_HSC2HS_INPLACE_PGM = hsc2hs
GHC_TOUCHY_PGM = touchy$(exeext)
GHC_MANGLER_PGM = ghc-asm
GHC_SPLIT_PGM = ghc-split
GHC_SYSMAN_PGM = SysMan
-GHC_PKG_INPLACE_PGM = ghc-pkg-inplace
GHC_GENPRIMOP_PGM = genprimopcode
GHC_GENAPPLY_PGM = genapply
GHC_MKDEPENDC_PGM = mkdependC
HP2PS = $(GHC_HP2PS_DIR)/$(GHC_HP2PS_PGM)
HSTAGS = $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM)
GHCTAGS_INPLACE = $(GHC_GHCTAGS_DIR)/$(GHC_GHCTAGS_INPLACE_PGM)
-HSC2HS_INPLACE = $(GHC_HSC2HS_DIR)/$(GHC_HSC2HS_INPLACE_PGM)
+HSC2HS_INPLACE = $(GHC_HSC2HS_DIR)/install-inplace/bin/$(GHC_HSC2HS_INPLACE_PGM)
MANGLER = $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM)
SPLIT = $(GHC_SPLIT_DIR)/$(GHC_SPLIT_PGM)
SYSMAN = $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM)
-GHC_PKG_INPLACE = $(GHC_PKG_DIR)/$(GHC_PKG_INPLACE_PGM)
+GHC_PKG_INPLACE = $(GHC_PKG_PROG)
GENPRIMOP = $(GHC_GENPRIMOP_DIR)/$(GHC_GENPRIMOP_PGM)
GENAPPLY = $(GHC_GENAPPLY_DIR)/$(GHC_GENAPPLY_PGM)
MKDEPENDC = $(GHC_MKDEPENDC_DIR)/$(GHC_MKDEPENDC_PGM)
# places (eg. it's handy to have a nofib & a ghc build in the same
# tree). We can refer to "this ghc" as $(GHC_INPLACE):
-GHC_INPLACE = $(GHC_COMPILER_DIR)/ghc-inplace
-GHC_STAGE1 = $(GHC_COMPILER_DIR)/stage1/ghc-inplace -no-user-package-conf
-GHC_STAGE2 = $(GHC_COMPILER_DIR)/stage2/ghc-inplace -no-user-package-conf
-GHC_STAGE3 = $(GHC_COMPILER_DIR)/stage3/ghc-inplace -no-user-package-conf
+GHC_INPLACE = $(GHC_STAGE1)
+GHC_STAGE1 = $(GHC_COMPILER_DIR_ABS)/stage1-inplace/bin/ghc
+GHC_STAGE2 = $(GHC_COMPILER_DIR_ABS)/stage2-inplace/bin/ghc
+GHC_STAGE3 = $(GHC_COMPILER_DIR_ABS)/stage3-inplace/bin/ghc
+# XXX All those used to have -no-user-package-conf, but then we can't
+# pass them to Cabal
+
+BOOTSTRAPPING_CONF = $(FPTOOLS_TOP_ABS)/libraries/bootstrapping.conf
# NOTE: add -no-user-package-conf for stage 1-3 above, so that
# we avoid picking up any packages the user might happen to have
HC = @WithHc@
MKDEPENDHS = $(GHC)
+BOOTSTRAPPING_PACKAGE_CONF_HC_OPTS = -package-conf $(BOOTSTRAPPING_CONF)
+BOOTSTRAPPING_PACKAGE_CONF_MKDEPENDHS_OPTS = -package-conf $(BOOTSTRAPPING_CONF)
GhcVersion = @GhcVersion@
GhcPatchLevel = @GhcPatchLevel@
GhcMajVersion = @GhcMajVersion@
SRC_CC_OPTS += -G0
endif
+SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS)))
+
+# Given
+# foo bar
+# make
+# :\"-Ifoo\":\"-Ibar\"
+nothing=
+space=$(nothing) $(nothing)
+SRC_HSC2HS_OPTS += $(subst $(space),,$(foreach d,$(GMP_INCLUDE_DIRS),:\"-I$(d)\"))
+
#-----------------------------------------------------------------------------
# GMP Library (version 2.0.x or above)
#