compiler_stage2_MKDEPENDC_OPTS = -DMAKING_GHC_BUILD_SYSTEM_DEPENDENCIES
compiler_stage3_MKDEPENDC_OPTS = -DMAKING_GHC_BUILD_SYSTEM_DEPENDENCIES
+compiler_stage1_C_FILES_NODEPS = compiler/parser/cutils.c
+
ifneq "$(BINDIST)" "YES"
compiler/stage1/package-data.mk : $(compiler_CONFIG_HS)
compiler/stage2/package-data.mk : $(compiler_CONFIG_HS)
compiler_stage1_CONFIGURE_OPTS += --ghc-option=-DSTAGE=1
compiler_stage2_CONFIGURE_OPTS += --ghc-option=-DSTAGE=2
compiler_stage3_CONFIGURE_OPTS += --ghc-option=-DSTAGE=3
-compiler_stage2_HADDOCK_OPTS += --haddock-option=--optghc=-DSTAGE=2
+compiler_stage2_HADDOCK_OPTS += --optghc=-DSTAGE=2
compiler_stage1_CONFIGURE_OPTS += --ghc-options='$(GhcStage1HcOpts)'
compiler_stage2_CONFIGURE_OPTS += --ghc-options='$(GhcStage2HcOpts)'
# Note: we also have to tweak the version number of the package itself
# when it gets registered; see Note [munge-stage1-package-config]
# below.
-ifneq "$(ProjectPatchLevel)" "0"
+# The ProjectPatchLevel > 20000000 iff it's a date. If it's e.g. 6.12.1
+# then we don't want to remove it
+ifneq "$(CLEANING)" "YES"
+ifeq "$(shell [ $(ProjectPatchLevel) -gt 20000000 ] && echo YES)" "YES"
+compiler_stage1_VERSION_MUNGED = YES
+endif
+endif
+ifeq "$(compiler_stage1_VERSION_MUNGED)" "YES"
define compiler_PACKAGE_MAGIC
compiler_stage1_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion))
endef
$(eval $(call build-package,compiler,stage3,2))
endif
+compiler_stage2_TAGS_HC_OPTS = -package ghc
+$(eval $(call tags-package,compiler,stage2))
+
$(compiler_stage1_depfile_haskell) : compiler/stage1/$(PLATFORM_H)
$(compiler_stage2_depfile_haskell) : compiler/stage2/$(PLATFORM_H)
$(compiler_stage3_depfile_haskell) : compiler/stage3/$(PLATFORM_H)
# Note [munge-stage1-package-config]
# Strip the date/patchlevel from the version of stage1. See Note
# [fiddle-stage1-version] above.
-ifneq "$(ProjectPatchLevel)" "0"
+ifeq "$(compiler_stage1_VERSION_MUNGED)" "YES"
compiler/stage1/inplace-pkg-config-munged: compiler/stage1/inplace-pkg-config
sed -e 's/^\(version: .*\)\.$(ProjectPatchLevel)$$/\1/' \
-e 's/^\(id: .*\)\.$(ProjectPatchLevel)$$/\1/' \