endif
boot :: stage_dirs
-# On Windows, we can't use symbolic links for the -hi-boot files
-# because GHC itself is a Mingw program and does not understand
-# symbolic links. So we have to copy the files instead of link them.
-# That means that if you modify a .hi-boot file in Windows, you
-# have to to say 'make boot' again.
-#
-# PS: 'ln -s foo baz' takes 'foo' relative to the path to 'baz'
-# whereas 'cp foo baz' treats the two paths independently.
-# Hence the "../.." in the ln command line
ifeq "$(stage)" "1"
HC=$(GHC)
SRC_HC_OPTS += -DOMIT_NATIVE_CODEGEN
endif
-ifeq ($(GhcWithJavaGen),YES)
-ALL_DIRS += javaGen
-SRC_HC_OPTS += -DJAVA
-endif
-
ifeq "$(BootingFromHc)" "YES"
# HC files are always from a self-booted compiler
bootstrapped = YES
SRC_CC_OPTS += -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
endif
-# Special flags for particular modules
-# The standard suffix rule for compiling a Haskell file
-# adds these flags to the command line
-
-# There used to be a -fforce-recomp flag on PrimOp, but why?
-# It's an expensive module to recompile!
-prelude/PrimOp_HC_OPTS = -H80m
-
-
-main/ParsePkgConf_HC_OPTS += -fno-warn-incomplete-patterns
-parser/Parser_HC_OPTS += -fno-warn-incomplete-patterns
-
-# 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 -O0 mode:
-parser/Parser_HC_OPTS += -O0 -fno-ignore-interface-pragmas
-
-ifeq "$(HOSTPLATFORM)" "hppa1.1-hp-hpux9"
-rename/RnMonad_HC_OPTS = -O2 -O2-for-C
-endif
-
-# basicTypes/SrcLoc_HC_OPTS = -funbox-strict-fields
-
# ---- Profiling ----
#simplCore/Simplify_HC_OPTS = -auto-all
#simplCore/SimplEnv_HC_OPTS = -auto-all
#simplCore/SimplUtils_HC_OPTS = -auto-all
-# CSE interacts badly with top-level IORefs (reportedly in DriverState and
-# DriverMkDepend), causing some of them to be commoned up. We have a fix for
-# this in 5.00+, but earlier versions of the compiler will need CSE turned off.
-# To be on the safe side, we disable CSE in *all* modules with top-level IORefs.
-ghci/InteractiveUI_HC_OPTS = -fno-cse
-main/CmdLineOpts_HC_OPTS = -fno-cse
-main/DriverMkDepend_HC_OPTS = -fno-cse
-main/DriverPipeline_HC_OPTS = -fno-cse
-main/Finder_HC_OPTS = -fno-cse
-main/SysTools_HC_OPTS = -fno-cse
-main/StaticFlags_HC_OPTS = -fno-cse
-
# The #include is vital for the via-C route, else the C
# compiler doesn't realise that the stcall foreign imports are indeed
# stdcall, and doesn't generate the Foo@8 name for them
# prototype via a global option instead of a myriad of per-file OPTIONS
SRC_HC_OPTS += '-\#include "cutils.h"'
-ifeq "$(ghc_ge_605)" "NO"
-utils/LazyUniqFM_HC_OPTS += -fallow-undecidable-instances
-endif
-
# ----------------------------------------------------------------------------
# Generate supporting stuff for prelude/PrimOp.lhs
# from prelude/primops.txt