summaryrefslogtreecommitdiff
path: root/doc/valac.h2m
blob: 97995fa5d7d9ba56a25fcf5cba08b4872ab79136 (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
[NAME]
valac \- compiler that translates Vala source code into C source and header files

[SYNOPSIS]
.B valac
[\fIOPTION\fR]... [\fIFILE\fR]...

[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.

/Enable color output/
.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

/Minimum runtime dependency/
.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

/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

[BUGS]
https://gitlab.gnome.org/GNOME/vala/issues

[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, Rico Tzschichholz.