[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v10 6/9] meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag
From: |
Manos Pitsidianakis |
Subject: |
[PATCH v10 6/9] meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag |
Date: |
Tue, 10 Sep 2024 15:35:12 +0300 |
Rust crates, introduced from the next commit onwards, can optionally use
the glib allocator API and need to know whether g_aligned_alloc etc are
available.
This commit adds a define in config_host_data that depends on glib
version >= 2.72.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
meson.build | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index
1a03f7e15f639799889933c19bf17c2b8f00d879..0c9c2d4f60845d5f959b10424ca2b11b655cf51d
100644
--- a/meson.build
+++ b/meson.build
@@ -929,7 +929,9 @@ have_xen_pci_passthrough =
get_option('xen_pci_passthrough') \
################
# When bumping glib minimum version, please check also whether to increase
-# the _WIN32_WINNT setting in osdep.h according to the value from glib
+# the _WIN32_WINNT setting in osdep.h according to the value from glib.
+# You should also check if any of the glib.version() checks
+# below can also be removed.
glib_req_ver = '>=2.66.0'
glib_pc = dependency('glib-2.0', version: glib_req_ver, required: true,
method: 'pkg-config')
@@ -979,6 +981,9 @@ glib = declare_dependency(dependencies: [glib_pc, gmodule],
# TODO: remove this check and the corresponding workaround (qtree) when
# the minimum supported glib is >= 2.75.3
glib_has_gslice = glib.version().version_compare('<2.75.3')
+# Check whether glib has the aligned_alloc family of functions.
+# <https://docs.gtk.org/glib/func.aligned_alloc.html>
+glib_has_aligned_alloc = glib.version().version_compare('>=2.72.0')
# override glib dep to include the above refinements
meson.override_dependency('glib-2.0', glib)
@@ -2508,6 +2513,7 @@ config_host_data.set('CONFIG_TIMERFD',
cc.has_function('timerfd_create'))
config_host_data.set('HAVE_COPY_FILE_RANGE',
cc.has_function('copy_file_range'))
config_host_data.set('HAVE_GETIFADDRS', cc.has_function('getifaddrs'))
config_host_data.set('HAVE_GLIB_WITH_SLICE_ALLOCATOR', glib_has_gslice)
+config_host_data.set('HAVE_GLIB_WITH_ALIGNED_ALLOC', glib_has_aligned_alloc)
config_host_data.set('HAVE_OPENPTY', cc.has_function('openpty', dependencies:
util))
config_host_data.set('HAVE_STRCHRNUL', cc.has_function('strchrnul'))
config_host_data.set('HAVE_SYSTEM_FUNCTION', cc.has_function('system', prefix:
'#include <stdlib.h>'))
--
2.45.2
- [PATCH v10 0/9] Add Rust build support, ARM PL011 device impl, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 2/9] build-sys: Add rust feature option, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 3/9] configure, meson: detect Rust toolchain, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 4/9] rust: add bindgen step as a meson dependency, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 5/9] .gitattributes: add Rust diff and merge attributes, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 1/9] Require meson version 1.5.0, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 6/9] meson.build: add HAVE_GLIB_WITH_ALIGNED_ALLOC flag,
Manos Pitsidianakis <=
- [PATCH v10 7/9] rust: add crate to expose bindings and interfaces, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 8/9] rust: add utility procedural macro crate, Manos Pitsidianakis, 2024/09/10
- [PATCH v10 9/9] rust: add PL011 device model, Manos Pitsidianakis, 2024/09/10