Embed Git commit id into `ghc --info` output
authorHerbert Valerio Riedel <hvr@gnu.org>
Thu, 27 Nov 2014 09:50:51 +0000 (10:50 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Thu, 27 Nov 2014 20:59:02 +0000 (21:59 +0100)
commit73e5e2f8bade2d8b2b1ecae958fe12d0b24591ef
treedb399728d04c46d1e6d08c20863c9c2263c889a8
parent01f03cb30426fad1b848051fa142c04c8816a80c
Embed Git commit id into `ghc --info` output

Since we switched to a Git submodule based GHC Git repo, `ghc.git`'s
commit id uniquely identifies the state of the GHC source-tree. So
having that information embedded into the `ghc` executable provides
valuable information to track accurately (especially when created by
buildbots) from which source-tree-state a given `ghc` snapshot
(distribution) was generated.

So this commit adds a new field `"Project Git commit id"` to the
`ghc --info` meta-data containing the `./configure`-time Git commit id
as reported by `git rev-parse HEAD`.

This field can also be queried with `ghc --print-project-git-commit-id`.

For source distributions, the file `GIT_COMMIT_ID` is created (with some
sanity checking to detect stale commit ids, as that would render this
information rather useless)

Reviewed By: austin

Differential Revision: https://phabricator.haskell.org/D528
.gitignore
aclocal.m4
compiler/ghc.mk
compiler/main/DynFlags.hs
configure.ac
ghc.mk
ghc/Main.hs
mk/project.mk.in