---
name: "valabind"
section: "1"
platform: "linux"
package: "valabind"
version: "2.1.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/valabind"
---

# valabind(1)

vala to swig interface conversor

## 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

[valabind-cc(1)](/valabind-cc/1.md)

## AUTHORS

pancake \<pancake@nopcode.org\>

Eduard Burtescu \<edy.burt@gmail.com\>
