Code

Fix for regex input of '|', being output causing problems with Nagios' parsing of
[nagiosplug.git] / configure.in
index 7ae486ce22925b8a0078b5405ed02d37d94ae60a..bdd443141e89719a3b5cbfb5754cdde52e860193 100644 (file)
@@ -1,9 +1,10 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_REVISION ($Revision$)
-AC_PREREQ(2.58)
-AC_INIT(nagios-plugins,1.4.2)
+AC_PREREQ(2.59)
+AC_INIT(nagios-plugins,1.4.15)
 AC_CONFIG_SRCDIR(NPTest.pm)
-AM_INIT_AUTOMAKE
+AC_CONFIG_FILES(gl/Makefile)
+AC_CONFIG_AUX_DIR(build-aux)
+AM_INIT_AUTOMAKE([1.8.3])
 AM_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
 
@@ -12,31 +13,43 @@ AC_SUBST(RELEASE)
 
 AC_PREFIX_DEFAULT(/usr/local/nagios)
 
-dnl Figure out how to invoke "install" and what install options to use.
-AC_PROG_INSTALL
-AC_SUBST(INSTALL)
+dnl Deprecated configure options
+
 
-dnl Must come very early on due to coreutils requirement
-dnl Takes care of AC_GNU_SOURCE, AC_AIX and AC_MINIX
-gl_USE_SYSTEM_EXTENSIONS
+dnl Append user (-o), group (-g), mode (-m) to install command
+dnl There is an assumption that this is possible with ./configure's chosen install command
+extra_install_args=""
+AC_ARG_WITH(nagios_user,
+       ACX_HELP_STRING([--with-nagios-user=USER],
+               [Installs executables with this user. Defaults to install user]),
+       extra_install_args="-o $withval")
+AC_ARG_WITH(nagios_group,
+       ACX_HELP_STRING([--with-nagios-group=GROUP],
+               [Installs executables with this group. Defaults to install user]),
+       extra_install_args="$extra_install_args -g $withval")
+AC_ARG_WITH(world_permissions,
+       ACX_HELP_STRING([--without-world-permissions],
+               [Installs executables without world permissions]))
+
+if test "x$with_world_permissions" = xno ; then
+       extra_install_args="$extra_install_args -m 0550"
+fi
+
+INSTALL="$INSTALL $extra_install_args"
+INSTALL_STRIP_PROGRAM="$INSTALL_STRIP_PROGRAM $extra_install_args"
+AC_SUBST(INSTALL)
 
 AC_PROG_CC
-AC_PROG_CPP
+gl_EARLY
 AC_PROG_GCC_TRADITIONAL
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
 
-AC_PROG_MAKE_SET
-AC_PROG_AWK
+AM_PROG_CC_C_O
 
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
 AC_FUNC_ERROR_AT_LINE
-
-AC_CONFIG_LIBOBJ_DIR(lib)
-AC_FUNC_GETLOADAVG([lib])
+AC_SYS_LARGEFILE
 
 ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
-dnl AM_WITH_REGEX
 
 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
 AC_SUBST(PLUGIN_TEST)dnl
