[Spice-devel] [PATCH spice-common] Meson: make use of features in 0.47
Eduardo Lima (Etrunko)
etrunko at redhat.com
Wed Jul 25 13:05:00 UTC 2018
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 at redhat.com>
---
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_ at 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_ at 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
More information about the Spice-devel
mailing list