~ubuntu-branches/ubuntu/precise/nagios-plugins/precise-proposed

« back to all changes in this revision

Viewing changes to configure.in

  • Committer: Bazaar Package Importer
  • Author(s): Guido Trotter
  • Date: 2004-06-15 15:37:48 UTC
  • Revision ID: james.westby@ubuntu.com-20040615153748-pq7702qdzghqfcns
Tags: upstream-1.3.1.0
ImportĀ upstreamĀ versionĀ 1.3.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dnl Process this file with autoconf to produce a configure script.
 
2
AC_REVISION ($Revision: 1.47.2.6 $)
 
3
AC_INIT(Helper.pm)
 
4
VER=1.3.1
 
5
REL=1
 
6
AC_SUBST(VER)
 
7
AC_SUBST(REL)
 
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)
 
14
 
 
15
AC_PREFIX_DEFAULT(/usr/local/nagios)
 
16
 
 
17
dnl Figure out how to invoke "install" and what install options to use.
 
18
 
 
19
AC_PROG_INSTALL
 
20
AC_SUBST(INSTALL)
 
21
 
 
22
AC_PROG_CC
 
23
AC_PROG_MAKE_SET
 
24
AC_PROG_AWK
 
25
 
 
26
saved_srcdir=$srcdir
 
27
srcdir=$srcdir/lib
 
28
test -f $srcdir/getloadavg.c \
 
29
  || AC_MSG_ERROR([getloadavg.c is not in $srcdir])
 
30
AC_FUNC_GETLOADAVG
 
31
srcdir=$saved_srcdir
 
32
 
 
33
ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
 
34
dnl AM_WITH_REGEX
 
35
AC_PROG_RANLIB
 
36
 
 
37
AC_PATH_PROG(ACLOCAL,aclocal)
 
38
AC_PATH_PROG(AUTOMAKE,automake)
 
39
AC_PATH_PROG(AUTOCONF,autoconf)
 
40
AC_PATH_PROG(AUTOHEADER,autoheader)
 
41
 
 
42
PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
 
43
AC_SUBST(PLUGIN_TEST)dnl
 
44
 
 
45
SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
 
46
AC_SUBST(SCRIPT_TEST)dnl
 
47
 
 
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"
 
49
AC_SUBST(WARRANTY)
 
50
 
 
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"
 
52
AC_SUBST(SUPPORT)
 
53
 
 
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)
 
56
CGIURL="$cgiurl"
 
57
AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
 
58
 
 
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)
 
61
AC_SUBST(nagios_usr)
 
62
AC_SUBST(nagios_grp)
 
63
INSTALL_OPTS="-o $nagios_usr -g $nagios_grp"
 
64
AC_SUBST(INSTALL_OPTS)
 
65
 
 
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)
 
68
 
 
69
EXTRAS=
 
70
dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
 
71
 
 
72
LDFLAGS="$LDFLAGS -L."
 
