diff --git a/config/plugins.m4 b/config/plugins.m4 index 7ee8412aa37..513c690e1b5 100644 --- a/config/plugins.m4 +++ b/config/plugins.m4 @@ -1,11 +1,21 @@ AC_DEFUN([AC_PLUGINS], [ -AC_ARG_ENABLE([plugins], -AS_HELP_STRING([--enable-plugins], [Enable support for plugins (defaults no)]), -[case "${enableval}" in - yes | "") plugins=yes ;; - no) plugins=no ;; - *) plugins=yes ;; - esac], -[plugins=no]) + maybe_plugins=no + AC_CHECK_HEADERS([dlfcn.h], [maybe_plugins=yes], [], [AC_INCLUDES_DEFAULT]) + AC_CHECK_HEADERS([windows.h], [maybe_plugins=yes], [], [AC_INCLUDES_DEFAULT]) + + AC_ARG_ENABLE([plugins], + AS_HELP_STRING([--enable-plugins], [Enable support for plugins]), + [case "${enableval}" in + no) plugins=no ;; + *) plugins=yes + if test "$maybe_plugins" != "yes" ; then + AC_MSG_ERROR([Building with plugin support requires a host that supports dlopen.]) + fi ;; + esac], + [plugins=$maybe_plugins] + ) + if test "$plugins" = "yes"; then + AC_SEARCH_LIBS([dlopen], [dl]) + fi ])