The HSFFIG package
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.
Properties
| Versions | 1.1, 1.1.2, 1.1.3 |
|---|---|
| Dependencies | array, base (4.*), Cabal (≥1.5), containers, directory, filepath, parsec (<3), process, unix |
| License | BSD3 |
| Copyright | 2005 - 2009, Dimitry Golubovsky |
| Author | Dimitry Golubovsky |
| Maintainer | golubovsky@gmail.com |
| Stability | stable |
| Category | FFI tools |
| Home page | http://www.haskell.org/haskellwiki/HSFFIG |
| Executables | testparser, hsffig, ffipkg |
| Upload date | Thu Jul 15 02:06:11 UTC 2010 |
| Uploaded by | DmitryGolubovsky |
| Built on | ghc-6.12, ghc-7.0 |
Modules
- HSFFIG
Downloads
- HSFFIG-1.1.3.tar.gz (Cabal source package)
- package description (included in the package)