73
 
 
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`
 
78
 
 
79
dnl Checks for programs.
 
80
AC_PATH_PROG(PYTHON,python)
 
81
AC_PATH_PROG(PERL,perl)
 
82
AC_PATH_PROG(SH,sh)
 
83
 
 
84
AC_PATH_PROG(HOSTNAME,hostname)
 
85
AC_PATH_PROG(BASENAME,basename)
 
86
 
 
87
 
 
88
dnl
 
89
dnl Checks for libraries.
 
90
dnl
 
91
 
 
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")
 
96
AC_SUBST(SOCKETLIBS)
 
97
 
 
98
dnl Check for PostgreSQL libraries
 
99
_SAVEDLIBS="$LIBS"
 
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"
 
107
  fi
 
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"
 
125
    fi
 
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).])
 
129
    else
 
130
      AC_SUBST(PGLIBS)
 
131
      AC_SUBST(PGINCLUDE)
 
132
      EXTRAS="$EXTRAS check_pgsql"
 
133
    fi
 
134
  else
 
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).])
 
138
  fi
 
139
else
 
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).])
 
142
fi
 
143
LIBS="$_SAVEDLIBS"
 
144
CPPFLAGS="$_SAVEDCPPFLAGS"
 
145
 
 
146
dnl Check for radius libraries
 
147
_SAVEDLIBS="$LIBS"
 
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"
 
152
  AC_SUBST(RADIUSLIBS)
 
153
else
 
154
  AC_MSG_WARN([Skipping radius plugin])
 
155
  AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
 
156
fi
 
157
LIBS="$_SAVEDLIBS"
 
158
 
 
159
dnl Check for LDAP libraries
 
160
_SAVEDLIBS="$LIBS"
 
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"
 
165
  AC_SUBST(LDAPLIBS)
 
166
  AC_SUBST(LDAPINCLUDE)
 
167
  EXTRAS="$EXTRAS check_ldap"
 
168
else
 
169
  AC_MSG_WARN([Skipping LDAP plugin])
 
170
  AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
 
171
fi
 
172
LIBS="$_SAVEDLIBS"
 
173
 
 
174
 
 
175
dnl Check for mysql libraries
 
176
_SAVEDLIBS="$LIBS"
 
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)
 
196
fi
 
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)
 
202
    AC_SUBST(MYSQLLIBS)
 
203
    AC_SUBST(check_mysql_LDFLAGS)
 
204
  else
 
205
    AC_MSG_WARN([Skipping mysql plugin])
 
206
    AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
 
207
  fi
 
208
else
 
209
  AC_MSG_WARN([Skipping mysql plugin])
 
210
  AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
 
211
fi
 
212
CPPFLAGS="$_SAVEDCPPFLAGS"
 
213
LIBS="$_SAVEDLIBS"
 
214
 
 
215
dnl Check for OpenSSL location
 
216
AC_PATH_PROG(OPENSSL,openssl)
 
217
if test "$OPENSSL" = "/usr/bin/openssl"; then
 
218
  OPENSSL=/usr
 
219
elif test "$OPENSSL" = "/usr/sbin/openssl"; then
 
220
  OPENSSL=/usr
 
221
elif test "$OPENSSL" = "/opt/bin/openssl"; then
 
222
  OPENSSL=/opt
 
223
elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
 
224
  OPENSSL=/opt/openssl
 
225
elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
 
226
  OPENSSL=/usr/slocal
 
227
elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
 
228
  OPENSSL=/usr/local
 
229
elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
 
230
  OPENSSL=/usr/local/ssl
 
231
fi
 
232
AC_ARG_WITH(openssl,--with-openssl=<dir> sets path to openssl installation,[OPENSSL=$withval])
 
233
 
 
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"
 
241
                   FOUNDINCLUDE=yes,
 
242
                   FOUNDINCLUDE=no)
 
243
fi
 
244
AC_SUBST(KRBINCLUDE)
 
245
if test "$FOUNDINCLUDE" = "no"; then
 
246
  CPPFLAGS="$_SAVEDCPPFLAGS"
 
247
fi
 
248
 
 
249
dnl Check for OpenSSL header files
 
250
unset FOUNDINCLUDE
 
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"
 
255
                 FOUNDINCLUDE=yes,
 
256
                 FOUNDINCLUDE=no)
 
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"
 
260
                   FOUNDINCLUDE=yes,
 
261
                   FOUNDINCLUDE=no)
 
262
fi
 
263
AC_SUBST(SSLINCLUDE)
 
264
if test "$FOUNDINCLUDE" = "no"; then
 
265
  CPPFLAGS="$_SAVEDCPPFLAGS"
 
266
fi
 
267
 
 
268
dnl Check for crypto lib
 
269
_SAVEDLIBS="$LIBS"
 
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)
 
274
fi
 
275
LIBS="$_SAVEDLIBS"
 
276
 
 
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)
 
283
      AC_SUBST(SSLLIBS)
 
284
      AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
 
285
    fi
 
286
  fi
 
287
fi
 
288
CPPFLAGS="$_SAVEDCPPFLAGS"
 
289
 
 
290
dnl
 
291
dnl Checks for header files.
 
292
dnl
 
293
 
 
294
AC_HEADER_STDC
 
295
AC_HEADER_TIME
 
296
AC_HEADER_SYS_WAIT
 
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)
 
299
 
 
300
dnl Checks for typedefs, structures, and compiler characteristics.
 
301
AC_C_CONST
 
302
AC_STRUCT_TM
 
303
AC_TYPE_PID_T
 
304
AC_TYPE_SIZE_T
 
305
AC_TYPE_SIGNAL
 
306
 
 
307
AC_CHECK_SIZEOF(int,cross)
 
308
AC_CHECK_SIZEOF(long,cross)
 
309
AC_CHECK_SIZEOF(short,cross)
 
310
 
 
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])
 
317
fi
 
318
 
 
319
#
 
320
# Check if the compiler supports the LL prefix on long long integers.
 
321
# AIX needs this.
 
322
 
 
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])
 
328
fi
 
329
 
 
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])
 
336
fi
 
337
 
 
338
AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
 
339
AC_TRY_RUN([
 
340
#include <sys/types.h>
 
341
#include <stdarg.h>
 
342
void foo(const char *format, ...) { 
 
343
       va_list ap;
 
344
       int len;
 
345
       char buf[5];
 
346
 
 
347
       va_start(ap, format);
 
348
       len = vsnprintf(buf, 0, format, ap);
 
349
       va_end(ap);
 
350
       if (len != 5) exit(1);
 
351
 
 
352
       va_start(ap, format);
 
353
       len = vsnprintf(0, 0, format, ap);
 
354
       va_end(ap);
 
355
       if (len != 5) exit(1);
 
356
 
 
357
       if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
 
358
 
 
359
       exit(0);
 
360
}
 
361
main() { foo("hello"); }
 
362
],
 
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])
 
366
fi
 
367
 
 
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>])
 
372
 
 
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")
 
385
 
 
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"
 
388
fi
 
389
 
 
390
AC_TRY_COMPILE([#include <sys/time.h>],
 
391
               [struct timeval *tv;
 
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>],
 
395
                              [struct timeval *tv;
 
396
                               struct timezone *tz;
 
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])))
 
400
 
 
401
dnl Checks for library functions.
 
402
AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul)
 
403
 
 
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])
 
412
                AC_MSG_RESULT(int)])
 
413
 
 
414
if test -f "/proc/loadavg"
 
415
then
 
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])
 
418
fi
 
419
 
 
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
 
424
then
 
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
 
438
then
 
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'"
 
450
dnl FreeBSD
 
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
 
452
then
 
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
 
466
then
 
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'"
 
478
dnl SunOS 4.1.3:
 
479
dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
 
480
dnl
 
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
 
482
then
 
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]
 
497
dnl
 
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
 
499
then
 
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
 
513
then
 
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
 
527
then
 
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
 
540
then
 
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
 
553
then
 
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
 
566
then
 
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
 
579
then
 
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
 
593
then
 
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'"
 
605
dnl IRIX 53
 
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
 
607
then
 
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"
 
617
dnl IRIX 63
 
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
 
619
then
 
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"
 
629
dnl    
 
630
dnl AIX 4.1:
 
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
 
634
then
 
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"
 
644
dnl AIX?
 
645
elif ps glaxen 2>/dev/null | egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
 
646
then
 
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"
 
656
dnl MacOSX / Darwin
 
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
 
661
then
 
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'"
 
673
dnl UnixWare 
 
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
 
675
then
 
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
 
681
        then
 
682
                AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
 
683
                AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %d",[])
 
684
        fi
 
685
        echo "      ps syntax... $PATH_TO_PS -Al"
 
686
else
 
687
        echo "** Unable to find usable ps syntax"
 
688
fi
 
689
 
 
690
AC_ARG_WITH(df_command,--with-df-command=<syntax> sets syntax for df,DF_COMMAND=$withval)
 
691
if test -n "$DF_COMMAND"
 
692
then
 
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
 
695
then
 
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
 
700
then
 
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
 
705
then
 
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
 
710
then
 
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])
 
714
dnl Tru64 support
 
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
 
716
then
 
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])
 
720
else
 
721
        AC_MSG_WARN("unable to find usable df syntax")
 
722
fi
 
723
 
 
724
AC_PATH_PROG(PATH_TO_PING,ping)
 
725
 
 
726
AC_ARG_WITH(ping_command,--with-ping-command=<syntax> sets syntax for ping,PING_COMMAND=$withval)
 
727
if test -n "$PING_COMMAND"
 
728
then
 
729
        echo "      ping syntax... (command-line) $PING_COMMAND"
 
730
        if test -n "$PING_PACKETS_FIRST"
 
731
        then
 
732
                AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
 
733
        fi
 
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
 
735
then
 
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
 
740
then
 
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
 
745
then
 
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
 
750
then
 
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
 
754
then
 
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
 
758
then
 
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
 
762
then
 
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
 
766
then
 
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
 
771
then
 
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>"
 
775
else
 
776
        AC_MSG_WARN("unable to find usable ping syntax")
 
777
fi
 
778
AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND",[path and args for ping command])
 
779
 
 
780
AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
 
781
if test -n "$ac_cv_path_PATH_TO_NSLOOKUP"
 
782
then
 
783
        if nslookup -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
 
784
        then
 
785
                AC_MSG_RESULT([      nslookup syntax... $PATH_TO_NSLOOKUP])
 
786
                AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP",[path and args for nslookup])
 
787
        else
 
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])
 
790
        fi
 
791
        EXTRAS="$EXTRAS check_dns"
 
792
else
 
793
        AC_MSG_WARN([nslookup command not found])
 
794
fi
 
795
 
 
796
AC_PATH_PROG(PATH_TO_HOST,host)
 
797
if test -n "$ac_cv_path_PATH_TO_HOST"
 
798
then
 
799
        EXTRAS="$EXTRAS check_dns"
 
800
fi
 
801
 
 
802
AC_PATH_PROG(PATH_TO_UPTIME,uptime)
 
803
AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
 
804
 
 
805
AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
 
806
AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
 
807
 
 
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")
 
812
then
 
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])
 
815
else
 
816
        echo "** Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization"
 
817
fi
 
818
 
 
819
AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
 
820
if test -x "$PATH_TO_LMSTAT"
 
821
then
 
822
        AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
 
823
else
 
824
        echo "** Get lmstat from Globetrotter Software to monitor flexlm licenses"
 
825
fi
 
826
 
 
827
AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
 
828
if test -x "$PATH_TO_SMBCLIENT"
 
829
then
 
830
        AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
 
831
else
 
832
        echo "** Get smbclient from Samba.org to monitor SMB shares"
 
833
fi
 
834
 
 
835
 
 
836
AC_PATH_PROG(PATH_TO_WHO,who)
 
837
if [who -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
 
838
then
 
839
        AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO -q",[path and arguments for invoking 'who'])
 
840
else
 
841
        AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO",[path and arguments for invoking 'who'])
 
842
fi
 
843
 
 
844
AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
 
845
if test -x "$PATH_TO_SNMPGET"
 
846
then
 
847
        AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
 
848
        EXTRAS="$EXTRAS check_hpjd check_snmp"
 
849
else
 
850
        echo "** Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins"
 
851
fi
 
852
 
 
853
AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
 
854
if test -x "$PATH_TO_SNMPGETNEXT"
 
855
then
 
856
        AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
 
857
fi
 
858
 
 
859
if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
 
860
then
 
861
        echo "Found Net::SNMP perl module"
 
862
else
 
863
        echo "** Tried $PERL - install Net::SNMP perl module if you want to"
 
864
        echo "        use the perl snmp plugins"
 
865
fi
 
866
 
 
867
AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
 
868
AC_PATH_PROG(PATH_TO_QSTAT,qstat)
 
869
if test -x "$PATH_TO_QUAKESTAT"
 
870
then
 
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"
 
874
then
 
875
        AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QSTAT",[path to qstat/quakestat])
 
876
        EXTRAS="$EXTRAS check_game"
 
877
else
 
878
        echo "** Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin"
 
879
fi
 
880
 
 
881
AC_PATH_PROG(PATH_TO_FPING,fping)
 
882
if test -x "$PATH_TO_FPING"
 
883
then
 
884
        AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
 
885
        EXTRAS="$EXTRAS check_fping"
 
886
else
 
887
        echo "** Get fping from http://www.fping.com in order to make check_fping plugin"
 
888
fi
 
889
 
 
890
AC_PATH_PROG(PATH_TO_SSH,ssh)
 
891
if test -x "$PATH_TO_SSH"
 
892
then
 
893
        AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
 
894
        EXTRAS="$EXTRAS check_by_ssh"
 
895
else
 
896
        echo "** Get ssh in order to make check_by_ssh plugin"
 
897
fi
 
898
 
 
899
 
 
900
AC_PATH_PROG(PATH_TO_MAILQ,mailq)
 
901
if test -x "$PATH_TO_MAILQ"
 
902
then
 
903
        AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
 
904
else
 
905
        echo "** Could not find mailq or eqivalent"
 
906
fi
 
907
 
 
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
 
910
dnl available.
 
911
 
 
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"
 
915
 
 
916
if [cat /proc/meminfo > /dev/null 2>&1]
 
917
then
 
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]
 
923
then
 
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]
 
929
        then
 
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]
 
933
        then
 
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]
 
937
        then
 
938
                AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
 
939
                echo "      using Unixware format"
 
940
        fi
 
941
        EXTRAS="$EXTRAS check_swap"
 
942
elif [swapinfo -k 2>&1 | egrep -i "^Device" >/dev/null]
 
943
then
 
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]
 
949
        then
 
950
                AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output])
 
951
                echo "      using FreeBSD format"
 
952
        fi
 
953
        EXTRAS="$EXTRAS check_swap"
 
954
elif [swapinfo -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
 
955
then
 
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"
 
961
fi
 
962
 
 
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"
 
967
fi
 
968
 
 
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"
 
973
fi
 
974
 
 
975
AC_TRY_COMPILE([#ifdef __STDC__
 
976
#include <stdio.h>
 
977
#include <stdlib.h>
 
978
#include <stdarg.h>
 
979
#else
 
980
#include <sys/types.h>
 
981
#include <stdio.h>
 
982
#include <varargs.h>
 
983
#endif],
 
984
[va_list args;],
 
985
[AC_MSG_RESULT(yes)],
 
986
[NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
 
987
 
 
988
AC_SUBST(EXTRAS)
 
989
AC_SUBST(DEPLIBS)
 
990
 
 
991
AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version])
 
992
 
 
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)