endif
@echo "cEnableWin32DLLs = \"$(EnableWin32DLLs)\"" >> $(CONFIG_HS)
@echo "cCONTEXT_DIFF = \"$(CONTEXT_DIFF)\"" >> $(CONFIG_HS)
- @echo "cHaveLibGmp = \"$(HaveLibGmp)\"" >> $(CONFIG_HS)
@echo "cUSER_WAY_NAMES = \"$(USER_WAY_NAMES)\"" >> $(CONFIG_HS)
@echo "cUSER_WAY_OPTS = \"$(USER_WAY_OPTS)\"" >> $(CONFIG_HS)
@echo "cDEFAULT_TMPDIR = \"$(DEFAULT_TMPDIR)\"" >> $(CONFIG_HS)
ALL_DIRS = \
utils basicTypes types hsSyn prelude rename typecheck deSugar coreSyn \
specialise simplCore stranal stgSyn simplStg codeGen absCSyn main \
- profiling parser cprAnalysis compMan ndpFlatten cbits
+ profiling parser cprAnalysis compMan ndpFlatten cbits iface
# Make sure we include Config.hs even if it doesn't exist yet...
ALL_SRCS += $(CONFIG_HS)
# The standard suffix rule for compiling a Haskell file
# adds these flags to the command line
-prelude/PrimOp_HC_OPTS = -no-recomp -H80m
+# There used to be a -no-recomp flag on PrimOp, but why?
+# It's an expensive module to recompile!
+prelude/PrimOp_HC_OPTS = -H80m
# because the NCG can't handle the 64-bit math in here
prelude/PrelRules_HC_OPTS = -fvia-C
main/ParsePkgConf_HC_OPTS += -fno-warn-incomplete-patterns
# Use -fvia-C since the NCG can't handle the narrow16Int# (and intToInt16#?)
# primops on all platforms.
-parser/Parser_HC_OPTS += -Onot -fno-warn-incomplete-patterns -fvia-C
+parser/Parser_HC_OPTS += -fno-warn-incomplete-patterns -fvia-C
-# The latest GHC version doesn't have a -K option yet, and it doesn't
-# seem to be necessary anymore for the modules below.
-ifeq "$(compiling_with_4xx)" "YES"
-parser/Parser_HC_OPTS += -K2m
-endif
+# Careful optimisation of the parser: we don't want to throw everything
+# at it, because that takes too long and doesn't buy much, but we do want
+# to inline certain key external functions, so we instruct GHC not to
+# throw away inlinings as it would normally do in -Onot mode:
+parser/Parser_HC_OPTS += -Onot -fno-ignore-interface-pragmas
ifeq "$(HOSTPLATFORM)" "hppa1.1-hp-hpux9"
rename/RnMonad_HC_OPTS = -O2 -O2-for-C
utils/Digraph_HC_OPTS = -fglasgow-exts
+basicTypes/SrcLoc_HC_OPTS = -funbox-strict-fields
+
ifeq "$(bootstrapped)" "YES"
utils/Binary_HC_OPTS = -funbox-strict-fields
endif
MKDEPENDHS_SRCS =
MKDEPENDC_SRCS =
+# Make doesn't work this out for itself, it seems
+parser/Parser.y : parser/Parser.y.pp
+
include $(TOP)/mk/target.mk
# -----------------------------------------------------------------------------