1VALAC(1)                         User Commands                        VALAC(1)
2
3
4

NAME

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

SYNOPSIS

10       valac [OPTION]... [FILE]...
11

DESCRIPTION

13       Vala  is  a  programming  language  that  aims  to  bring  modern  pro‐
14       gramming language features to GNOME developers without imposing any ad‐
15       ditional  runtime requirements  and  without using   a  different   ABI
16       compared to applications and libraries written in C.
17
18       valac, the Vala compiler, is a self-hosting compiler that translates
19              Vala  source  code  into  C source and header files. It uses the
20              GObject type system to create classes and interfaces declared in
21              the Vala source code.
22
23   Usage:
24              valac [OPTION?] FILE... - Vala Compiler
25
26   Help Options:
27       -?, --help
28              Show help options
29
30   Application Options:
31       --vapidir=DIRECTORY...
32              Look for package bindings in DIRECTORY
33
34       --girdir=DIRECTORY...
35              Look for .gir files in DIRECTORY
36
37       --metadatadir=DIRECTORY...
38              Look for GIR .metadata files in DIRECTORY
39
40       --pkg=PACKAGE...
41              Include binding for PACKAGE
42
43       --vapi=FILE
44              Output VAPI file name
45
46       --library=NAME
47              Library name
48
49       --shared-library=NAME
50              Shared library name used in generated gir
51
52       --gir=NAME-VERSION.gir
53              GObject-Introspection repository file name
54
55       -b, --basedir=DIRECTORY
56              Base source directory
57
58       -d, --directory=DIRECTORY
59              Change output directory from current working directory
60
61       --version
62              Display version number
63
64       --api-version
65              Display API version number
66
67       -C, --ccode
68              Output C code
69
70       -H, --header=FILE
71              Output C header file
72
73       --use-header
74              Use C header file (DEPRECATED AND IGNORED)
75
76       --includedir=DIRECTORY
77              Directory used to include the C header file
78
79       -h, --internal-header=FILE
80              Output internal C header file
81
82       --internal-vapi=FILE
83              Output vapi with internal api
84
85       --fast-vapi
86              Output vapi without performing symbol resolution
87
88       --use-fast-vapi
89              Use --fast-vapi output during this compile
90
91       --vapi-comments
92              Include comments in generated vapi
93
94       --deps Write make-style dependency information to this file
95
96       --depfile
97              Write  make-style external dependency information for build sys‐
98              tems to this file
99
100       --list-sources
101              Output a list of all source and binding files which are used
102
103       --symbols=FILE
104              Output symbols file
105
106       -c, --compile
107              Compile but do not link
108
109       -o, --output=FILE
110              Place output in file FILE
111
112       -g, --debug
113              Produce debug information
114
115       --thread
116              Enable multithreading support (DEPRECATED AND IGNORED)
117
118       --enable-mem-profiler
119              Enable GLib memory profiler
120
121       -D, --define=SYMBOL...
122              Define SYMBOL
123
124       --main=SYMBOL...
125              Use SYMBOL as entry point
126
127       --nostdpkg
128              Do not include standard packages
129
130       --disable-assert
131              Disable assertions
132
133       --enable-checking
134              Enable additional run-time checks
135
136       --enable-deprecated
137              Enable deprecated features
138
139       --hide-internal
140              Hide symbols marked as internal
141
142       --enable-experimental
143              Enable experimental features
144
145       --disable-warnings
146              Disable warnings
147
148       --fatal-warnings
149              Treat warnings as fatal
150
151       --disable-since-check
152              Do not check whether used symbols exist in local packages
153
154       -k, --keep-going
155              Continue as much as possible after an error
156
157       --enable-experimental-non-null
158              Enable experimental enhancements for non-null types
159
160       --enable-gobject-tracing
161              Enable GObject creation tracing
162
163       --cc=COMMAND
164              Use COMMAND as C compiler command
165
166       -X, --Xcc=OPTION...
167              Pass OPTION to the C compiler
168
169       --pkg-config=COMMAND
170              Use COMMAND as pkg-config command
171
172       --dump-tree=FILE
173              Write code tree to FILE
174
175       --save-temps
176              Keep temporary files
177
178       --profile=PROFILE
179              Minimum runtime dependency: 'gobject' (default) or 'posix' (min‐
180              imal libc)
181              gobject  enables  GLib's  GType runtime type system. The runtime
182              environment will usually require libgobject and its small number
183              of  dependencies.  posix removes the dependency on GLib and dis‐
184              ables the runtime type system. The profile either generates  al‐
185              ternative code or errors at compile time if a Vala language fea‐
186              ture is used that requires the runtime type system. This is use‐
187              ful for writing code, for example, that targets microcontrollers
188              or for extremely small system utilities or container images. The
189              runtime  environment  will usually require a small subset of the
190              ISO C standard library.
191
192       -q, --quiet
193              Do not print messages to the console
194
195       -v, --verbose
196              Print additional messages to the console
197
198       --no-color
199              Disable colored output, alias for --color=never
200
201       --color=WHEN
202              Enable color output, options are 'always', 'never', or 'auto'
203              When no value is given always is implied. When  neither  --color
204              or  --no-color are declared then --color=auto is used where out‐
205              put is colored when stderr is a terminal.
206
207       --target-glib='MAJOR.MINOR', or 'auto'
208              Target version of glib for code generation
209
210       --gresources=FILE...
211              XML of gresources
212
213       --gresourcesdir=DIRECTORY...
214              Look for resources in DIRECTORY
215
216       --enable-version-header
217              Write vala build version in generated files
218
219       --disable-version-header
220              Do not write vala build version in generated files
221
222       --run-args
223              Arguments passed to directly compiled executable
224
225       --abi-stability
226              Enable support for ABI stability
227              This changes the current behaviour to output public  members  of
228              classes  and  interfaces  the  same order as they appear in Vala
229              source.  For libraries is recommended to use --abi-stability  to
230              ensure  the  maintainability of the resulting Application Binary
231              Interface (ABI).  This option is disabled by default  for  back‐
232              ward   compatibility  because  it  can  break  ABI  of  existing
233              projects.
234

BUGS

236       https://gitlab.gnome.org/GNOME/vala/issues
237

HOMEPAGE OR CONTACT

239       https://wiki.gnome.org/Projects/Vala
240

FEATURES

242       Interfaces, properties, signals, foreach, lambda expressions, type  in‐
243       ference  for local variables, generics, non-null types, assisted memory
244       management, exception handling
245

AUTHORS

247       J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.
248
249
250
251Vala 0.56.1                       April 2022                          VALAC(1)
Impressum