HSFFIG: Generate FFI import declarations from C include files
|Versions||1.1, 1.1.2, 1.1.3|
|Dependencies||array, base (==4.*), Cabal (>=1.5), containers, directory, filepath, parsec (<3), process, unix [details]|
|Copyright||2005 - 2009, Dimitry Golubovsky|
|Uploaded||by DmitryGolubovsky at Fri Oct 16 00:59:56 UTC 2009|
|Executables||testparser, hsffig, ffipkg|
|Downloads||1522 total (18 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
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
hsffigwhich 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
ffipkg will likely not work properly
with C++ include files.
For package maintainers and hackage trustees