# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.39 1998/04/30 19:47:45 sof Exp $
+# $Id: Makefile,v 1.42 1998/06/04 11:36:51 sof Exp $
TOP = ..
include $(TOP)/mk/boilerplate.mk
# be to do ` env PATH=$(PATH) make hsc 'to minimise the environment. (or the
# equivalent of `env' if it doesn't exist locally).
#
-HS_PROG=hsc
+HS_PROG=hsc$(_way)
# -----------------------------------------------------------------------------
# The standard suffix rule for compiling a Haskell file
# adds these flags to the command line
-absCSyn/CStrings_HC_OPTS = -monly-3-regs
-
# Was 6m with 2.10
absCSyn/PprAbsC_HC_OPTS = -H10m
typecheck/TcExpr_HC_OPTS = -H15m
typecheck/TcEnv_HC_OPTS = -H10m
-utils/Argv_HC_OPTS = -fvia-C -monly-3-regs
+utils/Argv_HC_OPTS = -fvia-C
utils/SST_HC_OPTS = -fvia-C
-utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs
-utils/FastString_HC_OPTS = -fvia-C -monly-3-regs
+utils/FastString_HC_OPTS = -fvia-C
utils/StringBuffer_HC_OPTS = -fvia-C -fno-prune-tydecls
utils/Digraph_HC_OPTS = -fglasgow-exts -fvia-C
-utils/Outputable_HC_OPTS = -monly-3-regs
utils/DirUtils_HC_OPTS = -fvia-C
+# flags for PrimPacked:
+#
+# -monly-3-regs
+# because it contains a 'ccall strlen', which gets inlined by
+# gcc, causing a lack of registers.
+#
+# -optC-funfolding-interface-threshold10
+# To stop the definition of 'strLength', which calls strlen, getting
+# into the interface file and spreading the -monly-3-regs virus.
+# We need -optC here because the driver before 3.02 didn't understand
+# the -funfolding flags.
+
+utils/PrimPacked_HC_OPTS = -fvia-C -monly-3-regs -optC-funfolding-interface-threshold10
# Strictness analyser misbehaving in 2.10, fails to terminate on
# UpdAnal.lhs due to weird recursive datatype. Bug was exposed by a