1VALAC(1) User Commands VALAC(1)
2
3
4
6 valac - compiler that translates Vala source code into C source and
7 header files
8
10 valac [OPTION]... [FILE]...
11
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
236 https://gitlab.gnome.org/GNOME/vala/issues
237
239 https://wiki.gnome.org/Projects/Vala
240
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
247 J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.
248
249
250
251Vala 0.56.1 April 2022 VALAC(1)