shake-c 0.4.4.0 → 0.4.5.0
raw patch · 3 files changed
+19/−13 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Development.Shake.C: Clang :: CCompiler
+ Development.Shake.C: Clang :: Maybe String -> CCompiler
Files
- CHANGELOG.md +4/−0
- shake-c.cabal +1/−1
- src/Development/Shake/C.hs +14/−12
CHANGELOG.md view
@@ -1,5 +1,9 @@ # shake-c +## 0.4.5.0++ * Add `suff` to `Clang` constructor+ ## 0.4.4.0 * Add `Pgi` constructor
shake-c.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: shake-c-version: 0.4.4.0+version: 0.4.5.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018-2020 Vanessa McHale
src/Development/Shake/C.hs view
@@ -68,7 +68,7 @@ -- | Get the executable name for a 'CCompiler' ccToString :: CCompiler -> String ccToString ICC = "icc"-ccToString Clang = "clang"+ccToString (Clang suff) = mkQualified Nothing suff "clang" ccToString (Other s) = s ccToString (GCC pre suff) = mkQualified pre suff "gcc" ccToString (GHC pre suff) = mkQualified pre suff "ghc"@@ -94,18 +94,19 @@ -- | Attempt to parse a string as a 'CCompiler', defaulting to @cc@ if parsing -- fails. ccFromString :: String -> CCompiler-ccFromString "icc" = ICC-ccFromString "gcc" = GCC Nothing Nothing-ccFromString "pgcc" = Pgi+ccFromString "icc" = ICC+ccFromString "gcc" = GCC Nothing Nothing+ccFromString "pgcc" = Pgi ccFromString "ccomp" = CompCert-ccFromString "clang" = Clang-ccFromString "ghc" = GHC Nothing Nothing-ccFromString "tcc" = TCC+ccFromString "clang" = Clang Nothing+ccFromString "ghc" = GHC Nothing Nothing+ccFromString "tcc" = TCC ccFromString s- | "gcc" `isSuffixOf` s = GCC (Just (reverse . drop 3 . reverse $ s)) Nothing- | "ghc" `isSuffixOf` s = GHC (Just (reverse . drop 3 . reverse $ s)) Nothing- | "ghc" `isPrefixOf` s = GHC Nothing (Just (drop 3 s))- | "gcc" `isPrefixOf` s = GCC Nothing (Just (drop 3 s))+ | "gcc" `isSuffixOf` s = GCC (Just (reverse . drop 3 . reverse $ s)) Nothing+ | "ghc" `isSuffixOf` s = GHC (Just (reverse . drop 3 . reverse $ s)) Nothing+ | "clang" `isPrefixOf` s = Clang (Just (drop 5 s))+ | "ghc" `isPrefixOf` s = GHC Nothing (Just (drop 3 s))+ | "gcc" `isPrefixOf` s = GCC Nothing (Just (drop 3 s)) ccFromString _ = Other "cc" -- ALSO consider using Haskell -> C -> ICC ??@@ -114,7 +115,8 @@ data CCompiler = GCC { _prefix :: Maybe String -- ^ Usually the target triple , _postfix :: Maybe String -- ^ The compiler version }- | Clang+ | Clang { _postfix :: Maybe String -- ^ The compiler version+ } | GHC { _prefix :: Maybe String -- ^ The target triple , _postfix :: Maybe String -- ^ The compiler version }