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