Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

valac-0.54 (1)


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


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


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  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.

              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 (DEPRECATED AND IGNORED)

              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

       --deps Write make-style dependency information to this file

              Write  make-style external dependency information for build sys-
              tems 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...
              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

              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

              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 out-
              put 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  back-
              ward   compatibility  because  it  can  break  ABI  of  existing



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

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

       See attributes(7) for descriptions of the following attributes:

       |Availability   | developer/vala        |
       |Stability      | Pass-through volatile |

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source        was        downloaded         from          https://down-

       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)