@@ -59,21 +72,6 @@ AC_ARG_WITH(cgiurl,
 CGIURL="$with_cgiurl"
 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
 
-AC_ARG_WITH(nagios_user,
-       ACX_HELP_STRING([--with-nagios-user=USER],
-               [set user name to run nagios]),
-       with_nagios_user=$withval,
-       with_nagios_user=nagios)
-AC_ARG_WITH(nagios_group,
-       ACX_HELP_STRING([--with-nagios-group=GROUP],
-               [set group name to run nagios]),
-       with_nagios_group=$withval,
-       with_nagios_group=nagios)
-AC_SUBST(with_nagios_user)
-AC_SUBST(with_nagios_group)
-INSTALL_OPTS="-o $with_nagios_user -g $with_nagios_group"
-AC_SUBST(INSTALL_OPTS)
-
 AC_ARG_WITH(trusted_path,
        ACX_HELP_STRING([--with-trusted-path=PATH],
                [sets trusted path for executables called by scripts (default=/bin:/sbin:/usr/bin:/usr/sbin)]),
@@ -82,6 +80,7 @@ AC_ARG_WITH(trusted_path,
 AC_SUBST(with_trusted_path)
 
 EXTRAS=
+EXTRAS_ROOT=
 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
 
 LDFLAGS="$LDFLAGS -L."
@@ -99,11 +98,24 @@ AC_SUBST(PKG_ARCH)
 AC_SUBST(REV_DATESTAMP)
 AC_SUBST(REV_TIMESTAMP)
 
+dnl Check if version file is present
+AM_CONDITIONAL([RELEASE_PRESENT], [test -f $srcdir/release])
+
+# Also read in the version from it
+if test -f $srcdir/release; then
+       NP_RELEASE="$(<release)"
+else
+       NP_RELEASE="$PACKAGE_VERSION"
+fi
+AC_SUBST(NP_RELEASE)
+
 dnl Checks for programs.
 AC_PATH_PROG(PYTHON,python)
 AC_PATH_PROG(SH,sh)
 AC_PATH_PROG(PERL,perl)
 AC_PATH_PROG(LIBGNUTLS_CONFIG,libgnutls-config)
+AC_PATH_PROG(HOSTNAME,hostname)
+AC_PATH_PROG(BASENAME,basename)
 
 dnl allow them to override the path of perl
 AC_ARG_WITH(perl,
@@ -112,27 +124,29 @@ AC_ARG_WITH(perl,
                        with_perl=$withval,with_perl=$PERL)
 AC_SUBST(PERL, $with_perl)
 
-dnl allow for gnutls, if it exists, instead of openssl
+dnl openssl/gnutls
+AC_ARG_WITH(openssl,
+            AC_HELP_STRING([--with-openssl=DIR],
+                           [path to openssl installation]),)
+
 AC_ARG_WITH(gnutls,
             ACX_HELP_STRING([--with-gnutls=PATH],
-                            [path to gnutls installation root]),
-            GNUTLS=$withval)
+                            [path to gnutls installation root]),)
 
-AC_PATH_PROG(HOSTNAME,hostname)
-AC_PATH_PROG(BASENAME,basename)
+dnl you can only have one or the other
+if test ! "$with_openssl" = "" && test ! "$with_openssl" = "no"; then
+       with_gnutls="no"
+fi
+if test ! "$with_gnutls" = "" && test ! "$with_gnutls" = "no"; then
+       with_openssl="no"
+fi
 
-dnl
-dnl Check for miscellaneous stuff
-dnl 
+dnl list of possible dirs to try to autodetect openssl
+dnl if $dir/include exists, we consider it found
+dnl the order should allow locally installed versions to override distros' ones
+OPENSSL_DIRS="/usr /usr/local /usr/slocal /usr/local/openssl /usr/local/ssl \
+              /opt /opt/openssl"
 
-case $host_vender-$host_os in
-sun*)
-       AC_DEFINE(__EXTENSIONS__,1,[Sun's netdb.h needs this for getaddrinfo])
-       ;;
-osf*)
-       AC_DEFINE(_OSF_SOURCE,1,[OSF needs this for getaddrinfo])
-       ;;
-esac
 
 dnl
 dnl Checks for libraries.
@@ -146,9 +160,47 @@ AC_SUBST(SOCKETLIBS)
 
 dnl
 dnl check for math-related functions needing -lm
+AC_CHECK_HEADERS(math.h)
 AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
 AC_SUBST(MATHLIBS)
 
+dnl Check if we buils local libtap
+AC_ARG_ENABLE(libtap,
+  AC_HELP_STRING([--enable-libtap],
+               [Enable built-in libtap for unit-testing (default: autodetect system library).]),
+       [enable_libtap=$enableval],
+       [enable_libtap=no])
+AM_CONDITIONAL([USE_LIBTAP_LOCAL],[test "$enable_libtap" = "yes"])
+
+# If not local, check if we can use the system one
+if test "$enable_libtap" != "yes" ; then
+       dnl Check for libtap, to run perl-like tests
+       AC_CHECK_LIB(tap, plan_tests,
+               enable_libtap="yes"
+               )
+fi
+
+# Finally, define tests if we use libtap
+if test "$enable_libtap" = "yes" ; then
+       EXTRA_TEST="test_utils test_disk test_tcp test_cmd test_base64"
+       AC_SUBST(EXTRA_TEST)
+fi
+
+dnl INI Parsing
+AC_ARG_ENABLE(extra-opts,
+  AC_HELP_STRING([--enable-extra-opts],
+               [Enables parsing of plugins ini config files for extra options (default: no)]),
+       [enable_extra_opts=$enableval],
+       [enable_extra_opts=no])
+AM_CONDITIONAL([USE_PARSE_INI],[test "$enable_extra_opts" = "yes"])
+if test "$enable_extra_opts" = "yes" ; then
+       AC_DEFINE(NP_EXTRA_OPTS,[1],[Enable INI file parsing.])
+       if test "$enable_libtap" = "yes"; then
+               EXTRA_TEST="$EXTRA_TEST test_ini1 test_ini3 test_opts1 test_opts2 test_opts3"
+               AC_SUBST(EXTRA_TEST)
+       fi
+fi
+
 dnl Check for PostgreSQL libraries
 _SAVEDLIBS="$LIBS"
 _SAVEDCPPFLAGS="$CPPFLAGS"
@@ -157,7 +209,7 @@ AC_ARG_WITH(pgsql,
                [sets path to pgsql installation]),
        PGSQL=$withval,)
 AC_CHECK_LIB(crypt,main)
-if test "$ac_cv_lib_crypt_main" = "yes"; then
+if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then
   if test -n "$PGSQL"; then
     LDFLAGS="$LDFLAGS -L$PGSQL/lib"
     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
@@ -208,8 +260,15 @@ if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
        RADIUSLIBS="-lradiusclient"
   AC_SUBST(RADIUSLIBS)
 else
-  AC_MSG_WARN([Skipping radius plugin])
-  AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
+  AC_CHECK_LIB(radiusclient-ng,rc_read_config)
+  if test "$ac_cv_lib_radiusclient_ng_rc_read_config" = "yes"; then
+    EXTRAS="$EXTRAS check_radius"
+         RADIUSLIBS="-lradiusclient-ng"
+    AC_SUBST(RADIUSLIBS)
+  else
+    AC_MSG_WARN([Skipping radius plugin])
+    AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
+  fi
 fi
 LIBS="$_SAVEDLIBS"
 
@@ -230,55 +289,43 @@ else
 fi
 LIBS="$_SAVEDLIBS"
 
-
-dnl Check for mysql libraries
-_SAVEDLIBS="$LIBS"
-_SAVEDCPPFLAGS="$CPPFLAGS"
-AC_ARG_WITH(mysql,
-       ACX_HELP_STRING([--with-mysql=DIR],
-               [sets path to mysql installation (assumes lib/mysql and include subdirs]),
-       MYSQL=$withval,)
-if test -n "$MYSQL"; then
-  MYSQLLIBDIR=$MYSQL/lib/mysql
-  CPPFLAGS="-I$MYSQL/include"
-  AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
-  AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
-elif test -f /usr/lib/libmysqlclient.so; then
-  AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
-  AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
-elif test -f /usr/lib/libmysqlclient.a; then
-  AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
-  AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
-elif test -f /usr/lib/mysql/libmysqlclient.so; then
-  AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
-  AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
-elif test -f /usr/lib/mysql/libmysqlclient.a; then
-  AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
-  AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
+dnl Check for headers used by check_ide_smart
+AC_CHECK_HEADER(linux/hdreg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
+if test "$FOUNDINCLUDE" = "yes" ; then
+       AC_CHECK_HEADER(linux/types.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
 fi
-if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
-  AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
-  if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
-    EXTRAS="$EXTRAS check_mysql"
-    AC_SUBST(MYSQLINCLUDE)
-    AC_SUBST(MYSQLLIBS)
-    AC_SUBST(check_mysql_LDFLAGS)
-  else
-    AC_MSG_WARN([Skipping mysql plugin])
-    AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
-  fi
+
+if test "$FOUNDINCLUDE" = "yes" ; then
+       EXTRAS="$EXTRAS check_ide_smart"
 else
+       AC_MSG_WARN([Skipping check_ide_smart plugin.])
+       AC_MSG_WARN([check_ide_smart is linux specific. It requires linux/hdreg.h and linux/types.h.])
+fi
+
+dnl Check for mysql libraries
+np_mysqlclient
+if test $with_mysql = "no" ; then
   AC_MSG_WARN([Skipping mysql plugin])
   AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
+else
+  EXTRAS="$EXTRAS check_mysql check_mysql_query"
+  MYSQLINCLUDE="$np_mysql_include"
+  MYSQLLIBS="$np_mysql_libs"
+  MYSQLCFLAGS="$np_mysql_cflags"
+  AC_SUBST(MYSQLINCLUDE)
+  AC_SUBST(MYSQLLIBS)
+  AC_SUBST(MYSQLCFLAGS)
 fi
-CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE"
-LIBS="$_SAVEDLIBS"
 
-AC_CHECK_HEADERS(unistd.h)
+AC_ARG_WITH([ipv6],
+       [AS_HELP_STRING([--with-ipv6], [support IPv6 @<:@default=check@:>@])],
+       [], [with_ipv6=check])
 
 dnl Check for AF_INET6 support - unistd.h required for Darwin
-AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
-       AC_TRY_COMPILE([#ifdef HAVE_UNISTD_H
+if test "$with_ipv6" != "no"; then
+       AC_CACHE_CHECK([for IPv6 support], np_cv_sys_ipv6, [
+               AC_TRY_COMPILE(
+                       [#ifdef HAVE_UNISTD_H
                        #include <unistd.h>
                        #endif
                        #include <netinet/in.h>
@@ -289,116 +336,18 @@ AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
                        sin6.sin6_family = AF_INET6;
                        sin6.sin6_port = 587;
                        p = &sin6.sin6_addr;],
-                       [with_ipv6=yes], 
-                       [with_ipv6=no])
-       ])
-
-if test x"$with_ipv6" != xno ; then
-       AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
-fi
-
-dnl #########################################################################
-dnl Check if Posix getaddrinfo() is available.  It is also possible to use
-dnl the version from the lwres library distributed with BIND.
-dnl #########################################################################
-AC_ARG_ENABLE([emulate-getaddrinfo],
-              ACX_HELP_STRING([--enable-emulate-getaddrinfo],
-                             [enable getaddrinfo emulation (default=no)]),
-              ,
-              enable_emulate_getaddrinfo=no)
-
-AC_ARG_WITH(lwres,
-            ACX_HELP_STRING([--with-lwres=DIR],
-                           [use lwres library for getaddrinfo (default=no)]),
-            ,
-            with_lwres=no)
-
-dnl ## enable force to test getaddrinfo.c
-if test x$enable_emulate_getaddrinfo = xforce ; then
-        enable_emulate_getaddrinfo=yes
-        have_getaddrinfo=no
-else
-
-have_getaddrinfo=no
-if test x$with_lwres != xno ; then
-        if test "$with_lwres" != yes ; then
-                   CPPFLAGS="-I${with_lwres}/include $CPPFLAGS"
-                   LDFLAGS="-L${with_lwres}/lib $LDFLAGS"
-        fi
-        AC_CHECK_HEADERS(lwres/netdb.h, ,
-                        [AC_MSG_ERROR([cannot find <lwres/netdb.h>])])
-        AC_CHECK_LIB(lwres, lwres_getaddrinfo, ,
-                     [AC_MSG_ERROR([cannot find the lwres library])],
-                     -lnsl -lpthread)
-        have_getaddrinfo=yes
-fi
-
-if test x$have_getaddrinfo != xyes ; then
-        AC_SEARCH_LIBS(getaddrinfo, socket resolv bind nsl c_r cr, have_getaddrinfo=yes)
-fi
-
-dnl # Special nonsense for systems that actually have getaddrinfo but
-dnl # redefine the name to something else, e.g. OSF
-if test x$have_getaddrinfo != xyes ; then
-        AC_MSG_CHECKING(if getaddrinfo is redefined in netdb.h)
-        AC_TRY_LINK([
-#               include <netdb.h>
-        ], [
-                struct addrinfo hints, *res;
-                int err;
-
-                err = getaddrinfo ("host", "service", &hints, &res);
-        ], [
-                have_getaddrinfo=yes
-                AC_MSG_RESULT(yes)
-        ], [AC_MSG_RESULT(no)])
-fi
-
-fi
-
-if test x$have_getaddrinfo != xno ; then
-        if test x$enable_emulate_getaddrinfo != xno ; then
-                AC_MSG_ERROR([getaddrinfo found but emulate-getaddrinfo was enabled])
-        fi
-        AC_DEFINE(HAVE_GETADDRINFO, 1,
-                  [Does system provide RFC 2553/Posix getaddrinfo?])
-else
-        if test x$enable_emulate_getaddrinfo != xyes ; then
-dnl                AC_MSG_ERROR([getaddrinfo not found: try --with-lwres or --enable-emulate-getaddrinfo])
-               enable_emulate_getaddrinfo=yes
-               AC_MSG_WARN([enabling getaddrinfo emulation])
-        fi
-       EXTRA_NETOBJS="$EXTRA_NETOBJS getaddrinfo.o"
+                       [np_cv_sys_ipv6=yes],
+                       [np_cv_sys_ipv6=no])
+               ])
+       if test "$np_cv_sys_ipv6" = "no" -a "$with_ipv6" != "check"; then
+               AC_MSG_FAILURE([--with-ipv6 was given, but test for IPv6 support failed])
+       fi
+       if test "$np_cv_sys_ipv6" = "yes"; then
+               AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
+       fi
+       with_ipv6="$np_cv_sys_ipv6"
 fi
 
-if test x"$enable_emulate_getaddrinfo" != xno ; then
-    have_resolver=no
-
-  dnl  Try for getipnodebyname
-    AC_SEARCH_LIBS(getipnodebyname, resolv bind nsl c_r cr, have_resolver=yes)
-    if test x"$have_resolver" != xno ; then
-         AC_DEFINE(HAVE_GETIPNODEBYNAME, 1,
-                   [Set when getipnodebyname is available])
-    fi
-
-  dnl  Try for gethostbyname_r
-    if test x"$have_resolver" = xno ; then
-        AC_SEARCH_LIBS(gethostbyname_r, resolv bind nsl c_r cr,
-                       [have_resolver=yes
-                        ACX_WHICH_GETHOSTBYNAME_R])
-    fi
-
-  dnl  Try for gethostbyname
-    if test x"$have_resolver" = xno ; then
-        if test x"$enable_pthreads" != xno ; then
-            AC_MSG_WARN([using threads but cannot find gethostbyname_r or getipnodebyname])
-        fi
-        AC_SEARCH_LIBS(gethostbyname, resolv bind nsl, ,
-                       [AC_MSG_ERROR([cannot find gethostbyname])])
-    fi
-    EXTRA_NETOBJS="$EXTRA_NETOBJS gethostbyname.o"
-
-fi
 
 dnl Checks for Kerberos. Must come before openssl checks for Redhat EL 3
 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
@@ -416,126 +365,118 @@ if test "$FOUNDINCLUDE" = "no"; then
   CPPFLAGS="$_SAVEDCPPFLAGS"
 fi
 
+dnl *** The following block comes from wget configure.ac ***
+dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
+dnl shared library doesn't record its dependency on libdl, so we
+dnl need to check for it ourselves so we won't fail to link due to a
+dnl lack of -ldl.  Most OSes use dlopen(), but HP-UX uses
+dnl shl_load().
+AC_CHECK_LIB(dl,dlopen)
+AC_CHECK_LIB(dl,shl_load)
+
+dnl openssl detection/configuration
+if ! test x"$with_openssl" = x"no"; then
+       dnl Check for OpenSSL location if it wasn't already specified
+       if ! test -d "$with_openssl"; then
+               for d in $OPENSSL_DIRS; do
+                       if test -x ${d}/bin/openssl || test -x ${d}/sbin/openssl ; then
+                               with_openssl=$d
+                       fi
+               done
+       fi
 
-dnl Check for OpenSSL location
-AC_PATH_PROG(OPENSSL,openssl)
-if test "$OPENSSL" = "/usr/bin/openssl"; then
-  OPENSSL=/usr
-elif test "$OPENSSL" = "/usr/sbin/openssl"; then
-  OPENSSL=/usr
-elif test "$OPENSSL" = "/opt/bin/openssl"; then
-  OPENSSL=/opt
-elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
-  OPENSSL=/opt/openssl
-elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
-  OPENSSL=/usr/slocal
-elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
-  OPENSSL=/usr/local
-elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
-  OPENSSL=/usr/local/ssl
-fi
-AC_ARG_WITH(openssl,
-AC_HELP_STRING([--with-openssl=DIR], [sets path to openssl installation])
-AC_HELP_STRING([--without-openssl], [disable openssl]),
-OPENSSL=$withval)
+       _SAVEDCPPFLAGS="$CPPFLAGS"
+       _SAVEDLDFLAGS="$LDFLAGS"
+       dnl Check for OpenSSL header files
+       unset FOUNDINCLUDE
+       if test x"$with_openssl" != x"/usr" ; then
+               CPPFLAGS="$CPPFLAGS -I$with_openssl/include"
+               LDFLAGS="$LDFLAGS -L$with_openssl/lib"
+       fi
 
-_SAVEDCPPFLAGS="$CPPFLAGS"
-_SAVEDLDFLAGS="$LDFLAGS"
-if test X"$OPENSSL" = "Xno"; then
-  AC_MSG_WARN([openssl disabled, you will not be able to use ssl options in some plugins])
-  FOUNDSSL="dontbother"
-else
-  dnl Check for OpenSSL header files
-  unset FOUNDINCLUDE
-  if test "$OPENSSL" != "/usr"; then
-    CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
-    LDFLAGS="$LDFLAGS -R$OPENSSL/lib"
-  fi
-  AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
-                 SSLINCLUDE="-I$OPENSSL/include"
-                 FOUNDINCLUDE=yes,
-                 FOUNDINCLUDE=no)
-  if test "$FOUNDINCLUDE" = "no"; then
-    AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
-                   SSLINCLUDE="-I$OPENSSL/include"
-                   FOUNDINCLUDE=yes,
-                   FOUNDINCLUDE=no)
-  fi
-  AC_SUBST(SSLINCLUDE)
-  if test "$FOUNDINCLUDE" = "no"; then
-    CPPFLAGS="$_SAVEDCPPFLAGS"
-  fi
+       dnl check for openssl in $dir/include/openssl
+       AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
+                        SSLINCLUDE="-I$with_openssl/include"
+                        FOUNDINCLUDE=yes,
+                        FOUNDINCLUDE=no)
+       dnl else check to see if $dir/include has it
+       if test "$FOUNDINCLUDE" = "no"; then
+               AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
+                                SSLINCLUDE="-I$with_openssl/include"
+                                FOUNDINCLUDE=yes,
+                                FOUNDINCLUDE=no)
+       fi
+       AC_SUBST(SSLINCLUDE)
+       dnl if we didn't find it, reset CPPFLAGS
+       if test "$FOUNDINCLUDE" = "no"; then
+               CPPFLAGS="$_SAVEDCPPFLAGS"
+               LDFLAGS="$_SAVEDLDFLAGS"
+       fi
 
