---
name: "vala-0.16"
section: "1"
platform: "linux"
package: "valac-0.16"
version: "0.16.1-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/valac-0.16"
---

# vala-0.16(1)

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

Part of [valac-0.16(1)](/valac-0.16/1.md).

## NAME

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

## SYNOPSIS

**valac** \[*OPTION*\]... \[*FILE*\]...

## DESCRIPTION

Vala  is  a  new  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.

## OPTIONS

- **--help**

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

  Output directory

- **--version**

  Display version number

- **-C, --ccode**

  Output C code

- **-H, --header=*FILE***

  Output C header file

- **--use-header**

  Use C header file

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

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

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

- **--enable-experimental**

  Enable experimental features

- **--disable-warnings**

  Disable warnings

- **--fatal-warnings**

  Treat warnings as fatal

- **--enable-experimental-non-null**

  Enable experimental enhancements for non-null types

- **--cc=*COMMAND***

  Use *COMMAND* as C compiler command

- **-X, --Xcc=*OPTION*...**

  Pass *OPTION*. to the C compiler

- **--dump-tree=*FILE***

  Write code tree to *FILE*

- **--save-temps**

  Keep temporary files

- **--profile=*PROFILE***

  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

- **--target-glib=*MAJOR*.*MINOR***

  Target version of glib for code generation

- **--enable-version-header**

  Write vala build version in generated files

- **--disable-version-header**

  Do not write vala build version in generated files

## FEATURES

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

## HOMEPAGE AND BUG REPORT

http://www.vala-project.org/

## AUTHORS

Jürg Billeter, Raffaele Sandrini.

Man page written to conform with Debian by Marc-Andre Lureau.
