OpenBSD ports

The devel/c2ffi port

c2ffi- – extract FFI definitions from C, C++, and Objective C


This is a tool for extracting definitions from C, C++, and Objective C
headers for use with foreign function call interfaces.

There are generally two steps to using `c2ffi`:

- Generate output for a particular header or file, gathering macro
  definitions (with the `-M <file>.c` parameter)

- Generate output for macro definitions by running `c2ffi` again on
  the *generated* file (without `-M`)

Currently JSON is the default output.  This is in a rather wordy
hierarchical format, with each object having a "tag" field which
describes it.  All objects are contained in an array.  This should
make it fairly easy (or at least far easier than parsing C yourself)
to transform into language-specific bindings.

The following language bindings exist for `c2ffi`:

- [cl-autowrap]( Create bindings
  in Common Lisp from a `.h` with `c2ffi` using a simple `(c-include "file.h")`

- [c2ffi-ruby]( Uses the JSON
  from c2ffi to produce a nicely-formatted Ruby file for ruby-ffi.

Only for arches
aarch64 aarch64 alpha alpha amd64 amd64 arm arm hppa hppa i386 i386 mips64 mips64 mips64el mips64el powerpc powerpc powerpc64 powerpc64 riscv64 riscv64 sh sparc64 sparc64

Library dependencies

Build dependencies

Run dependencies