[project @ 2004-02-12 02:04:59 by mthomas]
[ghc-hetmet.git] / ghc / mk / version.mk
index 5c62e6d..b3b12a5 100644 (file)
 #
 # Ghc project settings:
 # 
-# *ProjectVersion    is treated as a *string*
-# *ProjectVersionInt is treated as an *integer* (for cpp defines)
+# ProjectVersion    is treated as a *string*
+# ProjectVersionInt is treated as an *integer* (for cpp defines)
+
+# Versioning scheme: A.B.C
+#         A: major version, decimal, any number of digits
+#         B: minor version, decimal, any number of digits
+#        C: patchlevel, one digit, omitted if zero.
+#
+# 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.03
-ProjectVersionInt = 403
+ProjectVersion    = 6.3
+ProjectVersionInt = 603
 ProjectPatchLevel = 0
 
+# Interface file version (hi-boot files only)
 #
-# Optionally, you can get the compiler driver to check the
-# version consistency between the object files being linked.
-# 
-# Major numbers must always agree, minor disagreements yield a warning.
-#
-# These version numbers are currently separate from the project
-# version - one (semi-valid) reason for having them separate is that
-# object files produced by different versions of the compiler need
-# not be incompatible..
-HscMajorVersion=40
-HscMinorVersion=0
-CcMajorVersion=36
-CcMinorVersion=1
-
+# 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.)
 #
-# Interface file version
 #
-# If you should happen to make changes to the interface file format
-# that will break compatibility with older versions, up this variable.
-# 
-HscIfaceFileVersion=5
+# 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.
+#
+# HscIfaceFileVersion is propagated to hsc via
+# ghc/compiler/main/Config.hs, which is automatically generated by
+# ghc/compiler/Makefile.
+
+HscIfaceFileVersion=6