Code

first version of bob ingraham's pst3 to allow checking for longer
[nagiosplug.git] / configure.in
index 8c196352ecd08026c618fc8995b606043a2ec4e7..176a8e2267bb543e203462035b45ec4e65f686f1 100644 (file)
@@ -1,8 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_REVISION ($Revision$)
 AC_PREREQ(2.58)
-AC_INIT(nagios-plugins,1.4-beta1)
-AC_CONFIG_SRCDIR(Helper.pm)
+AC_INIT(nagios-plugins,1.4.2)
+AC_CONFIG_SRCDIR(NPTest.pm)
 AM_INIT_AUTOMAKE
 AM_CONFIG_HEADER(config.h)
 AC_CANONICAL_HOST
@@ -101,8 +101,15 @@ AC_SUBST(REV_TIMESTAMP)
 
 dnl Checks for programs.
 AC_PATH_PROG(PYTHON,python)
-AC_PATH_PROG(PERL,perl)
 AC_PATH_PROG(SH,sh)
+AC_PATH_PROG(PERL,perl)
+
+dnl allow them to override the path of perl
+AC_ARG_WITH(perl,
+        ACX_HELP_STRING([--with-perl=PATH],
+                       [sets path to perl executable]),
+                       with_perl=$withval,with_perl=$PERL)
+AC_SUBST(PERL, $with_perl)
 
 AC_PATH_PROG(HOSTNAME,hostname)
 AC_PATH_PROG(BASENAME,basename)
@@ -130,6 +137,11 @@ AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
 AC_SUBST(SOCKETLIBS)
 
+dnl
+dnl check for math-related functions needing -lm
+AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
+AC_SUBST(MATHLIBS)
+
 dnl Check for PostgreSQL libraries
 _SAVEDLIBS="$LIBS"
 _SAVEDCPPFLAGS="$CPPFLAGS"
@@ -255,155 +267,6 @@ fi
 CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE"
 LIBS="$_SAVEDLIBS"
 
