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"
159 dnl Check for mysql libraries
160 _SAVEDLIBS="$LIBS"
161 _SAVEDCPPFLAGS="$CPPFLAGS"
162 dnl CPPFLAGS="-I/usr/include"
164 AC_ARG_WITH(mysql,--with-mysql=<dir> sets path to mysql installation (assumes lib/mysql and include subdirs),[MYSQL=$withval])
165 if test -n "$MYSQL"; then
166 MYSQLLIBDIR=$MYSQL/lib/mysql
167 CPPFLAGS="-I$MYSQL/include"
168 AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
169 AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
170 elif test -f /usr/lib/libmysqlclient.so; then
171 AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
172 AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
173 elif test -f /usr/lib/libmysqlclient.a; 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/mysql/libmysqlclient.so; then
177 AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
178 AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
179 elif test -f /usr/lib/mysql/libmysqlclient.a; 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 fi
183 if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
184 AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
185 if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
186 EXTRAS="$EXTRAS check_mysql"
187 CPPFLAGS="$_SAVEDCPPFLAGS -I$MYSQL/include"
188 AC_SUBST(MYSQLLIBS)
189 AC_SUBST(check_mysql_LDFLAGS)
190 else
191 AC_MSG_WARN([Skipping mysql plugin])
192 AC_MSG_WARN([install mysql client headers to compile this plugin (see Requirements).])
193 CPPFLAGS="$_SAVEDCPPFLAGS"
194 fi
195 else
196 AC_MSG_WARN([Skipping mysql plugin])
197 AC_MSG_WARN([install mysql client libs to compile this plugin (see Requirements).])
198 CPPFLAGS="$_SAVEDCPPFLAGS"
199 fi
200 LIBS="$_SAVEDLIBS"
202 dnl Check for OpenSSL location
203 AC_PATH_PROG(OPENSSL,openssl)
204 if test "$OPENSSL" = "/usr/bin/openssl"; then
205 OPENSSL=/usr
206 elif test "$OPENSSL" = "/usr/sbin/openssl"; then
207 OPENSSL=/usr
208 elif test "$OPENSSL" = "/opt/bin/openssl"; then
209 OPENSSL=/opt
210 elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
211 OPENSSL=/opt/openssl
212 elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
213 OPENSSL=/usr/slocal
214 elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
215 OPENSSL=/usr/local
216 elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
217 OPENSSL=/usr/local/ssl
218 fi
219 AC_ARG_WITH(openssl,--with-openssl=<dir> sets path to openssl installation,[OPENSSL=$withval])
221 dnl Check for OpenSSL header files
222 _SAVEDCPPFLAGS="$CPPFLAGS"
223 FOUNDINCLUDE=yes
224 CPPFLAGS="-I$OPENSSL/include"
225 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)
226 if test "$FOUNDINCLUDE" = "no"; then
227 FOUNDINCLUDE=yes
228 AC_CHECK_HEADERS(x509.h ssl.h rsa.h pem.h crypto.h err.h,SSLINCLUDE="-I$OPENSSL/include",FOUNDINCLUDE=no)
229 fi
230 AC_SUBST(SSLINCLUDE)
231 CPPFLAGS="$_SAVEDCPPFLAGS $SSLINCLUDE"
233 dnl Check for crypto lib
234 _SAVEDLIBS="$LIBS"
235 AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
236 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
237 dnl Check for SSL lib
238 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)
239 fi
240 LIBS="$_SAVEDLIBS"
242 dnl test headers and libs to decide whether check_http should use SSL
243 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
244 if test "$ac_cv_lib_ssl_main" = "yes"; then
245 if test "$FOUNDINCLUDE" = "yes"; then
246 AC_SUBST(SSLLIBS)
247 AC_DEFINE(HAVE_SSL)
248 fi
249 fi
250 fi
251 CPPFLAGS="$_SAVEDCPPFLAGS"
253 dnl
254 dnl Checks for header files.
255 dnl
257 AC_HEADER_STDC
258 AC_HEADER_TIME
259 AC_HEADER_SYS_WAIT
260 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)
262 dnl Checks for typedefs, structures, and compiler characteristics.
263 AC_C_CONST
264 AC_STRUCT_TM
265 AC_TYPE_PID_T
266 AC_TYPE_SIZE_T
267 AC_TYPE_SIGNAL
269 dnl EXTRA_LIBRARIES="libgetopt.a libsnprintf.a"
270 dnl noinst_LIBRARIES="libgetopt.a libsnprintf.a"
271 dnl libgetopt_a_SOURCES="getopt.c getopt1.c"
272 dnl libgetopt_a_DEPENDENCIES=getopt.h
273 dnl libsnprintf_a_SOURCES=snprintf.c
274 dnl AC_SUBST(noinst_LIBRARIES)
275 dnl AC_SUBST(libgetopt_a_SOURCES)
276 dnl AC_SUBST(libgetopt_a_DEPENDENCIES)
277 dnl AC_SUBST(libsnprintf_a_SOURCES)
279 AC_MSG_CHECKING(for getopt_long)
280 AC_TRY_COMPILE([#include <getopt.h>
281 #include <stdlib.h>],
282 [int option_index=0;
283 static struct option *long_options;
284 getopt_long(0,NULL,"+h",long_options,&option_index);],
285 [AC_DEFINE(HAVE_GETOPT_H) AC_DEFINE(HAVE_GETOPT_LONG) AC_MSG_RESULT(yes)],
286 [AC_DEFINE(HAVE_GETOPT_H) AC_DEFINE(HAVE_GETOPT_LONG) AC_MSG_RESULT(no) import_sources=getopt])
288 AC_CHECK_FUNCS(getopt_long_only,,LIBS="$LIBS -lgetopt" DEPLIBS="$DEPLIBS libgetopt.a")
290 AC_CHECK_FUNC(vsnprintf,,LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
292 dnl Checks for library functions.
293 AC_CHECK_FUNCS(select socket strdup strstr strtod strtol strtoul)
295 AC_MSG_CHECKING(for type of socket size)
296 AC_TRY_COMPILE([#include <stdlib.h>
297 #include <sys/types.h>
298 #include <sys/socket.h>
299 ],
300 [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
301 [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)],
302 [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)])
304 if test -f "/proc/loadavg"
305 then
306 AC_DEFINE(HAVE_PROC_LOADAVG)
307 AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg")
308 fi
310 AC_PATH_PROG(PATH_TO_PS,ps)
311 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
312 dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND
313 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]
314 then
315 AC_DEFINE(USE_PS_VARS)
316 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
317 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axo 'stat user ppid args'")
318 EXTRAS="$EXTRAS check_nagios"
319 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axo 'stat uid ppid comm args'")
320 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
321 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axo 'vsz comm'")
322 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
323 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'")
324 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
325 echo " ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
326 dnl AIX 4.3.3 - needs verification.
327 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]
328 then
329 AC_DEFINE(USE_PS_VARS)
330 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
331 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'stat user ppid args'")
332 EXTRAS="$EXTRAS check_nagios"
333 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'stat uid ppid comm args'")
334 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
335 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz comm'")
336 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
337 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'")
338 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
339 echo " ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'"
340 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]
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 -eo 's user ppid args'")
345 EXTRAS="$EXTRAS check_nagios"
346 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -eo 's uid ppid comm args'")
347 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
348 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -eo 'vsz comm'")
349 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
350 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'")
351 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
352 echo " ps syntax... $PATH_TO_PS -eo 's comm vsz rss user ppid args'"
353 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]
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 -Ao 's user ppid args'")
358 EXTRAS="$EXTRAS check_nagios"
359 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao '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 -Ao 'vsz comm'")
362 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
363 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'")
364 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
365 echo " ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'"
366 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]
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 'status user ppid args'")
371 EXTRAS="$EXTRAS check_nagios"
372 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'status 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 'status comm vsz rss'"
379 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]
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 'state user ppid args'")
384 EXTRAS="$EXTRAS check_nagios"
385 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'state 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 'state comm vsz rss'"
392 dnl wonder who takes state instead of stat
393 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]
394 then
395 AC_DEFINE(USE_PS_VARS)
396 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
397 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'state user ppid args'")
398 EXTRAS="$EXTRAS check_nagios"
399 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'state uid ppid command args'")
400 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
401 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz command'")
402 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
403 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss command'")
404 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
405 echo " ps syntax... $PATH_TO_PS -ao 'state command vsz rss'"
406 dnl FreeBSD
407 elif [ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i "^STAT +COMMAND +VSZ +RSS +UID +USER +PPID" >/dev/null]
408 then
409 AC_DEFINE(USE_PS_VARS)
410 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
411 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'")
412 EXTRAS="$EXTRAS check_nagios"
413 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxco 'state uid ppid command command'")
414 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
415 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'")
416 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
417 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'")
418 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
419 echo " ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'"
420 dnl BSD-like mode in RH 6.1
421 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]
422 then
423 AC_DEFINE(USE_PS_VARS)
424 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
425 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxno 'state user ppid comm'")
426 EXTRAS="$EXTRAS check_nagios"
427 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxno 'state uid ppid comm args'")
428 AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n")
429 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxno 'vsz comm'")
430 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s")
431 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxno 'rss comm'")
432 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s")
433 echo " ps syntax... $PATH_TO_PS -waxco 'state comm vsz rss'"
434 dnl IRIX 53
435 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]
436 then
437 AC_DEFINE(USE_PS_VARS)
438 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
439 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
440 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
441 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
442 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
443 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
444 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
445 echo " ps syntax... $PATH_TO_PS -el"
446 dnl IRIX 63
447 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]
448 then
449 AC_DEFINE(USE_PS_VARS)
450 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
451 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
452 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
453 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
454 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
455 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
456 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
457 echo " ps syntax... $PATH_TO_PS -el"
458 dnl SunOS 4.1.3:
459 dnl F UID PID PPID CP PRI NI SZ RSS WCHAN STAT TT TIME COMMAND
460 dnl
461 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]
462 then
463 AC_DEFINE(USE_PS_VARS)
464 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww")
465 EXTRAS="$EXTRAS check_nagios"
466 AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
467 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -laxnwww")
468 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %*s %s %*s %*s %n%s")
469 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww")
470 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
471 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww")
472 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %d")
473 echo " ps syntax... $PATH_TO_PS laxnwww"
474 dnl Debian Linux / procps v1.2.9:
475 dnl FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND
476 dnl 100 0 1 0 0 0 776 76 c0131c8c S ffff 0:11 init [2]
477 dnl
478 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]
479 then
480 AC_DEFINE(USE_PS_VARS)
481 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww")
482 EXTRAS="$EXTRAS check_nagios"
483 AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
484 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS laxnwww")
485 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s")
486 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww")
487 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d")
488 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww")
489 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
490 echo " ps syntax... $PATH_TO_PS laxnwww"
491 dnl
492 dnl AIX 4.1:
493 dnl F S UID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
494 dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 swapper
495 elif [ps -el 2>/dev/null | egrep -i "^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+" >/dev/null]
496 then
497 AC_DEFINE(USE_PS_VARS)
498 AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog])
499 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el")
500 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s")
501 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el")
502 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
503 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el")
504 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d")
505 echo " ps syntax... $PATH_TO_PS -el"
506 dnl AIX?
507 elif [ps glaxen 2>/dev/null | egrep -i "^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND" >/dev/null]
508 then
509 AC_DEFINE(USE_PS_VARS)
510 AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog])
511 AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS glaxen")
512 AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s")
513 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS glaxen")
514 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d")
515 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS glaxen")
516 AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d")
517 echo " ps syntax... $PATH_TO_PS glaxen"
518 dnl ucb style?
519 dnl elif [ps axun 2>/dev/null | egrep -i "^USER +PID +%CPU +%MEM +SIZE +RSS +TTY +STAT +START +TIME +COMMAND *$" >/dev/null]
520 dnl then
521 dnl AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS axun")
522 dnl AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %*s %*s %*s %*s %*s %s %*s %*s %s")
523 dnl AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS axun")
524 dnl AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
525 dnl AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS axun")
526 dnl AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %d")
527 dnl echo " ps syntax... $PATH_TO_PS axun"
528 dnl ucb style?
529 dnl elif [ps axun 2>/dev/null | egrep -i "^USER +PID +%CPU +%MEM +SIZE +RSS +TTY +STAT +START +TIME +COMMAND" >/dev/null]
530 dnl then
531 dnl AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS axun")
532 dnl AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %*s %*s %*s %*s %*s %s %*s %*s %s")
533 dnl AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS axun")
534 dnl AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d")
535 dnl AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS axun")
536 dnl AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %d")
537 dnl echo " ps syntax... $PATH_TO_PS axun"
538 else
539 echo "** Unable to find usable ps syntax"
540 fi
542 AC_ARG_WITH(df_command,--with-df-command=<syntax> sets syntax for df,DF_COMMAND=$withval)
543 if test -n "$DF_COMMAND"
544 then
545 AC_DEFINE_UNQUOTED(DF_COMMAND,"$DF_COMMAND")
546 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]
547 then
548 AC_PATH_PROG(PATH_TO_DF,df)
549 AC_MSG_RESULT(" df syntax... $PATH_TO_DF -Pk")
550 AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk")
551 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]
552 then
553 AC_PATH_PROG(PATH_TO_DF,df)
554 AC_MSG_RESULT(" df syntax... $PATH_TO_DF -k")
555 AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -k")
556 elif [df 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null]
557 then
558 AC_PATH_PROG(PATH_TO_DF,df)
559 AC_MSG_RESULT(" df syntax... $PATH_TO_DF")
560 AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF")
561 elif [bdf 2>/dev/null | egrep -i "^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*" >/dev/null]
562 then
563 AC_PATH_PROG(PATH_TO_DF,bdf)
564 AC_MSG_RESULT(" df syntax... $PATH_TO_DF")
565 AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF")
566 else
567 AC_MSG_WARN("unable to find usable df syntax")
568 fi
570 AC_PATH_PROG(PATH_TO_PING,ping)
572 AC_ARG_WITH(ping_command,--with-ping-command=<syntax> sets syntax for ping,PING_COMMAND=$withval)
573 if test -n "$PING_COMMAND"
574 then
575 echo " ping syntax... (command-line) $PING_COMMAND"
576 if test -n "$PING_PACKETS_FIRST"
577 then
578 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
579 fi
580 elif [ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
581 then
582 PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
583 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
584 echo " ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
585 elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
586 then
587 PING_COMMAND="$PATH_TO_PING -n -c %d %s"
588 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
589 echo " ping syntax... $PATH_TO_PING -n -c <count> <host>"
590 elif [ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
591 then
592 PING_COMMAND="$PATH_TO_PING -n %s -c %d"
593 echo " ping syntax... $PATH_TO_PING -n <host> -c <count>"
594 elif [ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
595 then
596 PING_COMMAND="$PATH_TO_PING %s -n %d"
597 echo " ping syntax... $PATH_TO_PING <host> -n <count>"
598 elif [ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
599 then
600 PING_COMMAND="$PATH_TO_PING -n -s %s 56 %d"
601 echo " ping syntax... $PATH_TO_PING -n -s <host> 56 <count>"
602 elif [ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
603 then
604 PING_COMMAND="$PATH_TO_PING -n -h %s -s 56 -c %d"
605 echo " ping syntax... $PATH_TO_PING -n -h <host> -s 56 -c <count>"
606 elif [ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
607 then
608 PING_COMMAND="$PATH_TO_PING -n -s 56 -c %d %s"
609 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
610 echo " ping syntax... $PATH_TO_PING -n -s 56 -c <count> <host>"
611 elif [ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null]
612 then
613 PING_COMMAND="$PATH_TO_PING -n -c %d %s"
614 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND")
615 echo " ping syntax... $PATH_TO_PING -n -c <count> <host>"
616 else
617 AC_MSG_WARN("unable to find usable ping syntax")
618 fi
619 AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND")
621 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
622 if test -n "$ac_cv_path_PATH_TO_NSLOOKUP"
623 then
624 AC_MSG_CHECKING("nslookup syntax")
625 if [nslookup -sil 127.0.0.1 2>&1 | grep "*** Invalid option: sil" >/dev/null]
626 then
627 AC_MSG_RESULT("$PATH_TO_NSLOOKUP")
628 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP")
629 else
630 AC_MSG_RESULT("$PATH_TO_NSLOOKUP -sil")
631 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP -sil")
632 fi
633 EXTRAS="$EXTRAS check_dns"
634 else
635 AC_MSG_WARN("nslookup command not found")
636 fi
638 AC_PATH_PROG(PATH_TO_HOST,host)
639 if test -n "$ac_cv_path_PATH_TO_HOST"
640 then
641 AC_MSG_CHECKING("host syntax")
642 if [host 127.0.0.1 2>&1 | grep -v "ommand not found" > /dev/null]
643 then
644 AC_MSG_RESULT("$PATH_TO_HOST")
645 AC_DEFINE_UNQUOTED(HOST_COMMAND,"$PATH_TO_HOST")
646 fi
647 EXTRAS="$EXTRAS check_dns"
648 else
649 AC_MSG_WARN("host command not found")
650 fi
652 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
653 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME")
655 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
656 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO")
658 AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
659 AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
660 if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPDC")
661 then
662 AC_DEFINE_UNQUOTED(PATH_TO_NTPDC,"$PATH_TO_NTPDC")
663 AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE")
664 else
665 echo "** Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization"
666 fi
668 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
669 if test -x "$PATH_TO_LMSTAT"
670 then
671 AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT")
672 else
673 echo "** Get lmstat from Globetrotter Software to monitor flexlm licenses"
674 fi
676 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
677 if test -x "$PATH_TO_SMBCLIENT"
678 then
679 AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT")
680 else
681 echo "** Get smbclient from Samba.org to monitor SMB shares"
682 fi
685 AC_PATH_PROG(PATH_TO_WHO,who)
686 if [who -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
687 then
688 AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO -q")
689 else
690 AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO")
691 fi
693 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
694 if test -x "$PATH_TO_SNMPGET"
695 then
696 AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET")
697 EXTRAS="$EXTRAS check_hpjd check_snmp"
698 else
699 echo "** Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins"
700 fi
702 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
703 if test -x "$PATH_TO_SNMPGETNEXT"
704 then
705 AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT")
706 fi
708 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null )
709 then
710 echo "Found Net::SNMP perl module"
711 else
712 echo "** Tried $PERL - install Net::SNMP perl module if you want to"
713 echo " use the perl snmp plugins"
714 fi
716 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
717 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
718 if test -x "$PATH_TO_QUAKESTAT"
719 then
720 AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QUAKESTAT")
721 EXTRAS="$EXTRAS check_game"
722 elif test -x "$PATH_TO_QSTAT"
723 then
724 AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QSTAT")
725 EXTRAS="$EXTRAS check_game"
726 else
727 echo "** Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin"
728 fi
730 AC_PATH_PROG(PATH_TO_FPING,fping)
731 if test -x "$PATH_TO_FPING"
732 then
733 AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING")
734 EXTRAS="$EXTRAS check_fping"
735 else
736 echo "** Get fping from http://www.fping.com in order to make check_fping plugin"
737 fi
739 AC_PATH_PROG(PATH_TO_SSH,ssh)
740 if test -x "$PATH_TO_SSH"
741 then
742 AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH")
743 EXTRAS="$EXTRAS check_by_ssh"
744 else
745 echo "** Get ssh in order to make check_by_ssh plugin"
746 fi
748 dnl dunno why this does not work below - use hack (kbd)
749 dnl fine on linux, broken on solaris
750 dnl if /bin/test -e "/proc/meminfo"
752 if [cat /proc/meminfo > /dev/null 2>&1]
753 then
754 echo "found /proc/meminfo"
755 AC_DEFINE(HAVE_PROC_MEMINFO)
756 AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo")
757 EXTRAS="$EXTRAS check_swap"
758 elif [swap -l 2>&1 | egrep -i "swapfile" >/dev/null]
759 then
760 echo "found swap command"
761 AC_DEFINE(HAVE_SWAP)
762 AC_PATH_PROG(PATH_TO_SWAP,swap)
763 AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -l")
764 if [swap -l 2>/dev/null | egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" >/dev/null]
765 then
766 AC_DEFINE_UNQUOTED(SWAP_FORMAT,[" %*d %*s %*d,%*d %*d %*d %d %d"])
767 echo " using IRIX format"
768 elif [swap -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
769 then
770 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"])
771 echo " using Solaris format"
772 fi
773 EXTRAS="$EXTRAS check_swap"
774 elif [swapinfo -k 2>&1 | egrep -i "Device" >/dev/null]
775 then
776 echo "found swapinfo command"
777 AC_DEFINE(HAVE_SWAP)
778 AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
779 AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -k")
780 if [swapinfo -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
781 then
782 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"])
783 echo " using FreeBSD format"
784 fi
785 EXTRAS="$EXTRAS check_swap"
786 fi
788 AC_PATH_PROG(PATH_TO_DIG,dig)
789 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG")
790 if test -n "$PATH_TO_DIG"; then
791 EXTRAS="$EXTRAS check_dig"
792 fi
794 if test -f plugins/check_nt.c ; then
795 EXTRAS="$EXTRAS check_nt"
796 elif test -f ../plugins/check_nt.c ; then
797 EXTRAS="$EXTRAS check_nt"
798 fi
800 dnl AC_EGREP_HEADER (PATTERN, HEADER-FILE, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
801 AC_TRY_COMPILE([#ifdef __STDC__
802 #include <stdio.h>
803 #include <stdlib.h>
804 #include <stdarg.h>
805 #else
806 #include <sys/types.h>
807 #include <stdio.h>
808 #include <varargs.h>
809 #endif],
810 [va_list args;],
811 [AC_MSG_RESULT(yes)],
812 [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
814 AC_SUBST(EXTRAS)
815 AC_SUBST(DEPLIBS)
817 AC_SUBST(PACKAGE)
818 AC_SUBST(VERSION)
819 AC_DEFINE_UNQUOTED(PACKAGE,"${PACKAGE}")
820 AC_DEFINE_UNQUOTED(VERSION,"${VERSION}")
821 AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}")
823 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)