-  dnl Check for crypto lib
-  _SAVEDLIBS="$LIBS"
-  AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
-  if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
-    dnl Check for SSL lib
-    AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto",AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto"),-L$OPENSSL/lib -lcrypto)
-  fi
-  LIBS="$_SAVEDLIBS"
-
-  FOUNDSSL="no"
-  dnl test headers and libs to decide whether check_http should use SSL
-  if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
-    if test "$ac_cv_lib_ssl_main" = "yes"; then
-      if test "$FOUNDINCLUDE" = "yes"; then
-        FOUNDSSL="yes"
-      fi
-    fi
-  fi
+       dnl Check for crypto lib
+       _SAVEDLIBS="$LIBS"
+       LIBS="-L${with_openssl}/lib"
+       AC_CHECK_LIB(crypto,CRYPTO_lock)
+       if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
+               dnl Check for SSL lib
+               AC_CHECK_LIB(ssl,main, SSLLIBS="-lssl -lcrypto",,-lcrypto)
+       fi
+       LIBS="$_SAVEDLIBS"
+
+       dnl test headers and libs to decide whether check_http should use SSL
+       if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
+               if test "$ac_cv_lib_ssl_main" = "yes"; then
+                       if test "$FOUNDINCLUDE" = "yes"; then
+                               FOUNDOPENSSL="yes"
+                       fi
+               fi
+       fi
 fi
 