-dnl Check for OpenSSL location
-dnl This whole check is inspired by curl 7.12.2's configure.ac
-OPT_OPENSSL=off
-AC_ARG_WITH(openssl,
-AC_HELP_STRING([--with-openssl=DIR], [sets path to openssl installation])
-AC_HELP_STRING([--without-openssl], [disable openssl]),
-OPT_OPENSSL=$withval)
-
-if test X"$OPT_OPENSSL" = "Xno"; then
-  AC_MSG_WARN([openssl disabled, you will not be able to use ssl options in some plugins])
-  with_openssl=no
-else
-  dnl backup the pre-ssl variables
-  CLEANLDFLAGS="$LDFLAGS"
-  CLEANCPPFLAGS="$CPPFLAGS"
-  CLEANLIBS="$LIBS"
-
-  case "$OPT_OPENSSL" in
-  yes)
-    dnl --with-openssl (without path) used
-    PKGTEST="yes"
-    ;;
-  off)
-    dnl no --with-openssl given, check default places
-    PKGTEST="yes"
-    ;;
-  *)
-    dnl use the given area
-    PKGTEST="no"
-    OPENSSL=$OPT_OPENSSL
-    LDFLAGS="$LDFLAGS -L$OPENSSL/lib"
-    CPPFLAGS="$CPPFLAGS -I$OPENSSL/include/openssl -I$OPENSSL/include"
-  ;;
-  esac
-
-  dnl Check usual areas for openssl
-  if test "$PKGTEST" = "yes"; then
-    AC_PATH_PROG(OPENSSL,openssl)
-    dnl The /usr checks need to be done so that the right area is include'd
-    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
-  fi
-
-  AC_CHECK_LIB(crypto, CRYPTO_lock,[
-     HAVECRYPTO="yes"
-     ],[
-     LDFLAGS="$CLEANLDFLAGS -L$OPENSSL/lib"
-     CPPFLAGS="$CLEANCPPFLAGS -I$OPENSSL/include/openssl -I$OPENSSL/include"
-     AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
-       HAVECRYPTO="yes" ], [
-       LDFLAGS="$CLEANLDFLAGS"
-       CPPFLAGS="$CLEANCPPFLAGS"
-       LIBS="$CLEANLIBS"
-       ])
-    ])
-
-  if test "$HAVECRYPTO" = "yes"; then
-    dnl This is only reasonable to do if crypto actually is there: check for
-    dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
-
-    dnl This is for Msys/Mingw
-    AC_MSG_CHECKING([for gdi32])
-    my_ac_save_LIBS=$LIBS
-    LIBS="-lgdi32 $LIBS"
-    AC_TRY_LINK([#include <windef.h>
-                 #include <wingdi.h>],
-               [GdiFlush();],
-               [ dnl worked!
-               AC_MSG_RESULT([yes])],
-               [ dnl failed, restore LIBS
-               LIBS=$my_ac_save_LIBS
-               AC_MSG_RESULT(no)]
-              )
-
-    AC_CHECK_LIB(crypto, CRYPTO_add_lock)
-    AC_CHECK_LIB(ssl, SSL_connect)
-
-    if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
-        dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
-        AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
-        OLIBS=$LIBS
-        LIBS="$LIBS -lRSAglue -lrsaref"
-        AC_CHECK_LIB(ssl, SSL_connect)
-        if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
-            dnl still no SSL_connect
-            AC_MSG_RESULT(no)
-            LIBS=$OLIBS
-        else
-            AC_MSG_RESULT(yes)
-        fi
-    fi
-
-
-    dnl Check for SSLeay headers
-    AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
-                     openssl/pem.h openssl/ssl.h openssl/err.h,
-      OPENSSL_ENABLED=1)
-
-    if test $ac_cv_header_openssl_x509_h = no; then
-      AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h,
-        OPENSSL_ENABLED=1)
-    fi
-
-    dnl If the ENGINE library seems to be around, check for the OpenSSL engine
-    dnl header, it is kind of "separated" from the main SSL check
-    AC_CHECK_FUNC(ENGINE_init, [ AC_CHECK_HEADERS(openssl/engine.h) ])
-
-    dnl AC_SUBST(OPENSSL_ENABLED)
-
-    dnl these can only exist if openssl exists
-    AC_CHECK_FUNCS( RAND_status \
-                    RAND_screen \
-                    RAND_egd \
-                    CRYPTO_cleanup_all_ex_data )
-
-  fi
-
-  if test "$OPENSSL_ENABLED" != "1"; then
-    if test "$PKGTEST" ="yes"; then
-      AC_MSG_WARN([OpenSSL libs could not be found])
-    else
-      AC_MSG_WARN([OpenSSL libs and/or directories were not found where specified!])
-    fi
-    with_openssl="no"
-  else
-    check_tcp_ssl="check_simap check_spop check_jabber check_nntps"
-    AC_SUBST(check_tcp_ssl)
-    AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
-    with_openssl="yes"
-
-    # Needed for subsequent compiled programs
-    LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$OPENSSL/lib$libsuff"
-    export LD_LIBRARY_PATH
-  fi
-fi
-
 AC_CHECK_HEADERS(unistd.h)
 
 dnl Check for AF_INET6 support - unistd.h required for Darwin
@@ -530,6 +393,7 @@ if test x"$enable_emulate_getaddrinfo" != xno ; then
 
 fi
 
+dnl Checks for Kerberos. Must come before openssl checks for Redhat EL 3
 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
 if test "$FOUNDINCLUDE" = "no"; then
   _SAVEDCPPFLAGS="$CPPFLAGS"
@@ -545,6 +409,91 @@ if test "$FOUNDINCLUDE" = "no"; then
   CPPFLAGS="$_SAVEDCPPFLAGS"
 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"
