Changes for version 0.18 - 2015-01-30

  • Improved support for C++ in Module::Build::FFI
  • Module::Build::FFI can now be subclassed to support foreign languages other than C and C++. See Module::Build::FFI::Rust as an example.
  • Added a hook to allow different names for native types. See FFI::Platypus::Lang::Rust for an example.
  • Added a hook to allow mangling of symbol (function) names. See FFI::Platypus::Lang::CPP for an example with C++
  • Module::Build::FFI#ffi_include_dir can now be an array reference
  • Module::Build::FFI#ffi_source_dir can now be an array reference
  • Module::Build::FFI#ffi_libtest_dir can now be an array reference
  • Module::Build::FFI will build assembly source files (with .s extensions) in the libtest and ffi directories

Documentation

Defining types for FFI::Platypus

Modules

Write Perl bindings to non-Perl libraries without C or XS
Platypus arguments and return value API for custom types
Convert scalars to C buffers
Declarative interface to FFI::Platypus
Documentation and tools for using Platypus with the Assembly
Documentation and tools for using Platypus with the C programming language
Memory functions for FFI
Convert string scalar to a buffer as a pointer / size_t combination
Convert a pointer to a string and back
Build Perl extensions in C with FFI

Provides

in lib/FFI/Platypus.pm
in lib/FFI/Platypus.pm
in lib/FFI/Platypus.pm
in lib/FFI/Platypus.pm