gstreamer/subprojects/gst-plugins-good/meson_options.txt
Xavier Claessens 84b3a0950d build: Add missing common options that are yielding in subprojects
- Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
  otherwise glib subproject won't inherit their value. Previous names
  and values are preserved using Meson's deprecation mechanism.
- Add `extra-checks` and `benchmarks` options in the main project so it
  can be inherited in GStreamer subprojects.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165>
2024-06-27 15:53:46 +00:00

148 lines
10 KiB
Meson

# Feature options for plugins without external deps
option('alpha', type : 'feature', value : 'auto')
option('apetag', type : 'feature', value : 'auto')
option('audiofx', type : 'feature', value : 'auto')
option('audioparsers', type : 'feature', value : 'auto')
option('auparse', type : 'feature', value : 'auto')
option('autodetect', type : 'feature', value : 'auto')
option('avi', type : 'feature', value : 'auto')
option('cutter', type : 'feature', value : 'auto')
option('debugutils', type : 'feature', value : 'auto')
option('deinterlace', type : 'feature', value : 'auto')
option('dtmf', type : 'feature', value : 'auto')
option('effectv', type : 'feature', value : 'auto')
option('equalizer', type : 'feature', value : 'auto')
option('flv', type : 'feature', value : 'auto')
option('flx', type : 'feature', value : 'auto')
option('goom', type : 'feature', value : 'auto')
option('goom2k1', type : 'feature', value : 'auto')
option('icydemux', type : 'feature', value : 'auto')
option('id3demux', type : 'feature', value : 'auto')
option('imagefreeze', type : 'feature', value : 'auto')
option('interleave', type : 'feature', value : 'auto')
option('isomp4', type : 'feature', value : 'auto')
option('law', type : 'feature', value : 'auto')
option('level', type : 'feature', value : 'auto')
option('matroska', type : 'feature', value : 'auto')
option('monoscope', type : 'feature', value : 'auto')
option('multifile', type : 'feature', value : 'auto')
option('multipart', type : 'feature', value : 'auto')
option('replaygain', type : 'feature', value : 'auto')
option('rtp', type : 'feature', value : 'auto')
option('rtpmanager', type : 'feature', value : 'auto')
option('rtsp', type : 'feature', value : 'auto')
option('shapewipe', type : 'feature', value : 'auto')
option('smpte', type : 'feature', value : 'auto')
option('spectrum', type : 'feature', value : 'auto')
option('udp', type : 'feature', value : 'auto')
option('videobox', type : 'feature', value : 'auto')
option('videocrop', type : 'feature', value : 'auto')
option('videofilter', type : 'feature', value : 'auto')
option('videomixer', type : 'feature', value : 'auto')
option('wavenc', type : 'feature', value : 'auto')
option('wavparse', type : 'feature', value : 'auto')
option('xingmux', type : 'feature', value : 'auto')
option('y4m', type : 'feature', value : 'auto')
# Feature options for plugins with external deps
option('adaptivedemux2', type : 'feature', value : 'auto', description : '2nd generation adaptive demuxer plugin')
option('aalib', type : 'feature', value : 'auto', description : 'aalib text console video sink plugin')
option('amrnb', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Narrow-Band audio codec plugin')
option('amrwbdec', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Wide-Band audio decoder plugin')
option('bz2', type : 'feature', value : 'auto', description : 'libbz2 support in the matroska plugin')
option('cairo', type : 'feature', value : 'auto', description : 'Cairo overlay plugin')
option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source/sink plugin')
option('dv', type : 'feature', value : 'auto', description : 'Digital video decoder and demuxer plugin')
option('dv1394', type : 'feature', value : 'auto', description : 'Digital IEEE1394 interface video source plugin')
option('flac', type : 'feature', value : 'auto', description : 'FLAC audio codec plugin')
option('gdk-pixbuf', type : 'feature', value : 'auto', description : 'gdk-pixbuf image decoder, overlay, and sink plugin')
option('gtk3', type : 'feature', value : 'auto', description : 'GTK+ video sink plugin')
option('jack', type : 'feature', value : 'auto', description : 'JACK audio source/sink plugin')
option('jpeg', type : 'feature', value : 'auto', description : 'JPEG image codec plugin')
option('lame', type : 'feature', value : 'auto', description : 'LAME mp3 audio encoder plugin')
option('libcaca', type : 'feature', value : 'auto', description : 'libcaca text console video sink plugin')
option('mpg123', type : 'feature', value : 'auto', description : 'mpg123 mp3 audio decoder plugin')
option('oss', type : 'feature', value : 'auto', description : 'OSS audio source/sink plugin')
option('oss4', type : 'feature', value : 'auto', description : 'OSSv4 audio source/sink plugin')
option('osxaudio', type : 'feature', value : 'auto', description : 'macOS/iOS CoreAudio source/sink plugin')
option('osxvideo', type : 'feature', value : 'auto', description : 'macOS Cocoa video sink plugin')
option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin')
option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin')
option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin')
option('taglib', type : 'feature', value : 'auto', description : 'Tag-writing plugin based on taglib')
option('twolame', type : 'feature', value : 'auto', description : 'twolame mp2 audio encoder plugin')
option('vpx', type : 'feature', value : 'auto', description : 'VP8 and VP9 video codec plugin')
option('waveform', type : 'feature', value : 'auto', description : 'Windows waveform audio sink plugin')
option('wavpack', type : 'feature', value : 'auto', description : 'Wavpack audio codec plugin')
# HLS plugin options
option('hls-crypto', type : 'combo', value : 'auto', choices : ['auto', 'nettle', 'libgcrypt', 'openssl'],
description: 'Crypto library to use for HLS plugin')
# rpicamsrc plugin options
option('rpicamsrc', type : 'feature', value : 'auto', description : 'Raspberry Pi camera module plugin')
option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found')
option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found')
# soup plugin options
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
option('soup-lookup-dep', type : 'boolean', value : false,
description : 'Lookup libsoup dep at build time even when building a shared plugin')
option('soup-version', type : 'combo', value : 'auto', choices : ['auto', '2', '3'],
description: 'Force a specific libsoup version if linking to it (N/A for shared builds on Linux)')
# Qt plugin options
option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
description: 'Method to use to find Qt')
option('qt-egl', type: 'feature', value: 'auto', description: 'EGLFS support in the Qt plugins')
option('qt-wayland', type: 'feature', value: 'auto', description: 'Wayland support in the Qt plugins')
option('qt-x11', type: 'feature', value: 'auto', description: 'X11 support in the Qt plugins')
option('qt5', type : 'feature', value : 'auto', yield : true, description : 'Qt5 QML video sink plugin')
option('qt6', type : 'feature', value : 'auto', yield : true, description : 'Qt6 QML video sink plugin')
# ximagesrc plugin options
option('ximagesrc', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin')
option('ximagesrc-xshm', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XSHM support)')
option('ximagesrc-xfixes', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XFixes support)')
option('ximagesrc-xdamage', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XDamage support)')
option('ximagesrc-navigation', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (Navigation support)')
# v4l2 plugin options
option('v4l2', type : 'feature', value : 'auto', description : 'Build video4linux2 source/sink plugin')
option('v4l2-probe', type : 'boolean', value : true, description : 'Probe v4l2 devices when the v4l2 plugin is loaded')
option('v4l2-libv4l2', type : 'feature', value : 'auto', description : 'Use libv4l2 for some obscure format conversions')
option('v4l2-gudev', type : 'feature', value : 'auto', description : 'Use libgudev for probing v4l2 devices')
# Common feature options
option('examples', type : 'feature', value : 'auto', yield : true)
option('tests', type : 'feature', value : 'auto', yield : true)
option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
option('orc', type : 'feature', value : 'auto', yield : true)
option('asm', type : 'feature', value : 'auto', yield : true)
# Common options
option('package-name', type : 'string', yield : true,
description : 'package name to use in plugins')
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
description : 'package origin URL to use in plugins')
option('doc', type : 'feature', value : 'auto', yield: true,
description: 'Enable documentation.')
option('glib_debug', type : 'feature', value : 'auto', yield : true, description : 'Enable GLib debug infrastructure (see docs/macros.txt)')
option('glib_assert', type : 'boolean', value : true, yield : true, description : 'Enable GLib assertion (see docs/macros.txt)',
deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'},
)
option('glib_checks', type : 'boolean', value : true, yield : true, description : 'Enable GLib checks such as API guards (see docs/macros.txt)',
deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'},
)
# Deprecated, kept for backward compat
option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)',
deprecated: 'glib_debug')
option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)',
deprecated: 'glib_assert')
option('glib-checks', type : 'feature', value : 'enabled', yield : true,
description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)',
deprecated: 'glib_checks')