jni-0.7.0: jni.cabal
name: jni
version: 0.7.0
synopsis: Complete JNI raw bindings.
description: Please see README.md.
homepage: https://github.com/tweag/inline-java/tree/master/jni#readme
license: BSD3
license-file: LICENSE
author: Tweag I/O
maintainer: m@tweag.io
copyright: 2015-2016 EURL Tweag.
category: FFI, JVM, Java
build-type: Simple
cabal-version: >=1.10
extra-source-files: README.md
source-repository head
type: git
location: https://github.com/tweag/inline-java
subdir: jni
flag linear-types
description: Build the linear types interface.
default: False
library
hs-source-dirs: src/common
cc-options: -std=c11
if os(darwin)
-- XXX pgmP directive should be redundant. But necessary to workaround
-- https://github.com/haskell/cabal/issues/4278.
-- Needed for Foreign.JNI.
-- XXX we use an auxiliary script here that passes --cpp to cpphs.
-- Otherwise we hit https://gitlab.haskell.org/ghc/ghc/-/issues/17185
ghc-options: -pgmP./cpphs-cpp
extra-libraries: jvm
exposed-modules:
Foreign.JNI
Foreign.JNI.Types
Foreign.JNI.String
Foreign.JNI.Internal
Foreign.JNI.Unsafe
other-modules:
Foreign.JNI.NativeMethod
build-depends:
base >=4.14 && <5,
bytestring >=0.10,
choice >=0.2.0,
containers >=0.5,
constraints >=0.8,
deepseq >=1.4.2,
inline-c >=0.6
if flag(linear-types)
hs-source-dirs: src/linear-types
build-depends:
linear-base ==0.1.0.0
exposed-modules:
Data.Singletons
Foreign.JNI.Safe
Foreign.JNI.Types.Safe
else
build-depends:
singletons >=2.6
build-tools: cpphs
default-language: Haskell2010
test-suite spec
type:
exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Main.hs
other-modules:
Foreign.JNISpec
Spec
build-depends:
base,
hspec,
jni
if !flag(linear-types)
build-depends:
singletons
default-language: Haskell2010
extra-libraries: pthread
ghc-options: -threaded
cpp-options: -DHSPEC_DISCOVER=hspec-discover