-option('gst_debug', type : 'boolean', value : true)
-option('gst_parse', type : 'boolean', value : true,
- description: 'Enable pipeline string parser')
-option('registry', type : 'boolean', value : true)
-option('tracer_hooks', type : 'boolean', value : true)
-option('ptp-helper-setuid-user', type : 'string',
- description : 'User to switch to when installing gst-ptp-helper setuid root')
-option('ptp-helper-setuid-group', type : 'string',
- description : 'Group to switch to when installing gst-ptp-helper setuid root')
-option('ptp-helper-permissions', type : 'combo',
- choices : ['none', 'setuid-root', 'capabilities', 'auto'], value : 'auto')
-option('option-parsing', type : 'boolean', value : true,
- description: 'Enable command line option parsing')
-option('poisoning', type : 'boolean', value : false, description : 'Enable poisoning of deallocated objects')
-option('memory-alignment', type: 'combo',
- choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
- value: 'malloc')
+# 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
-option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces')
-option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind')
-option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces')
-option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files')
-option('coretracers', type : 'feature', value : 'auto', description : 'Build coretracers plugin')
+# 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.''')
-# Common feature options
-option('examples', type : 'feature', value : 'auto', yield : true)
-option('tests', type : 'feature', value : 'auto', yield : true)
-option('benchmarks', 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('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('extra-checks', type : 'feature', value : 'enabled', yield : true, description : 'Enable extra runtime checks')
+# License-related feature options
+option('gpl', type: 'feature', value: 'disabled',
+ description: 'Allow build of plugins that have (A)GPL-licensed dependencies')
+
+# 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')
-# 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.')