-option('audioresample_format', type : 'combo',
- choices : ['int', 'float', 'auto'], value : 'auto')
-option('install_plugins_helper', type: 'string', value: '',
- description: 'Path of distro helper script to call to install missing plugins')
-option('iso-codes', type : 'feature', value : 'auto',
- description: 'Use iso-codes in libgsttag (for language names)')
+# 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')
-# OpenGL integration library options
-option('gl_api', type : 'array', choices : ['opengl', 'gles2', 'auto'], value : ['auto'],
- description : 'A comma separated list of opengl APIs to enable building against')
-option('gl_platform', type : 'array',
- choices : ['glx', 'egl', 'cgl', 'wgl', 'eagl', 'auto'], value : ['auto'],
- description : 'A comma separated list of opengl platforms to enable building against')
-option('gl_winsys', type : 'array',
- choices : ['x11', 'wayland', 'win32', 'winrt', 'cocoa', 'dispmanx', 'viv-fb', 'gbm', 'android', 'auto'], value : ['auto'],
- description : 'A comma separated list of opengl windows systems to enable building against. Supported values are x11, wayland, win32, winrt, cocoa, dispmanx, viv-fb, gbm, and android')
-option('egl_module_name', type : 'string', value : '',
- description : 'The file to pass to g_module_open to open the libEGL library (default: libEGL)')
-option('opengl_module_name', type : 'string', value : '',
- description : 'The file to pass to g_module_open to open the libGL library (default: libGL)')
-option('gles2_module_name', type : 'string', value : '',
- description : 'The file to pass to g_module_open to open the libGLESv2 library (default: libGLESv2)')
+# 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.''')
-# Feature option for opengl plugin and integration library
-option('gl', type : 'feature', value : 'auto', description : 'OpenGL integration library and OpenGL plugin')
-option('gl-graphene', type : 'feature', value : 'auto', description : 'Use Graphene in OpenGL plugin')
-option('gl-jpeg', type : 'feature', value : 'auto', description : 'Use libjpeg in OpenGL plugin')
-option('gl-png', type : 'feature', value : 'auto', description : 'Use libpng in OpenGL plugin')
+# License-related feature options
+option('gpl', type: 'feature', value: 'disabled',
+ description: 'Allow build of plugins that have (A)GPL-licensed dependencies')
-# Feature options for plugins with no external deps
-option('adder', type : 'feature', value : 'auto')
-option('app', type : 'feature', value : 'auto')
-option('audioconvert', type : 'feature', value : 'auto')
-option('audiomixer', type : 'feature', value : 'auto')
-option('audiorate', type : 'feature', value : 'auto')
-option('audioresample', type : 'feature', value : 'auto')
-option('audiotestsrc', type : 'feature', value : 'auto')
-option('compositor', type : 'feature', value : 'auto')
-option('encoding', type : 'feature', value : 'auto')
-option('gio', type : 'feature', value : 'auto')
-option('overlaycomposition', type : 'feature', value : 'auto')
-option('pbtypes', type : 'feature', value : 'auto')
-option('playback', type : 'feature', value : 'auto')
-option('rawparse', type : 'feature', value : 'auto')
-option('subparse', type : 'feature', value : 'auto')
-option('tcp', type : 'feature', value : 'auto')
-option('typefind', type : 'feature', value : 'auto')
-option('videoconvert', type : 'feature', value : 'auto')
-option('videorate', type : 'feature', value : 'auto')
-option('videoscale', type : 'feature', value : 'auto')
-option('videotestsrc', type : 'feature', value : 'auto')
-option('volume', type : 'feature', value : 'auto')
+# 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')
-# Feature options for plugins with external deps
-option('alsa', type : 'feature', value : 'auto', description : 'ALSA audio source/sink plugin')
-option('cdparanoia', type : 'feature', value : 'auto', description : 'cdparanoia plugin')
-option('libvisual', type : 'feature', value : 'auto', description : 'libvisual audio visualization plugin')
-option('ogg', type : 'feature', value : 'auto', description : 'ogg parser, muxer, demuxer plugin')
-option('opus', type : 'feature', value : 'auto', description : 'OPUS audio codec plugin')
-option('pango', type : 'feature', value : 'auto', description : 'Pango text rendering and overlay plugin')
-option('theora', type : 'feature', value : 'auto', description : 'Theora video parser and codec plugin')
-option('tremor', type : 'feature', value : 'auto', description : 'Integer Vorbis decoder plugin for devices without floating point')
-option('vorbis', type : 'feature', value : 'auto', description : 'Vorbis audio parser, tagger, and codec plugin')
-option('x11', type : 'feature', value : 'auto', description : 'X11 ximagesink plugin, and X11 support in libraries, plugins, examples')
-option('xshm', type : 'feature', value : 'auto', description : 'X11 shared memory support for X11 plugins')
-option('xvideo', type : 'feature', value : 'auto', description : 'X11 XVideo xvimagesink plugin')
-
-# Common feature options
-option('examples', type : 'feature', value : 'auto', yield : true)
-option('tests', type : 'feature', value : 'auto', yield : true)
-option('tools', type : 'feature', value : 'auto', yield : true)
-option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings')
-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)')
-
-# 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.')
\ No newline at end of file