Vala code runner.


Run a vala file, with gtk+

$ vala [path/to/file.vala] --pkg [gtk+-3.0]

Display version info
$ vala --version

Display helper message
$ vala --help


valac [OPTION]... [FILE]...


Vala is a programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.

valac, the Vala compiler, is a self-hosting compiler that translates

Vala source code into C source and header files. It uses the GObject type system to create classes and interfaces declared in the Vala source code.


valac [OPTION?] FILE... - Vala Compiler

Help Options:

-?, --help

Show help options

Application Options:


Look for package bindings in DIRECTORY


Look for .gir files in DIRECTORY


Look for GIR .metadata files in DIRECTORY


Include binding for PACKAGE


Output VAPI file name


Library name


Shared library name used in generated gir


GObject-Introspection repository file name

-b, --basedir=DIRECTORY

Base source directory

-d, --directory=DIRECTORY

Change output directory from current working directory


Display version number


Display API version number

-C, --ccode

Output C code

-H, --header=FILE

Output C header file


Use C header file


Directory used to include the C header file

-h, --internal-header=FILE

Output internal C header file


Output vapi with internal api


Output vapi without performing symbol resolution


Use --fast-vapi output during this compile


Include comments in generated vapi


Write make-style dependency information to this file


Write make-style external dependency information for build systems to this file


Output a list of all source and binding files which are used


Output symbols file

-c, --compile

Compile but do not link

-o, --output=FILE

Place output in file FILE

-g, --debug

Produce debug information


Enable multithreading support (DEPRECATED AND IGNORED)


Enable GLib memory profiler

-D, --define=SYMBOL...



Use SYMBOL as entry point


Do not include standard packages


Disable assertions


Enable additional run-time checks


Enable deprecated features


Hide symbols marked as internal


Enable experimental features


Disable warnings


Treat warnings as fatal


Do not check whether used symbols exist in local packages

-k, --keep-going

Continue as much as possible after an error


Enable experimental enhancements for non-null types


Enable GObject creation tracing


Use COMMAND as C compiler command

-X, --Xcc=OPTION...

Pass OPTION to the C compiler


Use COMMAND as pkg-config command


Write code tree to FILE


Keep temporary files


Use the given profile instead of the default

-q, --quiet

Do not print messages to the console

-v, --verbose

Print additional messages to the console


Disable colored output, alias for --color=never


Enable color output, options are 'always', 'never', or 'auto'

When no value is given always is implied. When neither --color or --no-color are declared then --color=auto is used where output is colored when stderr is a terminal.

--target-glib='MAJOR.MINOR', or 'auto'

Target version of glib for code generation


XML of gresources


Look for resources in DIRECTORY


Write vala build version in generated files


Do not write vala build version in generated files


Arguments passed to directly compiled executable


Enable support for ABI stability

This changes the current behaviour to output public members of classes and interfaces the same order as they appear in Vala source. For libraries is recommended to use --abi-stability to ensure the maintainability of the resulting Application Binary Interface (ABI). This option is disabled by default for backward compatibility because it can break ABI of existing projects.




Interfaces, properties, signals, foreach, lambda expressions, type inference for local variables, generics, non-null types, assisted memory management, exception handling


J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.

Copied to clipboard