Manos Pitsidianakis <manos.pitsidianakis@linaro.org> writes:
> Rust crates, introduced from the next commit onwards, 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.
>
> Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
> ---
> meson.build | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/meson.build b/meson.build
> index 05446acbc684a7521ecc9b3f80b98e2cec1a60cf..7f05466d128776ad8dbf403179734e6831b023c0 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -979,6 +979,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')
Minor suggestion: you could update the comment for the main glib probe:
# When bumping glib minimum version, please check also whether to increase
# the _WIN32_WINNT setting in osdep.h according to the value from
# glib. You should also check if any of the glib.version() checks
# bellow can also be removed.
Anyway:
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
>
> # override glib dep to include the above refinements
> meson.override_dependency('glib-2.0', glib)
> @@ -2508,6 +2511,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>'))
--
Alex Bennée
Virtualisation Tech Lead @ Linaro