valac-0.54 - compiler that translates Vala source code into C source and header files
valac [OPTION]... [FILE]...
VALAC(1) User Commands VALAC(1)
NAME
valac - compiler that translates Vala source code into C source and
header files
SYNOPSIS
valac [OPTION]... [FILE]...
DESCRIPTION
Vala is a programming language that aims to bring modern pro-
gramming 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
--shared-library=NAME
Shared library name used in generated gir
--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-vapi output 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 sys-
tems 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' (min-
imal 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 dis-
ables 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 microcon-
trollers 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 --color
or --no-color are declared then --color=auto is used where out-
put 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-stability to
ensure the maintainability of the resulting Application Binary
Interface (ABI). This option is disabled by default for back-
ward compatibility because it can break ABI of existing
projects.
BUGS
https://gitlab.gnome.org/GNOME/vala/issues
HOMEPAGE OR CONTACT
https://wiki.gnome.org/Projects/Vala
FEATURES
Interfaces, properties, signals, foreach, lambda expressions, type
inference for local variables, generics, non-null types, assisted mem-
ory management, exception handling
AUTHORS
J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------+
|Availability | developer/vala |
+---------------+-----------------------+
|Stability | Pass-through volatile |
+---------------+-----------------------+
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from https://down-
load.gnome.org/sources/vala/0.54/vala-0.54.2.tar.xz.
Further information about this software can be found on the open source
community website at https://wiki.gnome.org/Projects/Vala.
Vala 0.54.2 October 2021 VALAC(1)