X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fmk%2Fversion.mk;h=c2ae7720339afac82a4ef6fcd6414e5a0e8d5bdc;hb=6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a;hp=684ba5ad4a766258180300f6836db6c5a70ee3eb;hpb=049530c73051d5c39aeb90bc7ca4d5d474854d0a;p=ghc-hetmet.git diff --git a/ghc/mk/version.mk b/ghc/mk/version.mk index 684ba5a..c2ae772 100644 --- a/ghc/mk/version.mk +++ b/ghc/mk/version.mk @@ -16,38 +16,45 @@ # # 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.04 -ProjectVersionInt = 404 +ProjectVersion = 5.05 +ProjectVersionInt = 505 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 -# 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 +# 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