+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 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
+fi
+
+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])
+  with_openssl="yes"
+else
+  if test "$FOUNDSSL" = "no"; then
+    AC_MSG_WARN([OpenSSL libs could not be found])
+  dnl else deliberately disabled
+  fi
+  with_openssl="no"
+  CPPFLAGS="$_SAVEDCPPFLAGS"
+  LDFLAGS="$_SAVEDLDFLAGS"
+fi
+
 dnl
 dnl Checks for header files.
 dnl
@@ -623,7 +572,7 @@ 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)
+AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul floor)
 
 AC_MSG_CHECKING(return type of socket size)
 AC_TRY_COMPILE([#include <stdlib.h>
@@ -649,46 +598,78 @@ dnl #### Process table test
 AC_PATH_PROG(PATH_TO_PS,ps)
 
 AC_MSG_CHECKING(for ps syntax)
+
+dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
+if [ "$ac_cv_uname_s" = "SunOS" ]; then
+       ac_cv_ps_command="$prefix/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])
+
+dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
+dnl so test for this first...
+elif ps axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
+       egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
+then
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS axwo 'stat uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
+       AC_MSG_RESULT([$ac_cv_ps_command])
+
 dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
 dnl Should also work for FreeBSD 5.2.1 and 5.3
 dnl  STAT UCOMM              VSZ   RSS USER      PPID COMMAND
-if ps -axwo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
-       egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PPID +COMMAND"] > /dev/null
+elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
+       egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
-elif ps -weo 'stat comm vsz rss user uid ppid etime args' 2>/dev/null | \
-       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
+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 | \
+       egrep -i ["^ *STAT +UID +PID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid ppid vsz rss pcpu etime comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %s %n"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu ucomm command'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
        ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
+dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
+elif ps -weo 'stat comm vsz rss user uid pid ppid etime args' 2>/dev/null | \
+       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
+then
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid pid ppid vsz rss pcpu etime comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %s %n"
+       ac_cv_ps_cols=10
+       AC_MSG_RESULT([$ac_cv_ps_command])
+
 dnl FreeBSD
-elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | \
-       egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null
+elif ps waxco 'state command vsz rss uid user pid ppid' 2>/dev/null | \
+       egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PID +PPID"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS waxco 'state uid ppid vsz rss pcpu command command'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS waxco 'state uid pid ppid vsz rss pcpu command command'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl BSD-like mode in RH 6.1
-elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | \
-       egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
+elif ps waxno 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
+       egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS waxno 'state uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS waxno 'state uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl SunOS 4.1.3:
@@ -697,10 +678,10 @@ dnl Need the head -1 otherwise test will work because arguments are found
 elif ps -laxnwww 2>/dev/null | head -1 | \
        egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
 then
-       ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
+       ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS -laxnwww"
-       ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
-       ac_cv_ps_cols=8
+       ac_cv_ps_format="%*s %d %d %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl Debian Linux / procps v1.2.9:
@@ -710,109 +691,112 @@ dnl
 elif ps laxnwww 2>/dev/null | \
        egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
 then
-       ac_cv_ps_varlist="[&procuid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
+       ac_cv_ps_varlist="[&procuid,&procpid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS laxnwww"
-       ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s"
-       ac_cv_ps_cols=8
+       ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
-elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
-       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
+elif ps -axo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
+       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-dnl Tru64 - needs %*[ +] in PS_FORMAT
-elif ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
-       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
+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 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
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format=["%s%*[ +] %d %d %d %d %f %s %n"]
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procpcpu,procetime,procprog,&pos]"
+       ac_cv_ps_command="/sbin/ps -eo 'stat uid pid ppid pcpu etime comm args'"
+       ac_cv_ps_format=["%s%*[ +<>] %d %d %d %f %s %s %n"]
        ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | \
-       egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
+elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \
+       egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -eo 's uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -eo 's uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl AIX 4.3.3 and 5.1 do not have an rss field
-elif ps -eo 'stat uid ppid vsz pcpu comm args' 2>/dev/null | \
-       egrep -i ["^ *S[TAUES]* +UID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
+elif ps -eo 'stat uid pid ppid vsz pcpu comm args' 2>/dev/null | \
+       egrep -i ["^ *S[TAUES]* +UID +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid ppid vsz pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %f %s %n"
-       ac_cv_ps_cols=7
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid pid ppid vsz pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
 
 dnl Solaris 2.6
-elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \
-       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
+elif ps -Ao 's comm vsz rss uid user pid ppid args' 2>/dev/null | \
+       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -Ao 's uid pid ppid vsz rss pcpu comm args'"
        # There must be no space between the %s and %n due to a wierd problem in sscanf where
        # it will return %n as longer than the line length
-       ac_cv_ps_format="%s %d %d %d %d %f %s%n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s%n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | \
-       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
+elif ps -Ao 'status comm vsz rss uid user pid ppid args' 2>/dev/null | \
+       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
-elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | \
-       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
+elif ps -Ao 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
+       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid ppid vsz rss pcpu comm args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=8
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid pid ppid vsz rss pcpu comm args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=9
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl wonder who takes state instead of stat
-elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | \
-       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
+elif ps -ao 'state command vsz rss user pid ppid args' 2>/dev/null | \
+       egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -ao 'state uid ppid vsz rss pcpu command args'"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=7
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+       ac_cv_ps_command="$PATH_TO_PS -ao 'state uid pid ppid vsz rss pcpu command args'"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl IRIX 53
 elif ps -el 2>/dev/null | \
        egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&pos,procprog]"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)"
-       ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
-       ac_cv_ps_cols=7
+       ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl IRIX 63
 elif ps -el 2>/dev/null | \
        egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)"
-       ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
-       ac_cv_ps_cols=5
+       ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
+       ac_cv_ps_cols=6
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl AIX 4.1:
@@ -821,20 +805,20 @@ dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45
 elif ps -el 2>/dev/null | \
        egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
 then
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)"
-       ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
-       ac_cv_ps_cols=5
+       ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
+       ac_cv_ps_cols=6
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl AIX?
 elif ps glaxen 2>/dev/null | \
        egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
 then
-       ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
+       ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS glaxen"
-       ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s"
-       ac_cv_ps_cols=7
+       ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 dnl MacOSX / Darwin
@@ -842,23 +826,23 @@ dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
 dnl Some truncation will happen in UCOMM column
 dnl STAT      VSZ    RSS   UID  PPID %CPU UCOMM            COMMAND
 dnl Ss      52756  22496   501     1   6.9 Window Manager   /System/Library/CoreServices/WindowServer -daemon
-elif ps wwaxo 'state vsz rss uid ppid pcpu ucomm command' 2>/dev/null | \
+elif ps wwaxo 'state vsz rss uid pid ppid pcpu ucomm command' 2>/dev/null | \
        egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null
 then
-       ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid ppid pcpu ucomm command'"
-       ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procppid,&procpcpu,procprog,&pos]"
-       ac_cv_ps_format="%s %d %d %d %d %f %s %n"
-       ac_cv_ps_cols=7
+       ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid pid ppid pcpu ucomm command'"
+       ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procpid,&procppid,&procpcpu,procprog,&pos]"
+       ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 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
-       ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
+       ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
        ac_cv_ps_command="$PATH_TO_PS -Al"
