Mercurial > vanilla
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Docs/options.md Fri Aug 02 21:20:00 2019 +0200 @@ -0,0 +1,86 @@ +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)