Files
gf-core/src/compiler/GF/Infra/BuildInfo.hs
hallgren b8f3914209 Optionally include C run-time support
If the C run-time library is compiled and installed on your system, you can now
do 'cabal configure -fc-runtime' to get the following extras:
  + The haskell binding to the C run-time library will be included in the
    PGF library (so you can import it in Haskell applications).
    Documentation on the new modules will be included when you run
    'cabal haddock'.
  + The new command 'pgf-shell', implemented on top of haskell binding to
    the C run-time system.
  + Three new commands in the web API: c-parse, c-linearize and
    c-translate. Their interfaces are similar to the corresponding commands
    without the "c-" prefix, but they should be considered preliminary.
2014-01-20 17:06:11 +00:00

39 lines
1.0 KiB
Haskell

{-# LANGUAGE CPP #-}
module GF.Infra.BuildInfo where
import System.Info
import Data.Version(showVersion)
import DarcsVersion_gf
{-# NOINLINE buildInfo #-}
buildInfo =
details
++"\nBuilt on "++os++"/"++arch
++" with "++compilerName++"-"++showVersion compilerVersion
++", flags:"
#ifdef USE_INTERRUPT
++" interrupt"
#endif
#ifdef SERVER_MODE
++" server"
#endif
#ifdef NEW_COMP
++" new-comp"
#endif
#ifdef C_RUNTIME
++" c-runtime"
#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)