Docs/options.md

Fri, 15 Nov 2019 20:05:00 +0100

author
David Demelier <markand@malikania.fr>
date
Fri, 15 Nov 2019 20:05:00 +0100
changeset 1207
c9592a9a949b
parent 1107
7791d3dbfecf
permissions
-rw-r--r--

python/python2: add DEPRECATED tag

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

Use the following predefined options before creating your own.

- AAC: enable AAC audio codec support
- ACL: enable access control list support
- ALSA: enable Advanced Linux Sound Architecture support
- AO: enable libao library support
- ATTR: enable attributes support
- AUDIOFILE: enable audiofile support
- AUDIT: enable security audit support
- AVAHI: enable avahi support
- BLUETOOTH: enable bluetooth support
- BLURAY: enable bluray disc support
- BMP: enable BMP image format support
- BZIP2: enable bzip2 compression support
- CAIRO: enable cairo graphics
- CAP: enable capabilities support
- CD: enable CD access support (possible alternatives)
- CDPARANOIA: enable CD-Audio support through cdparanoia
- COLORS: enable colors support
- COMPLETION: enable command line completion (possible alternatives)
- CRYPTO: enable cryptographic functionalities
- CUPS: enable printing support through CUPS
- CURL: enable HTTP and general networking support through CURL
- DBUS: enable D-Bus support
- DOXYGEN: enable doxygen documentation support
- DRM: enable direct rendering manager support
- DTD: enable XML validation support
- DVD: enable DVD support
- EGL: enable EGL support
- EVDEV: enable input drivers through evdev
- FFI: enable foreign function interface support
- FFMPEG: enable multimedia FFMPEG framework support
- FLAC: enable flac support
- FLUIDSYNTH: enable SoundFont synthesizer support
- FONTCONFIG: enable fontconfig support
- FUSE: enable file system in userspace support
- GALLIUM: enable LLVM gallium support
- GDBM: enable GNU database support
- GEOLOCATION: enable geolocation positioning support
- GIF: enable GIF image format 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
- GPM: enable mouse in console support
- GSTREAMER: enable gstreamer multimedia framework support
- GTK2: enable Gtk 2 toolkit support
- GTK: enable Gtk 3 toolkit support
- GUI: enable generic GUI support
- GUILE: enable GNU guile support
- HARFBUZZ: enable font rendering engine support
- ICU: enable International Components for Unicode support
- ID3: enable ID3 tags 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
- LADSPA: enable Linux Audio Developers Simple Plugin API support
- LBM: enable LBM image format 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
- MIKMOD: enable mikmod support
- MMS: enable MMSH/MMST protocol support
- MNL: enable netlink minimalistic library support
- MP2: enable MPEG2 support
- MP3: enable MPEG3 support (possible alternatives)
- 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
- OPENAL: enable OpenAL audio 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
- PCX: enable PCX image format support
- PDF: enable PDF support
- PERL: enable Perl language
- PNG: enable PNG image format support
- PNM: enable PNM image format support
- POLKIT: enable polkit authentication engine support
- PULSEAUDIO: enable PulseAudio support
- PYTHON: enable Python 3 bindings or support
- QT: enable Qt toolkit support
- READLINE: enable command line completion support through readline
- REGEX: enable regular expression support (possible alternatives)
- RUBY: enable Ruby bindings
- SAMPLERATE: enable libsamplerate support
- SDL2: enable SDL2 library support
- SELINUX: enable NSA SELinux support
- SHOUT: enable icecast streaming support
- SNDFILE: enable sound library support through libsndfile
- SOXR: enable soxr audio codec support
- SPEEX: enable speex audio codec 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
- TGA: enable TGA image format 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
- USB: enable USB support
- UUID: enable UUID support
- VALA: enable vala bindings support
- VORBIS: enable libvorbis support
- VULKAN: enable vulkan support
- WACOM: enable wacom support
- WAVPACK: enable wavpack audio codec support
- WAYLAND: enable wayland support
- WEBCAM: enable webcam support
- WEBDAV: enable WebDAV support
- WEBKIT: enable webkit web engine support
- WEBP: enable webp image format support
- WOFF2: enable woff2 font support
- X264: enable H.264 video codec support
- X265: enable H.265 video codec support
- X: enable X.Org support
- XCF: enable XCF image format support
- XML: enable XML support
- XPM: enable XPM image format support
- XZ: enable XZ support
- YAML: enable YAML text file format 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)

mercurial