configure.in: Let configure bail out on missing dependencies
authorBruno Prémont <bonbons@linux-vserver.org>
Sun, 5 Oct 2008 12:09:08 +0000 (14:09 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Mon, 6 Oct 2008 12:52:24 +0000 (14:52 +0200)
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.

In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.

A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)

Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in

index 8ca5d69..88b13da 100644 (file)
@@ -2276,9 +2276,12 @@ AC_DEFUN(
             enable_plugin="no"
      fi
     ])
-    if test "x$enable_plugin" = "xyes"
+    if test "x$enable_plugin" = "xyes" && test "x$2" = "xyes"
     then
            AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.])
+    else
+           dependency_error="yes"
+           test "x$enable_plugin" = "xyes" && enable_plugin="failed (missing dependency)"
     fi
     AM_CONDITIONAL([BUILD_PLUGIN_]my_toupper([$1]), test "x$enable_plugin" = "xyes")
     enable_$1="$enable_plugin"
@@ -2292,6 +2295,7 @@ AC_COLLECTD([debug],     [enable],  [feature], [debugging])
 AC_COLLECTD([daemon],    [disable], [feature], [daemon mode])
 AC_COLLECTD([getifaddrs],[enable],  [feature], [getifaddrs under Linux])
 
+dependency_error="no"
 plugin_ascent="no"
 plugin_battery="no"
 plugin_cpu="no"
@@ -2677,3 +2681,7 @@ Configuration:
     xmms  . . . . . . . $enable_xmms
 
 EOF
+
+if test "x$dependency_error" = "xyes"; then
+       AC_MSG_ERROR("Some plugins are missing dependencies - see above summary for details")
+fi