[libvirt] [PATCH 5/7] build: probe for glib-2 library in configure

Daniel P. Berrangé posted 7 patches 6 years, 5 months ago
There is a newer version of this series
[libvirt] [PATCH 5/7] build: probe for glib-2 library in configure
Posted by Daniel P. Berrangé 6 years, 5 months ago
Prepare for linking with glib by probing for it at configure
time. Per supported platforms target, the min glib versions on
relevant distros are:

  RHEL-8: 2.56.1
  RHEL-7: 2.50.3
  Debian (Buster): 2.58.3
  Debian (Stretch): 2.50.3
  OpenBSD (Ports): 2.58.3
  FreeBSD (Ports): 2.56.3
  OpenSUSE Leap 15: 2.54.3
  SLE12-SP2: 2.48.2
  Ubuntu (Xenial): 2.48.0
  macOS (Homebrew): 2.56.0

This suggests that a minimum glib of 2.48 is a reasonable target.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 configure.ac          |  2 ++
 libvirt.spec.in       |  1 +
 m4/virt-glib.m4       | 30 ++++++++++++++++++++++++++++++
 mingw-libvirt.spec.in |  2 ++
 4 files changed, 35 insertions(+)
 create mode 100644 m4/virt-glib.m4

diff --git a/configure.ac b/configure.ac
index 36e75ac3c0..5036957865 100644
--- a/configure.ac
+++ b/configure.ac
@@ -317,6 +317,7 @@ LIBVIRT_CHECK_DLOPEN
 LIBVIRT_CHECK_FIREWALLD
 LIBVIRT_CHECK_FIREWALLD_ZONE
 LIBVIRT_CHECK_FUSE
+LIBVIRT_CHECK_GLIB
 LIBVIRT_CHECK_GLUSTER
 LIBVIRT_CHECK_GNUTLS
 LIBVIRT_CHECK_HAL
@@ -998,6 +999,7 @@ LIBVIRT_RESULT_DLOPEN
 LIBVIRT_RESULT_FIREWALLD
 LIBVIRT_RESULT_FIREWALLD_ZONE
 LIBVIRT_RESULT_FUSE
+LIBVIRT_RESULT_GLIB
 LIBVIRT_RESULT_GLUSTER
 LIBVIRT_RESULT_GNUTLS
 LIBVIRT_RESULT_HAL
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 41c4a142d6..cbd36577a4 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -274,6 +274,7 @@ BuildRequires: systemd-units
 %if %{with_libxl}
 BuildRequires: xen-devel
 %endif
+BuildRequires: glib2-devel >= 2.48
 BuildRequires: libxml2-devel
 BuildRequires: libxslt
 BuildRequires: readline-devel
diff --git a/m4/virt-glib.m4 b/m4/virt-glib.m4
new file mode 100644
index 0000000000..9c7acb7889
--- /dev/null
+++ b/m4/virt-glib.m4
@@ -0,0 +1,30 @@
+dnl The glib.so library
+dnl
+dnl Copyright (C) 2016 Red Hat, Inc.
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library.  If not, see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_DEFUN([LIBVIRT_ARG_GLIB], [
+  LIBVIRT_ARG_WITH([GLIB], [glib-2.0 location], [check])
+])
+
+AC_DEFUN([LIBVIRT_CHECK_GLIB],[
+  LIBVIRT_CHECK_PKG([GLIB], [gthread-2.0], [2.48.0])
+])
+
+AC_DEFUN([LIBVIRT_RESULT_GLIB], [
+  LIBVIRT_RESULT_LIB([GLIB])
+])
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index a20c4b7d74..c29f3eeed2 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -52,6 +52,8 @@ BuildRequires:  mingw32-gcc
 BuildRequires:  mingw64-gcc
 BuildRequires:  mingw32-binutils
 BuildRequires:  mingw64-binutils
+BuildRequires:  mingw32-glib2 >= 2.48
+BuildRequires:  mingw64-glib2 >= 2.48
 BuildRequires:  mingw32-libgpg-error
 BuildRequires:  mingw64-libgpg-error
 BuildRequires:  mingw32-libgcrypt
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 5/7] build: probe for glib-2 library in configure
Posted by Ján Tomko 6 years, 5 months ago
On Thu, Aug 29, 2019 at 07:02:48PM +0100, Daniel P. Berrangé wrote:
>Prepare for linking with glib by probing for it at configure
>time. Per supported platforms target, the min glib versions on
>relevant distros are:
>
>  RHEL-8: 2.56.1
>  RHEL-7: 2.50.3
>  Debian (Buster): 2.58.3
>  Debian (Stretch): 2.50.3
>  OpenBSD (Ports): 2.58.3
>  FreeBSD (Ports): 2.56.3
>  OpenSUSE Leap 15: 2.54.3
>  SLE12-SP2: 2.48.2
>  Ubuntu (Xenial): 2.48.0
>  macOS (Homebrew): 2.56.0
>
>This suggests that a minimum glib of 2.48 is a reasonable target.
>

Note that CentOS 6 has 2.28.8

>Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>---
> configure.ac          |  2 ++
> libvirt.spec.in       |  1 +
> m4/virt-glib.m4       | 30 ++++++++++++++++++++++++++++++
> mingw-libvirt.spec.in |  2 ++
> 4 files changed, 35 insertions(+)
> create mode 100644 m4/virt-glib.m4
>
>diff --git a/m4/virt-glib.m4 b/m4/virt-glib.m4
>new file mode 100644
>index 0000000000..9c7acb7889
>--- /dev/null
>+++ b/m4/virt-glib.m4
>@@ -0,0 +1,30 @@
>+dnl The glib.so library
>+dnl
>+dnl Copyright (C) 2016 Red Hat, Inc.
>+dnl
>+dnl This library is free software; you can redistribute it and/or
>+dnl modify it under the terms of the GNU Lesser General Public
>+dnl License as published by the Free Software Foundation; either
>+dnl version 2.1 of the License, or (at your option) any later version.
>+dnl
>+dnl This library is distributed in the hope that it will be useful,
>+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
>+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>+dnl Lesser General Public License for more details.
>+dnl
>+dnl You should have received a copy of the GNU Lesser General Public
>+dnl License along with this library.  If not, see
>+dnl <http://www.gnu.org/licenses/>.
>+dnl
>+
>+AC_DEFUN([LIBVIRT_ARG_GLIB], [
>+  LIBVIRT_ARG_WITH([GLIB], [glib-2.0 location], [check])
>+])
>+
>+AC_DEFUN([LIBVIRT_CHECK_GLIB],[
>+  LIBVIRT_CHECK_PKG([GLIB], [gthread-2.0], [2.48.0])

Given that pretty much everything requires us to allocate memory,
failing to find it should be fatal.

(Which OTOH would block even docs generation, which should not need C
code to be run)

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 5/7] build: probe for glib-2 library in configure
Posted by Daniel P. Berrangé 6 years, 5 months ago
On Mon, Sep 02, 2019 at 04:05:12PM +0200, Ján Tomko wrote:
> On Thu, Aug 29, 2019 at 07:02:48PM +0100, Daniel P. Berrangé wrote:
> > Prepare for linking with glib by probing for it at configure
> > time. Per supported platforms target, the min glib versions on
> > relevant distros are:
> > 
> >  RHEL-8: 2.56.1
> >  RHEL-7: 2.50.3
> >  Debian (Buster): 2.58.3
> >  Debian (Stretch): 2.50.3
> >  OpenBSD (Ports): 2.58.3
> >  FreeBSD (Ports): 2.56.3
> >  OpenSUSE Leap 15: 2.54.3
> >  SLE12-SP2: 2.48.2
> >  Ubuntu (Xenial): 2.48.0
> >  macOS (Homebrew): 2.56.0
> > 
> > This suggests that a minimum glib of 2.48 is a reasonable target.
> > 
> 
> Note that CentOS 6 has 2.28.8
> 
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> > configure.ac          |  2 ++
> > libvirt.spec.in       |  1 +
> > m4/virt-glib.m4       | 30 ++++++++++++++++++++++++++++++
> > mingw-libvirt.spec.in |  2 ++
> > 4 files changed, 35 insertions(+)
> > create mode 100644 m4/virt-glib.m4
> > 
> > diff --git a/m4/virt-glib.m4 b/m4/virt-glib.m4
> > new file mode 100644
> > index 0000000000..9c7acb7889
> > --- /dev/null
> > +++ b/m4/virt-glib.m4
> > @@ -0,0 +1,30 @@
> > +dnl The glib.so library
> > +dnl
> > +dnl Copyright (C) 2016 Red Hat, Inc.
> > +dnl
> > +dnl This library is free software; you can redistribute it and/or
> > +dnl modify it under the terms of the GNU Lesser General Public
> > +dnl License as published by the Free Software Foundation; either
> > +dnl version 2.1 of the License, or (at your option) any later version.
> > +dnl
> > +dnl This library is distributed in the hope that it will be useful,
> > +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
> > +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> > +dnl Lesser General Public License for more details.
> > +dnl
> > +dnl You should have received a copy of the GNU Lesser General Public
> > +dnl License along with this library.  If not, see
> > +dnl <http://www.gnu.org/licenses/>.
> > +dnl
> > +
> > +AC_DEFUN([LIBVIRT_ARG_GLIB], [
> > +  LIBVIRT_ARG_WITH([GLIB], [glib-2.0 location], [check])
> > +])
> > +
> > +AC_DEFUN([LIBVIRT_CHECK_GLIB],[
> > +  LIBVIRT_CHECK_PKG([GLIB], [gthread-2.0], [2.48.0])
> 
> Given that pretty much everything requires us to allocate memory,
> failing to find it should be fatal.

Opps, yes, forgot this macro isn't fatal.

> (Which OTOH would block even docs generation, which should not need C
> code to be run)

libvirt.org docs generation is already doomed due to the recent
libxml2 min version update, so I'm already working to fix that.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list