+
 dnl check for gnutls if openssl isn't found (or is disabled)
-FOUNDGNUTLS="no"
-if ! test "$FOUNDSSL" = "yes"; then
-       if test "$GNUTLS" = ""; then
-               CPPFLAGS="$CPPFLAGS -I$GNUTLS"
-       elif ! test "$LIBGNUTLS_CONFIG" = ""; then
+if test ! "$FOUNDOPENSSL" = "yes" && test ! "$with_gnutls" = "no"; then
+       if test ! "$with_gnutls" = ""; then
+               CPPFLAGS="$CPPFLAGS -I${with_gnutls}/include"
+       elif test ! "$LIBGNUTLS_CONFIG" = ""; then
                CPPFLAGS="$CPPFLAGS -I`$LIBGNUTLS_CONFIG --prefix`"
        fi
        AC_CHECK_HEADERS([gnutls/openssl.h],FOUNDGNUTLS="yes",)
        if test "$FOUNDGNUTLS" = "yes"; then
                AC_CHECK_LIB(gnutls-openssl,main,SSLLIBS="-lgnutls-openssl")
-               FOUNDSSL="yes"
        fi
 fi
 dnl end check for gnutls
 
-if test "$FOUNDSSL" = "yes"; then
-  check_tcp_ssl="check_simap check_spop check_jabber check_nntps check_ssmtp"
-  AC_SUBST(check_tcp_ssl)
-  AC_SUBST(SSLLIBS)
-  AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
-  if test "$FOUNDGNUTLS" = "no"; then
-       AC_DEFINE(USE_OPENSSL,1,[Define if using OpenSSL libraries])
-       with_openssl="yes"
-       with_gnutls="no"
-  else
-       AC_DEFINE(USE_GNUTLS,1,[Define if using gnutls libraries])
-       with_gnutls="yes"
-       with_openssl="no"
-  fi
+if test "$FOUNDOPENSSL" = "yes" || test "$FOUNDGNUTLS" = "yes"; then
+       check_tcp_ssl="check_simap check_spop check_jabber check_nntps check_ssmtp"
+       AC_SUBST(check_tcp_ssl)
+       AC_SUBST(SSLLIBS)
+       AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
+       if test "$FOUNDOPENSSL" = "yes"; then
+               AC_DEFINE(USE_OPENSSL,1,[Define if using OpenSSL libraries])
+               with_openssl="yes"
+               with_gnutls="no"
+       else
+               AC_DEFINE(USE_GNUTLS,1,[Define if using gnutls libraries])
+               with_gnutls="yes"
+               with_openssl="no"
+       fi
 else
-  if test "$FOUNDSSL" = "no"; then
-    AC_MSG_WARN([OpenSSL libs could not be found])
-  dnl else deliberately disabled
-  fi
-  with_openssl="no"
-  with_gnutls="no"
-  CPPFLAGS="$_SAVEDCPPFLAGS"
-  LDFLAGS="$_SAVEDLDFLAGS"
+       dnl else deliberately disabled or no ssl support available
+       AC_MSG_WARN([OpenSSL or GnuTLS libs could not be found or were disabled])
+       with_openssl="no"
+       with_gnutls="no"
 fi
 
 dnl
 dnl Checks for header files.
 dnl
 
-AC_HEADER_STDC
 AC_HEADER_TIME
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(signal.h strings.h string.h syslog.h uio.h errno.h regex.h sys/types.h sys/time.h sys/socket.h sys/loadavg.h)
-AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h stdlib.h)
+AC_CHECK_HEADERS(signal.h syslog.h uio.h errno.h sys/time.h sys/socket.h sys/un.h sys/poll.h)
+AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -551,7 +492,7 @@ ac_cv_HAVE_VA_COPY=yes,
 ac_cv_HAVE_VA_COPY=no)])
 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
     AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
