HSFFIG

Generate FFI import declarations from C include files

http://www.haskell.org/haskellwiki/HSFFIG

Latest on Hackage:1.1.3

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Dimitry Golubovsky
Maintained by [email protected]

Haskell FFI Binding Modules Generator (HSFFIG) is a tool that parses C library include files (.h) and generates Haskell Foreign Functions Interface import declarations for all functions, #define'd constants (where possible), enumerations, and structures/unions (to access their members). It is assumed that the GNU C Compiler and Preprocessor are used. Auto-generated Haskell modules may be imported into an application to get access to the foreign library's functions and variables.

The package provides a small library that programs using auto-generated imports have to link to (specify HSFFIG as one of build-depends), and two executable programs:

  • hsffig: a filter program reading pre-processed include files from standard input, and producing one large .hsc file to be processed by hsc2hs, and possibly cut into pieces by modsplit. See http://www.haskell.org/haskellwiki/HSFFIG/Tutorial for more information.

  • ffipkg: a wrapper over hsffig which automates the process of building a Cabal package out of C include files provided by running the preprocessor, hsffig, the splitter, and preparing the files necessary to build a package. See http://www.haskell.org/haskellwiki/FFI_imports_packaging_utility for more information.

Please note that hsffig and ffipkg will likely not work properly with C++ include files.