packages feed

shake-language-c 0.6.3 → 0.6.4

raw patch · 3 files changed

+23/−9 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog for shake-language-c +## [v0.6.4][]++* Fix Android toolchain definition for `x86` architecture+ ## [v0.6.3][]  ### Changed@@ -36,6 +40,7 @@  First released version. +[v0.6.4]: https://github.com/samplecount/shake-language-c/tree/v0.6.4 [v0.6.3]: https://github.com/samplecount/shake-language-c/tree/v0.6.3 [v0.6.2]: https://github.com/samplecount/shake-language-c/tree/v0.6.2 [v0.6.1]: https://github.com/samplecount/shake-language-c/tree/v0.6.1
shake-language-c.cabal view
@@ -13,7 +13,7 @@ -- limitations under the License.  Name:         shake-language-c-Version:      0.6.3+Version:      0.6.4 Synopsis:     Utilities for cross-compiling with Shake Description:  This library provides <http://hackage.haskell.org/package/shake Shake> utilities for cross-compiling @C@, @C++@ and @ObjC@ code for various target platforms. Currently supported target platforms are Android, iOS, Linux, MacOS X, Windows\/MinGW and Google Portable Native Client (PNaCl). Supported host platforms are MacOS X, Linux and Windows. Category:     Development
src/Development/Shake/Language/C/Target/Android.hs view
@@ -48,6 +48,12 @@         Arm _ -> "arm-linux-androideabi-"         arch  -> unsupportedArch arch +toolPrefix_ :: Target -> String+toolPrefix_ x =+  case targetArch x of+    X86 _ -> "i686-linux-android-"+    _     -> toolChainPrefix x+ osPrefix :: String osPrefix = System.os ++ "-" ++ cpu     where cpu = case System.arch of@@ -102,6 +108,13 @@ sdkVersion :: Int -> Version sdkVersion n = Version [n] [] +gccToolChain :: FilePath -> Target -> Version -> FilePath+gccToolChain ndk target version =+  ndk </> "toolchains"+      </> toolChainPrefix target ++ showVersion version+      </> "prebuilt"+      </> osPrefix+ -- | Construct an Android toolchain. toolChain :: FilePath                     -- ^ NDK source directory           -> Version                      -- ^ SDK version, see `sdkVersion`@@ -111,12 +124,8 @@ toolChain "" _ (_, _) _ = error "Empty NDK directory" toolChain ndk version (GCC, tcVersion) t =     set variant GCC-  $ set toolDirectory (Just (ndk </> "toolchains"-                                 </> toolChainPrefix t ++ showVersion tcVersion-                                 </> "prebuilt"-                                 </> osPrefix-                                 </> "bin"))-  $ set toolPrefix (toolChainPrefix t)+  $ set toolDirectory (Just (gccToolChain ndk t tcVersion </> "bin"))+  $ set toolPrefix (toolPrefix_ t)   $ set compilerCommand "gcc"   $ set archiverCommand "ar"   $ set linkerCommand "g++"@@ -133,8 +142,8 @@   $ set archiverCommand "llvm-ar"   $ set linkerCommand "clang++"   $ set defaultBuildFlags (return $-    let gcc_toolchain = ndk </> "toolchains/arm-linux-androideabi-4.8/prebuilt" </> osPrefix-        flags = ["-target", llvmTarget t, "-gcc-toolchain", gcc_toolchain]+    let flags = [ "-target", llvmTarget t+                , "-gcc-toolchain", gccToolChain ndk t (Version [4,8] []) ]     in  mkDefaultBuildFlags ndk version (targetArch t)       . append compilerFlags [(Nothing, flags)]       . append linkerFlags flags