summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/GF/Infra/BuildInfo.hs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/compiler/GF/Infra/BuildInfo.hs b/src/compiler/GF/Infra/BuildInfo.hs
index 2ff770393..a9c974e74 100644
--- a/src/compiler/GF/Infra/BuildInfo.hs
+++ b/src/compiler/GF/Infra/BuildInfo.hs
@@ -2,9 +2,11 @@
module GF.Infra.BuildInfo where
import System.Info
import Data.Version(showVersion)
+import DarcsVersion_gf
buildInfo =
- "Built on "++os++"/"++arch
+ details
+ ++"\nBuilt on "++os++"/"++arch
++" with "++compilerName++"-"++showVersion compilerVersion
++", flags:"
#ifdef USE_INTERRUPT
@@ -13,3 +15,17 @@ buildInfo =
#ifdef SERVER_MODE
++" server"
#endif
+ where
+ details = either (const no_info) info darcs_info
+ no_info = "No detailed version info available"
+ info (otag,olast,changes,whatsnew) =
+ (case changes of
+ 0 -> "No recorded changes"
+ 1 -> "One recorded change"
+ _ -> show changes++" recorded changes")++
+ (case whatsnew of
+ 0 -> ""
+ 1 -> " + one file with unrecorded changes"
+ _ -> " + "++show whatsnew++" files with unrecorded changes")++
+ (maybe "" (" since "++) otag)++
+ (maybe "" ("\nLast recorded change: "++) olast)