-else    
+else
     AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE___VA_COPY,[
     AC_TRY_LINK([#include <stdarg.h>
     va_list ap1,ap2;], [__va_copy(ap1,ap2);],
@@ -562,37 +503,6 @@ else
     fi
 fi
 
-AC_CHECK_FUNCS(vsnprintf snprintf asprintf vasprintf)
-AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
-AC_TRY_RUN([
-#include <sys/types.h>
-#include <stdarg.h>
-void foo(const char *format, ...) { 
-       va_list ap;
-       int len;
-       char buf[5];
-
-       va_start(ap, format);
-       len = vsnprintf(buf, 0, format, ap);
-       va_end(ap);
-       if (len != 5) exit(1);
-
-       va_start(ap, format);
-       len = vsnprintf(0, 0, format, ap);
-       va_end(ap);
-       if (len != 5) exit(1);
-
-       if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
-
-       exit(0);
-}
-main() { foo("hello"); }
-],
-ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
-if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
-    AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
-fi
-
 AC_TRY_COMPILE([#include <sys/time.h>],
                [struct timeval *tv;
                 struct timezone *tz;],
@@ -605,7 +515,8 @@ AC_TRY_COMPILE([#include <sys/time.h>],
                               AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
 
 dnl Checks for library functions.
-AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul floor)
+AC_CHECK_FUNCS(memmove select socket strdup strstr strtol strtoul floor)
+AC_CHECK_FUNCS(poll)
 
 AC_MSG_CHECKING(return type of socket size)
 AC_TRY_COMPILE([#include <stdlib.h>
@@ -620,43 +531,138 @@ AC_TRY_COMPILE([#include <stdlib.h>
 AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $ac_cv_socket_size_type ,
        [Define type of socket size])
 
-if test -f "/proc/loadavg"
-then
-  AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
-  AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg",[Location of /proc/loadavg])
-fi
 
 dnl #### Process table test
 
 AC_PATH_PROG(PATH_TO_PS,ps)
 
 AC_MSG_CHECKING(for ps syntax)
+AC_ARG_WITH(ps_command,
+            ACX_HELP_STRING([--with-ps-command=PATH],
+                            [Verbatim command to execute for ps]),
+            PS_COMMAND=$withval)
+AC_ARG_WITH(ps_format,
+            ACX_HELP_STRING([--with-ps-format=FORMAT],
+                            [Format string for scanning ps output]),
+            PS_FORMAT=$withval)
+AC_ARG_WITH(ps_cols,
+            ACX_HELP_STRING([--with-ps-cols=NUM],
+                            [Number of columns in ps command]),
+            PS_COLS=$withval)
+AC_ARG_WITH(ps_varlist,
+            ACX_HELP_STRING([--with-ps-varlist=LIST],
+                            [Variable list for sscanf of 'ps' output]),
+            PS_VARLIST=$withval)
+
+if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -n "$PS_VARLIST"; then
+       ac_cv_ps_command="$PS_COMMAND"
+       ac_cv_ps_format="$PS_FORMAT"
+       ac_cv_ps_varlist="$PS_VARLIST"
+       ac_cv_ps_cols="$PS_COLS"
+       AC_MSG_RESULT([(command-line) $ac_cv_ps_command])
 
 dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
-AM_CONDITIONAL(WANT_PST3, false)
-if test "$ac_cv_uname_s" = "SunOS"; then
-       #
-       # this is a very, very ugly hack, to hardcode the location for plugins
-       #
-       if test "$libexecdir" = '${exec_prefix}/libexec'; then
-               if test "$exec_prefix" = "NONE"; then
-                       if test "$prefix" = "NONE"; then
-                               pst3="$ac_default_prefix/libexec/pst3"
-                       else
-                               pst3="$prefix/libexec/pst3"
-                       fi
-               else
-                       pst3="$exec_prefix/libexec/pst3"
-               fi
+elif test "$ac_cv_uname_s" = "SunOS"; then
+        #
+        # this is a very, very ugly hack, to hardcode the location for plugins
+        #
+        if test "$libexecdir" = '${exec_prefix}/libexec'; then
+                if test "$exec_prefix" = "NONE"; then
+                        if test "$prefix" = "NONE"; then
+                                pst3="$ac_default_prefix/libexec/pst3"
+                        else
+                                pst3="$prefix/libexec/pst3"
+                        fi
+                else
+                        pst3="$exec_prefix/libexec/pst3"
+                fi
+        else
+                pst3="$libexecdir/pst3"
+        fi
+        ac_cv_ps_command="$pst3"
+        ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+        ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+        ac_cv_ps_cols=9
+        AC_MSG_RESULT([using nagios-plugins internal ps command (pst3) for solaris])
+       if test `isainfo -b` = 64 ; then
+               pst3_use_64bit=1
+               AC_MSG_NOTICE([using 64bit pst3])
        else
-               pst3="$libexecdir/pst3"
+               AC_MSG_NOTICE([using 32bit pst3])
        fi
-       ac_cv_ps_command="$pst3"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_cols=8
-       AC_MSG_RESULT([using nagios-plugins internal ps for solaris])
-       AM_CONDITIONAL(WANT_PST3, true)
+        EXTRAS_ROOT="$EXTRAS_ROOT pst3"
+
+       if test "$pst3_use_64bit" = 1; then
+               dnl Test if we can actually compile code in 64bit
+               old_cflags=$CFLAGS
+               CFLAGS="$CFLAGS -m64"
+               pst3_64bit_working=0
+               AC_RUN_IFELSE(
+                       [AC_LANG_PROGRAM([], [
+return sizeof(void*) == 8 ? 0 : 1;
+                       ])
+               ],[
+                       PST3CFLAGS="-m64"
+                       AC_SUBST(PST3CFLAGS)
+                       pst3_64bit_working=1
+                       AC_MSG_NOTICE([using -m64 for 64bit code])
+               ],[
+                       pst3_64bit_working=0
+                       AC_MSG_NOTICE([compiler do not like -m64])
+               ])
+               CFLAGS=$old_cflags
+               if test "$pst3_64bit_working" = 0; then
+                       old_cflags=$CFLAGS
+                       CFLAGS="$CFLAGS -xarch=v9"
+                       AC_RUN_IFELSE(
+                               [AC_LANG_PROGRAM([], [
+return sizeof(void*) == 8 ? 0 : 1;
+                               ])
+                       ],[
+                               PST3CFLAGS="-xarch=v9"
+                               AC_SUBST(PST3CFLAGS)
+                               pst3_64bit_working=1
+                               AC_MSG_NOTICE([using -xarch=v9 for 64bit code])
+                       ],[
+                               pst3_64bit_working=0
+                               AC_MSG_NOTICE([compiler do not like -xarch=v9])
+                       ])
+                       CFLAGS=$old_cflags
+               fi
+               if test "$pst3_64bit_working" = 0; then
+                       old_cflags=$CFLAGS
+                       CFLAGS="$CFLAGS -xarch=amd64"
+                       AC_RUN_IFELSE(
+                               [AC_LANG_PROGRAM([], [
+return sizeof(void*) == 8 ? 0 : 1;
+                               ])
+                       ],[
+                               PST3CFLAGS="-xarch=amd64"
+                               AC_SUBST(PST3CFLAGS)
+                               pst3_64bit_working=1
+                               AC_MSG_NOTICE([using -xarch=amd64 for 64bit code])
+                       ],[
+                               pst3_64bit_working=0
+                               AC_MSG_NOTICE([compiler do not like -xarch=amd64])
+                       ])
+                       CFLAGS=$old_cflags
+               fi
+               if test "$pst3_64bit_working" = 0; then
+                       AC_MSG_ERROR([I don't know how to build a 64-bit object!])
+               fi
+       fi
+
+dnl Removing this for the moment - Ton
+dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation
+dnl Limitation that command name is not available
+dnl elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \
+dnl    egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null
+dnl then
+dnl    ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]"
+dnl    ac_cv_ps_command="/usr/ucb/ps -alxwwn"
+dnl    ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"]
+dnl    ac_cv_ps_cols=8
+dnl    AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
 dnl so test for this first...
@@ -681,7 +687,7 @@ then
        ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4. 
+dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
 dnl Limitation: Only first 16 chars returned for ucomm field
 dnl Must come before ps -weo
 elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
@@ -758,9 +764,9 @@ then
        ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-dnl Tru64 - needs %*[ +<>] in PS_FORMAT. 
+dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
 dnl Has /usr/bin/ps and /sbin/ps - force sbin version
-dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead 
+dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
 dnl of 1500). Will need big changes to check_procs to support
 elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
        egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
@@ -886,7 +892,7 @@ then
        ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-dnl UnixWare 
+dnl UnixWare
 elif ps -Al 2>/dev/null | \
        egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
 then
@@ -910,6 +916,10 @@ if test -n "$ac_cv_ps_varlist" ; then
        AC_DEFINE_UNQUOTED(PS_COLS,$ac_cv_ps_cols,
                [Number of columns in ps command])
        EXTRAS="$EXTRAS check_procs check_nagios"
+       if echo "$ac_cv_ps_varlist" | grep "procetime" >/dev/null; then
+               AC_DEFINE(PS_USES_PROCETIME,"yes",
+                         [Whether the ps utility uses the "procetime" field])
+       fi
 fi
 
 AC_PATH_PROG(PATH_TO_PING,ping)
@@ -926,7 +936,15 @@ ac_cv_ping_has_timeout=no
 if test -n "$with_ping_command"
 then
        AC_MSG_RESULT([(command-line) $with_ping_command])
-       if test -n "$ac_cv_ping_packets_first"
+       if echo "$with_ping_command" | grep '%d.*%d.*%s' >/dev/null
+       then
+               ac_cv_ping_packets_first=yes
+               ac_cv_ping_has_timeout=yes
+       elif echo "$with_ping_command" | grep '%d.*%s.*%d' >/dev/null || \
+            echo "$with_ping_command" | grep '%s.*%d.*%d' >/dev/null
+       then
+               ac_cv_ping_has_timeout=yes
+       elif echo "$with_ping_command" | grep '%d.*%s' >/dev/null
        then
                ac_cv_ping_packets_first=yes
        fi
@@ -935,14 +953,14 @@ elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
        $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
        egrep -i "^round-trip|^rtt" >/dev/null
 then
-        with_ping_command="$PATH_TO_PING -n -U -c %d %s"
+       with_ping_command="$PATH_TO_PING -n -U -c %d %s"
        ac_cv_ping_packets_first=yes
        AC_MSG_RESULT([$with_ping_command])
 
 elif $PATH_TO_PING -n -U -w 10 -c 1 127.0.0.1 2>/dev/null | \
        egrep -i "^round-trip|^rtt" >/dev/null
 then
-        with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s"
+       with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s"
        ac_cv_ping_packets_first=yes
   ac_cv_ping_has_timeout=yes
        AC_MSG_RESULT([$with_ping_command])
@@ -950,7 +968,7 @@ then
 elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
        egrep -i "^round-trip|^rtt" >/dev/null
 then
-        with_ping_command="$PATH_TO_PING -n -U -c %d %s"
+       with_ping_command="$PATH_TO_PING -n -U -c %d %s"
        ac_cv_ping_packets_first=yes
        AC_MSG_RESULT([$with_ping_command])
 
@@ -1029,7 +1047,15 @@ ac_cv_ping6_packets_first=no
 if test -n "$with_ping6_command"
 then
        AC_MSG_RESULT([(command-line) $with_ping6_command])
-       if test -n "$ac_cv_ping6_packets_first"
+       if echo "$with_ping6_command" | grep '%d.*%d.*%s' >/dev/null
+       then
+               ac_cv_ping6_packets_first=yes
+       elif echo "$with_ping6_command" | grep '%d.*%s.*%d' >/dev/null || \
+            echo "$with_ping6_command" | grep '%s.*%d.*%d' >/dev/null
+       then
+               # Just keep same logic as ping (IPv4) if we ever need ac_cv_ping6_has_timeout
+               true
+       elif echo "$with_ping6_command" | grep '%d.*%s' >/dev/null
        then
                ac_cv_ping6_packets_first=yes
        fi
@@ -1039,7 +1065,7 @@ elif test "x$PATH_TO_PING6" != "x"; then
                $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
                egrep -i "^round-trip|^rtt" >/dev/null
        then
-               with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
+               with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
                ac_cv_ping6_packets_first=yes
                AC_MSG_RESULT([$with_ping6_command])
 
@@ -1054,7 +1080,7 @@ elif test "x$PATH_TO_PING6" != "x"; then
        elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
                egrep -i "^round-trip|^rtt" >/dev/null
        then
-               with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
+               with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
                ac_cv_ping6_packets_first=yes
                AC_MSG_RESULT([$with_ping6_command])
 
@@ -1110,14 +1136,14 @@ elif test "x$PATH_TO_PING" != "x"; then
                $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
                egrep -i "^round-trip|^rtt" >/dev/null
        then
-               with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
+               with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
                ac_cv_ping6_packets_first=yes
                AC_MSG_RESULT([$with_ping6_command])
 
        elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \
                egrep -i "^round-trip|^rtt" >/dev/null
        then
-               with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
+               with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
                ac_cv_ping6_packets_first=yes
                AC_MSG_RESULT([$with_ping6_command])
 
@@ -1183,53 +1209,58 @@ if test "x$ac_cv_ping6_packets_first" != "xno"; then
 fi
 fi
 
-AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
 
-AC_MSG_CHECKING(for nslookup syntax)
-if test -n "$PATH_TO_NSLOOKUP"
-then
-       if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
+AC_ARG_WITH(nslookup_command,
+            ACX_HELP_STRING([--with-nslookup-command=PATH],
+                            [sets path to nslookup executable]),
+            ac_cv_nslookup_command=$withval)
+if test -n "$ac_cv_nslookup_command"; then
+       AC_MSG_NOTICE([Using specific nslookup at $ac_cv_nslookup_command])
+else
+       AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
+       if test -n "$PATH_TO_NSLOOKUP"
        then
-               ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
-               AC_MSG_RESULT([$ac_cv_nslookup_command])
+               AC_MSG_CHECKING(for nslookup syntax)
+               if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
+               then
+                       ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
+                       AC_MSG_RESULT([$ac_cv_nslookup_command])
 
-       else
-               ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
-               AC_MSG_RESULT([$ac_cv_nslookup_command])
+               else
+                       ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
+                       AC_MSG_RESULT([$ac_cv_nslookup_command])
 
+               fi
+       else
+               AC_MSG_WARN([nslookup command not found])
        fi
-       EXTRAS="$EXTRAS check_dns"
-
-else
-       AC_MSG_WARN([nslookup command not found])
 fi
 
-AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command",
-       [path and args for nslookup])
-
-AC_PATH_PROG(PATH_TO_HOST,host)
-if test -n "$ac_cv_path_PATH_TO_HOST"
-then
+if test -n "$ac_cv_nslookup_command"; then
        EXTRAS="$EXTRAS check_dns"
+       AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command", [path and args for nslookup])
 fi
 
+AC_MSG_CHECKING([for number of cpus])
+AC_TRY_COMPILE([#include <unistd.h>],
+       [sysconf(_SC_NPROCESSORS_CONF) > 0;],
+       AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of cpus])
+       AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
+       AC_MSG_RESULT([cannot calculate])
+       )
+
 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
+AC_ARG_WITH(uptime_command,
+            ACX_HELP_STRING([--with-uptime-command=PATH],
+                            [sets path to uptime]), PATH_TO_UPTIME=$withval)
 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
 
 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
+AC_ARG_WITH(rpcinfo_command,
+            ACX_HELP_STRING([--with-rpcinfo-command=PATH],
+                            [sets path to rpcinfo]), PATH_TO_RPCINFO=$withval)
 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
 
-AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
-AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
-AC_PATH_PROGS(PATH_TO_NTPQ,ntpq)
-if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPQ")
-then
-       AC_DEFINE_UNQUOTED(PATH_TO_NTPQ,"$PATH_TO_NTPQ",[path to ntpq binary])
-       AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE",[path to ntpdate binary])
-else
-       AC_MSG_WARN([Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization])
-fi
-
 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
 if test -x "$PATH_TO_LMSTAT"
 then
@@ -1239,7 +1270,11 @@ else
 fi
 
 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
-if test -x "$PATH_TO_SMBCLIENT"
+AC_ARG_WITH(smbclient_command,
+            ACX_HELP_STRING([--with-smbclient-command=PATH],
+                            [sets path to smbclient]),
+            PATH_TO_SMBCLIENT=$withval)
+if test -n "$PATH_TO_SMBCLIENT"
 then
        AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
 else
@@ -1260,7 +1295,11 @@ AC_DEFINE_UNQUOTED(WHO_COMMAND,"$ac_cv_path_to_who",
        [path and arguments for invoking 'who'])
 
 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
-if test -x "$PATH_TO_SNMPGET"
+AC_ARG_WITH(snmpget_command,
+            ACX_HELP_STRING([--with-snmpget-command=PATH],
+                            [Path to snmpget command]),
+            PATH_TO_SNMPGET=$withval)
+if test -n "$PATH_TO_SNMPGET"
 then
        AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
        EXTRAS="$EXTRAS check_hpjd check_snmp"
@@ -1269,7 +1308,11 @@ else
 fi
 
 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
-if test -x "$PATH_TO_SNMPGETNEXT"
+AC_ARG_WITH(snmpgetnext_command,
+            ACX_HELP_STRING([--with-snmpgetnext-command=PATH],
+                            [Path to snmpgetnext command]),
+            PATH_TO_SNMPGETNEXT=$withval)
+if test -n "$PATH_TO_SNMPGETNEXT"
 then
        AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
 fi
@@ -1284,13 +1327,16 @@ fi
 
 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
+AC_ARG_WITH(qstat_command,
+            ACX_HELP_STRING([--with-qstat-command=PATH],
+                            [Path to qstat command]), PATH_TO_QSTAT=$withval)
 
 if test -x "$PATH_TO_QUAKESTAT"
 then
        ac_cv_path_to_qstat="$PATH_TO_QUAKESTAT"
        EXTRAS="$EXTRAS check_game"
 
-elif test -x "$PATH_TO_QSTAT"
+elif test -n "$PATH_TO_QSTAT"
 then
        ac_cv_path_to_qstat="$PATH_TO_QSTAT"
        EXTRAS="$EXTRAS check_game"
@@ -1298,14 +1344,17 @@ else
        AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
 fi
 
-if test $ac_cv_path_to_qstat 
+if test $ac_cv_path_to_qstat
 then
        AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
                [path to qstat/quakestat])
 fi
 
 AC_PATH_PROG(PATH_TO_FPING,fping)
-if test -x "$PATH_TO_FPING"
+AC_ARG_WITH(fping_command,
+            ACX_HELP_STRING([--with-fping-command=PATH],
+                            [Path to fping command]), PATH_TO_FPING=$withval)
+if test -n "$PATH_TO_FPING"
 then
        AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
        EXTRAS="$EXTRAS check_fping"
@@ -1314,8 +1363,10 @@ else
 fi
 
 AC_PATH_PROG(PATH_TO_SSH,ssh)
-
-if test -x "$PATH_TO_SSH"
+AC_ARG_WITH(ssh_command,
+            ACX_HELP_STRING([--with-ssh-command=PATH],
+                            [sets path for ssh]), PATH_TO_SSH=$withval)
+if test -n "$PATH_TO_SSH"
 then
        AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
        EXTRAS="$EXTRAS check_by_ssh"
@@ -1325,7 +1376,10 @@ fi
 
 
 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
-if test -x "$PATH_TO_MAILQ"
+AC_ARG_WITH(mailq_command,
+            ACX_HELP_STRING([--with-mailq-command=PATH],
+                            [sets path to mailq]), PATH_TO_MAILQ=$withval)
+if test -n "$PATH_TO_MAILQ"
 then
        AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
 else
@@ -1393,7 +1447,7 @@ then
 elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
 then
        ac_cv_have_swap=yes
-       ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM",
+       ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM"
        ac_cv_swap_format=["%*s %f %*d %f"]
        ac_cv_swap_conv=1024
        AC_MSG_RESULT([using HP-UX format swapinfo])
@@ -1431,30 +1485,30 @@ AC_CHECK_HEADERS([sys/swap.h], [], [], [
 AC_CHECK_DECLS([swapctl],,,[
                #include <unistd.h>
                #include <sys/types.h>
-              #include <sys/param.h>
+               #include <sys/param.h>
                #include <sys/stat.h>
                #include <sys/swap.h>
                ])
 AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[
                #include <sys/types.h>
-              #include <sys/param.h>
+               #include <sys/param.h>
                #include <sys/stat.h>
                #include <sys/swap.h>
                ])
 AC_CHECK_MEMBERS([struct swapent.se_nblks],,,[
-               #include <unistd.h>
-               #include <sys/types.h>
-              #include <sys/param.h>
-               #include <sys/stat.h>
-               #include <sys/swap.h>
-               ])
+                 #include <unistd.h>
+                 #include <sys/types.h>
+                 #include <sys/param.h>
+                 #include <sys/stat.h>
+                 #include <sys/swap.h>
+                 ])
 
-if test "$ac_cv_have_decl_swapctl" = "yes"; 
+if test "$ac_cv_have_decl_swapctl" = "yes";
 then
        EXTRAS="$EXTRAS check_swap"
        AC_MSG_CHECKING([for 2-arg (SVR4) swapctl])
        if test "$ac_cv_type_swaptbl_t" = "yes" -a \
-               "$ac_cv_type_swapent_t" = "yes"; 
+               "$ac_cv_type_swapent_t" = "yes";
        then
                AC_MSG_RESULT([yes])
                ac_cv_check_swap_swapctl_svr4="1";
@@ -1463,7 +1517,7 @@ then
        else
                AC_MSG_RESULT([no])
                AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
-               if test "$ac_cv_member_struct_swapent_se_nblks" = "yes"; 
+               if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
                then
                        AC_MSG_RESULT([yes])
                        AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
@@ -1504,12 +1558,12 @@ dnl end tests for the swapctl system calls
 dnl
 
 
-if test "x$ac_cv_have_swap" != "x" 
+if test "x$ac_cv_have_swap" != "x"
 then
        AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
        EXTRAS="$EXTRAS check_swap"
 fi
-if test "x$ac_cv_swap_command" != "x" 
+if test "x$ac_cv_swap_command" != "x"
 then
        AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
                [Path to swap/swapinfo binary, with any args])
@@ -1519,116 +1573,191 @@ then
                [Conversion factor to MB])
 fi
 
+AC_ARG_WITH(proc-meminfo,
+            ACX_HELP_STRING([--with-proc-meminfo=PATH],
+                            [path to /proc/meminfo or equivalent]),
+                            ac_cv_proc_meminfo=$withval)
 dnl dunno why this does not work below - use hack (kbd)
 dnl fine on linux, broken on solaris
 dnl if /bin/test -e "/proc/meminfo"
 AC_MSG_CHECKING([for /proc/meminfo])
-if [cat /proc/meminfo > /dev/null 2>&1]
-then
+if test -n "$ac_cv_proc_meminfo"; then
+       AC_MSG_RESULT([(command line) $ac_cv_proc_meminfo])
+elif [cat /proc/meminfo > /dev/null 2>&1]; then
        AC_MSG_RESULT([found /proc/meminfo])
-       AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
-       AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes])
-       EXTRAS="$EXTRAS check_swap"
+       ac_cv_proc_meminfo="/proc/meminfo"
 else
        AC_MSG_RESULT([no])
 fi
 
+if test -n "$ac_cv_proc_meminfo"; then
+       AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
+       AC_DEFINE_UNQUOTED(PROC_MEMINFO,"$ac_cv_proc_meminfo",[path to /proc/meminfo if name changes])
+       EXTRAS="$EXTRAS check_swap"
+fi
+
 AC_PATH_PROG(PATH_TO_DIG,dig)
-AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
+AC_ARG_WITH(dig_command,
+            ACX_HELP_STRING([--with-dig-command=PATH],
+                            [Path to dig command]), PATH_TO_DIG=$withval)
 if test -n "$PATH_TO_DIG"; then
        EXTRAS="$EXTRAS check_dig"
+       AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
 fi
 
-if test -f plugins/check_nt.c ; then
-  EXTRAS="$EXTRAS check_nt"
-elif test -f ../plugins/check_nt.c ; then
+AC_PATH_PROG(PATH_TO_APTGET,apt-get)
+AC_ARG_WITH(apt-get_command,
+            ACX_HELP_STRING([--with-apt-get-command=PATH],
+                            [Path to apt-get command]),
+                            with_apt_get_command=$withval,
+                            with_apt_get_command=$PATH_TO_APTGET)
+AC_DEFINE_UNQUOTED(PATH_TO_APTGET,"$PATH_TO_APTGET",[Path to apt-get command, if present])
+if test -n "$PATH_TO_APTGET" ; then
+       EXTRAS="$EXTRAS check_apt"
+fi
+
+
+if test -f $srcdir/plugins/check_nt.c ; then
   EXTRAS="$EXTRAS check_nt"
 fi
 
-AC_MSG_CHECKING(for va_list)
-AC_TRY_COMPILE([#ifdef __STDC__
-               #include <stdio.h>
-               #include <stdlib.h>
-               #include <stdarg.h>
-               #else
-               #include <sys/types.h>
-               #include <stdio.h>
-               #include <varargs.h>
-               #endif],
-               [va_list args;],
-               [AC_MSG_RESULT(yes)],
-               [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
+
+dnl used in check_dhcp
+AC_CHECK_HEADERS(sys/sockio.h)
 
 case $host in
        *bsd*)
                AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c])
        ;;
        *linux*)
