On Fri, Apr 30, 2021 at 07:18:49AM +0200, Michal Privoznik wrote: > So far we have three places where glib version is recorded: > meson.build and then in config.h. The latter is so well hidden > that it's easy to miss when bumping minimal glib version in the > former. With a bit of python^Wmeson string magic > GLIB_VERSION_MIN_REQUIRED and GLIB_VERSION_MAX_ALLOWED macros can > be defined to match glib_version from meson.build. > > Signed-off-by: Michal Privoznik <[email protected]> > --- > config.h | 10 ---------- > meson.build | 7 +++++++ > 2 files changed, 7 insertions(+), 10 deletions(-) > > diff --git a/config.h b/config.h > index ca6720f37d..0eacfd139d 100644 > --- a/config.h > +++ b/config.h > @@ -51,13 +51,3 @@ > #else > # error You either need at least GCC 4.8 or Clang 3.4 or XCode Clang 5.1 to > compile libvirt > #endif > - > -/* Ask for warnings for anything that was marked deprecated in > - * the defined version, or before. It is a candidate for rewrite. > - */ > -#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_48 > - > -/* Ask for warnings if code tries to use function that did not > - * exist in the defined version. These risk breaking builds > - */ > -#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_48 > diff --git a/meson.build b/meson.build > index 951da67896..597e5d8a13 100644 > --- a/meson.build > +++ b/meson.build > @@ -949,6 +949,13 @@ endif > glib_dep = declare_dependency( > dependencies: [ glib_dep, gobject_dep, gio_dep ], > ) > +glib_version_arr=glib_version.split('.')
s/=/ = /
In the spirit of removing duplicated code how about having another
variable:
glib_version_str = 'GLIB_VERSION_@0@_@1@'.format(glib_version_arr[0],
glib_version_arr[1])
and using it in the following code?
> +# Ask for warnings for anything that was marked deprecated in
> +# the defined version, or before. It is a candidate for rewrite.
> +conf.set('GLIB_VERSION_MIN_REQUIRED', 'GLIB_VERSION_' + glib_version_arr[0]
> + '_' + glib_version_arr[1])
> +# Ask for warnings if code tries to use function that did not
> +# exist in the defined version. These risk breaking builds
> +conf.set('GLIB_VERSION_MAX_ALLOWED', 'GLIB_VERSION_' + glib_version_arr[0] +
> '_' + glib_version_arr[1])
>
> glusterfs_version = '3.4.1'
> glusterfs_dep = dependency('glusterfs-api', version: '>=' +
> glusterfs_version, required: get_option('glusterfs'))
Otherwise looks good.
Pavel
signature.asc
Description: PGP signature
