diff --git a/Setup.hs b/Setup.hs index ddf5a02..7ad1f26 100644 --- a/Setup.hs +++ b/Setup.hs @@ -1,4 +1,4 @@ - +{-# LANGUAGE CPP #-} import Control.Monad (when) import Language.Haskell.TH import Distribution.Simple (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args) @@ -6,14 +6,25 @@ import Distribution.Simple.Utils (cabalVersion) import Distribution.Simple.LocalBuildInfo import Distribution.Simple.Setup (ConfigFlags) import Distribution.Version (Version(..)) +#if MIN_VERSION_Cabal(1,25,0) +import Distribution.Version (mkVersion) +#endif import Distribution.PackageDescription (PackageDescription) import Debug.Trace +#if MIN_VERSION_Cabal(1,25,0) +versionBranch :: Version -> Version +versionBranch = id +#else +mkVersion :: [Int] -> Version +mkVersion vs = Version vs [] +#endif + -- I couldn't figure out a way to do this check from the cabal file, so we drop down -- here to do it instead: checkGoodVersion :: IO () checkGoodVersion = - if cabalVersion >= Version [1,17,0] [] + if cabalVersion >= mkVersion [1,17,0] then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion) else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++ show (versionBranch cabalVersion)++" < 1.17.0\n"++