-               AC_DEFINE(__linux__,1,[sun specific code in check_dhcp.c])
+               AC_DEFINE(__linux__,1,[linux specific code in check_dhcp.c])
        ;;
-       *sun* | solaris*)
+       *sun* | *solaris*)
                AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
        ;;
-       *hpux*)  
+       *hpux*)
                AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
        ;;
 esac
 
 AC_SUBST(EXTRAS)
+AC_SUBST(EXTRAS_ROOT)
 AC_SUBST(EXTRA_NETOBJS)
 AC_SUBST(DEPLIBS)
 
-AM_GNU_GETTEXT([no-libtool], [need-ngettext])
-AM_GNU_GETTEXT_VERSION(0.11.5)
+AM_GNU_GETTEXT([external], [need-ngettext])
+AM_GNU_GETTEXT_VERSION(0.15)
 
 dnl Check for Redhat spopen problem
 dnl Wierd problem where ECHILD is returned from a wait call in error
 dnl Only appears to affect nslookup and dig calls. Only affects redhat around
 dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause
 dnl We patch plugins/popen.c
-dnl Need to add smp because uname different on those. May need to check
-dnl Fedora Core too in future
-if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then
-       AC_MSG_CHECKING(for redhat spopen problem)
-       ( cd config_test && make && make test ) > /dev/null 2>&1
-       if test $? -eq 0 ; then
-               AC_MSG_RESULT(okay)
-       else
-               AC_MSG_RESULT(error)
-               AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, "Problem on redhat with spopen")
+dnl Need to add smp because uname different on those
+dnl Can force patch to be applied with --enable-redhat-pthread-workaround
+AC_ARG_ENABLE(redhat-pthread-workaround,
+       AC_HELP_STRING([--enable-redhat-pthread-workaround],
+               [force Redhat patch to be applied (default: test system)]),
+       [ac_cv_enable_redhat_pthread_workaround=$enableval],
+       [ac_cv_enable_redhat_pthread_workaround=test])
+if test "$ac_cv_enable_redhat_pthread_workaround" = "test" ; then
+       if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then
+               AC_MSG_NOTICE([See http://nagiosplugins.org/faq/compile/configure_appears_to_hang if this next part takes a long time])
+               AC_MSG_CHECKING(for redhat spopen problem)
+               ( cd config_test && make && make test ) > /dev/null 2>&1
+               if test $? -eq 0 ; then
+                       AC_MSG_RESULT(okay)
+               else
+                       AC_MSG_RESULT(error)
+                       AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Workaround on redhat in spopen])
+               fi
        fi
