@echo "cGhcWithInterpreter = \"$(GhcWithInterpreter)\"" >> $@
@echo "cGhcWithNativeCodeGen :: String" >> $@
@echo "cGhcWithNativeCodeGen = \"$(GhcWithNativeCodeGen)\"" >> $@
+ @echo "cGhcWithLlvmCodeGen :: String" >> $@
+ @echo "cGhcWithLlvmCodeGen = \"YES\"" >> $@
@echo "cGhcWithSMP :: String" >> $@
@echo "cGhcWithSMP = \"$(GhcWithSMP)\"" >> $@
@echo "cGhcRTSWays :: String" >> $@
# needed for generating proper relocation in large binaries: trac #856
compiler_CONFIGURE_OPTS += --ld-option=-Wl,--relax
endif
+else
+compiler_CONFIGURE_OPTS += --ghc-option=-DNO_REGS
endif
# We need to turn on profiling either if we have been asked to
compiler_stage3_CONFIGURE_OPTS += --ghc-option=-DSTAGE=3
compiler_stage2_HADDOCK_OPTS += --optghc=-DSTAGE=2
-compiler_stage1_CONFIGURE_OPTS += --ghc-options='$(GhcStage1HcOpts)'
-compiler_stage2_CONFIGURE_OPTS += --ghc-options='$(GhcStage2HcOpts)'
-compiler_stage3_CONFIGURE_OPTS += --ghc-options='$(GhcStage3HcOpts)'
-
compiler/stage1/package-data.mk : compiler/ghc.mk
compiler/stage2/package-data.mk : compiler/ghc.mk
compiler/stage3/package-data.mk : compiler/ghc.mk
compiler_stage2_SplitObjs = NO
compiler_stage3_SplitObjs = NO
-# If we "make 1" or "make 2" then we don't want the rules for the stage
-# that we haven't been asked to build
-ifeq "$(stage)" "1"
-compiler_stage2_NOT_NEEDED = YES
-endif
-ifeq "$(stage)" "2"
+# if stage is set to something other than "1" or "", disable stage 1
+ifneq "$(filter-out 1,$(stage))" ""
compiler_stage1_NOT_NEEDED = YES
endif
-# We don't want the rules for stage3 unless we have been explicitly
-# asked to build it
+# if stage is set to something other than "2" or "", disable stage 2
+ifneq "$(filter-out 2,$(stage))" ""
+compiler_stage2_NOT_NEEDED = YES
+endif
+# stage 3 has to be requested explicitly with stage=3
ifneq "$(stage)" "3"
compiler_stage3_NOT_NEEDED = YES
endif
$(eval $(call build-package,compiler,stage2,1))
$(eval $(call build-package,compiler,stage3,2))
+# after build-package, because that sets compiler_stage1_HC_OPTS:
+compiler_stage1_HC_OPTS += $(GhcStage1HcOpts)
+compiler_stage2_HC_OPTS += $(GhcStage2HcOpts)
+compiler_stage3_HC_OPTS += $(GhcStage3HcOpts)
+
ifneq "$(BINDIST)" "YES"
compiler_stage2_TAGS_HC_OPTS = -package ghc
# GHC itself doesn't know about the above dependencies, so we have to
# switch off the recompilation checker for those modules:
-compiler/prelude/PrimOps_HC_OPTS += -fforce-recomp
+compiler/prelude/PrimOp_HC_OPTS += -fforce-recomp
compiler/main/Constants_HC_OPTS += -fforce-recomp
# Workaround for #4003 in GHC 6.12.2. It didn't happen in 6.12.1, and