don't rebuild the whole of stage 1 just because the date has changed
[ghc-hetmet.git] / compiler / ghc.mk
index a1969e8..22459b5 100644 (file)
@@ -1,4 +1,16 @@
 # -----------------------------------------------------------------------------
+#
+# (c) 2009 The University of Glasgow
+#
+# This file is part of the GHC build system.
+#
+# To understand how the build system works and how to modify it, see
+#      http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
+#      http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
+#
+# -----------------------------------------------------------------------------
+
+# -----------------------------------------------------------------------------
 # For expressing extra dependencies on source files
 
 define compiler-hs-dependency # args: $1 = module, $2 = dependency
@@ -392,6 +404,16 @@ compiler/stage3/package-data.mk : compiler/ghc.mk
 
 compiler_PACKAGE = ghc
 
+# The version of the GHC package changes every day, since the
+# patchlevel is the current date.  We don't want to force
+# recompilation of the entire compiler when this happens, so for stage
+# 1 we omit the patchlevel from the version number.  For stage 2 we
+# have to include the patchlevel since this is the package we install,
+# however.
+define compiler_PACKAGE_MAGIC
+compiler_stage1_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion))
+endef
+
 # haddocking only happens for stage2
 compiler_stage1_DO_HADDOCK = NO
 compiler_stage3_DO_HADDOCK = NO