configure: split checks for libkmod >= 14
authorDave Reisner <dreisner@archlinux.org>
Thu, 11 Jul 2013 14:33:48 +0000 (10:33 -0400)
committerDave Reisner <dreisner@archlinux.org>
Thu, 11 Jul 2013 14:33:48 +0000 (10:33 -0400)
PKG_CHECK_EXISTS won't created a cached variable that later messes with
our PKG_CHECK_MODULES check for an explicit version. Unfortunately,
nesting these checks as the code existed lead to an odd error. Rather,
split the checks apart.

This also improves to the error message when the requisite version
isn't found, and supplies the literal version systemd needs.

configure.ac

index 7451ea4..1e196f7 100644 (file)
@@ -218,12 +218,12 @@ PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2])
 have_kmod=no
 AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules support]))
 if test "x$enable_kmod" != "xno"; then
-        PKG_CHECK_MODULES(KMOD, [ libkmod ],
-                [PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ],
-                        [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available]) have_kmod=yes],
-                        AC_MSG_ERROR([*** kmod out-of-date, try --disable-kmod]))
-                ],
-                have_kmod=no)
+        PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no)
+        if test "x$have_kmod" = "xyes"; then
+                PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ],
+                        [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])],
+                        AC_MSG_ERROR([*** kmod version >= 14 not found]))
+        fi
         if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then
                 AC_MSG_ERROR([*** kmod support requested, but libraries not found])
         fi