NAME
valabind – vala to swig interface conversor
SYNOPSIS
valabind [-h] [-x] [-v] [-V vapidir] [-o ofile] [-m modname] [-p profile] [-N namespace] [-D SYMBOL] [--swig] [--node-ffi] [--ctypes] [--gir] [--cxx] vapifile
DESCRIPTION
Valabind is a program written in Vala that aims to generate nodejs, c++ or SWIG interfaces (.i) from a vala-generated or hand-made vapi files.
SWIG opens the door to create bindings for Python, Perl, ruby, lua, and many other scripting languages.
- -h
-
show help message
- -o OUTPUT
-
specify output file name
- -m NAME
-
specify module name
- -N NS
-
include given namespace for processing
- -D SYMBOL
-
define a preprocessor symbol inside Vala code
- -p PROFILE
-
select Vala profile (posix, gobject, dova)
- -x
-
generate c++ code for SWIG bindings
- -v
-
show version information
- -V PATH
-
specify an alternative vapidir path
NOTES
Valabind processes a single module at a time: the module named with -m is the only one whose classes, structs, enums and methods are emitted in the output. Any additional vapifile arguments passed on the command line are not processed as independent modules — only the first class of the first file ends up being walked.
To resolve types that come from other modules (e.g. a r_core.vapi that references symbols declared in r_asm.vapi), drop the extra vapis and their sibling .deps files under the directory passed to -V VAPIDIR and invoke valabind with just the single positional vapi you want emitted. Reproducing the pipeline by hand with every .vapi on the command line is a common mistake and will silently produce a nearly empty binding.
ENVIRONMENT
- XDG_DATA_DIRS
-
Standard freedesktop environment variable to point to the share prefix directory where vala looks for vapi files.
HYPER-REFERENCES
- Vala
-
http://live.gnome.org/Vala
- SWIG
-
http://www.swig.org
SEE ALSO
AUTHORS
pancake <[email protected]>
Eduard Burtescu <[email protected]>