1
dnl Process this file with autoconf to produce a configure script.
2
AC_REVISION ($Revision: 1.47.2.6 $)
8
PACKAGE_VERSION="${VER}"
9
AC_SUBST(PACKAGE_VERSION)
10
PACKAGE_RELEASE="${REL}"
11
AC_SUBST(PACKAGE_RELEASE)
12
AM_INIT_AUTOMAKE(nagios-plugins,${PACKAGE_VERSION})
13
AM_CONFIG_HEADER(plugins/config.h plugins/common.h plugins/version.h plugins/netutils.h plugins/utils.h plugins/popen.h)
15
AC_PREFIX_DEFAULT(/usr/local/nagios)
17
dnl Figure out how to invoke "install" and what install options to use.
28
test -f $srcdir/getloadavg.c \
29
|| AC_MSG_ERROR([getloadavg.c is not in $srcdir])
33
ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
37
AC_PATH_PROG(ACLOCAL,aclocal)
38
AC_PATH_PROG(AUTOMAKE,automake)
39
AC_PATH_PROG(AUTOCONF,autoconf)
40
AC_PATH_PROG(AUTOHEADER,autoheader)
42
PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
43
AC_SUBST(PLUGIN_TEST)dnl
45
SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
46
AC_SUBST(SCRIPT_TEST)dnl
48
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"
51
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"
54
dnl CGIURL has changed for Nagios with 1.0 beta
55
AC_ARG_WITH(cgiurl,--with-cgiurl=<dir> sets URL for cgi programs,cgiurl=$withval,cgiurl=/nagios/cgi-bin)
57
AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
59
AC_ARG_WITH(nagios_user,--with-nagios-user=<user> sets user name to run nagios,nagios_usr=$withval,nagios_usr=nagios)
60
AC_ARG_WITH(nagios_group,--with-nagios-group=<group> sets group name to run nagios,nagios_grp=$withval,nagios_grp=nagios)
63
INSTALL_OPTS="-o $nagios_usr -g $nagios_grp"
64
AC_SUBST(INSTALL_OPTS)
66
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)
67
AC_SUBST(trusted_path)
70
dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
72
LDFLAGS="$LDFLAGS -L."
74
ac_cv_uname_m=`uname -m`
75
ac_cv_uname_s=`uname -s`
76
ac_cv_uname_r=`uname -r`
77
ac_cv_uname_v=`uname -v`
79
dnl Checks for programs.
80
AC_PATH_PROG(PYTHON,python)
81
AC_PATH_PROG(PERL,perl)
84
AC_PATH_PROG(HOSTNAME,hostname)
85
AC_PATH_PROG(BASENAME,basename)
89
dnl Checks for libraries.
92
AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
93
AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
94
AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
95
AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
98
dnl Check for PostgreSQL libraries
100
_SAVEDCPPFLAGS="$CPPFLAGS"
101
AC_ARG_WITH(pgsql,--with-pgsql=<dir> sets path to pgsql installation,[PGSQL=$withval])
102
AC_CHECK_LIB(crypt,main)
103
if test "$ac_cv_lib_crypt_main" = "yes"; then
104
if test -n "$PGSQL"; then
105
LDFLAGS="$LDFLAGS -L$PGSQL/lib"
106
CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
108
AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
109
if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
110
AC_CHECK_HEADERS(pgsql/libpq-fe.h)
111
AC_CHECK_HEADERS(postgresql/libpq-fe.h)
112
AC_CHECK_HEADERS(libpq-fe.h)
113
if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
114
PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
115
PGINCLUDE="-I$PGSQL/include"
116
elif test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
117
PGLIBS="-lpq -lcrypt"
118
PGINCLUDE="-I/usr/include/pgsql"
119
elif test "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
120
PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
121
PGINCLUDE="-I/usr/include/postgresql"
122
elif test "$ac_cv_header_libpq_fe_h" = "yes"; then
123
PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
124
PGINCLUDE="-I$PGSQL/include"
126
if test -z "$PGINCLUDE"; then
127
AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
128
AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
132
EXTRAS="$EXTRAS check_pgsql"
135
AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
136
AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
137
AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
140
AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
141
AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
144
CPPFLAGS="$_SAVEDCPPFLAGS"
146
dnl Check for radius libraries
148
AC_CHECK_LIB(radiusclient,rc_read_config)
149
if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
150
EXTRAS="$EXTRAS check_radius"
151
RADIUSLIBS="-lradiusclient"
154
AC_MSG_WARN([Skipping radius plugin])
155
AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
159
dnl Check for LDAP libraries
161
AC_CHECK_LIB(ldap,main,,,-llber)
162
if test "$ac_cv_lib_ldap_main" = "yes"; then
163
LDAPLIBS="-lldap -llber"\
164
LDAPINCLUDE="-I/usr/include/ldap"
166
AC_SUBST(LDAPINCLUDE)
167
EXTRAS="$EXTRAS check_ldap"
169
AC_MSG_WARN([Skipping LDAP plugin])
170
AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
175
dnl Check for mysql libraries
177
_SAVEDCPPFLAGS="$CPPFLAGS"
178
AC_ARG_WITH(mysql,--with-mysql=<dir> sets path to mysql installation (assumes lib/mysql and include subdirs),[MYSQL=$withval])
179
if test -n "$MYSQL"; then
180
MYSQLLIBDIR=$MYSQL/lib/mysql
181
CPPFLAGS="-I$MYSQL/include"
182
AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
183
AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
184
elif test -f /usr/lib/libmysqlclient.so; then
185
AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
186
AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
187
elif test -f /usr/lib/libmysqlclient.a; then
188
AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
189
AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
190
elif test -f /usr/lib/mysql/libmysqlclient.so; then
191
AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
192
AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
193
elif test -f /usr/lib/mysql/libmysqlclient.a; then
194
AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
195
AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
197
if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
198
AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
199
if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
200
EXTRAS="$EXTRAS check_mysql"
201
AC_SUBST(MYSQLINCLUDE)
203
AC_SUBST(check_mysql_LDFLAGS)
205
AC_MSG_WARN([Skipping mysql plugin])
206
AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
209
AC_MSG_WARN([Skipping mysql plugin])
210
AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
212
CPPFLAGS="$_SAVEDCPPFLAGS"
215
dnl Check for OpenSSL location
216
AC_PATH_PROG(OPENSSL,openssl)
217
if test "$OPENSSL" = "/usr/bin/openssl"; then
219
elif test "$OPENSSL" = "/usr/sbin/openssl"; then
221
elif test "$OPENSSL" = "/opt/bin/openssl"; then
223
elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
225
elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
227
elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
229
elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
230
OPENSSL=/usr/local/ssl
232
AC_ARG_WITH(openssl,--with-openssl=<dir> sets path to openssl installation,[OPENSSL=$withval])
234
AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
235
if test "$FOUNDINCLUDE" = "no"; then
236
_SAVEDCPPFLAGS="$CPPFLAGS"
237
CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
238
unset ac_cv_header_krb5_h
239
AC_CHECK_HEADERS(krb5.h,
240
KRB5INCLUDE="-I/usr/kerberos/include"
245
if test "$FOUNDINCLUDE" = "no"; then
246
CPPFLAGS="$_SAVEDCPPFLAGS"
249
dnl Check for OpenSSL header files
251
_SAVEDCPPFLAGS="$CPPFLAGS"
252
CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
253
AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
254
SSLINCLUDE="-I$OPENSSL/include"
257
if test "$FOUNDINCLUDE" = "no"; then
258
AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
259
SSLINCLUDE="-I$OPENSSL/include"
264
if test "$FOUNDINCLUDE" = "no"; then
265
CPPFLAGS="$_SAVEDCPPFLAGS"
268
dnl Check for crypto lib
270
AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
271
if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
272
dnl Check for SSL lib
273
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)
277
dnl test headers and libs to decide whether check_http should use SSL
278
if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
279
if test "$ac_cv_lib_ssl_main" = "yes"; then
280
if test "$FOUNDINCLUDE" = "yes"; then
281
check_tcp_ssl="check_simap check_spop"
282
AC_SUBST(check_tcp_ssl)
284
AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
288
CPPFLAGS="$_SAVEDCPPFLAGS"
291
dnl Checks for header files.
297
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)
298
AC_CHECK_HEADERS(stdarg.h sys/unistd.h unistd.h ctype.h sys/wait.h stdlib.h)
300
dnl Checks for typedefs, structures, and compiler characteristics.
307
AC_CHECK_SIZEOF(int,cross)
308
AC_CHECK_SIZEOF(long,cross)
309
AC_CHECK_SIZEOF(short,cross)
311
AC_CACHE_CHECK([for long long],ac_cv_have_longlong,[
312
AC_TRY_RUN([#include <stdio.h>
313
main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
314
ac_cv_have_longlong=yes,ac_cv_have_longlong=no,ac_cv_have_longlong=cross)])
315
if test x"$ac_cv_have_longlong" = x"yes"; then
316
AC_DEFINE(HAVE_LONGLONG,1,[Define if system has long long type])
320
# Check if the compiler supports the LL prefix on long long integers.
323
AC_CACHE_CHECK([for LL suffix on long long integers],ac_cv_compiler_supports_ll, [
324
AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
325
ac_cv_compiler_supports_ll=yes,ac_cv_compiler_supports_ll=no)])
326
if test x"$ac_cv_compiler_supports_ll" = x"yes"; then
327
AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Define if compiler support long long])
330
AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE_VA_COPY,[
331
AC_TRY_LINK([#include <stdarg.h>
332
va_list ap1,ap2;], [__va_copy(ap1,ap2);],
333
ac_cv_HAVE_VA_COPY=yes,ac_cv_HAVE_VA_COPY=no)])
334
if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
335
AC_DEFINE(HAVE_VA_COPY,1,[Define if system has va_copy])
338
AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
340
#include <sys/types.h>
342
void foo(const char *format, ...) {
347
va_start(ap, format);
348
len = vsnprintf(buf, 0, format, ap);
350
if (len != 5) exit(1);
352
va_start(ap, format);
353
len = vsnprintf(0, 0, format, ap);
355
if (len != 5) exit(1);
357
if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
361
main() { foo("hello"); }
363
ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
364
if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
365
AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
368
#AC_HAVE_DECL(asprintf, [#include <stdio.h>])
369
#AC_HAVE_DECL(vasprintf, [#include <stdio.h>])
370
#AC_HAVE_DECL(vsnprintf, [#include <stdio.h>])
371
#AC_HAVE_DECL(snprintf, [#include <stdio.h>])
373
AC_CHECK_FUNC(snprintf,
374
AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present]),
375
LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
376
AC_CHECK_FUNC(vsnprintf,
377
AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present]),
378
LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
379
AC_CHECK_FUNC(vasprintf,
380
AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present]),
381
LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
382
AC_CHECK_FUNC(asprintf,
383
AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present]),
384
LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
386
if test x"$ac_cv_HAVE_SNPRINTF" = x"no" -o x"$ac_cv_HAVE_VSNPRINTF" = x"no" -o x"$ac_cv_HAVE_VASPRINTF" = x"no" -o x"$ac_cv_HAVE_ASPRINTF" = x"no"; then
387
LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a"
390
AC_TRY_COMPILE([#include <sys/time.h>],
392
struct timezone *tz;],
393
AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])
394
AC_TRY_COMPILE([#include <sys/time.h>],
397
gettimeofday(tv, tz);],
398
AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]),
399
AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
401
dnl Checks for library functions.
402
AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul)
404
AC_MSG_CHECKING(for type of socket size)
405
AC_TRY_COMPILE([#include <stdlib.h>
406
#include <sys/types.h>
407
#include <sys/socket.h>],
408
[int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
409
[AC_DEFINE(SOCKET_SIZE_TYPE, size_t, [Define type of socket size])
410
AC_MSG_RESULT(size_t)],
411
[AC_DEFINE(SOCKET_SIZE_TYPE, int, [Define type of socket size])
414
if test -f "/proc/loadavg"
416
AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
417
AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg",[Location of /proc/loadavg])
420
AC_PATH_PROG(PATH_TO_PS,ps)
421
dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
422
dnl STAT UCOMM VSZ RSS USER PPID COMMAND
423
if ps -axwo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^ *STAT +UCOMM +VSZ +RSS +USER +UID +PPID +COMMAND"] > /dev/null
425
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
426
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
427
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axwo 'stat uid ppid args'",[Verbatim command to execute for ps in check_netsaint])
428
EXTRAS="$EXTRAS check_nagios"
429
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axwo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
430
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
431
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axwo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
432
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
433
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axwo 'rss comm'",[Verbatim command to execute for ps in check_rss])
434
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
435
echo " ps syntax... $PATH_TO_PS -axwo 'stat uid ppid comm args'"
436
dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND
437
elif ps -weo '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
439
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
440
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
441
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -weo 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
442
EXTRAS="$EXTRAS check_nagios"
443
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -weo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
444
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
445
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -weo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
446
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
447
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -weo 'rss comm'",[Verbatim command to execute for ps in check_rss])
448
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
449
echo " ps syntax... $PATH_TO_PS -weo 'stat comm vsz rss user ppid args'"
451
elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null
453
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
454
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
455
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'",[])
456
EXTRAS="$EXTRAS check_nagios"
457
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxco 'state uid ppid command command'",[])
458
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
459
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'",[])
460
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
461
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'",[])
462
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
463
echo " ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'"
464
dnl BSD-like mode in RH 6.1
465
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
467
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
468
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
469
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxno 'state user ppid comm'",[])
470
EXTRAS="$EXTRAS check_nagios"
471
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxno 'state uid ppid comm args'",[])
472
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
473
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxno 'vsz comm'",[])
474
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
475
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxno 'rss comm'",[])
476
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
477
echo " ps syntax... $PATH_TO_PS -waxco 'state comm vsz rss'"
479
dnl F UID PID PPID CP PRI NI SZ RSS WCHAN STAT TT TIME COMMAND
481
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
483
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
484
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
485
EXTRAS="$EXTRAS check_nagios"
486
AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
487
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -laxnwww",[])
488
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
489
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww",[])
490
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
491
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww",[])
492
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %d",[])
493
echo " ps syntax... $PATH_TO_PS laxnwww"
494
dnl Debian Linux / procps v1.2.9:
495
dnl FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND
496
dnl 100 0 1 0 0 0 776 76 c0131c8c S ffff 0:11 init [2]
498
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
500
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
501
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
502
EXTRAS="$EXTRAS check_nagios"
503
AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
504
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS laxnwww",[])
505
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
506
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww",[])
507
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d",[])
508
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww",[])
509
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
510
echo " ps syntax... $PATH_TO_PS laxnwww"
511
dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
512
elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
514
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
515
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
516
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axo 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
517
EXTRAS="$EXTRAS check_nagios"
518
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
519
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
520
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
521
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
522
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'",[Verbatim command to execute for ps in check_rss])
523
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
524
echo " ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
525
dnl AIX 4.3.3 - needs verification. This works for Tru64 - needs %*[ +] in PS_FORMAT
526
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
528
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
529
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
530
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
531
EXTRAS="$EXTRAS check_nagios"
532
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'stat uid ppid comm args'")
533
AC_DEFINE_UNQUOTED(PS_FORMAT,[["%s%*[ +] %d %d %s %n"]],[Format string for scanning ps output in check_procs])
534
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz comm'",[])
535
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
536
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'",[])
537
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
538
echo " ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'"
539
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
541
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
542
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
543
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -eo 's user ppid args'",[Verbatim command to execute for ps in check_netsaint])
544
EXTRAS="$EXTRAS check_nagios"
545
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -eo 's uid ppid comm args'")
546
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
547
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -eo 'vsz comm'",[])
548
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
549
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'",[])
550
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
551
echo " ps syntax... $PATH_TO_PS -eo 's comm vsz rss user ppid args'"
552
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
554
AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
555
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
556
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 's user ppid args'",[Verbatim command to execute for ps in check_netsaint])
557
EXTRAS="$EXTRAS check_nagios"
558
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 's uid ppid comm args'",[])
559
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
560
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
561
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
562
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
563
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
564
echo " ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'"
565
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
567
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
568
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
569
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'status user ppid args'",[Verbatim command to execute for ps in check_netsaint])
570
EXTRAS="$EXTRAS check_nagios"
571
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'status uid ppid comm args'",[])
572
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
573
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
574
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
575
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
576
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
577
echo " ps syntax... $PATH_TO_PS -Ao 'status comm vsz rss'"
578
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
580
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
581
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
582
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'state user ppid args'",[Verbatim command to execute for ps in check_netsaint])
583
EXTRAS="$EXTRAS check_nagios"
584
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'state uid ppid comm args'",[])
585
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
586
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
587
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
588
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
589
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
590
echo " ps syntax... $PATH_TO_PS -Ao 'state comm vsz rss'"
591
dnl wonder who takes state instead of stat
592
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
594
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
595
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
596
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'state user ppid args'",[])
597
EXTRAS="$EXTRAS check_nagios"
598
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'state uid ppid command args'",[])
599
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
600
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz command'",[])
601
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
602
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss command'",[])
603
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
604
echo " ps syntax... $PATH_TO_PS -ao 'state command vsz rss'"
606
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
608
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
609
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
610
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
611
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
612
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
613
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d",[])
614
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
615
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
616
echo " ps syntax... $PATH_TO_PS -el"
618
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
620
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
621
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
622
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
623
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
624
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
625
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d",[])
626
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
627
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
628
echo " ps syntax... $PATH_TO_PS -el"
631
dnl F S UID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
632
dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 swapper
633
elif ps -el 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
635
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
636
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
637
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
638
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
639
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
640
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
641
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
642
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
643
echo " ps syntax... $PATH_TO_PS -el"
645
elif ps glaxen 2>/dev/null | egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
647
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
648
AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
649
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS glaxen",[])
650
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
651
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS glaxen",[])
652
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d",[])
653
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS glaxen",[])
654
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
655
echo " ps syntax... $PATH_TO_PS glaxen"
657
dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
658
dnl STAT VSZ RSS UID USER PPID UCOMM COMMAND
659
dnl Ss 1308 272 0 root 0 init /sbin/init
660
elif ps waxo 'state vsz rss uid user ppid ucomm command' 2>/dev/null | egrep -i ["^STAT +VSZ +RSS +UID +USER +PPID +UCOMM +COMMAND"] >/dev/null
662
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
663
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
664
AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'",[])
665
EXTRAS="$EXTRAS check_nagios"
666
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxo 'state uid ppid ucomm command'",[])
667
AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
668
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'",[])
669
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
670
AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'",[])
671
AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
672
echo " ps syntax... $PATH_TO_PS waxo 'state vsz rss command'"
674
elif ps -Al 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
676
AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
677
AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
678
AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Al",[])
679
AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
680
if ps -Ao 'vsz comm' 2>/dev/null | egrep -i ["^ *VSZ +COMMAND"] >/dev/null
682
AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
683
AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %d",[])
685
echo " ps syntax... $PATH_TO_PS -Al"
687
echo "** Unable to find usable ps syntax"
690
AC_ARG_WITH(df_command,--with-df-command=<syntax> sets syntax for df,DF_COMMAND=$withval)
691
if test -n "$DF_COMMAND"
693
AC_DEFINE_UNQUOTED(DF_COMMAND,"$DF_COMMAND",[path and args for df command])
694
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
696
AC_PATH_PROG(PATH_TO_DF,df)
697
AC_MSG_RESULT([ df syntax... $PATH_TO_DF -Pk])
698
AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk",[path and args for df command])
699
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
701
AC_PATH_PROG(PATH_TO_DF,df)
702
AC_MSG_RESULT([ df syntax... $PATH_TO_DF -k])
703
AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -k",[path and args for df command])
704
elif df 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
706
AC_PATH_PROG(PATH_TO_DF,df)
707
AC_MSG_RESULT([ df syntax... $PATH_TO_DF])
708
AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command])
709
elif bdf 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
711
AC_PATH_PROG(PATH_TO_DF,bdf)
712
AC_MSG_RESULT([ df syntax... $PATH_TO_DF])
713
AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command])
715
elif df -Pk 2>/dev/null | egrep -i ["^[a-z_]+#[a-z_]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] > /dev/null
717
AC_PATH_PROG(PATH_TO_DF,df)
718
AC_MSG_RESULT([ df syntax... $PATH_TO_DF -Pk (Tru64)])
719
AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk",[path and args for df command])
721
AC_MSG_WARN("unable to find usable df syntax")
724
AC_PATH_PROG(PATH_TO_PING,ping)
726
AC_ARG_WITH(ping_command,--with-ping-command=<syntax> sets syntax for ping,PING_COMMAND=$withval)
727
if test -n "$PING_COMMAND"
729
echo " ping syntax... (command-line) $PING_COMMAND"
730
if test -n "$PING_PACKETS_FIRST"
732
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
734
elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
736
PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
737
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
738
echo " ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
739
elif ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
741
PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
742
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
743
echo " ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
744
elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
746
PING_COMMAND="$PATH_TO_PING -n -c %d %s"
747
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
748
echo " ping syntax... $PATH_TO_PING -n -c <count> <host>"
749
elif ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
751
PING_COMMAND="$PATH_TO_PING -n %s -c %d"
752
echo " ping syntax... $PATH_TO_PING -n <host> -c <count>"
753
elif ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
755
PING_COMMAND="$PATH_TO_PING %s -n %d"
756
echo " ping syntax... $PATH_TO_PING <host> -n <count>"
757
elif ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
759
PING_COMMAND="$PATH_TO_PING -n -s %s 56 %d"
760
echo " ping syntax... $PATH_TO_PING -n -s <host> 56 <count>"
761
elif ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
763
PING_COMMAND="$PATH_TO_PING -n -h %s -s 56 -c %d"
764
echo " ping syntax... $PATH_TO_PING -n -h <host> -s 56 -c <count>"
765
elif ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
767
PING_COMMAND="$PATH_TO_PING -n -s 56 -c %d %s"
768
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
769
echo " ping syntax... $PATH_TO_PING -n -s 56 -c <count> <host>"
770
elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
772
PING_COMMAND="$PATH_TO_PING -n -c %d %s"
773
AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
774
echo " ping syntax... $PATH_TO_PING -n -c <count> <host>"
776
AC_MSG_WARN("unable to find usable ping syntax")
778
AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND",[path and args for ping command])
780
AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
781
if test -n "$ac_cv_path_PATH_TO_NSLOOKUP"
783
if nslookup -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
785
AC_MSG_RESULT([ nslookup syntax... $PATH_TO_NSLOOKUP])
786
AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP",[path and args for nslookup])
788
AC_MSG_RESULT([ nslookup syntax... $PATH_TO_NSLOOKUP -sil])
789
AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP -sil",[path and args for nslookup])
791
EXTRAS="$EXTRAS check_dns"
793
AC_MSG_WARN([nslookup command not found])
796
AC_PATH_PROG(PATH_TO_HOST,host)
797
if test -n "$ac_cv_path_PATH_TO_HOST"
799
EXTRAS="$EXTRAS check_dns"
802
AC_PATH_PROG(PATH_TO_UPTIME,uptime)
803
AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
805
AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
806
AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
808
AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
809
AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
810
AC_PATH_PROGS(PATH_TO_NTPQ,ntpq)
811
if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPQ")
813
AC_DEFINE_UNQUOTED(PATH_TO_NTPQ,"$PATH_TO_NTPQ",[path to ntpq binary])
814
AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE",[path to ntpdate binary])
816
echo "** Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization"
819
AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
820
if test -x "$PATH_TO_LMSTAT"
822
AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
824
echo "** Get lmstat from Globetrotter Software to monitor flexlm licenses"
827
AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
828
if test -x "$PATH_TO_SMBCLIENT"
830
AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
832
echo "** Get smbclient from Samba.org to monitor SMB shares"
836
AC_PATH_PROG(PATH_TO_WHO,who)
837
if [who -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
839
AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO -q",[path and arguments for invoking 'who'])
841
AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO",[path and arguments for invoking 'who'])
844
AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
845
if test -x "$PATH_TO_SNMPGET"
847
AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
848
EXTRAS="$EXTRAS check_hpjd check_snmp"
850
echo "** Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins"
853
AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
854
if test -x "$PATH_TO_SNMPGETNEXT"
856
AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
859
if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null )
861
echo "Found Net::SNMP perl module"
863
echo "** Tried $PERL - install Net::SNMP perl module if you want to"
864
echo " use the perl snmp plugins"
867
AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
868
AC_PATH_PROG(PATH_TO_QSTAT,qstat)
869
if test -x "$PATH_TO_QUAKESTAT"
871
AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QUAKESTAT",[path to qstat/quakestat])
872
EXTRAS="$EXTRAS check_game"
873
elif test -x "$PATH_TO_QSTAT"
875
AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QSTAT",[path to qstat/quakestat])
876
EXTRAS="$EXTRAS check_game"
878
echo "** Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin"
881
AC_PATH_PROG(PATH_TO_FPING,fping)
882
if test -x "$PATH_TO_FPING"
884
AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
885
EXTRAS="$EXTRAS check_fping"
887
echo "** Get fping from http://www.fping.com in order to make check_fping plugin"
890
AC_PATH_PROG(PATH_TO_SSH,ssh)
891
if test -x "$PATH_TO_SSH"
893
AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
894
EXTRAS="$EXTRAS check_by_ssh"
896
echo "** Get ssh in order to make check_by_ssh plugin"
900
AC_PATH_PROG(PATH_TO_MAILQ,mailq)
901
if test -x "$PATH_TO_MAILQ"
903
AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
905
echo "** Could not find mailq or eqivalent"
908
dnl SWAP info required is amount allocated/available and amount free
909
dnl The plugin works through all the swap devices and adds up the total swap
912
dnl dunno why this does not work below - use hack (kbd)
913
dnl fine on linux, broken on solaris
914
dnl if /bin/test -e "/proc/meminfo"
916
if [cat /proc/meminfo > /dev/null 2>&1]
918
echo "found /proc/meminfo"
919
AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
920
AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes])
921
EXTRAS="$EXTRAS check_swap"
922
elif [swap -l 2>&1 >/dev/null]
924
echo "found swap command"
925
AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
926
AC_PATH_PROG(PATH_TO_SWAP,swap)
927
AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -l",[Path to swap/swapinfo binary, with any args])
928
if [swap -l 2>/dev/null | egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" >/dev/null]
930
AC_DEFINE_UNQUOTED(SWAP_FORMAT,[" %*d %*s %*d,%*d %*d %*d %d %d"],[Format string for parsing swap output])
931
echo " using IRIX format"
932
elif [swap -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
934
AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
935
echo " using Solaris format"
936
elif [swap -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
938
AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
939
echo " using Unixware format"
941
EXTRAS="$EXTRAS check_swap"
942
elif [swapinfo -k 2>&1 | egrep -i "^Device" >/dev/null]
944
echo "found swapinfo command"
945
AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
946
AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
947
AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -k",[Path to swap/swapinfo binary, with any args])
948
if [swapinfo -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
950
AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output])
951
echo " using FreeBSD format"
953
EXTRAS="$EXTRAS check_swap"
954
elif [swapinfo -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
956
AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
957
AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
958
AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -dfM",[Path to swap/swapinfo binary, with any args])
959
AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output ])
960
echo " using HP-UX format HP-UX"
963
AC_PATH_PROG(PATH_TO_DIG,dig)
964
AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
965
if test -n "$PATH_TO_DIG"; then
966
EXTRAS="$EXTRAS check_dig"
969
if test -f plugins/check_nt.c ; then
970
EXTRAS="$EXTRAS check_nt"
971
elif test -f ../plugins/check_nt.c ; then
972
EXTRAS="$EXTRAS check_nt"
975
AC_TRY_COMPILE([#ifdef __STDC__
980
#include <sys/types.h>
985
[AC_MSG_RESULT(yes)],
986
[NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
991
AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version])
993
AC_OUTPUT(Makefile subst lib/Makefile 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)