Forum: Ruby ffi-swig-generator 0.2.1

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
791209bdffd2696a7f09d5b0c612575d?d=identicon&s=25 Andrea Fazzi (Guest)
on 2009-03-09 00:26
(Received via mailing list)
ffi-swig-generator version 0.2.1
    by Andrea Fazzi
    http://kenai.com/projects/ruby-ffi

== DESCRIPTION

ffi-swig-generator is a ruby-ffi wrapper code generator based on SWIG
interface files.

ffi-swig-generator is able to traverse a XML parse tree file generated
by the +swig+ command and to produce a ruby-ffi interface file from
it.

ffi-swig-generator is shipped with a command line tool (ffi-gen) and a
rake
task that automates the code generation process.

ffi-swig-generator XML capabilities are provided by nokogiri.

== CHANGES

* 1 minor enhancement
  * Removed old lib/ffi-generator.rb file.

== FEATURES

* The program is able to generate:
  * all C native types
  * #define constants
  * typedefs
  * struct, union, array and enum types
  * callbacks (pointers to functions)
* Naive indentation of the generated code

== SYNOPSIS

>From command line:

  ffi-gen mylib.xml mylib.rb

>From a Rakefile:

  require 'ffi-swig-generator'
  FFI::Generator::Task.new :input_fn => 'my_interface_dir/*.i'
output_dir => 'my_output_dir'

== REQUIREMENTS

* rake >= 0.8.3
* nokogiri >= 1.1.1
* swig >= 1.3

== DOWNLOAD

To download and install from rubygems:

  [sudo] gem install ffi-swig-generator

To download the develpment trunk:

  hg clone http://kenai.com/hg/ruby-ffi~swig-generator

== EXAMPLES

See the examples in examples/ folder.

libc.i is an interface file containing some excerpt of libc functions.

wiiuse.i is a enough complex example of a C header file interface. It
reproduces the content of wiiuse.h, the header file of the wiiuse
library. wiiuse is a C library that handles the connection with
Nintendo Wiimote devices. The interface file is almost a mere
copy/paste from the original header file. See
http://github.com/remogatto/ffi-wiiuse to get updated revision of
ffi-wiiuse library.
This topic is locked and can not be replied to.