-       ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
-       ac_cv_ps_cols=7
+       ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
+       ac_cv_ps_cols=8
        AC_MSG_RESULT([$ac_cv_ps_command])
 
 else
@@ -1008,6 +992,14 @@ elif test "x$PATH_TO_PING6" != "x"; then
                ac_cv_ping6_packets_first=yes
                AC_MSG_RESULT([$with_ping6_command])
 
+       elif $PATH_TO_PING6 -n -U -w 10 -c 1 ::1 2>/dev/null | \
+               egrep -i "^round-trip|^rtt" >/dev/null
+       then
+               with_ping6_command="$PATH_TO_PING6 -n -U -w %d -c %d %s"
+               ac_cv_ping6_packets_first=yes
+               ac_cv_ping_has_timeout=yes
+               AC_MSG_RESULT([$with_ping6_command])
+
        elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
                egrep -i "^round-trip|^rtt" >/dev/null
        then
@@ -1312,13 +1304,13 @@ then
                egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \
                >/dev/null]
        then
-               ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %d %d"]
+               ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %f %f"]
                ac_cv_swap_conv=2048
                AC_MSG_RESULT([using IRIX format swap])
 
        elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
        then
-               ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"]
+               ac_cv_swap_format=["%*s %*[0-9,-] %*d %f %f"]
                ac_cv_swap_conv=2048
                AC_MSG_RESULT([using Unixware format swap])
        else
