diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2014-10-05 22:35:22 +0200 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2014-10-05 22:36:18 +0200 |
commit | 3549c952b535803270872adaf87262f2df0295a4 (patch) | |
tree | 6352a317b7999b8544e68a7acdc2e190339215d6 /mk | |
parent | 2a8ea4745d6ff79d6ce17961a64d9013243fc3c6 (diff) | |
download | haskell-3549c952b535803270872adaf87262f2df0295a4.tar.gz |
Implement `MIN_VERSION_GLASGOW_HASKELL()` macro
This exposes the `cProjectPatchLevel{1,2}` value at the CPP level to
allow it to be used in CPP conditionals. Concretely, GHC 7.10.2.20150623
would result in
#define __GLASGOW_HASKELL__ 710
#define __GLASGOW_HASKELL_PATCHLEVEL1__ 2
#define __GLASGOW_HASKELL_PATCHLEVEL2__ 20150623
while GHC 7.10.3 results in
#define __GLASGOW_HASKELL__ 710
#define __GLASGOW_HASKELL_PATCHLEVEL1__ 3
and finally GHC 7.9.20141009 results in
#define __GLASGOW_HASKELL__ 709
#define __GLASGOW_HASKELL_PATCHLEVEL1__ 20141009
As it's error-prone to properly express CPP conditionals for testing GHC
multi-component versions, a new macro `MIN_VERSION_GLASGOW_HASKELL()` is
provided (also via the new CPP include file `ghcversion.h`)
Finally, in order to make it easier to define the new CPP macro
`MIN_VERSION_GLASGOW_HASKELL()`, a new default-included
`include/ghcversion.h` is used for the new CPP definitions.
Reviewed By: ekmett, austin, #ghc
Differential Revision: https://phabricator.haskell.org/D66
Diffstat (limited to 'mk')
-rw-r--r-- | mk/project.mk.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mk/project.mk.in b/mk/project.mk.in index 69ed88575e..129b540c88 100644 --- a/mk/project.mk.in +++ b/mk/project.mk.in @@ -29,6 +29,8 @@ ProjectTags = ProjectVersion = @ProjectVersion@$(ProjectTags) ProjectVersionInt = @ProjectVersionInt@ ProjectPatchLevel = @ProjectPatchLevel@ +ProjectPatchLevel1 = @ProjectPatchLevel1@ +ProjectPatchLevel2 = @ProjectPatchLevel2@ ################################################################################ # |