Code

Updated help file to remove swap -s reference (Sivakumar Nellurandi)
[nagiosplug.git] / configure.in
index 65c7b31e75d3d6fb0b91994c7ef0920f02d6ac98..b209d19ad53a8ab5039a293e4092be5a815aef7d 100644 (file)
@@ -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"
@@ -560,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>
@@ -586,58 +598,69 @@ dnl #### Process table test
 AC_PATH_PROG(PATH_TO_PS,ps)
 
 AC_MSG_CHECKING(for ps syntax)
+dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
+dnl so test for this first...
+if 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 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 ppid vsz rss pcpu ucomm command' 2>/dev/null | \
-       egrep -i ["^ *STAT +UID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null
+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,procprog,&pos]"
-       ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid ppid vsz rss pcpu ucomm 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 -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 ppid etime args' 2>/dev/null | \
-       egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
+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,&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_cols=9
+       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:
@@ -646,10 +669,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:
@@ -659,109 +682,110 @@ 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
+elif ps -ao '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[ID]+ +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 -ao '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 -ao '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])
 
-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
+XXX
+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,&procpid,&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,&procpid,&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,&procpid,&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,&procpid,&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,&procpid,&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,&procpid,&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,&procpid,&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,&procpid,&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:
@@ -770,20 +794,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,&procpid,&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,&procpid,&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
@@ -791,24 +815,25 @@ 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,&procpid,&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,&procpid,&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])
+XXX
 
 else
        AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled])
@@ -1515,6 +1540,7 @@ AC_OUTPUT(
   po/Makefile.in 
 )
 
+ACX_FEATURE([with],[perl])
 ACX_FEATURE([with],[cgiurl])
 ACX_FEATURE([with],[nagios-user])
 ACX_FEATURE([with],[nagios-group])