[PATCH 2/2] libxl: fallback to lib probe if pkgconfig file not found

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With the assumption that all Xen >= 4.6 contains a pkgconfig file for
libxenlight, commit 5bdcef13 dropped the fallback check to probe
libxenlight with LIBVIRT_CHECK_LIB. At the time it was not known that
the various Xen pkgconfig files are in the -runtime package in Fedora,
instead of the traditional -devel package. This bug [1] was fixed in
Fedora > 28, but until Fedora 28 reaches EOL we'll need to re-introduce
the fallback check.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1629643

Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx>
---
 m4/virt-driver-libxl.m4 | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/m4/virt-driver-libxl.m4 b/m4/virt-driver-libxl.m4
index 422ff27022..479d9116a4 100644
--- a/m4/virt-driver-libxl.m4
+++ b/m4/virt-driver-libxl.m4
@@ -29,11 +29,31 @@ AC_DEFUN([LIBVIRT_DRIVER_CHECK_LIBXL], [
   LIBXL_API_VERSION="-DLIBXL_API_VERSION=0x040500"
 
   dnl search for libxl, aka libxenlight
-  LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0])
+  old_with_libxl="$with_libxl"
+  LIBVIRT_CHECK_PKG([LIBXL], [xenlight], [4.6.0], [true])
   if test "x$with_libxl" = "xyes" ; then
     LIBXL_FIRMWARE_DIR=$($PKG_CONFIG --variable xenfirmwaredir xenlight)
     LIBXL_EXECBIN_DIR=$($PKG_CONFIG --variable libexec_bin xenlight)
+  fi
 
+  dnl In Fedora <= 28, the xenlight pkgconfig file is in the -runtime package
+  dnl https://bugzilla.redhat.com/show_bug.cgi?id=1629643
+  dnl Until Fedora 28 reaches EOL, fallback to lib probe if xenlight.pc is
+  dnl not found
+  if test "x$with_libxl" = "xno" ; then
+    with_libxl="$old_with_libxl"
+
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="$CFLAGS $LIBXL_API_VERSION"
+    LIBVIRT_CHECK_LIB([LIBXL], [xenlight], [libxl_cpupool_cpuadd_cpumap], [libxl.h], [fail="1"])
+    CFLAGS="$save_CFLAGS"
+
+    if test $fail = 1; then
+      AC_MSG_ERROR([You must install the libxl Library from Xen >= 4.6 to compile libxenlight driver with -lxl])
+    fi
+  fi
+
+  if test "$with_libxl" = "yes"; then
     LIBXL_CFLAGS="$LIBXL_CFLAGS $LIBXL_API_VERSION"
 
     dnl If building with libxl, use the libxl utility header and lib too
-- 
2.18.0

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



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux