The Common Foreign Function Interface
Common Lisp C Other
Latest commit 417d920 Feb 21, 2017 @fare fare committed with luismbo Fix dynamic linking with SB-LINKABLE-RUNTIME
Shared objects were failing to link on the latest SBCL because it specifies
-fno-pie in its CFLAGS, but that invalidates the previously specified -fPIC.
Fix that by specifying -fPIC *after* the SBCL-provided CFLAGS, not *before*.

Also, remove a redundant use of -fPIC, and fix a comment.

README.md

Build Status

CFFI, the Common Foreign Function Interface, purports to be a portable foreign function interface for Common Lisp. The CFFI library is composed of a Lisp-implementation-specific backend in the CFFI-SYS package, and a portable frontend in the CFFI package.

The CFFI-SYS backend package defines a low-level interface to the native FFI support in the Lisp implementation. It offers operators for allocating and dereferencing foreign memory, calling foreign functions, and loading shared libraries. The CFFI frontend provides a declarative interface for defining foreign functions, structures, typedefs, enumerated types, etc. It is implemented in portable ANSI CL making use of the low-level operators exported by CFFI-SYS.

Please consult the manual for further details, including installation instructions.