[libvirt] [glib PATCH 2/2] Set desired glib min/max API versions

Daniel P. Berrangé berrange at redhat.com
Mon Aug 19 13:47:34 UTC 2019


Setting GLIB_VERSION_MAX_ALLOWED ensures we get warnings if
we use APIs that are newer than our declared minimum glib
version.

Setting GLIB_VERSION_MIN_REQUIRED ensures that we get
warnings if we use APIs deprecated in versions preceeding
this.

If the latter is omitted then we get warnings for all
deprecations in glib, which is undesirable if we want to
keep compat with older versions.

This avoids a build error with latest glib

  ./../libvirt-gconfig/libvirt-gconfig-capabilities-cpu-model.c: In function 'gvir_config_capabilities_cpu_model_init':
  ../../libvirt-gconfig/libvirt-gconfig-capabilities-cpu-model.c:44:13: error: G_ADD_PRIVATE [-Werror]
     44 |     model->priv = GVIR_CONFIG_CAPABILITIES_CPU_MODEL_GET_PRIVATE(model);
        |             ^~~~~~~~~~~~~~~

Caused by G_TYPE_INSTANCE_GET_PRIVATE being deprecated.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 configure.ac                | 2 ++
 libvirt-gconfig/Makefile.am | 2 ++
 libvirt-glib/Makefile.am    | 2 ++
 libvirt-gobject/Makefile.am | 2 ++
 4 files changed, 8 insertions(+)

diff --git a/configure.ac b/configure.ac
index 6b66f5d..bf4d39c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,6 +13,8 @@ LIBVIRT_REQUIRED=1.2.5
 AC_SUBST([LIBVIRT_REQUIRED]) dnl used in the .spec file
 GLIB2_REQUIRED=2.38.0
 AC_SUBST([GLIB2_REQUIRED]) dnl used in the .spec file
+GLIB2_VERSION_SYMBOL="GLIB_VERSION_2_38"
+AC_SUBST([GLIB2_VERSION_SYMBOL]) dnl sets glib deprecations
 GOBJECT_INTROSPECTION_REQUIRED=1.36.0
 LIBXML2_REQUIRED=2.0.0
 
diff --git a/libvirt-gconfig/Makefile.am b/libvirt-gconfig/Makefile.am
index 089b42a..daa4239 100644
--- a/libvirt-gconfig/Makefile.am
+++ b/libvirt-gconfig/Makefile.am
@@ -209,6 +209,8 @@ libvirt_gconfig_1_0_la_CFLAGS = \
 			-DG_LOG_DOMAIN="\"Libvirt.GConfig\"" \
 			-DDATADIR="\"$(datadir)\"" \
 			-DLIBVIRT_GCONFIG_BUILD \
+			-DGLIB_VERSION_MIN_REQUIRED=$(GLIB2_VERSION_SYMBOL) \
+			-DGLIB_VERSION_MAX_ALLOWED=$(GLIB2_VERSION_SYMBOL) \
 			$(COVERAGE_CFLAGS) \
 			-I$(top_srcdir) \
 			-I$(top_builddir) \
diff --git a/libvirt-glib/Makefile.am b/libvirt-glib/Makefile.am
index fa52352..1cc145a 100644
--- a/libvirt-glib/Makefile.am
+++ b/libvirt-glib/Makefile.am
@@ -16,6 +16,8 @@ libvirt_glib_1_0_la_SOURCES = \
 			libvirt-glib-main.c
 libvirt_glib_1_0_la_CFLAGS = \
 			-DLIBVIRT_GLIB_BUILD \
+			-DGLIB_VERSION_MIN_REQUIRED=$(GLIB2_VERSION_SYMBOL) \
+			-DGLIB_VERSION_MAX_ALLOWED=$(GLIB2_VERSION_SYMBOL) \
 			-DGETTEXT_PACKAGE="\"libvirt-glib\"" \
 			-DG_LOG_DOMAIN="\"Libvirt.GLib\"" \
 			-DLOCALEDIR="\"$(datadir)/locale\"" \
diff --git a/libvirt-gobject/Makefile.am b/libvirt-gobject/Makefile.am
index 210c753..b03d8f5 100644
--- a/libvirt-gobject/Makefile.am
+++ b/libvirt-gobject/Makefile.am
@@ -70,6 +70,8 @@ libvirt_gobject_1_0_la_CFLAGS = \
 			-DG_LOG_DOMAIN="\"Libvirt.GObject\"" \
 			-DDATADIR="\"$(datadir)\"" \
 			-DLIBVIRT_GOBJECT_BUILD \
+			-DGLIB_VERSION_MIN_REQUIRED=$(GLIB2_VERSION_SYMBOL) \
+			-DGLIB_VERSION_MAX_ALLOWED=$(GLIB2_VERSION_SYMBOL) \
 			$(COVERAGE_CFLAGS) \
 			-I$(top_srcdir) \
 			-I$(top_builddir) \
-- 
2.23.0.rc2




More information about the libvir-list mailing list