From 40371ff9c678422f99ddfc0c80b9254a2f203afd Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 14 Jan 2023 13:55:53 +0530 Subject: [PATCH] meson: Reorganize meson options a bit Enable core gstreamer subprojects bad, ugly, libav, ges, devtools by default. Otherwise if, say, you do, -Dgst-plugins-bad:dtls=enabled and openssl is not found, meson will disable the entire subproject. You have to pass -Dbad=enabled -Dgst-plugins-bad:dtls=enabled to get the expected behaviour. Also move options that are not for selection subprojects out of the section, add a qt6 option, and improve the description for some options. Part-of: --- meson_options.txt | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/meson_options.txt b/meson_options.txt index 49c20a0705..b5e01b9675 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,22 +1,22 @@ -# Subproject options -option('python', type : 'feature', value : 'auto') -option('libav', type : 'feature', value : 'auto') -option('libnice', type : 'feature', value : 'auto') +# GStreamer subprojects 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('ugly', type : 'feature', value : 'enabled') +option('bad', type : 'feature', value : 'enabled') +option('libav', type : 'feature', value : 'enabled') +option('devtools', type : 'feature', value : 'enabled') +option('ges', type : 'feature', value : 'enabled') +option('rtsp_server', type : 'feature', value : 'enabled') +option('rs', type : 'feature', value : 'disabled') option('omx', 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') -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') +# 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') # Build for fuzzing option('oss_fuzz', type : 'feature', value : 'disabled', @@ -46,12 +46,15 @@ option('gpl', type: 'feature', value: 'disabled', # Common options, automatically inherited by subprojects option('tests', type : 'feature', value : 'auto', description : 'Build tests') +option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build command line tools') 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('nls', type : 'feature', value : 'auto', description : 'Native language support (translations)') +option('orc', type : 'feature', value : 'auto', description : 'Optimized Inner Loop Runtime Compiler (SIMD)') 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('qt5', type : 'feature', value : 'auto', description : 'Qt5 toolkit support') +option('qt6', type : 'feature', value : 'auto', description : 'Qt6 toolkit support') option('package-origin', type : 'string', value : 'Unknown package origin', yield : true, description : 'package origin URL to use in plugins')