+elif test "$ac_cv_enable_redhat_pthread_workaround" = "yes" ; then
+       AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Forced workaround on redhat in spopen])
+fi
+
+dnl Perl modules
+AC_ARG_ENABLE(perl-modules,
+       AC_HELP_STRING([--enable-perl-modules],
+               [Enables installation of Nagios::Plugin and its dependencies (default: no)]),
+       [enable_perl_modules=$enableval],
+       [enable_perl_modules=no])
+if test "$enable_perl_modules" = "yes" ; then
+  AC_SUBST(PERLMODS_DIR,perlmods)
 fi
 
+# From Tap configure
+# Checks for libraries
+case "$host" in
+       *-*-*freebsd4*)
+               LDFLAGS="$LDFLAGS -pthread"
+               HAVE_LIBPTHREAD=1
+               ;;
+       *)
+               AC_CHECK_LIB(pthread, main)
+               ;;
+esac
+
 dnl External libraries - see ACKNOWLEDGEMENTS
-np_COREUTILS
-np_CURL
+gl_INIT
+
+dnl Some helpful common compile errors checked here
+if test "$ac_cv_uname_s" = 'SunOS' -a \( "x$ac_cv_prog_ac_ct_AR" = "x" -o "$ac_cv_prog_ac_ct_AR" = 'false' \) ; then
+       AC_MSG_ERROR(No ar found for Solaris - is /usr/ccs/bin in PATH?)
+fi
 
 AC_OUTPUT(
-  Makefile 
-  lib/Makefile 
-  m4/Makefile 
-  plugins/Makefile 
+  Makefile
+  tap/Makefile
+  lib/Makefile
+  plugins/Makefile
+  lib/tests/Makefile
   plugins-root/Makefile
-  plugins-scripts/Makefile 
-  plugins-scripts/subst 
-  plugins-scripts/utils.pm 
-  plugins-scripts/utils.sh 
-  command.cfg 
-  test.pl 
-  pkg/solaris/pkginfo 
-  intl/Makefile
-  po/Makefile.in 
+  plugins-scripts/Makefile
+  plugins-scripts/subst
+  plugins-scripts/utils.pm
+  plugins-scripts/utils.sh
+  perlmods/Makefile
+  command.cfg
+  test.pl
+  pkg/solaris/pkginfo
+  po/Makefile.in
 )
 
