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.

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
Show help 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
Base source directory
Change output directory from current working directory
Display version number
Display API version number
Output C code
Output C header file
Use C header file (DEPRECATED AND IGNORED)
Directory used to include the C 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
Compile but do not link
Place output in file FILE
Produce debug information
Enable multithreading support (DEPRECATED AND IGNORED)
Enable GLib memory profiler
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
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
Pass OPTION to the C compiler
Use COMMAND as pkg-config command
Write code tree to FILE
Keep temporary files
Minimum runtime dependency: 'gobject' (default) or 'posix' (minimal libc)
gobject enables GLib's GType runtime type system. The runtime environment will usually require libgobject and its small number of dependencies. posix removes the dependency on GLib and disables the runtime type system. The profile either generates alternative code or errors at compile time if a Vala language feature is used that requires the runtime type system. This is useful for writing code, for example, that targets microcontrollers or for extremely small system utilities or container images. The runtime environment will usually require a small subset of the ISO C standard library.
Do not print messages to the console
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 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.

https://gitlab.gnome.org/GNOME/vala/issues

https://wiki.gnome.org/Projects/Vala

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.

January 2022 Vala 0.54.6