summaryrefslogtreecommitdiff
path: root/aclocal.m4
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2015-12-27 09:03:44 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2015-12-28 10:23:37 +0100
commit01299ca83996710ec1572c952917157b1c2d139e (patch)
tree6840cf59bcc1b45baea77dfd33c3331336489c70 /aclocal.m4
parent0054bcd42260d248e391ed01d6b3da4fefdad45c (diff)
downloadhaskell-01299ca83996710ec1572c952917157b1c2d139e.tar.gz
Synchronise ghci-package version with ghc-package
In order to simplify the task, the version munging logic has been radically simplified: Previously, in cases where the version contained dates as version components, the build-system would munge the version of the stage1 ghc package before registering the `ghc` package. However, this hack was already questionable at the time of its introduction (c.f. 7b45c46cbabe1288ea87bd9b94c57e010ed17e60). Simplifying the build-systems by avoiding such hacks may also help the shaking-up-ghc effort. So now we simply munge directly via the `.cabal` files, which gives a simpler picture, as now every stage is munged the same. Munging is only active when the first patch-level version component is a date. So stable snapshots and release candidates are unaffacted (as those have the date in the second patch-level version component) Reviewers: simonmar, bgamari, austin, thomie, ezyang Reviewed By: bgamari, thomie, ezyang Differential Revision: https://phabricator.haskell.org/D1673
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m416
1 files changed, 15 insertions, 1 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index 45c94f784b..e823f34fcc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1532,8 +1532,22 @@ AC_SUBST([ProjectPatchLevel2])
ProjectPatchLevel=`echo $ProjectPatchLevel | sed 's/\.//'`
AC_SUBST([ProjectPatchLevel])
-])# FP_SETUP_PROJECT_VERSION
+# The version of the GHC package changes every day, since the
+# patchlevel is the current date. We don't want to force
+# recompilation of the entire compiler when this happens, so for
+# GHC HEAD we omit the patchlevel from the package version number.
+#
+# The ProjectPatchLevel1 > 20000000 iff GHC HEAD. If it's for a stable
+# release like 7.10.1 or for a release candidate such as 7.10.1.20141224
+# then we don't omit the patchlevel components.
+
+ProjectVersionMunged="$ProjectVersion"
+if test "$ProjectPatchLevel1" -gt 20000000; then
+ ProjectVersionMunged="${VERSION_MAJOR}.${VERSION_MINOR}"
+fi
+AC_SUBST([ProjectVersionMunged])
+])# FP_SETUP_PROJECT_VERSION
# Check for a working timer_create(). We need a pretty detailed check
# here, because there exist partially-working implementations of