A tool for generating object-oriented language wrappers for C code.
Wrapture uses YAML files that describe the C code being wrapped and the output language interface.
Wrapture is available on RubyGems.org and can be installed with a simple:
gem install wrapture
Wrapture is packaged with bundler, so if you want to work on the source directly
you can get all dependencies with a simple bundle install
.
Running the examples will require an environment that supports the target
language, for example a compiler like g++
for the C++ examples. You will need
to install these on your own, as there is currently nothing in Wrapture to
manage all of the target language environments.
SWIG provides a very similar functionality by wrapping C code in higher-level languages. SWIG can parse C code and detect functions constants, and other symbols to wrap automatically. Wrapture is a simpler and more deliberate tool - the author must write an interface description in YAML outlining all of these things. This results in a much more concise class definition that feels more native to the output language than an auto-generated interface. Wrapture also has much more limited language and feature support than SWIG.