mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-04 23:46:43 +00:00
337fee8388
The gstreamer-rs CI needs to build gtk to test the gtk4 plugin in gst-plugins-rs. Formalize support for gtk in the monorepo, and disable it by default because it's not an important dependency; unlike libnice. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7372>
91 lines
6.7 KiB
Meson
91 lines
6.7 KiB
Meson
# GStreamer subprojects
|
|
option('base', type : 'feature', value : 'enabled')
|
|
option('good', type : 'feature', value : 'enabled')
|
|
option('ugly', type : 'feature', value : 'enabled')
|
|
option('bad', type : 'feature', value : 'enabled')
|
|
option('libav', type : 'feature', value : 'auto')
|
|
option('devtools', type : 'feature', value : 'auto')
|
|
option('ges', type : 'feature', value : 'auto')
|
|
option('rtsp_server', type : 'feature', value : 'auto')
|
|
option('rs', type : 'feature', value : 'disabled')
|
|
option('vaapi', type : 'feature', value : 'disabled')
|
|
option('gst-examples', type : 'feature', value : 'auto', description : 'Build gst-examples subproject')
|
|
# Bindings
|
|
option('python', type : 'feature', value : 'auto')
|
|
option('sharp', type : 'feature', value : 'disabled')
|
|
# External subprojects
|
|
option('tls', type : 'feature', value : 'auto', description : 'TLS support using glib-networking as a subproject')
|
|
option('libnice', type : 'feature', value : 'auto', description: 'ICE support using libnice as a subproject')
|
|
option('gtk', type: 'feature', value: 'disabled', description: 'Build GTK4 as a subproject')
|
|
|
|
# Build for fuzzing
|
|
option('oss_fuzz', type : 'feature', value : 'disabled',
|
|
description: 'Use fuzzing build environment')
|
|
|
|
# Other options
|
|
option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')
|
|
option('gst-full', type: 'feature', value: 'auto', description: 'Enable the gstreamer-full library feature')
|
|
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('gst-full-target-type', type : 'combo', value : 'shared_library', choices: ['static_library', 'shared_library'],
|
|
description : '''The type of library of gstreamer-full-1.0.''')
|
|
option('orc-source', type: 'combo', choices: ['system', 'subproject', 'auto'], value: 'subproject')
|
|
option('build-tools-source', type: 'combo', choices: ['system', 'subproject'], value: 'subproject')
|
|
option('virtme_kernel_image', type: 'string', value: '', description: 'Path to a Linux kernel image to be used for virtme testing')
|
|
|
|
# License-related feature options
|
|
option('gpl', type: 'feature', value: 'disabled',
|
|
description: 'Allow build of plugins that have (A)GPL-licensed dependencies')
|
|
option('gstreamer-full-license', type : 'string', value : 'unknown',
|
|
description : 'gstreamer-full license (default unknown)')
|
|
|
|
# Common options specific to GStreamer, automatically inherited by subprojects.
|
|
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
|
description : 'package origin URL to use in plugins')
|
|
option('package-name', type : 'string', yield : true,
|
|
description : 'package name to use in plugins')
|
|
option('extra-checks', type : 'feature', value : 'enabled', description : 'Enable extra runtime checks')
|
|
option('benchmarks', type : 'feature', value : 'auto')
|
|
option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build command line tools')
|
|
option('orc', type : 'feature', value : 'auto', description : 'Optimized Inner Loop Runtime Compiler (SIMD)')
|
|
option('qt5', type : 'feature', value : 'auto', description : 'Qt5 toolkit support')
|
|
option('qt6', type : 'feature', value : 'auto', description : 'Qt6 toolkit support')
|
|
option('webrtc', type : 'feature', value : 'auto', description : 'WebRTC support')
|
|
|
|
# Common options shared by other projects, automatically inherited by subprojects.
|
|
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'},
|
|
)
|
|
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 : 'Native language support (translations)')
|
|
option('doc', type : 'feature', value : 'disabled', description : 'Generate API documentation with hotdoc')
|
|
option('gtk_doc', type : 'feature', value : 'disabled', description : 'Generate API documentation with gtk-doc')
|
|
|
|
# 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')
|