X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fmk%2Fversion.mk;h=c4769befa0b079e68b155bf379031a91a50756b2;hb=0c190d9efcf76845241f756a1507267458b90c90;hp=a8d42fe98dcf05c0f8df025c27255ad8fb2a0838;hpb=00bab5ea83643f8487b202bfa9b8a6cf3b4a0cf4;p=ghc-hetmet.git diff --git a/ghc/mk/version.mk b/ghc/mk/version.mk index a8d42fe..c4769be 100644 --- a/ghc/mk/version.mk +++ b/ghc/mk/version.mk @@ -16,34 +16,44 @@ # # 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.BB.C +# A: major version, any number of digits +# B: minor version, two digits padded with leading zeros +# 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.02 -ProjectVersionInt = 402 -ProjectPatchLevel = 0 +ProjectVersion = 5.01 +ProjectVersionInt = 501 +# 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. -# +# 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=5