-ACX_FEATURE([with],[perl])
-ACX_FEATURE([with],[cgiurl])
-ACX_FEATURE([with],[nagios-user])
-ACX_FEATURE([with],[nagios-group])
-ACX_FEATURE([with],[trusted-path])
-ACX_FEATURE([with],[ping-command])
+
+dnl the ones below that are commented out need to be cleaned up
+dnl in the configure code above to use with_foo instead of ac_cv_foo
+dnl if we want them to show up here.  it'd also make the code cleaner.
+dnl i'll get to that on another rainy day :) -sf
+ACX_FEATURE([with],[apt-get-command])
+dnl ACX_FEATURE([with],[dig-command])
+dnl ACX_FEATURE([with],[fping-command])
+dnl ACX_FEATURE([with],[mailq-command])
+dnl ACX_FEATURE([with],[nslookup-command])
 ACX_FEATURE([with],[ping6-command])
-ACX_FEATURE([with],[lwres])
+ACX_FEATURE([with],[ping-command])
+dnl ACX_FEATURE([with],[qstat-command])
+dnl ACX_FEATURE([with],[rpcinfo-command])
+dnl ACX_FEATURE([with],[smbclient-command])
+dnl ACX_FEATURE([with],[snmpget-command])
+dnl ACX_FEATURE([with],[snmpgetnext-command])
+dnl ACX_FEATURE([with],[ssh-command])
+dnl ACX_FEATURE([with],[uptime-command])
+
+dnl ACX_FEATURE([with],[proc-meminfo])
+dnl ACX_FEATURE([with],[ps-command])
+dnl ACX_FEATURE([with],[ps-format])
+dnl ACX_FEATURE([with],[ps-cols])
+dnl ACX_FEATURE([with],[ps-varlist])
+
 ACX_FEATURE([with],[ipv6])
+ACX_FEATURE([with],[mysql])
 ACX_FEATURE([with],[openssl])
 ACX_FEATURE([with],[gnutls])
-ACX_FEATURE([enable],[emulate-getaddrinfo])
+ACX_FEATURE([enable],[extra-opts])
+ACX_FEATURE([with],[perl])
+ACX_FEATURE([enable],[perl-modules])
+ACX_FEATURE([with],[cgiurl])
+ACX_FEATURE([with],[trusted-path])
+ACX_FEATURE([enable],[libtap])
+