comparison Docs/options.md @ 714:6b4ba668a43c

vanilla: update documentation
author David Demelier <markand@malikania.fr>
date Fri, 02 Aug 2019 21:20:00 +0200
parents
children 034a2a62a9f8
comparison
equal deleted inserted replaced
713:393525a3ecc3 714:6b4ba668a43c
1 Available options
2 =================
3
4 Use the following predefined options before creating your own.
5
6 - ACL: enable access control list support
7 - BLUETOOTH: enable bluetooth support
8 - BZIP2: enable bzip2 compression support
9 - DBUS: enable D-Bus support
10 - DOXYGEN: enable doxygen documentation support
11 - DRM: enable direct rendering manager support
12 - DTD: enable XML validation support
13 - EGL: enable EGL support
14 - FLAC: enable flac support
15 - FONTCONFIG: enable fontconfig support
16 - FREETYPE: enable freetype support
17 - GALLIUM: enable LLVM gallium support
18 - GDBM: enable GNU database support
19 - GLAMOR: enable 2D graphics support
20 - GLES1: enable GLES1 support
21 - GLES2: enable GLES2 support
22 - GLES3: enable GLES3 support
23 - GMP: enable GNU multiple precision library
24 - GTK2: enable Gtk 2 toolkit support
25 - GTK3: enable Gtk 3 toolkit support
26 - GTK4: enable Gtk 4 toolkit support
27 - GUILE: enable GNU guile support
28 - IDN2: enable libidn2 support
29 - KMS: enable kernel mode settings support
30 - LEGACY: enable obsolete or deprecated features
31 - LLVM: enable LLVM support
32 - LZ4: enable lz4 compression support
33 - LZMA: enable lzma compression support
34 - MIDI: enable midi support
35 - MNL: enable netlink minimalistic library support
36 - NLS: enable native language support
37 - OGG: enable libogg support
38 - PAM: enable PAM support
39 - PCRE: enable perl-like regular expression support
40 - PULSEAUDIO: enable PulseAudio support
41 - PYTHON: enable Python 3 bindings or support
42 - QT5: enable Qt 5 toolkit support
43 - SPHINX: enable sphinx documentation support
44 - SSH: enable SSH support
45 - SSL: enable SSL/TLS, some packages offer several choices (e.g. openssl, gnutls)
46 - UDEV: enable eudev support
47 - UUID: enable UUID support
48 - VORBIS: enable libvorbis support
49 - WACOM: enable wacom support
50 - WAYLAND: enable wayland support
51 - X: enable X.Org support
52 - XML: enable XML support
53 - XZ: enable XZ support
54 - ZLIB: enable zlib compression support
55 - ZSTD: enable zstd compression support
56
57 Always try to make an option easy to understand and not package specific. For
58 example BLUETOOTH is preferred over BLUEZ because a user knows what bluetooth is
59 but may not know that bluez is the current reference implementation. Also, it is
60 preferred to make an option generic to allow multiple values in case the
61 package offers it.
62
63 Example, if a package offers different implementations for SSL, consider the
64 option with a value (e.g. SSL=openssl, SSL=gnutls, and such).
65
66 Also, if a package offers different implementations that can be enabled all
67 together, use a list separated by space (e.g. XML="libxml2 expat").
68
69 Those options should only change the package behaviour, for example: manual
70 pages or any other resource files that are not strictly required; they must be
71 installed and the user may exclude them via `vpk` instead.
72
73 Also, options should usually be named in a canonical manner rather than a
74 package name. For example, OGG is better than LIBOGG because what the options
75 means is enabling the OGG codec support, not specifically the library.
76
77 The following options should be available for any package that builds C or C++
78 code:
79
80 - CBUILD: build system (usually ARCH-linux-musl)
81 - CHOST: host system (usually ARCH-linux-musl)
82 - CTARGET: target system (usually ARCH-linux-musl)
83 - CC: C compiler (defaults to gcc)
84 - CFLAGS: C flags (defaults to -O2)
85 - CXX: C++ compiler (defaults to g++)
86 - CXXFLAGS: C++ flags (defaults to -O2)