Mercurial > vanilla
view 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 |
line wrap: on
line source
Available options ================= Use the following predefined options before creating your own. - ACL: enable access control list support - BLUETOOTH: enable bluetooth support - BZIP2: enable bzip2 compression support - DBUS: enable D-Bus support - DOXYGEN: enable doxygen documentation support - DRM: enable direct rendering manager support - DTD: enable XML validation support - EGL: enable EGL support - FLAC: enable flac support - FONTCONFIG: enable fontconfig support - FREETYPE: enable freetype support - GALLIUM: enable LLVM gallium support - GDBM: enable GNU database support - GLAMOR: enable 2D graphics support - GLES1: enable GLES1 support - GLES2: enable GLES2 support - GLES3: enable GLES3 support - GMP: enable GNU multiple precision library - GTK2: enable Gtk 2 toolkit support - GTK3: enable Gtk 3 toolkit support - GTK4: enable Gtk 4 toolkit support - GUILE: enable GNU guile support - IDN2: enable libidn2 support - KMS: enable kernel mode settings support - LEGACY: enable obsolete or deprecated features - LLVM: enable LLVM support - LZ4: enable lz4 compression support - LZMA: enable lzma compression support - MIDI: enable midi support - MNL: enable netlink minimalistic library support - NLS: enable native language support - OGG: enable libogg support - PAM: enable PAM support - PCRE: enable perl-like regular expression support - PULSEAUDIO: enable PulseAudio support - PYTHON: enable Python 3 bindings or support - QT5: enable Qt 5 toolkit support - SPHINX: enable sphinx documentation support - SSH: enable SSH support - SSL: enable SSL/TLS, some packages offer several choices (e.g. openssl, gnutls) - UDEV: enable eudev support - UUID: enable UUID support - VORBIS: enable libvorbis support - WACOM: enable wacom support - WAYLAND: enable wayland support - X: enable X.Org support - XML: enable XML support - XZ: enable XZ support - ZLIB: enable zlib compression support - ZSTD: enable zstd compression support Always try to make an option easy to understand and not package specific. For example BLUETOOTH is preferred over BLUEZ because a user knows what bluetooth is but may not know that bluez is the current reference implementation. Also, it is preferred to make an option generic to allow multiple values in case the package offers it. Example, if a package offers different implementations for SSL, consider the option with a value (e.g. SSL=openssl, SSL=gnutls, and such). Also, if a package offers different implementations that can be enabled all together, use a list separated by space (e.g. XML="libxml2 expat"). Those options should only change the package behaviour, for example: manual pages or any other resource files that are not strictly required; they must be installed and the user may exclude them via `vpk` instead. Also, options should usually be named in a canonical manner rather than a package name. For example, OGG is better than LIBOGG because what the options means is enabling the OGG codec support, not specifically the library. The following options should be available for any package that builds C or C++ code: - CBUILD: build system (usually ARCH-linux-musl) - CHOST: host system (usually ARCH-linux-musl) - CTARGET: target system (usually ARCH-linux-musl) - CC: C compiler (defaults to gcc) - CFLAGS: C flags (defaults to -O2) - CXX: C++ compiler (defaults to g++) - CXXFLAGS: C++ flags (defaults to -O2)