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_PROG(PATH_TO_NTPDC,ntpdc)
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 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)