From a4bbcb9ab9ed265841549766fee574ad5d14d29b Mon Sep 17 00:00:00 2001 From: Marvin W Date: Mon, 30 Jun 2025 18:19:23 +0200 Subject: Meson: Improve plugin building Make relevant plugins enabled by default (instead of auto-enabling them if dependencies are met). Also make disabled plugins explicit in the summary. --- meson_options.txt | 12 ++++++------ plugins/http-files/meson.build | 2 +- plugins/ice/meson.build | 2 +- plugins/omemo/meson.build | 2 +- plugins/openpgp/meson.build | 2 +- plugins/rtp/meson.build | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/meson_options.txt b/meson_options.txt index 70fc15c4..781e1478 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -2,15 +2,15 @@ option('plugindir', type: 'string', value: 'dino/plugins', description: 'Dino pl option('set-install-rpath', type: 'boolean', value: false, description: 'Set rpath of installed binaries to the configured libdir') -option('plugin-http-files', type: 'feature', description: 'HTTP file upload') -option('plugin-ice', type: 'feature', description: 'Peer-to-peer communication') -option('plugin-omemo', type: 'feature', description: 'End-to-end encryption using OMEMO') -option('plugin-openpgp', type: 'feature', description: 'End-to-end encryption using PGP') -option('plugin-rtp', type: 'feature', description: 'Voice/video calls') +option('plugin-http-files', type: 'feature', value: 'enabled', description: 'HTTP file upload') +option('plugin-ice', type: 'feature', value: 'enabled', description: 'Peer-to-peer communication') +option('plugin-omemo', type: 'feature', value: 'enabled', description: 'End-to-end encryption using OMEMO') +option('plugin-openpgp', type: 'feature', value: 'auto', description: 'End-to-end encryption using PGP') +option('plugin-rtp', type: 'feature', value: 'enabled', description: 'Voice/video calls') option('plugin-notification-sound', type: 'feature', value: 'disabled', description: 'Sound for chat notifications') option('plugin-rtp-h264', type: 'feature', value: 'disabled', description: 'H264 codec') option('plugin-rtp-msdk', type: 'feature', value: 'disabled', description: 'Intel MediaSDK') option('plugin-rtp-vaapi', type: 'feature', value: 'disabled', description: 'Video Acceleration API') option('plugin-rtp-vp9', type: 'feature', value: 'disabled', description: 'VP9 codec') -option('plugin-rtp-webrtc-audio-processing', type: 'feature', description: 'Voice preprocessing') +option('plugin-rtp-webrtc-audio-processing', value: 'auto', type: 'feature', description: 'Voice preprocessing') diff --git a/plugins/http-files/meson.build b/plugins/http-files/meson.build index 7ab97014..20ddf23d 100644 --- a/plugins/http-files/meson.build +++ b/plugins/http-files/meson.build @@ -19,4 +19,4 @@ vala_args = [ ] lib_http_files = shared_library('http-files', sources, name_prefix: '', vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_http_files = declare_dependency(link_with: lib_http_files, include_directories: include_directories('.')) -summary('HTTP file upload (http-files)', dep_http_files, section: 'Plugins') +summary('HTTP file upload (http-files)', dep_http_files.found(), bool_yn: true, section: 'Plugins') diff --git a/plugins/ice/meson.build b/plugins/ice/meson.build index 8743a48c..48db71f5 100644 --- a/plugins/ice/meson.build +++ b/plugins/ice/meson.build @@ -26,4 +26,4 @@ vala_args = [ ] lib_ice = shared_library('ice', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_ice = declare_dependency(link_with: lib_ice, include_directories: include_directories('.')) -summary('Peer-to-peer communication (ice)', dep_ice, section: 'Plugins') +summary('Peer-to-peer communication (ice)', dep_ice.found(), bool_yn: true, section: 'Plugins') diff --git a/plugins/omemo/meson.build b/plugins/omemo/meson.build index 273d8831..4418dd23 100644 --- a/plugins/omemo/meson.build +++ b/plugins/omemo/meson.build @@ -71,7 +71,7 @@ vala_args = [ ] lib_omemo = shared_library('omemo', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_omemo = declare_dependency(link_with: lib_omemo, include_directories: include_directories('.')) -summary('End-to-end encryption using OMEMO (omemo)', dep_omemo, section: 'Plugins') +summary('End-to-end encryption using OMEMO (omemo)', dep_omemo.found(), bool_yn: true, section: 'Plugins') # This is to use the internal vapi instead of the regular vapi_omemo_internal = custom_target('omemo-internal-vapi', command: [find_program('touch'), meson.current_build_dir() / 'omemo-internal.vapi'], output: ['omemo-internal.vapi'], depends: lib_omemo) dep_omemo_internal = declare_dependency(link_args: [lib_omemo.full_path()], include_directories: include_directories('.', 'src'), sources: [vapi_omemo_internal]) diff --git a/plugins/openpgp/meson.build b/plugins/openpgp/meson.build index 550fd31f..ec7e1014 100644 --- a/plugins/openpgp/meson.build +++ b/plugins/openpgp/meson.build @@ -45,4 +45,4 @@ if dep_libadwaita.version() == 'unknown' or dep_libadwaita.version().version_com endif lib_openpgp = shared_library('openpgp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_openpgp = declare_dependency(link_with: lib_openpgp, include_directories: include_directories('.')) -summary('End-to-end encryption using PGP (openpgp)', dep_openpgp, section: 'Plugins') +summary('End-to-end encryption using PGP (openpgp)', dep_openpgp.found(), bool_yn: true, section: 'Plugins') diff --git a/plugins/rtp/meson.build b/plugins/rtp/meson.build index 6c490395..dc9d409b 100644 --- a/plugins/rtp/meson.build +++ b/plugins/rtp/meson.build @@ -81,7 +81,7 @@ endif lib_rtp = shared_library('rtp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_rtp = declare_dependency(link_with: lib_rtp, include_directories: include_directories('.')) -summary('Voice/video calls (rtp)', dep_rtp, section: 'Plugins') +summary('Voice/video calls (rtp)', dep_rtp.found(), bool_yn: true, section: 'Plugins') if dep_rtp.found() summary('H264 codec', get_option('plugin-rtp-h264').allowed(), section: 'RTP configuration') -- cgit v1.3