Code

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