summaryrefslogtreecommitdiff
path: root/doc/valac.1
blob: 4fef4d0863e25539b31ecf01f7ba886928e38098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.2.
.TH VALAC "1" "July 2022" "Vala 0.56.2" "User Commands"
.SH NAME
valac \- compiler that translates Vala source code into C source and header files
.SH SYNOPSIS
.B valac
[\fIOPTION\fR]... [\fIFILE\fR]...
.SH 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.
.TP
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.
.SS "Usage:"
.IP
valac [OPTION?] FILE... \- Vala Compiler
.SS "Help Options:"
.TP
\-?, \fB\-\-help\fR
Show help options
.SS "Application Options:"
.TP
\fB\-\-vapidir\fR=\fI\,DIRECTORY\/\fR...
Look for package bindings in DIRECTORY
.TP
\fB\-\-girdir\fR=\fI\,DIRECTORY\/\fR...
Look for .gir files in DIRECTORY
.TP
\fB\-\-metadatadir\fR=\fI\,DIRECTORY\/\fR...
Look for GIR .metadata files in DIRECTORY
.TP
\fB\-\-pkg\fR=\fI\,PACKAGE\/\fR...
Include binding for PACKAGE
.TP
\fB\-\-vapi\fR=\fI\,FILE\/\fR
Output VAPI file name
.TP
\fB\-\-library\fR=\fI\,NAME\/\fR
Library name
.TP
\fB\-\-shared\-library\fR=\fI\,NAME\/\fR
Shared library name used in generated gir
.TP
\fB\-\-gir\fR=\fI\,NAME\-VERSION\/\fR.gir
GObject\-Introspection repository file name
.TP
\fB\-b\fR, \fB\-\-basedir\fR=\fI\,DIRECTORY\/\fR
Base source directory
.TP
\fB\-d\fR, \fB\-\-directory\fR=\fI\,DIRECTORY\/\fR
Change output directory from current working directory
.TP
\fB\-\-version\fR
Display version number
.TP
\fB\-\-api\-version\fR
Display API version number
.TP
\fB\-C\fR, \fB\-\-ccode\fR
Output C code
.TP
\fB\-H\fR, \fB\-\-header\fR=\fI\,FILE\/\fR
Output C header file
.TP
\fB\-\-use\-header\fR
Use C header file (DEPRECATED AND IGNORED)
.TP
\fB\-\-includedir\fR=\fI\,DIRECTORY\/\fR
Directory used to include the C header file
.TP
\fB\-h\fR, \fB\-\-internal\-header\fR=\fI\,FILE\/\fR
Output internal C header file
.TP
\fB\-\-internal\-vapi\fR=\fI\,FILE\/\fR
Output vapi with internal api
.TP
\fB\-\-fast\-vapi\fR
Output vapi without performing symbol resolution
.TP
\fB\-\-use\-fast\-vapi\fR
Use \fB\-\-fast\-vapi\fR output during this compile
.TP
\fB\-\-vapi\-comments\fR
Include comments in generated vapi
.TP
\fB\-\-deps\fR
Write make\-style dependency information to this file
.TP
\fB\-\-depfile\fR
Write make\-style external dependency information for build systems to this file
.TP
\fB\-\-list\-sources\fR
Output a list of all source and binding files which are used
.TP
\fB\-\-symbols\fR=\fI\,FILE\/\fR
Output symbols file
.TP
\fB\-c\fR, \fB\-\-compile\fR
Compile but do not link
.TP
\fB\-o\fR, \fB\-\-output\fR=\fI\,FILE\/\fR
Place output in file FILE
.TP
\fB\-g\fR, \fB\-\-debug\fR
Produce debug information
.TP
\fB\-\-thread\fR
Enable multithreading support (DEPRECATED AND IGNORED)
.TP
\fB\-\-enable\-mem\-profiler\fR
Enable GLib memory profiler
.TP
\fB\-D\fR, \fB\-\-define\fR=\fI\,SYMBOL\/\fR...
Define SYMBOL
.TP
\fB\-\-main\fR=\fI\,SYMBOL\/\fR...
Use SYMBOL as entry point
.TP
\fB\-\-nostdpkg\fR
Do not include standard packages
.TP
\fB\-\-disable\-assert\fR
Disable assertions
.TP
\fB\-\-enable\-checking\fR
Enable additional run\-time checks
.TP
\fB\-\-enable\-deprecated\fR
Enable deprecated features
.TP
\fB\-\-hide\-internal\fR
Hide symbols marked as internal
.TP
\fB\-\-enable\-experimental\fR
Enable experimental features
.TP
\fB\-\-disable\-warnings\fR
Disable warnings
.TP
\fB\-\-fatal\-warnings\fR
Treat warnings as fatal
.TP
\fB\-\-disable\-since\-check\fR
Do not check whether used symbols exist in local packages
.TP
\fB\-k\fR, \fB\-\-keep\-going\fR
Continue as much as possible after an error
.TP
\fB\-\-enable\-experimental\-non\-null\fR
Enable experimental enhancements for non\-null types
.TP
\fB\-\-enable\-gobject\-tracing\fR
Enable GObject creation tracing
.TP
\fB\-\-cc\fR=\fI\,COMMAND\/\fR
Use COMMAND as C compiler command
.TP
\fB\-X\fR, \fB\-\-Xcc\fR=\fI\,OPTION\/\fR...
Pass OPTION to the C compiler
.TP
\fB\-\-pkg\-config\fR=\fI\,COMMAND\/\fR
Use COMMAND as pkg\-config command
.TP
\fB\-\-dump\-tree\fR=\fI\,FILE\/\fR
Write code tree to FILE
.TP
\fB\-\-save\-temps\fR
Keep temporary files
.TP
\fB\-\-profile\fR=\fI\,PROFILE\/\fR
Minimum runtime dependency: 'gobject' (default) or 'posix' (minimal libc)
.RS
\fIgobject\fR enables GLib's GType runtime type system. The runtime environment
will usually require libgobject and its small number of dependencies.
\fIposix\fR removes the dependency on GLib and disables the runtime type
system. The profile either generates alternative code or errors at compile time
if a Vala language feature is used that requires the runtime type system. This
is useful for writing code, for example, that targets microcontrollers or
for extremely small system utilities or container images. The runtime
environment will usually require a small subset of the ISO C standard library.
.RE
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Do not print messages to the console
.TP
\fB\-v\fR, \fB\-\-verbose\fR
Print additional messages to the console
.TP
\fB\-\-no\-color\fR
Disable colored output, alias for \fB\-\-color\fR=\fI\,never\/\fR
.TP
\fB\-\-color\fR=\fI\,WHEN\/\fR
Enable color output, options are 'always', 'never', or 'auto'
.RS
When no value is given \fIalways\fR is implied. When neither \fB--color\fR
or \fB--no-color\fR are declared then \fB--color\fR=\fIauto\fR is used where
output is colored when stderr is a terminal.
.RE
.TP
\fB\-\-target\-glib=\fR'MAJOR.MINOR', or 'auto'
Target version of glib for code generation
.TP
\fB\-\-gresources\fR=\fI\,FILE\/\fR...
XML of gresources
.TP
\fB\-\-gresourcesdir\fR=\fI\,DIRECTORY\/\fR...
Look for resources in DIRECTORY
.TP
\fB\-\-enable\-version\-header\fR
Write vala build version in generated files
.TP
\fB\-\-disable\-version\-header\fR
Do not write vala build version in generated files
.TP
\fB\-\-run\-args\fR
Arguments passed to directly compiled executable
.TP
\fB\-\-abi\-stability\fR
Enable support for ABI stability
.RS
This changes the current behaviour to output public members of classes and
interfaces the same order as they appear in Vala source.
For libraries is recommended to use \fB--abi-stability\fR to ensure the
maintainability of the resulting Application Binary Interface (ABI).
This option is disabled by default for backward compatibility because it can
break ABI of existing projects.
.RE
.SH BUGS
https://gitlab.gnome.org/GNOME/vala/issues
.SH "HOMEPAGE OR CONTACT"
https://wiki.gnome.org/Projects/Vala
.SH FEATURES
Interfaces, properties, signals, foreach, lambda expressions, type
inference for local variables, generics, non-null types, assisted memory
management, exception handling
.SH AUTHORS
J??rg Billeter, Raffaele Sandrini, Rico Tzschichholz.