@@ -1342,7 +1334,7 @@ then
 
        if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
        then
-               ac_cv_swap_format=["%*s %d %*d %d"]
+               ac_cv_swap_format=["%*s %f %*d %f"]
                ac_cv_swap_conv=1024
                AC_MSG_RESULT([using FreeBSD format swapinfo])
        fi
@@ -1351,7 +1343,7 @@ elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >
 then
        ac_cv_have_swap=yes
        ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM",
-       ac_cv_swap_format=["%*s %d %*d %d"]
+       ac_cv_swap_format=["%*s %f %*d %f"]
        ac_cv_swap_conv=1024
        AC_MSG_RESULT([using HP-UX format swapinfo])
 fi
@@ -1366,7 +1358,7 @@ if [$PATH_TO_LSPS -a 2>/dev/null | egrep -i "^Page Space" > /dev/null]
 then
        ac_cv_have_swap=yes
        ac_cv_swap_command="$PATH_TO_LSPS -a"
-       ac_cv_swap_format=["%*s %*s %*s %d%*s %d %*s"]
+       ac_cv_swap_format=["%*s %*s %*s %f%*s %f %*s"]
        ac_cv_swap_conv=1
        AC_MSG_RESULT([using AIX lsps])
 fi
@@ -1379,12 +1371,12 @@ dnl fwict, the 2-arg is an SVR4 standard, whereas the 3-arg is shared
 dnl in the various BSD's
 dnl
 
+AC_CHECK_HEADERS([sys/stat.h sys/param.h])
 AC_CHECK_HEADERS([sys/swap.h], [], [], [
 #ifdef HAVE_SYS_PARAM_H
 #include <sys/param.h>
 #endif
 ])
-AC_CHECK_HEADERS([sys/stat.h sys/param.h])
 AC_CHECK_DECLS([swapctl],,,[
                #include <unistd.h>
                #include <sys/types.h>
@@ -1516,6 +1508,21 @@ AC_TRY_COMPILE([#ifdef __STDC__
                [AC_MSG_RESULT(yes)],
                [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
 
+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])
+       ;;
+       *sun* | solaris*)
+               AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
+       ;;
+       *hpux*)  
+               AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
+       ;;
+esac
+
 AC_SUBST(EXTRAS)
 AC_SUBST(EXTRA_NETOBJS)
 AC_SUBST(DEPLIBS)
@@ -1523,14 +1530,32 @@ AC_SUBST(DEPLIBS)
 AM_GNU_GETTEXT([no-libtool], [need-ngettext])
 AM_GNU_GETTEXT_VERSION(0.11.5)
 
-dnl External libraries
+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
+if echo $ac_cv_uname_r | egrep "\.EL$" >/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")
+       fi
+fi
+
+dnl External libraries - see ACKNOWLEDGEMENTS
 np_COREUTILS
+np_CURL
 
 AC_OUTPUT(
   Makefile 
   lib/Makefile 
   m4/Makefile 
   plugins/Makefile 
+  plugins-root/Makefile
   plugins-scripts/Makefile 
   plugins-scripts/subst 
   plugins-scripts/utils.pm 
@@ -1542,6 +1567,7 @@ AC_OUTPUT(
   po/Makefile.in 
 )
 
+ACX_FEATURE([with],[perl])
 ACX_FEATURE([with],[cgiurl])
 ACX_FEATURE([with],[nagios-user])
 ACX_FEATURE([with],[nagios-group])