aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2021-02-08 15:16:10 +0100
committerSimon Ser <contact@emersion.fr>2021-02-15 16:32:33 +0100
commit6f873078d4c0a941954be2873d3bb37f63ff31a8 (patch)
treec3148fc9ba03b6230c8241bd478748aae080b0ca
parent2118a3ce47951352ee88bf475124988723d2d20a (diff)
build: use dictionnary for features instead of configuration_data
This allows us to easily iterate on all features and only deal with bools.
-rw-r--r--backend/session/meson.build8
-rw-r--r--backend/x11/meson.build2
-rw-r--r--include/wlr/meson.build5
-rw-r--r--meson.build32
-rw-r--r--types/meson.build2
-rw-r--r--util/meson.build2
-rw-r--r--xwayland/meson.build4
7 files changed, 26 insertions, 29 deletions
diff --git a/backend/session/meson.build b/backend/session/meson.build
index 140d4105..29fcf6e4 100644
--- a/backend/session/meson.build
+++ b/backend/session/meson.build
@@ -33,7 +33,7 @@ if get_option('logind-provider') == 'auto'
version: logind_version,
)
if logind.found()
- conf_data.set10('WLR_HAS_SYSTEMD', true)
+ features += { 'systemd': true }
else
logind = dependency('libelogind',
required: get_option('logind'),
@@ -41,7 +41,7 @@ if get_option('logind-provider') == 'auto'
version: logind_version,
)
if logind.found()
- conf_data.set10('WLR_HAS_ELOGIND', true)
+ features += { 'elogind': true }
endif
endif
logind_found = logind.found()
@@ -53,7 +53,7 @@ else
version: logind_version,
)
if logind.found()
- conf_data.set10('WLR_HAS_' + get_option('logind-provider').to_upper(), true)
+ features += { get_option('logind-provider'): true }
logind_found = true
endif
endif
@@ -69,5 +69,5 @@ libseat = dependency('libseat', required: get_option('libseat'), version: '>=0.2
if libseat.found()
wlr_files += files('libseat.c')
wlr_deps += libseat
- conf_data.set10('WLR_HAS_LIBSEAT', true)
+ features += { 'libseat': true }
endif
diff --git a/backend/x11/meson.build b/backend/x11/meson.build
index 206e9042..6d38af19 100644
--- a/backend/x11/meson.build
+++ b/backend/x11/meson.build
@@ -35,4 +35,4 @@ wlr_files += files(
'output.c',
)
wlr_deps += x11_libs
-conf_data.set10('WLR_HAS_X11_BACKEND', true)
+features += { 'x11-backend': true }
diff --git a/include/wlr/meson.build b/include/wlr/meson.build
index 4e79d068..ae9c17a3 100644
--- a/include/wlr/meson.build
+++ b/include/wlr/meson.build
@@ -5,6 +5,11 @@ version_data.set('WLR_VERSION_MAJOR', version_array[0])
version_data.set('WLR_VERSION_MINOR', version_array[1])
version_data.set('WLR_VERSION_MICRO', version_array[2])
+conf_data = configuration_data()
+foreach name, have : features
+ conf_data.set10('WLR_HAS_' + name.underscorify().to_upper(), have)
+endforeach
+
conf_h = configure_file(
input: 'config.h.in',
output: 'config.h',
diff --git a/meson.build b/meson.build
index a5bf3c0d..f49d95bd 100644
--- a/meson.build
+++ b/meson.build
@@ -79,15 +79,16 @@ else
)
endif
-conf_data = configuration_data()
-conf_data.set10('WLR_HAS_SYSTEMD', false)
-conf_data.set10('WLR_HAS_ELOGIND', false)
-conf_data.set10('WLR_HAS_LIBSEAT', false)
-conf_data.set10('WLR_HAS_X11_BACKEND', false)
-conf_data.set10('WLR_HAS_XWAYLAND', false)
-conf_data.set10('WLR_HAS_XCB_ERRORS', false)
-conf_data.set10('WLR_HAS_XCB_ICCCM', false)
-conf_data.set10('WLR_HAS_XDG_FOREIGN', false)
+features = {
+ 'systemd': false,
+ 'elogind': false,
+ 'libseat': false,
+ 'x11-backend': false,
+ 'xwayland': false,
+ 'xcb-errors': false,
+ 'xcb-icccm': false,
+ 'xdg-foreign': false,
+}
wayland_server = dependency('wayland-server', version: '>=1.19')
wayland_client = dependency('wayland-client')
@@ -107,7 +108,7 @@ if not get_option('xdg-foreign').disabled()
uuid = dependency('uuid', required: false)
uuid_create = cc.has_function('uuid_create')
if uuid.found() or uuid_create
- conf_data.set10('WLR_HAS_XDG_FOREIGN', true)
+ features += { 'xdg-foreign': true }
elif get_option('xdg-foreign').enabled()
error('Missing dependency uuid and uuid_create function not available ' +
'cannot build with xdg-foreign support')
@@ -165,16 +166,7 @@ wlroots = declare_dependency(
meson.override_dependency('wlroots', wlroots)
-summary({
- 'systemd': conf_data.get('WLR_HAS_SYSTEMD', 0) == 1,
- 'elogind': conf_data.get('WLR_HAS_ELOGIND', 0) == 1,
- 'libseat': conf_data.get('WLR_HAS_LIBSEAT', 0) == 1,
- 'xwayland': conf_data.get('WLR_HAS_XWAYLAND', 0) == 1,
- 'x11-backend': conf_data.get('WLR_HAS_X11_BACKEND', 0) == 1,
- 'xcb-icccm': conf_data.get('WLR_HAS_XCB_ICCCM', 0) == 1,
- 'xcb-errors': conf_data.get('WLR_HAS_XCB_ERRORS', 0) == 1,
- 'xdg-foreign': conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1,
-}, bool_yn: true)
+summary(features, bool_yn: true)
if get_option('examples')
subdir('examples')
diff --git a/types/meson.build b/types/meson.build
index bf94ed53..811d2521 100644
--- a/types/meson.build
+++ b/types/meson.build
@@ -67,7 +67,7 @@ wlr_files += files(
'wlr_xdg_output_v1.c',
)
-if conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1
+if features.get('xdg-foreign')
wlr_files += files(
'wlr_xdg_foreign_v1.c',
'wlr_xdg_foreign_v2.c',
diff --git a/util/meson.build b/util/meson.build
index 6b423980..8c988b23 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -9,7 +9,7 @@ wlr_files += files(
)
-if conf_data.get('WLR_HAS_XDG_FOREIGN', 0) == 1
+if features.get('xdg-foreign')
if uuid.found()
wlr_deps += uuid
add_project_arguments('-DHAS_LIBUUID=1', language: 'c')
diff --git a/xwayland/meson.build b/xwayland/meson.build
index 6cd77189..e7956759 100644
--- a/xwayland/meson.build
+++ b/xwayland/meson.build
@@ -45,7 +45,7 @@ foreach lib, desc : xwayland_optional
)
if dep.found()
xwayland_libs += dep
- conf_data.set10('WLR_HAS_' + lib.underscorify().to_upper(), true)
+ features += { lib: true }
endif
endforeach
@@ -60,4 +60,4 @@ wlr_files += files(
'xwm.c',
)
wlr_deps += xwayland_libs
-conf_data.set10('WLR_HAS_XWAYLAND', true)
+features += { 'xwayland': true }