---
name: "valac-0.34"
section: "1"
platform: "linux"
package: "valac"
version: "0.34.7-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/valac-0.34"
---

# valac-0.34(1)

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

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

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

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

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

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

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

  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

- **--no-color**

  Disable colored output

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

  Target version of glib for code generation

- **--gresources**=*FILE*...

  XML of gresources

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

  Write vala build version in generated files

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

  Do not write vala build version in generated files

## BUGS

https://bugzilla.gnome.org/page.cgi?id=browse.html&product=vala

## 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 memory management, exception handling

## AUTHORS

J??rg Billeter, Raffaele Sandrini.
