view Docs/options.md @ 951:67b57aa57109

kde/breeze-icons: initial import, closes #1783
author David Demelier <markand@malikania.fr>
date Wed, 21 Aug 2019 20:35:00 +0200
parents 25a95c53d800
children 7791d3dbfecf
line wrap: on
line source

Available options
=================

Use the following predefined options before creating your own.

- ACL: enable access control list support
- ALSA: enable Advanced Linux Sound Architecture support
- ATTR: enable attributes support
- AUDIT: enable security audit support
- AVAHI: enable avahi support
- BLUETOOTH: enable bluetooth support
- BZIP2: enable bzip2 compression support
- CAIRO: enable cairo graphics
- CAP: enable capabilities support
- CDPARANOIA: enable CD-Audio support through cdparanoia
- COLORS: enable colors support
- CRYPTO: enable cryptographic functionalities
- CUPS: enable printing support through CUPS
- 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
- EVDEV: enable input drivers through evdev
- FFI: enable foreign function interface support
- FLAC: enable flac support
- FONTCONFIG: enable fontconfig support
- GALLIUM: enable LLVM gallium support
- GDBM: enable GNU database support
- GEOLOCATION: enable geolocation positioning support
- GLAMOR: enable 2D graphics support
- GLES1: enable GLES1 support
- GLES2: enable GLES2 support
- GLES3: enable GLES3 support
- GLIB: enable glib library support
- GMP: enable GNU multiple precision library
- GNOME: enable GNOME desktop support
- GSTREAMER: enable gstreamer multimedia framework support
- GTK2: enable Gtk 2 toolkit support
- GTK: enable Gtk 3 toolkit support
- GUILE: enable GNU guile support
- HARFBUZZ: enable font rendering engine support
- ICU: enable International Components for Unicode support
- IDN2: enable libidn2 support
- INTROSPECTION: enable GObject introspection support
- IPV6: enable IPv6 support
- JACK: enable JACK Audio Connection Kit support
- JPEG: enable JPEG image format support
- KERBEROS: enable kerberos authentication system support
- KMS: enable kernel mode settings support
- LEGACY: enable obsolete or deprecated features
- LIBEDIT: enable command line completion through libedit
- LIBINPUT: enable input drivers through libinput
- LLVM: enable LLVM support
- LZ4: enable lz4 compression support
- LZMA: enable lzma compression support
- LZO: enable lz4 compression support
- MIDI: enable midi support
- MNL: enable netlink minimalistic library support
- MTDEV: enable multitouch devices support
- NCURSES: enable new curses library support
- NGHTTP2: enable nghttp2 support
- NLS: enable native language support
- NOTIFICATIONS: enable desktop notifications
- OGG: enable libogg support
- OPENGL: enable OpenGL support
- OPENMP: enable OpenMP support
- OPUS: enable OPUS audio codec support
- OSS: enable OpenSound System support
- PAM: enable PAM support
- PANGO: enable pango font engine support
- PCRE: enable perl-like regular expression support
- PDF: enable PDF support
- PERL: enable Perl language
- PNG: enable PNG image format support
- POLKIT: enable polkit authentication engine support
- PULSEAUDIO: enable PulseAudio support
- PYTHON: enable Python 3 bindings or support
- QT5: enable Qt 5 toolkit support
- READLINE: enable command line completion support through readline
- SELINUX: enable NSA SELinux support
- SPELL: enable spell check support
- SPHINX: enable sphinx documentation support
- SSH: enable SSH support
- SSL: enable SSL/TLS, some packages offer several choices (e.g. openssl, gnutls)
- STATIC: build static libraries or executable (internal use only)
- SVG: enable SVG image format support
- SYSLOG: enable logs through syslog support
- TCL: enable TCL language support
- THEORA: enable theora video codec support
- TIFF: enable TIFF image format support
- TRUECOLOR: enable truecolor in terminal applications
- TTF: enable truetype font support (usually freetype)
- UDEV: enable eudev support
- UPOWER: enable upower system support
- UUID: enable UUID support
- VALA: enable vala bindings support
- VORBIS: enable libvorbis support
- VULKAN: enable vulkan support
- WACOM: enable wacom support
- WAYLAND: enable wayland support
- WEBKIT: enable webkit web engine support
- WEBP: enable webp image format support
- WOFF2: enable woff2 font 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)