valac1
Compiler that translates vala source code into c source and header files
Usage
valac [OPTION] ...
[FILE] ...
Overview
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.
Usage:
-
valac [OPTION???] FILE... - Vala Compiler
Help Options:
-
-?, --help -
Show help options
Application Options:
-
--vapidir=DIRECTORY... -
Look for package bindings in DIRECTORY
-
--girdir=DIRECTORY... -
Look for .gir files in DIRECTORY
-
--metadatadir=DIRECTORY... -
Look for GIR .metadata files in DIRECTORY
-
--pkg=PACKAGE... -
Include binding for PACKAGE
-
--vapi=FILE -
Output VAPI file name
-
--library=NAME -
Library name
-
--gir=NAME-VERSION.gir -
GObject-Introspection repository file name
-
-b, --basedir=DIRECTORY -
Base source directory
-
-d, --directory=DIRECTORY -
Change output directory from current working directory
-
--version -
Display version number
-
--api-version -
Display API version number
-
-C, --ccode -
Output C code
-
-H, --header=FILE -
Output C header file
-
--use-header -
Use C header file (DEPRECATED AND IGNORED)
-
--includedir=DIRECTORY -
Directory used to include the C header file
-
-h, --internal-header=FILE -
Output internal C header file
-
--internal-vapi=FILE -
Output vapi with internal api
-
--fast-vapi -
Output vapi without performing symbol resolution
-
--use-fast-vapi -
Use
--fast-vapioutput during this compile
-
--vapi-comments -
Include comments in generated vapi
-
--deps -
Write make-style dependency information to this file
-
--depfile -
Write make-style external dependency information for build systems to this file
-
--list-sources -
Output a list of all source and binding files which are used
-
--symbols=FILE -
Output symbols file
-
-c, --compile -
Compile but do not link
-
-o, --output=FILE -
Place output in file FILE
-
-g, --debug -
Produce debug information
-
--thread -
Enable multithreading support (DEPRECATED AND IGNORED)
-
--enable-mem-profiler -
Enable GLib memory profiler
-
-D, --define=SYMBOL... -
Define SYMBOL
-
--main=SYMBOL... -
Use SYMBOL as entry point
-
--nostdpkg -
Do not include standard packages
-
--disable-assert -
Disable assertions
-
--enable-checking -
Enable additional run-time checks
-
--enable-deprecated -
Enable deprecated features
-
--hide-internal -
Hide symbols marked as internal
-
--enable-experimental -
Enable experimental features
-
--disable-warnings -
Disable warnings
-
--fatal-warnings -
Treat warnings as fatal
-
--disable-since-check -
Do not check whether used symbols exist in local packages
-
-k, --keep-going -
Continue as much as possible after an error
-
--enable-experimental-non-null -
Enable experimental enhancements for non-null types
-
--enable-gobject-tracing -
Enable GObject creation tracing
-
--cc=COMMAND -
Use COMMAND as C compiler command
-
-X, --Xcc=OPTION... -
Pass OPTION to the C compiler
-
--pkg-config=COMMAND -
Use COMMAND as pkg-config command
-
--dump-tree=FILE -
Write code tree to FILE
-
--save-temps -
Keep temporary files
-
--profile=PROFILE -
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.
-
-q, --quiet -
Do not print messages to the console
-
-v, --verbose -
Print additional messages to the console
-
--no-color -
Disable colored output, alias for
--color=never
-
--color=WHEN -
Enable color output, options are 'always', 'never', or 'auto'
When no value is given always is implied. When neither
--coloror--no-colorare 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
-
--gresources=FILE... -
XML of gresources
-
--gresourcesdir=DIRECTORY... -
Look for resources in DIRECTORY
-
--enable-version-header -
Write vala build version in generated files
-
--disable-version-header -
Do not write vala build version in generated files
-
--run-args -
Arguments passed to directly compiled executable
-
--abi-stability -
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-stabilityto 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.
Homepage or contact
https://vala.dev
Features
Interfaces, properties, signals, foreach, lambda expressions, type inference for local variables, generics, non-null types, assisted memory management, exception handling
Releases
8 releases since Debian 5.0 (Lenny); the text changed 7 times.
--Xcc since Debian 6.0 (Squeeze);
--abi-stability since Debian 10 (Buster);
--api-version since Debian 9 (Stretch);
--basedir since Debian 9 (Stretch);
--cc since Debian 6.0 (Squeeze);
--ccode since Debian 6.0 (Squeeze);
--color since Debian 10 (Buster);
--compile since Debian 6.0 (Squeeze);
--debug since Debian 6.0 (Squeeze);
--define since Debian 6.0 (Squeeze);
--depfile since Debian 11 (Bullseye);
--deps since Debian 9 (Stretch);
--disable-assert since Debian 6.0 (Squeeze);
--disable-since-check since Debian 9 (Stretch);
--disable-version-header since Debian 9 (Stretch);
--disable-warnings since Debian 9 (Stretch);
--dump-tree since Debian 9 (Stretch);
--enable-checking since Debian 6.0 (Squeeze);
--enable-deprecated since Debian 6.0 (Squeeze);
--enable-experimental since Debian 6.0 (Squeeze);
--enable-experimental-non-null since Debian 9 (Stretch);
--enable-gobject-tracing since Debian 9 (Stretch);
--enable-mem-profiler since Debian 9 (Stretch);
--enable-version-header since Debian 9 (Stretch);
--fast-vapi since Debian 9 (Stretch);
--fatal-warnings since Debian 9 (Stretch);
--gir since Debian 9 (Stretch);
--girdir since Debian 9 (Stretch);
--gresources since Debian 9 (Stretch);
--gresourcesdir since Debian 10 (Buster);
--header since Debian 6.0 (Squeeze);
--help since Debian 6.0 (Squeeze);
--hide-internal since Debian 9 (Stretch);
--includedir since Debian 9 (Stretch);
--internal-header since Debian 9 (Stretch);
--internal-vapi since Debian 9 (Stretch);
--keep-going since Debian 11 (Bullseye);
--library since Debian 6.0 (Squeeze);
--list-sources since Debian 11 (Bullseye);
--main since Debian 9 (Stretch);
--metadatadir since Debian 9 (Stretch);
--no-color since Debian 9 (Stretch);
--nostdpkg since Debian 9 (Stretch);
--output since Debian 6.0 (Squeeze);
--pkg since Debian 6.0 (Squeeze);
--pkg-config since Debian 9 (Stretch);
--profile since Debian 9 (Stretch);
--quiet since Debian 6.0 (Squeeze);
--run-args since Debian 10 (Buster);
--save-temps since Debian 9 (Stretch);
--shared-library since Debian 9 (Stretch);
--symbols since Debian 9 (Stretch);
--thread since Debian 6.0 (Squeeze);
--use-fast-vapi since Debian 9 (Stretch);
--use-header since Debian 9 (Stretch);
--vapi since Debian 9 (Stretch);
--vapi-comments since Debian 9 (Stretch);
--vapidir since Debian 6.0 (Squeeze);
--verbose since Debian 9 (Stretch);
--version since Debian 6.0 (Squeeze);
-? since Debian 9 (Stretch);
-C since Debian 6.0 (Squeeze);
-D since Debian 6.0 (Squeeze);
-H since Debian 6.0 (Squeeze);
-X since Debian 6.0 (Squeeze);
-b since Debian 9 (Stretch);
-c since Debian 6.0 (Squeeze);
-d since Debian 6.0 (Squeeze);
-g since Debian 6.0 (Squeeze);
-h since Debian 9 (Stretch);
-k since Debian 11 (Bullseye);
-o since Debian 6.0 (Squeeze);
-q since Debian 6.0 (Squeeze);
-v since Debian 9 (Stretch).
--d until Debian 5.0 (Lenny);
--target-glib until Debian 10 (Buster).