Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
[ANN] ffi-swig-generator 0.3.0
Andrea Fazzi
4/20/2009 1:23:00 PM
ffi-swig-generator version 0.3.0
by Andrea Fazzi
http://kenai.com/projects/ruby-ffi/sources/swig-gene...
== DESCRIPTION
ffi-swig-generator is a ruby-ffi wrapper code generator that produces
ruby-ffi glue code parsing C header files through SWIG.
ffi-swig-generator is able to traverse an XML parse tree generated by
the +swig+ command and to produce a ruby-ffi code from it.
ffi-swig-generator is shipped with a command line tool and a rake task
that automates the code generation process.
ffi-swig-generator XML capabilities are provided by nokogiri.
== CHANGES
* Major enhancements
* Generate accessors methods for struct fields of type string and
callback.
* Add experimental support for nested structs and unions.
* Add initial support for configuration files.
* Minor enhancements
* Add support for variadic arguments.
* Add support for anonymous callbacks in function and struct
declaration.
* Add support for volatile types.
* Add support for U, L, UL constant qualifiers.
* Improve testing with cucumber.
* Now the rake task can be configured through a configuration block.
* Bug fixes
* Fix ruby 1.8.6/1.9.1 compatibility issues.
* Fix generated const char* return type.
* Fix a bug that prevented to manage struct name with a prepending
underscore.
== 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 do |task|
task.input_fn = 'my_interface_dir/*.i'
task.output_dir = 'my_output_dir'
end
== REQUIREMENTS
* rake >= 0.8.3
* nokogiri >= 1.1.1
* swig >= 1.3
== DOWNLOAD
Download and install from rubygems:
[sudo] gem install ffi-swig-generator
or clone mercurial repository:
hg clone
http://kenai.com/hg/ruby-ffi~swig...
== EXAMPLES
See the examples in examples/ folder.
libc.i is an interface file containing some excerpt of libc functions.
wiiuse.i is a fairly 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 [1] for an updated
revision of ffi-wiiuse library.
== PROJECTS
The generator has been used to generate code for the projects
below. Take a look at them to see further usage examples.
1.
http://github.com/remogatto/ffi-wiiuse/t...
2.
http://github.com/remogatto/ffi-opengl/t...
3.
http://github.com/remogatto/ffi-spidermonkey/t...
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[ANN] ffi-swig-generator 0.3.0
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password