packages feed

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 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                      }