[Make --version more sensible and add --version-context
Einar Karttunen <ekarttun@cs.helsinki.fi>**20050915150902
 Currently --version printed the entire darcs changes
 which made it unusable. This patch makes --version
 print out much less information about jhc.
 
 --version-context has been added to print the
 whole darcs changes.
 
 This change introduces JHC_VERSION in Makefile
 and works in repositories with at least one tag.
] hunk ./Makefile 1
+JHC_VERSION=0.1
hunk ./Makefile 17
-BUILTSOURCES= PrimitiveOperators.hs RawFiles.hs FrontEnd/HsParser.hs FlagDump.hs FlagOpts.hs Version.hs
+BUILTSOURCES= PrimitiveOperators.hs RawFiles.hs FrontEnd/HsParser.hs FlagDump.hs FlagOpts.hs Version.hs VersionCtx.hs
hunk ./Makefile 104
-Version.hs: _darcs/inventory 
+VersionCtx.hs: _darcs/inventory
hunk ./Makefile 108
+
+Version.hs: _darcs/inventory
+	echo "module Version where"                                     > $@
+	echo "jhcVersion = \"$(JHC_VERSION)\""                         >> $@
+	date +'compileDate = "%Y%m%d"'                                 >> $@
+	darcs changes -t '.' \
+	|  perl -e '<>;$$_=<>;s/^\s*tagged\s+/darcsTag = "/;s/$$/"/;print' >> $@
+	darcs changes --from-tag='' --xml-output | grep '</patch>' \
+	| wc -l | perl -e 'print "darcsPatches = \"".(<>-1)."\"\n"'    >> $@
hunk ./Options.hs 17
+import VersionCtx
hunk ./Options.hs 36
+    optVersionCtx  :: !Bool,      -- ^ Print version context and die.
hunk ./Options.hs 75
+    optVersionCtx  = False,
hunk ./Options.hs 86
+    , Option []    ["version-context"] (NoArg  (optVersionCtx_s True)) "print version context (darcs changes) info and exit"
hunk ./Options.hs 142
-                        putStr $ "jhc compiled by " ++ compilerName ++ "-" ++ showVersion compilerVersion
+                        putStr $ concat ["jhc ", jhcVersion, " ", compileDate, " (", darcsTag, "+",darcsPatches, ")\n"]
+                        putStr $ "compiled by " ++ compilerName ++ "-" ++ showVersion compilerVersion
hunk ./Options.hs 145
+                        exitSuccess
+                    (Opt { optVersionCtx = True },_) -> do