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)