Scroll to navigation

VALAC(1) User Commands VALAC(1)


valac - compiler that translates Vala source code into C source and header files


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.
May 2020 Vala 0.48.6