What is rb++ / rbgccxml?
Rb++, rbgccxml, and rice compose a suite of tools that make wrapping
C++
libraries into
Ruby extensions as simple as possible. This is built as a replacement
for
SWIG-Ruby.
What’s New
- Full 1.9 support through the entire stack!
- MinGW / MSYS build support on Windows.
rb++:
* Updated to work with the Rice::Director changes
* Fixed a bug where rb++ wasn’t using any superclass on classes with
multiple superclasses
* Generated extension handles exceptions cleaner
* Various other small bug fixes and tweaks
rbgccxml:
* Switched parsing from libxml-ruby to nokogiri
* Fixed crash on encountering , but no real handling of the
type
yet.
* Fixed a bug with older gcc versions on dealing with anonymous
enumerations
Project
Documentation: http://rbplusplus.rubyforge.org
rb++: GitHub - jameskilton/rbplusplus: Account name changed!
rbgccxml: GitHub - jameskilton/rbgccxml: Account name changed!
Installation
This single command will grab the whole stack needed for rb++ to work.
gem install rbplusplus
The stack includes four libraries: rb++, rbgccxml, gccxml_gem, and
rice
rb++
Rb++ makes it almost trivially easy to create Ruby extensions for C++
library.
In the simplest of cases, there is no need to ever touch C++,
everything
is done
in a very simple and clean Ruby API.
rbgccxml
RbGCCXML allows one to easily parse out and query C / C++ code.
This library uses GCC-XML to parse out the C / C++ code into XML, and
then
nokogiri
to parse and query that XML.
gccxml_gem
GCC-XML (www.gccxml.org) is an application that takes takes the parse
tree
of C / C++
and constructs a very parsable and queryable XML file with all related
information.
This gem includes a binary build of GCC-XML for supported platforms,
to make it trivially easy to install. Platforms currently supported
are:
* Linux 32 & 64 bit
* Mac OS X
* Windows via MinGW / MSYS
Rice
The Ruby Interface for C++ Extensions, it provides a C++ API for
working
with ruby. More information
available at its project page:
http://rice.rubyforge.org
Notes
Released under the MIT licence.
For those familiar with py++ / pygccxml, the similarities are in
function
only.
Rb++ / rbgccxml were written from scratch to take advantage of the
Ruby
language to it’s fullest.
Bugs, patches, feature requests, et al should be posted to the
corresponding project’s Issues page on github.