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
15 additional 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
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 Use the given profile instead of the default
180
181 -q, --quiet
182 Do not print messages to the console
183
184 -v, --verbose
185 Print additional messages to the console
186
187 --no-color
188 Disable colored output, alias for --color=never
189
190 --color=WHEN
191 Enable color output, options are 'always', 'never', or 'auto'
192 When no value is given always is implied. When neither --color
193 or --no-color are declared then --color=auto is used where out‐
194 put is colored when stderr is a terminal.
195
196 --target-glib='MAJOR.MINOR', or 'auto'
197 Target version of glib for code generation
198
199 --gresources=FILE...
200 XML of gresources
201
202 --gresourcesdir=DIRECTORY...
203 Look for resources in DIRECTORY
204
205 --enable-version-header
206 Write vala build version in generated files
207
208 --disable-version-header
209 Do not write vala build version in generated files
210
211 --run-args
212 Arguments passed to directly compiled executable
213
214 --abi-stability
215 Enable support for ABI stability
216 This changes the current behaviour to output public members of
217 classes and interfaces the same order as they appear in Vala
218 source. For libraries is recommended to use --abi-stability to
219 ensure the maintainability of the resulting Application Binary
220 Interface (ABI). This option is disabled by default for back‐
221 ward compatibility because it can break ABI of existing
222 projects.
223
225 https://gitlab.gnome.org/GNOME/vala/issues
226
228 https://wiki.gnome.org/Projects/Vala
229
231 Interfaces, properties, signals, foreach, lambda expressions, type
232 inference for local variables, generics, non-null types, assisted mem‐
233 ory management, exception handling
234
236 J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.
237
238
239
240Vala 0.48.15 March 2021 VALAC(1)