Spice-server and spice-gtk already require 0.47, and with this release, there were some interesting additions we can make use: - Options with 'feature' type: This built-in type is used instead of the tri-state string combo (auto/true/false), simplifying the dependency checks. http://mesonbuild.com/Build-options.html#features - Dictionary: Easier to iterate and improves readability of the code by replacing the use of nested lists. http://mesonbuild.com/Reference-manual.html#dictionary-object Signed-off-by: Eduardo Lima (Etrunko) <etrunko@xxxxxxxxxx> --- meson.build | 37 ++++++++++++++++--------------------- meson_options.txt | 7 ++----- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/meson.build b/meson.build index 226d9f4..6fa67dc 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ # project definition # project('spice-common', 'c', - meson_version : '>= 0.45.0', + meson_version : '>= 0.47.0', license : 'LGPLv2.1') if not meson.is_subproject() @@ -98,32 +98,27 @@ endif glib_version = '2.38' glib_version_info = '>= @0@'.format(glib_version) -deps = [['spice-protocol', '>= 0.12.12'], - ['glib-2.0', glib_version_info], - ['gio-2.0', glib_version_info], - ['gthread-2.0', glib_version_info], - ['pixman-1', '>= 0.17.7'], - ['openssl', '>= 1.0.0']] +deps = {'spice-protocol' : '>= 0.12.12', + 'glib-2.0' : glib_version_info, + 'gio-2.0' : glib_version_info, + 'gthread-2.0' : glib_version_info, + 'pixman-1' : '>= 0.17.7', + 'openssl' : '>= 1.0.0'} -foreach dep : deps - spice_common_deps += dependency(dep[0], version : dep[1]) +foreach dep, version : deps + spice_common_deps += dependency(dep, version : version) endforeach # # Non-mandatory/optional dependencies # -optional_deps = [ - ['celt051', '>= 0.5.1.1'], - ['opus', '>= 0.9.14'], - ] -foreach dep : optional_deps - option_value = get_option(dep[0]) - if option_value != 'false' - d = dependency(dep[0], required: (option_value == 'true'), version : dep[1]) - if d.found() - spice_common_deps += d - spice_common_config_data.set('HAVE_@0@'.format(dep[0].underscorify().to_upper()), '1') - endif +optional_deps = {'celt051' : '>= 0.5.1.1', + 'opus' : '>= 0.9.14'} +foreach dep, version : optional_deps + d = dependency(dep, required : get_option(dep), version : version) + if d.found() + spice_common_deps += d + spice_common_config_data.set('HAVE_@0@'.format(dep.underscorify().to_upper()), '1') endif endforeach diff --git a/meson_options.txt b/meson_options.txt index b88f209..1b80257 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -11,15 +11,12 @@ option('extra-checks', description : 'Enable extra checks on code') option('celt051', - type : 'combo', - choices : ['true', 'false', 'auto'], - value : 'auto', + type : 'feature', yield : true, description: 'Enable celt051 audio codec') option('opus', - type : 'combo', - choices : ['true', 'false', 'auto'], + type : 'feature', yield : true, description: 'Enable Opus audio codec') -- 2.14.4 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel