Extend the flag for not automatically linking haskell98
[ghc-hetmet.git] / mk / config.mk.in
index 783f4f9..be65b24 100644 (file)
@@ -468,7 +468,8 @@ GhcRtsWithFrontPanel = NO
 # Include support for CPU performance counters via the PAPI library in the RTS?
 # (PAPI: http://icl.cs.utk.edu/papi/)
 GhcRtsWithPapi = NO
-HavePapi = @HavePapi@
+PapiLibDir=
+PapiIncludeDir=
 
 ################################################################################
 #
@@ -763,7 +764,7 @@ GHC_UNLIT_DIR       = $(FPTOOLS_TOP)/$(GHC_UNLIT_DIR_REL)
 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)
@@ -811,7 +812,7 @@ GHC_UNLIT_PGM               = unlit$(exeext)
 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
@@ -837,7 +838,7 @@ UNLIT                       = $(GHC_UNLIT_DIR)/$(GHC_UNLIT_PGM)
 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)
@@ -883,6 +884,8 @@ 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
 
+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
 # installed for this GHC version.  They are bound to be incompatible
@@ -911,6 +914,8 @@ else # not UseStage1 or BootingFromHc
 
 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@
@@ -958,6 +963,22 @@ ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
 SRC_CC_OPTS += -G0
 endif
 
+SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS)))
+SRC_HSC2HS_OPTS += --cc=$(CC)
+SRC_HSC2HS_OPTS += --ld=$(CC)
+SRC_HSC2HS_OPTS += --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt)
+SRC_HSC2HS_OPTS += --lflag=-no-auto-link-packages
+SRC_HSC2HS_OPTS += -I$(GHC_INCLUDE_DIR_ABS)
+SRC_HSC2HS_OPTS += -I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild
+
+# 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)
 #