cabal-toolkit 0.0.2 → 0.0.3
raw patch · 3 files changed
+30/−1 lines, 3 files
Files
- CHANGELOG.md +4/−0
- cabal-toolkit.cabal +1/−1
- src/Distribution/Simple/Toolkit.hs +25/−0
CHANGELOG.md view
@@ -1,5 +1,9 @@ # CHANGELOG for cabal-toolkit +## 0.0.3++* Add `Program`s for `cmake`/`make`/`ninja` for users who need to compile C/C++.+ ## 0.0.2 * Add `getGHCPackageDBFlags` for users working with GHC API.
cabal-toolkit.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: cabal-toolkit-version: 0.0.2+version: 0.0.3 synopsis: Helper functions for writing custom Setup.hs scripts. category: Distribution stability: alpha
src/Distribution/Simple/Toolkit.hs view
@@ -31,6 +31,10 @@ , getLBIProgramOutput -- * Convenient functions for working with GHC API , getGHCPackageDBFlags+ -- * Extra 'Program's+ , cmakeProgram+ , makeProgram+ , ninjaProgram ) where import Data.Binary@@ -41,6 +45,7 @@ import Distribution.Simple.LocalBuildInfo import Distribution.Simple.Program import Distribution.Simple.Setup+import Distribution.System import Distribution.Types.BuildInfo import Distribution.Types.PackageDescription import Distribution.Verbosity@@ -165,3 +170,23 @@ isSpecific (SpecificPackageDB _) = True isSpecific _ = False +endOfFirstLineVersion :: Verbosity -> FilePath -> IO (Maybe Version)+endOfFirstLineVersion =+ findProgramVersion "--version" $ last . words . head . lines++cmakeProgram :: Program+cmakeProgram =+ (simpleProgram "cmake") {programFindVersion = endOfFirstLineVersion}++makeProgram :: Program+makeProgram =+ (simpleProgram $+ case buildOS of+ Windows -> "mingw32-make"+ _ -> "make")+ {programFindVersion = endOfFirstLineVersion}++ninjaProgram :: Program+ninjaProgram =+ (simpleProgram "ninja")+ {programFindVersion = findProgramVersion "--version" id}