mangle-0.1.0.1: mangle.cabal
cabal-version: 3.6
-- Copyright (c) Facebook, Inc. and its affiliates.
name: mangle
version: 0.1.0.1
synopsis: Convert C++ type signatures to their mangled form
homepage: https://github.com/facebookincubator/hsthrift
bug-reports: https://github.com/facebookincubator/hsthrift/issues
license: BSD-3-Clause
license-file: LICENSE
author: Facebook, Inc.
maintainer: hsthrift-team@fb.com
copyright: (c) Facebook, All Rights Reserved
category: FFI
build-type: Simple
extra-doc-files: CHANGELOG.md
description:
Converts C++ type signatures to mangled symbol names.
This is useful for calling C++ functions via the FFI without using
@extern \"C\" { .. }@.
The library can be used with Template Haskell, so you can call C++
code directly from Haskell, e.g.
@
{-# LANGUAGE TemplateHaskell #-}
...
import Mangle.TH
...
$(mangle
"void glog_info(const char*, int, const char*)"
[d|
foreign import ccall
c_glog_info :: CString -> CInt -> CString -> IO ()
|])
@
source-repository head
type: git
location: https://github.com/facebookincubator/hsthrift.git
library
exposed-modules: Mangle, Mangle.TH
default-extensions: LambdaCase, GeneralizedNewtypeDeriving
build-depends:
base >=4.11.1.0 && <4.20,
containers >=0.5.11.0 && <0.7,
parsec ^>=3.1.13.0,
template-haskell >=2.13 && <2.22
default-language: Haskell2010
executable mangle
main-is: Main.hs
other-modules: Mangle
default-extensions: LambdaCase, GeneralizedNewtypeDeriving
build-depends:
base >=4.11.1 && <4.20,
containers >=0.5.11 && <0.7,
parsec ^>=3.1.13.0,
template-haskell >=2.13 && <2.22
default-language: Haskell2010
test-suite mangle-test
type: exitcode-stdio-1.0
hs-source-dirs: tests
default-language: Haskell2010
default-extensions: LambdaCase
main-is: Test.hs
build-depends:
base,
fb-stubs,
hspec,
hspec-contrib,
mangle,
HUnit ^>= 1.6.1
ghc-options: -threaded -main-is Test