claw

2018-04-30

claw

Common Lisp autowrapping facility for quickly creating bindings to foreign libraries with C-compatible ABI interface.

cl-autowrap relationship

This is a fork of awesome cl-autowrap library streamlined for making simple wrappers over C libraries.

Differences

Feature cl-autowrap claw
Foreign symbols Included by default Excluded by default
Struct-by-value via libffi via autogenerated C wrapper
Foreign symbols filtering compile time .spec generation time
.spec formatting pretty-printed VCS friendly compact
Foreign types introspection yes no
Default platforms many x86_64/i686 GNU/Linux, macOS, Windows
CL<->C string autoconversion yes no

claw pros over cl-autowrap: * simplified interface * cleaner resulting wrapper due to default filtering rule * faster invocation of functions that pass structs/unions by value * small .spec size * tailored to work in GNU environments on Windows (msys2), GNU/Linux and macOS * maintained by borodust

claw cons: * maintained by borodust * maintained by borodust * not maintained by rpav * needs C wrapper for struct-by-value functions

Example

Please, have a look at bodge-chipmunk wrapper.

Author
Ryan Pavlik, Pavel Korolev
License
BSD-2-Clause