Show configuration options as part of build info

The GF shell welcome message will now include something like

	This is GF version 3.2.1-darcs. 
	Built on darwin/i386 with ghc-7.0, flags: interrupt

where a list of enabled configuration flags are included on the last line.

This is implemented in GF.Infra.BuildInfo by consulting the CPP macros
defined by the respective option in gf.cabal. For this to work,
GF.Infra.BuildInfo obviously has to be updated when new flags are added to
gf.cabal or if the CPP macros are renamed.

(Also, I suspect that if you reconfigure with different flags and rebuild GF
without cleaning first, the BuildInfo module will not be recompiled,
resulting in a misleading welcome message...)
This commit is contained in:
hallgren
2011-04-13 14:45:21 +00:00
parent d066619b8f
commit 8fed629a3e

View File

@@ -1,7 +1,15 @@
{-# LANGUAGE CPP #-}
module GF.Infra.BuildInfo where
import System.Info
import Data.Version(showVersion)
buildInfo =
"Built on "++os++"/"++arch
++" with "++compilerName++"-"++showVersion compilerVersion
++" with "++compilerName++"-"++showVersion compilerVersion
++", flags:"
#ifdef USE_INTERRUPT
++" interrupt"
#endif
#ifdef SERVER_MODE
++" server"
#endif