multiqueue: update for renamed log id macros
[platform/upstream/gstreamer.git] / meson_options.txt
index 5c96f65..49c20a0 100644 (file)
-# 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('y4m', type : 'feature', value : 'auto')
+# Subproject options
+option('python', type : 'feature', value : 'auto')
+option('libav', type : 'feature', value : 'auto')
+option('libnice', type : 'feature', value : 'auto')
+option('base', type : 'feature', value : 'enabled')
+option('good', type : 'feature', value : 'enabled')
+option('ugly', type : 'feature', value : 'auto')
+option('bad', type : 'feature', value : 'auto')
+option('devtools', type : 'feature', value : 'auto')
+option('ges', type : 'feature', value : 'auto')
+option('rtsp_server', type : 'feature', value : 'auto')
+option('omx', type : 'feature', value : 'disabled')
+option('vaapi', type : 'feature', value : 'disabled')
+option('sharp', type : 'feature', value : 'disabled')
+option('rs', type : 'feature', value : 'disabled')
+option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples')
+option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking')
+option('qt5', type : 'feature', value : 'auto', description : 'Qt5 Support')
+option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build command line tools')
 
-# Feature options for plugins with external deps
-option('aalib', type : 'feature', value : 'auto', description : 'aalib text console video sink 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('qt5', type : 'feature', value : 'auto', description : 'Qt5 QML video sink plugin')
-option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
-option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
-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')
+# Build for fuzzing
+option('oss_fuzz', type : 'feature', value : 'disabled',
+       description: 'Use fuzzing build environment')
 
-# 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')
+# Other options
+option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
+option('gst-full-libraries', type : 'array', value : [],
+  description : '''List of libraries to expose in gstreamer-full's ABI. gstreamer, glib and gobject are always included.''')
+option('gst-full-version-script', type : 'string', value: 'data/misc/gstreamer-full-default.map',
+  description : 'path of the version script to be used by the linker, see https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html')
+option('gst-full-plugins', type : 'string', value : '*',
+  description : '''List of plugins to expose in gstreamer-full's ABI with the syntax plugin1;plugin2. By default '*' will export all plugins enabled by the build process.''')
+option('gst-full-elements', type : 'string', value : '',
+  description : '''List of elements to expose in gstreamer-full's ABI with the syntax plugin1;plugin2:element1,element2. By default '' will export all element of the enabled plugin.''')
+option('gst-full-typefind-functions', type : 'string', value : '',
+  description : '''List of typefind functions to expose in gstreamer-full's ABI with the syntax plugin:func1,func2. By default '' will export all typefind functions of the enabled plugin.''')
+option('gst-full-device-providers', type : 'string', value : '',
+  description : '''List of device providers to expose in gstreamer-full's ABI with the syntax plugin1:dp1;plugin2:dp1:dp2. By default '' will export all device provider of the enabled plugin.''')
+option('gst-full-dynamic-types', type : 'string', value : '',
+  description : '''List of dynamic types to expose in gstreamer-full's ABI with the syntax plugin:dt1,dt2. By default '' will export all device provider of the enabled plugin.''')
+option('orc-source', type: 'combo', choices: ['system', 'subproject', 'auto'], value: 'subproject')
 
-# 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)')
+# License-related feature options
+option('gpl', type: 'feature', value: 'disabled',
+  description: 'Allow build of plugins that have (A)GPL-licensed dependencies')
 
-# 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 options, automatically inherited by subprojects
+option('tests', type : 'feature', value : 'auto', description : 'Build tests')
+option('examples', type : 'feature', value : 'auto', description : 'Build examples')
+option('introspection', type : 'feature', value : 'auto', description : 'Generate introspection data')
+option('nls', type : 'feature', value : 'auto', description : 'Enable native language support (translations)')
+option('orc', type : 'feature', value : 'auto', description : 'Enable Optimized Inner Loop Runtime Compiler')
+option('doc', type : 'feature', value : 'auto', description : 'Generate API documentation with hotdoc')
+option('gtk_doc', type : 'feature', value : 'disabled', description : 'Generate API documentation with gtk-doc')
+
+option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
+       description : 'package origin URL to use in plugins')
 
-# 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('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
        description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)')
 option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
        description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)')
 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)')
-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.')