{-# LANGUAGE CPP #-} {-# LANGUAGE TemplateHaskell #-} module Version where import Prelude import Data.Version (showVersion) import Paths_purescript as Paths #ifndef RELEASE import qualified Development.GitRev as GitRev #endif -- Unfortunately, Cabal doesn't support prerelease identifiers on versions. To -- avoid misleading users who run `purs --version`, we manually add the -- prerelease identifier here (if any). When releasing a proper version, simply -- set this to an empty string. prerelease :: String prerelease = "" versionString :: String versionString = showVersion Paths.version ++ prerelease ++ extra where #ifdef RELEASE extra = "" #else extra = " [development build; commit: " ++ $(GitRev.gitHash) ++ dirty ++ "]" dirty | $(GitRev.gitDirty) = " DIRTY" | otherwise = "" #endif