Home

Awesome

A generator for Ruby FFI bindings

Author: Richard Musiol Contributors: Jeremy Voorhis (thanks for the initial idea) License: MIT (see LICENSE)

Features

Requirements

These requirements are only for running the generator. The generated files are Ruby 1.8 compatible and do not need Clang.

Example

Use the following interface in a script or Rake task:

require "ffi_gen"

FFIGen.generate(
  module_name: "Clang",
  ffi_lib:     "clang",
  headers:     ["clang-c/Index.h"],
  cflags:      `llvm-config --cflags`.split(" "),
  prefixes:    ["clang_", "CX"],
  output:      "clang-c/index.rb"
)

Output: clang-c/index.rb

Other generated files can be found in the test/output directory.

Hints

You may need to set additional include directories:

export CPATH=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/include

Your GCC include paths can be seen with:

`gcc -print-prog-name=cc1` -v

Projects using ffi_gen

Roadmap

Feedback

Please use GitHub's issue tracker for problems or suggestions. Pull requests are welcome, too.