[project @ 2000-07-18 17:31:02 by rrt]
[ghc-hetmet.git] / ghc / mk / version.mk
index 4c7b2b5..8e172cc 100644 (file)
 # ProjectVersionInt does *not* contain the patchlevel (rationale: this
 # figure is used for conditional compilations, and library interfaces
 # etc. are not supposed to change between patchlevels).
+#
+# The ProjectVersionInt is included in interface files, and GHC
+# checks that it's reading interface generated by the same ProjectVersion
+# as itself. It does this even though interface file syntax may not 
+# change between versions.  Rationale: calling conventions or other 
+# random .o-file stuff might change even if the .hi syntax doesn't
 
 ProjectName       = The Glorious Glasgow Haskell Compilation System
 ProjectNameShort  = ghc
-ProjectVersion    = 4.05
-ProjectVersionInt = 405
+ProjectVersion    = 4.09
+ProjectVersionInt = 409
 
 #
 # Optionally, you can get the compiler driver to check the
@@ -48,14 +54,24 @@ HscMinorVersion=0
 CcMajorVersion=36
 CcMinorVersion=1
 
+# Interface file version (hi-boot files only)
 #
-# Interface file version
+# A GHC built with HscIfaceFileVersion=n will look for 
+#      M.hi-boot-n, and only then for 
+#      M.hi-boot.
+# (It'll be happy with the latter if the former doesn't exist.)
 #
-# If you should happen to make changes to the interface file format
-# that will break compatibility with older versions, up this variable.
-# 
+# This variable is used ONLY for hi-boot files.
+# Its only purpose is to allow you to have a single directory
+# with multiple .hi-boot files for the same module, each 
+# corresponding to a different version of GHC.  
+#
+# It is propagated to hsc like this:
+#      * This file is included in ghc/Makefile
+#      * ghc/Makefile has a main/Constants.lhs-specific flag
+#              -DHscIfaceFileVersion=$(HscIfaceFileVersion)
+#      * main/Constants.lhs defines 
+#              interfaceFileFormatVersion = HscIfaceFileVersion
+# So there!
+
 HscIfaceFileVersion=5
-#      But watch out: interface file format after Simon's renamer
-#      hacking isn't the same as before, but it may not make
-#      any difference for the GHC boot files.
-#              May 1999