name:
emacs-module
version:
0.1
category: Foreign, Foreign binding
synopsis:
Utilities to write Emacs dynamic modules
description:
This package provides a full set of bindings to emacs-module.h that
allows to develop Emacs modules in Haskell.
license:
BSD3
license-file:
LICENSE
author:
Sergey Vinokurov
maintainer:
Sergey Vinokurov <serg.foo@gmail.com>
stability: stable
tested-with:
GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3
extra-source-files:
cbits/emacs-module.h
cabal-version:
2.0
build-type:
Simple
homepage: https://github.com/sergv/emacs-module
source-repository head
type: git
location: https://github.com/sergv/emacs-module.git
flag assertions
description:
Enable runtime assertions
default:
False
manual:
True
flag module-assertions
description:
Bulid plugin that is plugin indentended to be used with Emacs's
'--module-assertions' enabled. Plugin will not free any global values
returned to Emacs and thus have an ever-growing memory leak.
default:
False
manual:
True
library
if flag(assertions)
cpp-options: -DASSERTIONS
if flag(module-assertions)
cpp-options: -DMODULE_ASSERTIONS
exposed-modules:
Data.Emacs.Module.Args
Data.Emacs.Module.Env
Data.Emacs.Module.Env.Functions
Data.Emacs.Module.NonNullPtr
Data.Emacs.Module.Runtime
Data.Emacs.Module.SymbolName
Data.Emacs.Module.SymbolName.TH
Data.Emacs.Module.Value
Emacs.Module
Emacs.Module.Assert
Emacs.Module.Errors
Emacs.Module.Functions
Emacs.Module.Monad
Emacs.Module.Monad.Class
other-modules:
Data.Emacs.Module.NonNullPtr.Internal
Data.Emacs.Module.Raw.Env
Data.Emacs.Module.Raw.Env.Internal
Data.Emacs.Module.Raw.Env.TH
Data.Emacs.Module.Raw.Value
Data.Emacs.Module.SymbolName.Internal
Data.Emacs.Module.Value.Internal
hs-source-dirs:
src
build-depends:
base >=4.7 && < 5,
bytestring,
deepseq,
exceptions,
monad-control,
mtl,
prettyprinter,
resourcet,
safe-exceptions-checked,
text,
template-haskell,
transformers-base,
vector,
void
if impl(ghc < 8.1)
build-depends: bifunctors
includes:
emacs-module.h
install-includes:
emacs-module.h
include-dirs:
cbits
build-tools:
hsc2hs
default-language:
Haskell2010
ghc-options:
-Wall
-fwarn-name-shadowing
-fno-warn-type-defaults
if impl(ghc >= 8.0)
ghc-options:
-Wcompat
-Whi-shadowing
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wmissing-exported-signatures
if impl(ghc >= 8.2)
ghc-options:
-Wcpp-undef
-Wmissing-home-modules
-Wunbanged-strict-patterns