Code

ca890f768f379b7f2026492ab1c8c978d5a5aaae
[nagiosplug.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 include(`aclocal.m4')
3 include(`getloadavg.m4')
4 AC_REVISION ($Revision$)
5 AC_INIT(Helper.pm)
6 PACKAGE_VERSION="1.3.0"
7 AC_SUBST(PACKAGE_VERSION)
8 PACKAGE_RELEASE="alpha1"
9 AC_SUBST(PACKAGE_RELEASE)
10 AM_INIT_AUTOMAKE(nagios-plugins,${PACKAGE_VERSION}-${PACKAGE_RELEASE})
11 AM_CONFIG_HEADER(plugins/config.h plugins/common.h plugins/version.h plugins/netutils.h plugins/utils.h plugins/popen.h)
13 AC_PREFIX_DEFAULT(/usr/local/nagios)
15 dnl Figure out how to invoke "install" and what install options to use.
17 AC_PROG_INSTALL
18 AC_SUBST(INSTALL)
20 AC_PROG_RANLIB
22 AC_PATH_PROG(ACLOCAL,aclocal)
23 AC_PATH_PROG(AUTOMAKE,automake)
24 AC_PATH_PROG(AUTOCONF,autoconf)
25 AC_PATH_PROG(AUTOHEADER,autoheader)
27 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
28 AC_SUBST(PLUGIN_TEST)dnl
30 SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
31 AC_SUBST(SCRIPT_TEST)dnl
33 WARRANTY="The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute\ncopies of the plugins under the terms of the GNU General Public License.\nFor more information about these matters, see the file named COPYING.\n"
34 AC_SUBST(WARRANTY)
36 SUPPORT="Send email to nagios-users@lists.sourceforge.net if you have questions\nregarding use of this software. To submit patches or suggest improvements,\nsend email to nagiosplug-devel@lists.sourceforge.net\n"
37 AC_SUBST(SUPPORT)
39 dnl AC_ARG_PROGRAM
41 dnl AC_ARG_WITH(nonposix_state_defs,--with-nonposix-state-defs uses POSIXLY incorrect states for netsaint < 0.0.7b2,,AC_DEFINE(POSIX_STATE_DEFS))
43 dnl CGIURL has changed for Nagios with 1.0 beta
44 AC_ARG_WITH(cgiurl,--with-cgiurl=<dir> sets URL for cgi programs,cgiurl=$withval,cgiurl=/nagios/cgi-bin)
45 CGIURL="$cgiurl"
46 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
48 AC_ARG_WITH(nagios_user,--with-nagios-user=<user> sets user name to run nagios,nagios_usr=$withval,nagios_usr=nagios)
49 AC_ARG_WITH(nagios_group,--with-nagios-group=<group> sets group name to run nagios,nagios_grp=$withval,nagios_grp=nagios)
50 AC_SUBST(nagios_usr)
51 AC_SUBST(nagios_grp)
52 INSTALL_OPTS="-o $nagios_usr -g $nagios_grp"
53 AC_SUBST(INSTALL_OPTS)
55 AC_ARG_WITH(trusted_path,--with-trusted-path=/bin:/sbin:/usr/bin:/usr/sbin sets trusted path for executables called by scripts,trusted_path=$withval,trusted_path=/bin:/sbin:/usr/bin:/usr/sbin)
56 AC_SUBST(trusted_path)
58 EXTRAS=
59 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
61 LDFLAGS="$LDFLAGS -L."
63 dnl Checks for programs.
64 AC_PROG_CC
65 AC_PROG_MAKE_SET
66 AC_PROG_AWK
68 AC_PATH_PROG(PYTHON,python)
69 AC_PATH_PROG(PERL,perl)
70 AC_PATH_PROG(SH,sh)
72 AC_PATH_PROG(HOSTNAME,hostname)
73 AC_PATH_PROG(BASENAME,basename)
76 dnl
77 dnl Checks for libraries.
78 dnl
80 AC_FUNC_GETLOADAVG(plugins)
82 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
83 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
84 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
85 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
86 AC_SUBST(SOCKETLIBS)
88 dnl Check for PostgreSQL libraries
89 _SAVEDLIBS="$LIBS"
90 _SAVEDCPPFLAGS="$CPPFLAGS"
91 AC_ARG_WITH(pgsql,--with-pgsql=<dir> sets path to pgsql installation,[PGSQL=$withval])
92 AC_CHECK_LIB(crypt,main)
93 if test "$ac_cv_lib_crypt_main" = "yes"; then
94   if test -n "$PGSQL"; then
95     LIBS="$LIBS -L$PGSQL/lib"
96     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
97   fi
98   AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
99   if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
100     AC_CHECK_HEADERS(pgsql/libpq-fe.h)
101     AC_CHECK_HEADERS(postgresql/libpq-fe.h)
102     AC_CHECK_HEADERS(libpq-fe.h)
103     if test  "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
104       PGLIBS="-lpq -lcrypt"
105       PGINCLUDE="-I/usr/include/pgsql"
106     elif test  "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
107       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
108       PGINCLUDE="-I/usr/include/postgresql"
109     elif test  "$ac_cv_header_libpq_fe_h" = "yes"; then
110       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
111       PGINCLUDE="-I$PGSQL/include"
112     fi
113     if test -z "$PGINCLUDE"; then
114       AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
115       AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see Requirements).])
116     else
117       AC_SUBST(PGLIBS)
118       AC_SUBST(PGINCLUDE)
119       EXTRAS="$EXTRAS check_pgsql"
120     fi
121   else
122     AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
123     AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
124     AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see Requirements).])
125   fi
126 else
127   AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
128   AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see Requirements).])
129 fi
130 LIBS="$_SAVEDLIBS"
131 CPPFLAGS="$_SAVEDCPPFLAGS"
133 dnl Check for radius libraries
134 _SAVEDLIBS="$LIBS"
135 AC_CHECK_LIB(radiusclient,rc_read_config)
136 if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
137   EXTRAS="$EXTRAS check_radius"
138         RADIUSLIBS="-lradiusclient"
139   AC_SUBST(RADIUSLIBS)
140 else
141   AC_MSG_WARN([Skipping radius plugin])
142   AC_MSG_WARN([install radius libs to compile this plugin (see Requirements).])
143 fi
144 LIBS="$_SAVEDLIBS"
146 dnl Check for LDAP libraries
147 _SAVEDLIBS="$LIBS"
148 AC_CHECK_LIB(ldap,main,,,-llber)
149 if test "$ac_cv_lib_ldap_main" = "yes"; then
150   LDAPLIBS="-lldap -llber"\
151   LDAPINCLUDE="-I/usr/include/ldap"
152   AC_SUBST(LDAPLIBS)
153   AC_SUBST(LDAPINCLUDE)
154   EXTRAS="$EXTRAS check_ldap"
155 else
156   AC_MSG_WARN([Skipping LDAP plugin])
157   AC_MSG_WARN([install LDAP libs to compile this plugin (see Requirements).])
158 fi
159 LIBS="$_SAVEDLIBS"
162 dnl Check for mysql libraries
163 _SAVEDLIBS="$LIBS"
164 _SAVEDCPPFLAGS="$CPPFLAGS"
165 dnl CPPFLAGS="-I/usr/include"
167 AC_ARG_WITH(mysql,--with-mysql=<dir> sets path to mysql installation (assumes lib/mysql and include subdirs),[MYSQL=$withval])
168 if test -n "$MYSQL"; then
169   MYSQLLIBDIR=$MYSQL/lib/mysql
170   CPPFLAGS="-I$MYSQL/include"
171   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
172   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
173 elif test -f /usr/lib/libmysqlclient.so; then
174   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
175   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
176 elif test -f /usr/lib/libmysqlclient.a; then
177   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
178   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
179 elif test -f /usr/lib/mysql/libmysqlclient.so; then
180   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
181   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
182 elif test -f /usr/lib/mysql/libmysqlclient.a; then
183   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
184   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
185 fi
186 if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
187   AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
188   if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
189     EXTRAS="$EXTRAS check_mysql"
190         CPPFLAGS="$_SAVEDCPPFLAGS -I$MYSQL/include"
191     AC_SUBST(MYSQLLIBS)
192     AC_SUBST(check_mysql_LDFLAGS)
193   else
194     AC_MSG_WARN([Skipping mysql plugin])
195     AC_MSG_WARN([install mysql client headers to compile this plugin (see Requirements).])
196     CPPFLAGS="$_SAVEDCPPFLAGS"
197   fi
198 else
199   AC_MSG_WARN([Skipping mysql plugin])
200   AC_MSG_WARN([install mysql client libs to compile this plugin (see Requirements).])
201   CPPFLAGS="$_SAVEDCPPFLAGS"
202 fi
203 LIBS="$_SAVEDLIBS"
205 dnl Check for OpenSSL location
206 AC_PATH_PROG(OPENSSL,openssl)
207 if test "$OPENSSL" = "/usr/bin/openssl"; then
208   OPENSSL=/usr
209 elif test "$OPENSSL" = "/usr/sbin/openssl"; then
210   OPENSSL=/usr
211 elif test "$OPENSSL" = "/opt/bin/openssl"; then
212   OPENSSL=/opt
213 elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
214   OPENSSL=/opt/openssl
215 elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
216   OPENSSL=/usr/slocal
217 elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
218   OPENSSL=/usr/local
219 elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
220   OPENSSL=/usr/local/ssl
221 fi
222 AC_ARG_WITH(openssl,--with-openssl=<dir> sets path to openssl installation,[OPENSSL=$withval])
224 dnl Check for OpenSSL header files
225 _SAVEDCPPFLAGS="$CPPFLAGS"
226 FOUNDINCLUDE=yes
227 CPPFLAGS="-I$OPENSSL/include"
228 AC_CHECK_HEADERS(openssl/x509.h openssl/ssl.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,SSLINCLUDE="-I$OPENSSL/include",FOUNDINCLUDE=no)
229 if test "$FOUNDINCLUDE" = "no"; then
230   FOUNDINCLUDE=yes
231   AC_CHECK_HEADERS(x509.h ssl.h rsa.h pem.h crypto.h err.h,SSLINCLUDE="-I$OPENSSL/include",FOUNDINCLUDE=no)
232 fi
233 AC_SUBST(SSLINCLUDE)
234 CPPFLAGS="$_SAVEDCPPFLAGS $SSLINCLUDE"
236 dnl Check for crypto lib
237 _SAVEDLIBS="$LIBS"
238 AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
239 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
240   dnl Check for SSL lib
241   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)
242 fi
243 LIBS="$_SAVEDLIBS"
245 dnl test headers and libs to decide whether check_http should use SSL
246 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
247   if test "$ac_cv_lib_ssl_main" = "yes"; then
248     if test "$FOUNDINCLUDE" = "yes"; then
249       AC_SUBST(SSLLIBS)
250       AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
251     fi
252   fi
253 fi
254 CPPFLAGS="$_SAVEDCPPFLAGS"
256 dnl
257 dnl Checks for header files.
258 dnl
260 AC_HEADER_STDC
261 AC_HEADER_TIME
262 AC_HEADER_SYS_WAIT
263 AC_CHECK_HEADERS(signal.h strings.h string.h syslog.h unistd.h uio.h errno.h regex.h sys/types.h sys/time.h sys/socket.h sys/loadavg.h)
265 dnl Checks for typedefs, structures, and compiler characteristics.
266 AC_C_CONST
267 AC_STRUCT_TM
268 AC_TYPE_PID_T
269 AC_TYPE_SIZE_T
270 AC_TYPE_SIGNAL
272 dnl AC_CHECK_MEMBER(struct timeb.millitm,[AC_DEFINE(HAVE_STRUCT_TIMEB_MILLITM)],,[#include <sys/timeb.h>])
274 dnl EXTRA_LIBRARIES="libgetopt.a libsnprintf.a"
275 dnl noinst_LIBRARIES="libgetopt.a libsnprintf.a"
276 dnl libgetopt_a_SOURCES="getopt.c getopt1.c"
277 dnl libgetopt_a_DEPENDENCIES=getopt.h
278 dnl libsnprintf_a_SOURCES=snprintf.c
279 dnl AC_SUBST(noinst_LIBRARIES)
280 dnl AC_SUBST(libgetopt_a_SOURCES)
281 dnl AC_SUBST(libgetopt_a_DEPENDENCIES)
282 dnl AC_SUBST(libsnprintf_a_SOURCES)
284 dnl We used to not do long options unless a compatible lib was found
285 dnl Now we provide code and make libgetopt if native is not suitable
286 AC_MSG_CHECKING(for getopt_long)
287 AC_TRY_COMPILE([#include <getopt.h>
288                 #include <stdlib.h>],
289                [int option_index=0;
290                 static struct option *long_options;
291                 getopt_long(0,NULL,"+h",long_options,&option_index);],
292                [AC_DEFINE(HAVE_GETOPT_H,1,[Define if getopt headers are found])
293                 AC_DEFINE(HAVE_GETOPT_LONG,1,[Define if getopt_long_only() is found])
294                 AC_MSG_RESULT(yes)],
295                [AC_DEFINE(HAVE_GETOPT_H,1,[Define if getopt headers are found])
296                 AC_DEFINE(HAVE_GETOPT_LONG,1,[Define if getopt_long_only() is found])
297                 AC_MSG_RESULT(no)
298                 import_sources=getopt])
300 AC_CHECK_FUNCS(getopt_long_only,,LIBS="$LIBS -lgetopt" DEPLIBS="$DEPLIBS libgetopt.a")
302 AC_CHECK_FUNC(asprintf,,LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
304 dnl Checks for library functions.
305 AC_CHECK_FUNCS(select socket strdup strstr strtod strtol strtoul gettimeofday)
307 AC_MSG_CHECKING(for type of socket size)
308 AC_TRY_COMPILE([#include <stdlib.h>
309                 #include <sys/types.h>
310                 #include <sys/socket.h>],
311                [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
312                [AC_DEFINE(SOCKET_SIZE_TYPE, size_t, [Define type of socket size])
313                 AC_MSG_RESULT(size_t)],
314                [AC_DEFINE(SOCKET_SIZE_TYPE, int, [Define type of socket size])
315                 AC_MSG_RESULT(int)])
317 if test -f "/proc/loadavg"
318 then
319   AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
320   AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg"[Location of /proc/loadavg])
321 fi
323 AC_PATH_PROG(PATH_TO_PS,ps)
324 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
325 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
326 if [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]
327 then
328         AC_DEFINE(USE_PS_VARS)
329         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
330         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axo 'stat user ppid args'")
331         EXTRAS="$EXTRAS check_nagios"
332         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axo 'stat uid ppid comm args'")
333         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
334         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axo 'vsz comm'")
335         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
336         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'")
337         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
338   echo "      ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
339 dnl AIX 4.3.3 - needs verification.
340 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]
341 then
342         AC_DEFINE(USE_PS_VARS)
343         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
344         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'stat user ppid args'")
345         EXTRAS="$EXTRAS check_nagios"
346         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'stat uid ppid comm args'")
347         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
348         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz comm'")
349         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
350         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'")
351         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
352   echo "      ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'"
353 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]
354 then
355         AC_DEFINE(USE_PS_VARS)
356         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
357         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -eo 's user ppid args'")
358         EXTRAS="$EXTRAS check_nagios"
359         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -eo 's uid ppid comm args'")
360         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
361         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -eo 'vsz comm'")
362         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
363         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'")
364         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
365         echo "      ps syntax... $PATH_TO_PS -eo 's  comm vsz rss user ppid args'"
366 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]
367 then
368         AC_DEFINE(USE_PS_VARS)
369         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
370         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 's user ppid args'")
371         EXTRAS="$EXTRAS check_nagios"
372         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 's uid ppid comm args'")
373         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
374         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'")
375         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
376         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'")
377         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
378         echo "      ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'"
379 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]
380 then
381         AC_DEFINE(USE_PS_VARS)
382         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
383         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'status user ppid args'")
384         EXTRAS="$EXTRAS check_nagios"
385         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'status uid ppid comm args'")
386         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
387         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'")
388         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
389         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'")
390         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
391         echo "      ps syntax... $PATH_TO_PS -Ao 'status comm vsz rss'"
392 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]
393 then
394         AC_DEFINE(USE_PS_VARS)
395         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
396         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'state user ppid args'")
397         EXTRAS="$EXTRAS check_nagios"
398         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'state uid ppid comm args'")
399         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
400         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'")
401         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
402         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'")
403         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
404         echo "      ps syntax... $PATH_TO_PS -Ao 'state comm vsz rss'"
405 dnl wonder who takes state instead of stat
406 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]
407 then
408         AC_DEFINE(USE_PS_VARS)
409         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
410         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'state user ppid args'")
411         EXTRAS="$EXTRAS check_nagios"
412         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'state uid ppid command args'")
413         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
414         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz command'")
415         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
416         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss command'")
417         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
418         echo "      ps syntax... $PATH_TO_PS -ao 'state command vsz rss'"
419 dnl FreeBSD
420 elif [ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i "^STAT +COMMAND +VSZ +RSS +UID +USER +PPID" >/dev/null]
421 then
422         AC_DEFINE(USE_PS_VARS)
423         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
424         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'")
425         EXTRAS="$EXTRAS check_nagios"
426         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxco 'state uid ppid command command'")
427         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
428         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'")
429         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
430         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'")
431         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
432         echo "      ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'"
433 dnl BSD-like mode in RH 6.1
434 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]
435 then
436         AC_DEFINE(USE_PS_VARS)
437         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
438         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxno 'state user ppid comm'")
439         EXTRAS="$EXTRAS check_nagios"
440         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxno 'state uid ppid comm args'")
441         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
442         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxno 'vsz comm'")
443         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
444         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxno 'rss comm'")
445         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
446         echo "      ps syntax... $PATH_TO_PS -waxco 'state comm vsz rss'"
447 dnl IRIX 53
448 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]
449 then
450         AC_DEFINE(USE_PS_VARS)
451         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
452         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
453         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
454         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
455         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
456         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
457         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
458         echo "      ps syntax... $PATH_TO_PS -el"
459 dnl IRIX 63
460 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]
461 then
462         AC_DEFINE(USE_PS_VARS)
463         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
464         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
465         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
466         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
467         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
468         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
469         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
470         echo "      ps syntax... $PATH_TO_PS -el"
471 dnl SunOS 4.1.3:
472 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
473 dnl
474 elif [ps -laxnwww 2>/dev/null | egrep -i "^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND" >/dev/null]
475 then
476         AC_DEFINE(USE_PS_VARS)
477         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww")
478         EXTRAS="$EXTRAS check_nagios"
479         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
480         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -laxnwww")
481         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %*s %s %*s %*s %n%s")
482         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww")
483         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
484         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww")
485         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %d")
486         echo "      ps syntax... $PATH_TO_PS laxnwww"
487 dnl Debian Linux / procps v1.2.9:
488 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
489 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
490 dnl
491 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]
492 then
493         AC_DEFINE(USE_PS_VARS)
494         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww")
495         EXTRAS="$EXTRAS check_nagios"
496         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
497         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS laxnwww")
498         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s")
499         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww")
500         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d")
501         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww")
502         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
503         echo "      ps syntax... $PATH_TO_PS laxnwww"
504 dnl    
505 dnl AIX 4.1:
506 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
507 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
508 elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null]
509 then
510         AC_DEFINE(USE_PS_VARS)
511         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
512         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
513         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
514         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
515         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
516         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
517         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
518         echo "      ps syntax... $PATH_TO_PS -el"
519 dnl AIX?
520 elif [ps glaxen 2>/dev/null | egrep -i "^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND" >/dev/null]
521 then
522         AC_DEFINE(USE_PS_VARS)
523         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
524         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS glaxen")
525         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s")
526         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS glaxen")
527         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d")
528         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS glaxen")
529         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
530         echo "      ps syntax... $PATH_TO_PS glaxen"
531 dnl ucb style?
532 dnl elif [ps axun 2>/dev/null | egrep -i "^USER +PID +%CPU +%MEM +SIZE +RSS +TTY +STAT +START +TIME +COMMAND *$" >/dev/null]
533 dnl then
534 dnl     AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS axun")
535 dnl     AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %*s %*s %*s %*s %*s %s %*s %*s %s")
536 dnl     AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS axun")
537 dnl     AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
538 dnl     AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS axun")
539 dnl     AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %d")
540 dnl     echo "      ps syntax... $PATH_TO_PS axun"
541 dnl ucb style?
542 dnl elif [ps axun 2>/dev/null | egrep -i "^USER +PID +%CPU +%MEM +SIZE +RSS +TTY +STAT +START +TIME +COMMAND" >/dev/null]
543 dnl then
544 dnl     AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS axun")
545 dnl     AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %*s %*s %*s %*s %*s %s %*s %*s %s")
546 dnl     AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS axun")
547 dnl     AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
548 dnl     AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS axun")
549 dnl     AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %d")
550 dnl     echo "      ps syntax... $PATH_TO_PS axun"
551 else
552         echo "** Unable to find usable ps syntax"
553 fi
555 AC_ARG_WITH(df_command,--with-df-command=<syntax> sets syntax for df,DF_COMMAND=$withval)
556 if test -n "$DF_COMMAND"
557 then
558         AC_DEFINE_UNQUOTED(DF_COMMAND,"$DF_COMMAND")
559 elif [df -Pk 2>/dev/null | egrep -i "^(/dev/|[a-zA-Z]:)[a-z0-9/\\]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/\\]*" >/dev/null]
560 then
561         AC_PATH_PROG(PATH_TO_DF,df)
562         AC_MSG_RESULT("      df syntax... $PATH_TO_DF -Pk")
563         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk")
564 elif [df -k 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null]
565 then
566         AC_PATH_PROG(PATH_TO_DF,df)
567         AC_MSG_RESULT("      df syntax... $PATH_TO_DF -k")
568         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -k")
569 elif [df 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null]
570 then
571         AC_PATH_PROG(PATH_TO_DF,df)
572         AC_MSG_RESULT("      df syntax... $PATH_TO_DF")
573         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF")
574 elif [bdf 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null]
575 then
576         AC_PATH_PROG(PATH_TO_DF,bdf)
577         AC_MSG_RESULT("      df syntax... $PATH_TO_DF")
578         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF")
579 else
580         AC_MSG_WARN("unable to find usable df syntax")
581 fi
583 AC_PATH_PROG(PATH_TO_PING,ping)
585 AC_ARG_WITH(ping_command,--with-ping-command=<syntax> sets syntax for ping,PING_COMMAND=$withval)
586 if test -n "$PING_COMMAND"
587 then
588         echo "      ping syntax... (command-line) $PING_COMMAND"
589         if test -n "$PING_PACKETS_FIRST"
590         then
591                 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
592         fi
593 elif [ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
594 then
595         PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
596         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
597         echo "      ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
598 elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
599 then
600         PING_COMMAND="$PATH_TO_PING -n -c %d %s"
601         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
602         echo "      ping syntax... $PATH_TO_PING -n -c <count> <host>"
603 elif [ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
604 then
605         PING_COMMAND="$PATH_TO_PING -n %s -c %d"
606         echo "      ping syntax... $PATH_TO_PING -n <host> -c <count>"
607 elif [ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
608 then
609         PING_COMMAND="$PATH_TO_PING %s -n %d"
610         echo "      ping syntax... $PATH_TO_PING <host> -n <count>"
611 elif [ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
612 then
613         PING_COMMAND="$PATH_TO_PING -n -s %s 56 %d"
614         echo "      ping syntax... $PATH_TO_PING -n -s <host> 56 <count>"
615 elif [ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
616 then
617         PING_COMMAND="$PATH_TO_PING -n -h %s -s 56 -c %d"
618         echo "      ping syntax... $PATH_TO_PING -n -h <host> -s 56 -c <count>"
619 elif [ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
620 then
621         PING_COMMAND="$PATH_TO_PING -n -s 56 -c %d %s"
622         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
623         echo "      ping syntax... $PATH_TO_PING -n -s 56 -c <count> <host>"
624 elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
625 then
626         PING_COMMAND="$PATH_TO_PING -n -c %d %s"
627         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
628         echo "      ping syntax... $PATH_TO_PING -n -c <count> <host>"
629 else
630         AC_MSG_WARN("unable to find usable ping syntax")
631 fi
632 AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND")
634 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
635 if test -n "$ac_cv_path_PATH_TO_NSLOOKUP"
636 then
637         AC_MSG_CHECKING("nslookup syntax")
638         if [nslookup -sil 127.0.0.1 2>&1 | grep "*** Invalid option: sil" >/dev/null]
639         then
640                 AC_MSG_RESULT("$PATH_TO_NSLOOKUP")
641                 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP")
642         else
643                 AC_MSG_RESULT("$PATH_TO_NSLOOKUP -sil")
644                 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP -sil")
645         fi
646         EXTRAS="$EXTRAS check_dns"
647 else
648         AC_MSG_WARN("nslookup command not found")
649 fi
651 AC_PATH_PROG(PATH_TO_HOST,host)
652 if test -n "$ac_cv_path_PATH_TO_HOST"
653 then
654         AC_MSG_CHECKING("host syntax")
655         if [host 127.0.0.1 2>&1 | grep -v "ommand not found" > /dev/null]
656         then
657                 AC_MSG_RESULT("$PATH_TO_HOST")
658                 AC_DEFINE_UNQUOTED(HOST_COMMAND,"$PATH_TO_HOST")
659         fi
660         EXTRAS="$EXTRAS check_dns"
661 else    
662         AC_MSG_WARN("host command not found")
663 fi
665 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
666 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME")
668 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
669 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO")
671 AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
672 AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
673 if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPDC")
674 then
675         AC_DEFINE_UNQUOTED(PATH_TO_NTPDC,"$PATH_TO_NTPDC")
676         AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE")
677 else
678         echo "** Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization"
679 fi
681 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
682 if test -x "$PATH_TO_LMSTAT"
683 then
684         AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT")
685 else
686         echo "** Get lmstat from Globetrotter Software to monitor flexlm licenses"
687 fi
689 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
690 if test -x "$PATH_TO_SMBCLIENT"
691 then
692         AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT")
693 else
694         echo "** Get smbclient from Samba.org to monitor SMB shares"
695 fi
698 AC_PATH_PROG(PATH_TO_WHO,who)
699 if [who -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
700 then
701         AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO -q")
702 else
703         AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO")
704 fi
706 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
707 if test -x "$PATH_TO_SNMPGET"
708 then
709         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET")
710         EXTRAS="$EXTRAS check_hpjd check_snmp"
711 else
712         echo "** Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins"
713 fi
715 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
716 if test -x "$PATH_TO_SNMPGETNEXT"
717 then
718         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT")
719 fi
721 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
722 then
723         echo "Found Net::SNMP perl module"
724 else
725         echo "** Tried $PERL - install Net::SNMP perl module if you want to"
726         echo "        use the perl snmp plugins"
727 fi
729 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
730 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
731 if test -x "$PATH_TO_QUAKESTAT"
732 then
733         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QUAKESTAT")
734         EXTRAS="$EXTRAS check_game"
735 elif test -x "$PATH_TO_QSTAT"
736 then
737         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QSTAT")
738         EXTRAS="$EXTRAS check_game"
739 else
740         echo "** Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin"
741 fi
743 AC_PATH_PROG(PATH_TO_FPING,fping)
744 if test -x "$PATH_TO_FPING"
745 then
746         AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING")
747         EXTRAS="$EXTRAS check_fping"
748 else
749         echo "** Get fping from http://www.fping.com in order to make check_fping plugin"
750 fi
752 AC_PATH_PROG(PATH_TO_SSH,ssh)
753 if test -x "$PATH_TO_SSH"
754 then
755         AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH")
756         EXTRAS="$EXTRAS check_by_ssh"
757 else
758         echo "** Get ssh in order to make check_by_ssh plugin"
759 fi
761 dnl dunno why this does not work below - use hack (kbd)
762 dnl fine on linux, broken on solaris
763 dnl if /bin/test -e "/proc/meminfo"
765 if [cat /proc/meminfo > /dev/null 2>&1]
766 then
767         echo "found /proc/meminfo"
768         AC_DEFINE(HAVE_PROC_MEMINFO)
769         AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo")
770         EXTRAS="$EXTRAS check_swap"
771 elif [swap -l 2>&1 | egrep -i "swapfile" >/dev/null]
772 then
773         echo "found swap command"
774         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
775         AC_PATH_PROG(PATH_TO_SWAP,swap)
776         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -l"[Path to swap/swapinfo binary, with any args])
777         if [swap -l 2>/dev/null | egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" >/dev/null]
778         then
779                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,[" %*d %*s %*d,%*d %*d %*d %d %d"],[Format string for parsing swap output])
780                 echo "      using IRIX format"
781         elif [swap -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
782         then
783                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
784                 echo "      using Solaris format"
785         fi
786         EXTRAS="$EXTRAS check_swap"
787 elif [swapinfo -k 2>&1 | egrep -i "Device" >/dev/null]
788 then
789         echo "found swapinfo command"
790         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
791         AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
792         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -k",[Path to swap/swapinfo binary, with any args])
793         if [swapinfo -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
794         then
795                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output])
796                 echo "      using FreeBSD format"
797         fi
798         EXTRAS="$EXTRAS check_swap"
799 fi
801 AC_PATH_PROG(PATH_TO_DIG,dig)
802 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
803 if test -n "$PATH_TO_DIG"; then
804         EXTRAS="$EXTRAS check_dig"
805 fi
807 if test -f plugins/check_nt.c ; then
808   EXTRAS="$EXTRAS check_nt"
809 elif test -f ../plugins/check_nt.c ; then
810   EXTRAS="$EXTRAS check_nt"
811 fi
813 dnl AC_EGREP_HEADER (PATTERN, HEADER-FILE, ACTION-IF-FOUND [,          ACTION-IF-NOT-FOUND])
814 AC_TRY_COMPILE([#ifdef __STDC__
815 #include <stdio.h>
816 #include <stdlib.h>
817 #include <stdarg.h>
818 #else
819 #include <sys/types.h>
820 #include <stdio.h>
821 #include <varargs.h>
822 #endif],
823 [va_list args;],
824 [AC_MSG_RESULT(yes)],
825 [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
827 AC_SUBST(EXTRAS)
828 AC_SUBST(DEPLIBS)
830 AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version])
832 AC_OUTPUT(Makefile subst plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl,echo timestamp > plugins/stamp-h1;echo timestamp > plugins/stamp-h2;echo timestamp > plugins/stamp-h3;echo timestamp > plugins/stamp-h4;echo timestamp > plugins/stamp-h5;echo timestamp > plugins/stamp-h6;PATH=.:..:$PATH subst.sh command.cfg)