diff options
author | Iñigo Martínez <inigomartinez@gmail.com> | 2021-09-08 14:42:08 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-10-14 07:57:55 +0000 |
commit | bbc157688d9ff82e548a155be1a54a8220fb0f09 (patch) | |
tree | 85311483493cbb2dafd80c83b71a273b21107199 /meson.build | |
parent | 85a99ae028f42d5b35ffb42888a5c2201fd0e91d (diff) |
build,meson: Improve plugins option set
Improved the way the plugins are set to allow a smaller summary.
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 97 |
1 files changed, 28 insertions, 69 deletions
diff --git a/meson.build b/meson.build index ed418148..a5958f0c 100644 --- a/meson.build +++ b/meson.build @@ -265,7 +265,9 @@ enable_vapi = get_option('vapi') # gtkdoc support enable_gtk_doc = get_option('gtk_doc') -plugins_shared = { +enable_plugins = not get_option('auto_features').disabled() + +plugins_shared_reqs = { 'foxconn': enable_mbim, 'icera': true, 'novatel': true, @@ -275,7 +277,7 @@ plugins_shared = { 'xmm': true, } -plugins_options = { +plugins_options_reqs = { 'altair-lte': [], 'anydata': [], 'broadmobi': [], @@ -317,23 +319,28 @@ plugins_options = { 'zte': ['icera'], } -disable_all_plugins = get_option('plugin_disable_all') - -enable_plugins = [] -enable_plugins_shared = [] -if not disable_all_plugins - foreach plugin_name, plugin_shared_reqs: plugins_options - if get_option('plugin_' + plugin_name.underscorify()) - enable_plugins += [plugin_name] - foreach plugin_req: plugin_shared_reqs - assert(plugins_shared[plugin_req], '@0@ required @1@ but is not available'.format(plugin_name, plugin_req)) - if not enable_plugins_shared.contains(plugin_req) - enable_plugins_shared += [plugin_req] - endif - endforeach - endif - endforeach -endif +plugins_shared = {} +foreach plugin_name, _: plugins_shared_reqs + plugins_shared += {plugin_name: false} +endforeach + +plugins_options = {} +foreach plugin_name, plugin_reqs: plugins_options_reqs + plugin_opt = get_option('plugin_' + plugin_name.underscorify()) + plugin_enabled = not plugin_opt.disabled() + if plugin_enabled + foreach plugin_req: plugin_reqs + if plugins_shared_reqs[plugin_req] + plugins_shared += {plugin_req: true} + else + assert(plugin_opt.enabled(), '@0@ required @1@ but is not available'.format(plugin_name, plugin_req)) + plugin_enabled = false + break + endif + endforeach + endif + plugins_options += {plugin_name: plugin_enabled} +endforeach version_conf = { 'MM_MAJOR_VERSION': mm_major_version, @@ -397,57 +404,9 @@ summary({ 'at command via dbus': enable_at_command_via_dbus, }, section: 'Features') -summary({ - 'foxconn': enable_plugins_shared.contains('foxconn'), - 'icera': enable_plugins_shared.contains('icera'), - 'novatel': enable_plugins_shared.contains('novatel'), - 'option': enable_plugins_shared.contains('option'), - 'sierra': enable_plugins_shared.contains('sierra'), - 'telit': enable_plugins_shared.contains('telit'), - 'xmm': enable_plugins_shared.contains('xmm'), -}, section: 'Shared utils') +summary(plugins_shared, section: 'Shared utils') -summary({ - 'altair-lte': enable_plugins.contains('altair-lte'), - 'anydata': enable_plugins.contains('anydata'), - 'broadmobi': enable_plugins.contains('broadmobi'), - 'cinterion': enable_plugins.contains('cinterion'), - 'dell': enable_plugins.contains('dell'), - 'dlink': enable_plugins.contains('dlink'), - 'fibocom': enable_plugins.contains('fibocom'), - 'foxconn': enable_plugins.contains('foxconn'), - 'generic': enable_plugins.contains('generic'), - 'gosuncn': enable_plugins.contains('gosuncn'), - 'haier': enable_plugins.contains('haier'), - 'huawei': enable_plugins.contains('huawei'), - 'iridium': enable_plugins.contains('iridium'), - 'linktop': enable_plugins.contains('linktop'), - 'longcheer': enable_plugins.contains('longcheer'), - 'mbm': enable_plugins.contains('mbm'), - 'motorola': enable_plugins.contains('motorola'), - 'mtk': enable_plugins.contains('mtk'), - 'nokia': enable_plugins.contains('nokia'), - 'nokia-icera': enable_plugins.contains('nokia-icera'), - 'novatel': enable_plugins.contains('novatel'), - 'novatel-lte': enable_plugins.contains('novatel-lte'), - 'option': enable_plugins.contains('option'), - 'option-hso': enable_plugins.contains('option-hso'), - 'pantech': enable_plugins.contains('pantech'), - 'qcom-soc': enable_plugins.contains('qcom-soc'), - 'quectel': enable_plugins.contains('quectel'), - 'samsung': enable_plugins.contains('samsung'), - 'sierra': enable_plugins.contains('sierra'), - 'sierra-legacy': enable_plugins.contains('sierra-legacy'), - 'simtech': enable_plugins.contains('simtech'), - 'telit': enable_plugins.contains('telit'), - 'thuraya': enable_plugins.contains('thuraya'), - 'tplink': enable_plugins.contains('tplink'), - 'ublox': enable_plugins.contains('ublox'), - 'via': enable_plugins.contains('via'), - 'wavecom': enable_plugins.contains('wavecom'), - 'x22x': enable_plugins.contains('x22x'), - 'zte': enable_plugins.contains('zte'), -}, section: 'Plugins') +summary(plugins_options, section: 'Plugins') summary({ 'gobject introspection': enable_gir, |