diff --git a/src/Job.hs b/src/Job.hs index c074ede..bdb7b3a 100644 --- a/src/Job.hs +++ b/src/Job.hs @@ -8,7 +8,9 @@ module Job where -import GitHash (giDescribe, tGitInfoCwd) +import Data.Version (showVersion) +import GitHash (giDescribe, tGitInfoCwdTry) +import qualified Paths_sv2v (version) import System.IO (stderr, hPutStr) import System.Console.CmdArgs import System.Environment (getArgs, withArgs) @@ -40,6 +42,12 @@ data Job = Job , write :: Write } deriving (Show, Typeable, Data) +version :: String +version = + case $$tGitInfoCwdTry of + Left _ -> showVersion Paths_sv2v.version + Right info -> giDescribe info + defaultJob :: Job defaultJob = Job { files = def &= args &= typ "FILES" @@ -61,7 +69,7 @@ defaultJob = Job ++ " create a .v file next to each input") } &= program "sv2v" - &= summary ("sv2v " ++ giDescribe $$tGitInfoCwd) + &= summary ("sv2v " ++ version) &= details [ "sv2v converts SystemVerilog to Verilog." , "More info: https://github.com/zachjs/sv2v" , "(C) 2019-2021 Zachary Snow, 2011-2015 Tom Hawkins" ] diff --git a/sv2v.cabal b/sv2v.cabal index 08e21e2..1b49f7e 100644 --- a/sv2v.cabal +++ b/sv2v.cabal @@ -104,6 +104,7 @@ executable sv2v Convert.Wildcard -- sv2v CLI modules Job + Paths_sv2v ghc-options: -O3 -threaded