Code

Minor fix to --with-ipv6 behavior
[nagiosplug.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION ($Revision$)
3 AC_INIT(Helper.pm)
4 VER=1.3.99
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 AC_CANONICAL_HOST
16 AC_PREFIX_DEFAULT(/usr/local/nagios)
18 dnl Figure out how to invoke "install" and what install options to use.
20 AC_PROG_INSTALL
21 AC_SUBST(INSTALL)
23 AC_PROG_CC
24 AC_PROG_CPP
25 AC_PROG_GCC_TRADITIONAL
26 AC_PROG_RANLIB
27 AC_AIX
28 AC_MINIX
30 AC_PROG_MAKE_SET
31 AC_PROG_AWK
33 # Check for SunOS statfs brokenness wrt partitions 2GB and larger.
34 # If <sys/vfs.h> exists and struct statfs has a member named f_spare,
35 # enable the work-around code in fsusage.c.
36 AC_MSG_CHECKING([for statfs that truncates block counts])
37 AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
38 [AC_TRY_COMPILE([
39 #if !defined(sun) && !defined(__sun)
40 choke -- this is a workaround for a Sun-specific problem
41 #endif
42 #include <sys/types.h>
43 #include <sys/vfs.h>],
44 [struct statfs t; long c = *(t.f_spare);],
45 fu_cv_sys_truncating_statfs=yes
46 AC_MSG_RESULT(yes),
47 fu_cv_sys_truncating_statfs=no
48 AC_MSG_RESULT(no),
49 )])
50 if test $fu_cv_sys_truncating_statfs = yes; then
51   AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
52 [  Define if the block counts reported by statfs may be truncated to 2GB
53    and the correct values may be stored in the f_spare array.
54    (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
55    SunOS 4.1.1 seems not to be affected.)])
56 fi
58 saved_srcdir=$srcdir
59 srcdir=$srcdir/lib
60 test -f $srcdir/getloadavg.c \
61   || AC_MSG_ERROR([getloadavg.c is not in $srcdir])
62 AC_FUNC_GETLOADAVG
63 srcdir=$saved_srcdir
65 ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
66 dnl AM_WITH_REGEX
67 AC_PROG_RANLIB
69 AC_PATH_PROG(ACLOCAL,aclocal)
70 AC_PATH_PROG(AUTOMAKE,automake)
71 AC_PATH_PROG(AUTOCONF,autoconf)
72 AC_PATH_PROG(AUTOHEADER,autoheader)
74 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
75 AC_SUBST(PLUGIN_TEST)dnl
77 SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
78 AC_SUBST(SCRIPT_TEST)dnl
80 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"
81 AC_SUBST(WARRANTY)
83 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"
84 AC_SUBST(SUPPORT)
86 dnl CGIURL has changed for Nagios with 1.0 beta
87 AC_ARG_WITH(cgiurl,
88         ACX_HELP_STRING([--with-cgiurl=DIR],
89                 [sets URL for cgi programs]),
90         cgiurl=$withval,
91         cgiurl=/nagios/cgi-bin)
92 CGIURL="$cgiurl"
93 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
95 AC_ARG_WITH(nagios_user,
96         ACX_HELP_STRING([--with-nagios-user=USER],
97                 [set user name to run nagios]),
98         nagios_usr=$withval,
99         nagios_usr=nagios)
100 AC_ARG_WITH(nagios_group,
101         ACX_HELP_STRING([--with-nagios-group=GROUP],
102                 [set group name to run nagios]),
103         nagios_grp=$withval,
104         nagios_grp=nagios)
105 AC_SUBST(nagios_usr)
106 AC_SUBST(nagios_grp)
107 INSTALL_OPTS="-o $nagios_usr -g $nagios_grp"
108 AC_SUBST(INSTALL_OPTS)
110 AC_ARG_WITH(trusted_path,
111         ACX_HELP_STRING([--with-trusted-path=PATH],
112                 [sets trusted path for executables called by scripts (default=/bin:/sbin:/usr/bin:/usr/sbin)]),
113         trusted_path=$withval,
114         trusted_path=/bin:/sbin:/usr/bin:/usr/sbin)
115 AC_SUBST(trusted_path)
117 EXTRAS=
118 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
120 LDFLAGS="$LDFLAGS -L."
122 ac_cv_uname_m=`uname -m`
123 ac_cv_uname_s=`uname -s`
124 ac_cv_uname_r=`uname -r`
125 ac_cv_uname_v=`uname -v`
127 dnl Checks for programs.
128 AC_PATH_PROG(PYTHON,python)
129 AC_PATH_PROG(PERL,perl)
130 AC_PATH_PROG(SH,sh)
132 AC_PATH_PROG(HOSTNAME,hostname)
133 AC_PATH_PROG(BASENAME,basename)
135 dnl
136 dnl Check for miscellaneous stuff
137 dnl 
139 case $host_vender-$host_os in
140 sun*)
141         AC_DEFINE(__EXTENSIONS__,1,[Sun's netdb.h needs this for getaddrinfo])
142         ;;
143 osf*)
144         AC_DEFINE(_OSF_SOURCE,1,[OSF needs this for getaddrinfo])
145         ;;
146 esac
148 dnl
149 dnl Checks for libraries.
150 dnl
152 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
153 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
154 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
155 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
156 AC_SUBST(SOCKETLIBS)
158 dnl Check for PostgreSQL libraries
159 _SAVEDLIBS="$LIBS"
160 _SAVEDCPPFLAGS="$CPPFLAGS"
161 AC_ARG_WITH(pgsql,
162         ACX_HELP_STRING([--with-pgsql=DIR],
163                 [sets path to pgsql installation]),
164         PGSQL=$withval,)
165 AC_CHECK_LIB(crypt,main)
166 if test "$ac_cv_lib_crypt_main" = "yes"; then
167   if test -n "$PGSQL"; then
168     LDFLAGS="$LDFLAGS -L$PGSQL/lib"
169     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
170   fi
171   AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
172   if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
173     AC_CHECK_HEADERS(pgsql/libpq-fe.h)
174     AC_CHECK_HEADERS(postgresql/libpq-fe.h)
175     AC_CHECK_HEADERS(libpq-fe.h)
176     if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
177       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
178       PGINCLUDE="-I$PGSQL/include"
179     elif test  "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
180       PGLIBS="-lpq -lcrypt"
181       PGINCLUDE="-I/usr/include/pgsql"
182     elif test  "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
183       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
184       PGINCLUDE="-I/usr/include/postgresql"
185     elif test  "$ac_cv_header_libpq_fe_h" = "yes"; then
186       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
187       PGINCLUDE="-I$PGSQL/include"
188     fi
189     if test -z "$PGINCLUDE"; then
190       AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
191       AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
192     else
193       AC_SUBST(PGLIBS)
194       AC_SUBST(PGINCLUDE)
195       EXTRAS="$EXTRAS check_pgsql"
196     fi
197   else
198     AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
199     AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
200     AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
201   fi
202 else
203   AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
204   AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
205 fi
206 LIBS="$_SAVEDLIBS"
207 CPPFLAGS="$_SAVEDCPPFLAGS"
209 dnl Check for radius libraries
210 _SAVEDLIBS="$LIBS"
211 AC_CHECK_LIB(radiusclient,rc_read_config)
212 if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
213   EXTRAS="$EXTRAS check_radius"
214         RADIUSLIBS="-lradiusclient"
215   AC_SUBST(RADIUSLIBS)
216 else
217   AC_MSG_WARN([Skipping radius plugin])
218   AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
219 fi
220 LIBS="$_SAVEDLIBS"
222 dnl Check for LDAP libraries
223 _SAVEDLIBS="$LIBS"
224 AC_CHECK_LIB(ldap,main,,,-llber)
225 if test "$ac_cv_lib_ldap_main" = "yes"; then
226   LDAPLIBS="-lldap -llber"\
227   LDAPINCLUDE="-I/usr/include/ldap"
228   AC_SUBST(LDAPLIBS)
229   AC_SUBST(LDAPINCLUDE)
230   EXTRAS="$EXTRAS check_ldap"
231 else
232   AC_MSG_WARN([Skipping LDAP plugin])
233   AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
234 fi
235 LIBS="$_SAVEDLIBS"
238 dnl Check for mysql libraries
239 _SAVEDLIBS="$LIBS"
240 _SAVEDCPPFLAGS="$CPPFLAGS"
241 AC_ARG_WITH(mysql,
242         ACX_HELP_STRING([--with-mysql=DIR],
243                 [sets path to mysql installation (assumes lib/mysql and include subdirs]),
244         MYSQL=$withval,)
245 if test -n "$MYSQL"; then
246   MYSQLLIBDIR=$MYSQL/lib/mysql
247   CPPFLAGS="-I$MYSQL/include"
248   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
249   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
250 elif test -f /usr/lib/libmysqlclient.so; then
251   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
252   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
253 elif test -f /usr/lib/libmysqlclient.a; then
254   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
255   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
256 elif test -f /usr/lib/mysql/libmysqlclient.so; then
257   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
258   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
259 elif test -f /usr/lib/mysql/libmysqlclient.a; then
260   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
261   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
262 fi
263 if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
264   AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
265   if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
266     EXTRAS="$EXTRAS check_mysql"
267     AC_SUBST(MYSQLINCLUDE)
268     AC_SUBST(MYSQLLIBS)
269     AC_SUBST(check_mysql_LDFLAGS)
270   else
271     AC_MSG_WARN([Skipping mysql plugin])
272     AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
273   fi
274 else
275   AC_MSG_WARN([Skipping mysql plugin])
276   AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
277 fi
278 CPPFLAGS="$_SAVEDCPPFLAGS"
279 LIBS="$_SAVEDLIBS"
281 dnl Check for OpenSSL location
282 AC_PATH_PROG(OPENSSL,openssl)
283 if test "$OPENSSL" = "/usr/bin/openssl"; then
284   OPENSSL=/usr
285 elif test "$OPENSSL" = "/usr/sbin/openssl"; then
286   OPENSSL=/usr
287 elif test "$OPENSSL" = "/opt/bin/openssl"; then
288   OPENSSL=/opt
289 elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
290   OPENSSL=/opt/openssl
291 elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
292   OPENSSL=/usr/slocal
293 elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
294   OPENSSL=/usr/local
295 elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
296   OPENSSL=/usr/local/ssl
297 fi
298 AC_ARG_WITH(openssl,
299         ACX_HELP_STRING([--with-openssl=DIR],
300                 [sets path to openssl installation]),
301         OPENSSL=$withval,)
303 AC_ARG_WITH([ipv6],
304               ACX_HELP_STRING([--with-ipv6],
305                              [enable IPv6 support (default=no)]),
306               ,
307               ac_cv_sys_use_ipv6=no)
309 dnl Check for AF_INET6 support
310 AC_CACHE_CHECK([for IPv6 support], ac_cv_sys_use_ipv6, [
311         AC_TRY_COMPILE([#include <netinet/in.h>],
312                         [struct sockaddr_in6 sin6;
313                         void *p;
315                         sin6.sin6_family = AF_INET6;
316                         sin6.sin6_port = 587;
317                         p = &sin6.sin6_addr;],
318                         [ac_cv_sys_use_ipv6=yes], 
319                         [ac_cv_sys_use_ipv6=no])
320         ])
322 if test x"$ac_cv_sys_use_ipv6" != xno ; then
323         AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
324 fi
326 dnl #########################################################################
327 dnl Check if Posix getaddrinfo() is available.  It is also possible to use
328 dnl the version from the lwres library distributed with BIND.
329 dnl #########################################################################
330 AC_ARG_ENABLE([emulate-getaddrinfo],
331               ACX_HELP_STRING([--enable-emulate-getaddrinfo],
332                              [enable getaddrinfo emulation (default=no)]),
333               ,
334               enable_emulate_getaddrinfo=no)
335 AC_ARG_WITH(lwres,
336             ACX_HELP_STRING([--with-lwres=DIR],
337                            [use lwres library for getaddrinfo (default=no)]),
338             ,
339             with_lwres=no)
341 dnl ## enable force to test getaddrinfo.c
342 if test x$enable_emulate_getaddrinfo = xforce ; then
343         enable_emulate_getaddrinfo=yes
344         have_getaddrinfo=no
345 else
347 have_getaddrinfo=no
348 if test x$with_lwres != xno ; then
349         if test "$with_lwres" != yes ; then
350                    CPPFLAGS="-I${with_lwres}/include $CPPFLAGS"
351                    LDFLAGS="-L${with_lwres}/lib $LDFLAGS"
352         fi
353         AC_CHECK_HEADERS(lwres/netdb.h, ,
354                         [AC_MSG_ERROR([cannot find <lwres/netdb.h>])])
355         AC_CHECK_LIB(lwres, lwres_getaddrinfo, ,
356                      [AC_MSG_ERROR([cannot find the lwres library])],
357                      -lnsl -lpthread)
358         have_getaddrinfo=yes
359 fi
361 if test x$have_getaddrinfo != xyes ; then
362         AC_SEARCH_LIBS(getaddrinfo, socket resolv bind nsl c_r cr, have_getaddrinfo=yes)
363 fi
365 dnl # Special nonsense for systems that actually have getaddrinfo but
366 dnl # redefine the name to something else, e.g. OSF
367 if test x$have_getaddrinfo != xyes ; then
368         AC_MSG_CHECKING(if getaddrinfo is redefined in netdb.h)
369         AC_TRY_LINK([
370 #               include <netdb.h>
371         ], [
372                 struct addrinfo hints, *res;
373                 int err;
375                 err = getaddrinfo ("host", "service", &hints, &res);
376         ], [
377                 have_getaddrinfo=yes
378                 AC_MSG_RESULT(yes)
379         ], [AC_MSG_RESULT(no)])
380 fi
382 fi
384 if test x$have_getaddrinfo != xno ; then
385         if test x$enable_emulate_getaddrinfo != xno ; then
386                 AC_MSG_ERROR([getaddrinfo found but emulate-getaddrinfo was enabled])
387         fi
388         AC_DEFINE(HAVE_GETADDRINFO, 1,
389                   [Does system provide RFC 2553/Posix getaddrinfo?])
390 else
391         if test x$enable_emulate_getaddrinfo != xyes ; then
392                 AC_MSG_ERROR([getaddrinfo not found: try --with-lwres or --enable-emulate-getaddrinfo])
393         fi
394         LIBOBJS="$LIBOBJS getaddrinfo.o"
395 fi
397 if test x"$enable_emulate_getaddrinfo" != xno ; then
398     have_resolver=no
400   dnl  Try for getipnodebyname
401     AC_SEARCH_LIBS(getipnodebyname, resolv bind nsl c_r cr, have_resolver=yes)
402     if test x"$have_resolver" != xno ; then
403          AC_DEFINE(HAVE_GETIPNODEBYNAME, 1,
404                    [Set when getipnodebyname is available])
405     fi
407   dnl  Try for gethostbyname_r
408     if test x"$have_resolver" = xno ; then
409         AC_SEARCH_LIBS(gethostbyname_r, resolv bind nsl c_r cr,
410                        [have_resolver=yes
411                         ACX_WHICH_GETHOSTBYNAME_R])
412     fi
414   dnl  Try for gethostbyname
415     if test x"$have_resolver" = xno ; then
416         if test x"$enable_pthreads" != xno ; then
417             AC_MSG_WARN([using threads but cannot find gethostbyname_r or getipnodebyname])
418         fi
419         AC_SEARCH_LIBS(gethostbyname, resolv bind nsl, ,
420                        [AC_MSG_ERROR([cannot find gethostbyname])])
421     fi
422     LIBOBJS="$LIBOBJS gethostbyname.o"
424 fi
426 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
427 if test "$FOUNDINCLUDE" = "no"; then
428   _SAVEDCPPFLAGS="$CPPFLAGS"
429   CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
430   unset ac_cv_header_krb5_h
431   AC_CHECK_HEADERS(krb5.h,
432                    KRB5INCLUDE="-I/usr/kerberos/include"
433                    FOUNDINCLUDE=yes,
434                    FOUNDINCLUDE=no)
435 fi
436 AC_SUBST(KRBINCLUDE)
437 if test "$FOUNDINCLUDE" = "no"; then
438   CPPFLAGS="$_SAVEDCPPFLAGS"
439 fi
441 dnl Check for OpenSSL header files
442 unset FOUNDINCLUDE
443 _SAVEDCPPFLAGS="$CPPFLAGS"
444 CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
445 AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
446                  SSLINCLUDE="-I$OPENSSL/include"
447                  FOUNDINCLUDE=yes,
448                  FOUNDINCLUDE=no)
449 if test "$FOUNDINCLUDE" = "no"; then
450   AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
451                    SSLINCLUDE="-I$OPENSSL/include"
452                    FOUNDINCLUDE=yes,
453                    FOUNDINCLUDE=no)
454 fi
455 AC_SUBST(SSLINCLUDE)
456 if test "$FOUNDINCLUDE" = "no"; then
457   CPPFLAGS="$_SAVEDCPPFLAGS"
458 fi
460 dnl Check for crypto lib
461 _SAVEDLIBS="$LIBS"
462 AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
463 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
464   dnl Check for SSL lib
465   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)
466 fi
467 LIBS="$_SAVEDLIBS"
469 dnl test headers and libs to decide whether check_http should use SSL
470 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
471   if test "$ac_cv_lib_ssl_main" = "yes"; then
472     if test "$FOUNDINCLUDE" = "yes"; then
473       AC_SUBST(SSLLIBS)
474       AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
475     fi
476   fi
477 fi
478 CPPFLAGS="$_SAVEDCPPFLAGS"
480 dnl
481 dnl Checks for header files.
482 dnl
484 AC_HEADER_STDC
485 AC_HEADER_TIME
486 AC_HEADER_SYS_WAIT
487 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)
488 AC_CHECK_HEADERS(stdarg.h sys/unistd.h unistd.h ctype.h stdlib.h)
490 dnl Linux
491 AC_CHECK_HEADERS(sys/vfs.h,
492                  [AC_TRY_COMPILE([#include <sys/vfs.h>],
493                                  [struct statfs buf; long foo; statfs ("/", &buf); foo = buf.f_namelen;],
494                                  [AC_DEFINE(HAVE_STRUCT_STATFS,1,[Define if statfs struct can be found])])])
496 dnl FreeBSD
497 AC_CHECK_HEADERS(sys/param.h sys/mount.h,
498                  [AC_TRY_COMPILE([#include <sys/param.h>
499 #include <sys/mount.h>],
500                                  [struct statfs buf; int foo; statfs ("/", &buf); foo = buf.f_flags;],
501                                  [AC_DEFINE(HAVE_STRUCT_STATFS,1,[Define if statfs struct can be found])])])
503 dnl Checks for typedefs, structures, and compiler characteristics.
504 AC_C_CONST
505 AC_STRUCT_TM
506 AC_TYPE_PID_T
507 AC_TYPE_SIZE_T
508 AC_TYPE_SIGNAL
510 AC_CHECK_SIZEOF(int,cross)
511 AC_CHECK_SIZEOF(long,cross)
512 AC_CHECK_SIZEOF(short,cross)
514 AC_CACHE_CHECK([for long long],ac_cv_have_longlong,[
515 AC_TRY_RUN([#include <stdio.h>
516 main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
517 ac_cv_have_longlong=yes,ac_cv_have_longlong=no,ac_cv_have_longlong=cross)])
518 if test x"$ac_cv_have_longlong" = x"yes"; then
519     AC_DEFINE(HAVE_LONGLONG,1,[Define if system has long long type])
520 fi
523 # Check if the compiler supports the LL prefix on long long integers.
524 # AIX needs this.
526 AC_CACHE_CHECK([for LL suffix on long long integers],ac_cv_compiler_supports_ll, [
527     AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
528         ac_cv_compiler_supports_ll=yes,ac_cv_compiler_supports_ll=no)])
529 if test x"$ac_cv_compiler_supports_ll" = x"yes"; then
530    AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Define if compiler support long long])
531 fi
533 AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE_VA_COPY,[
534 AC_TRY_LINK([#include <stdarg.h>
535 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
536 ac_cv_HAVE_VA_COPY=yes,ac_cv_HAVE_VA_COPY=no)])
537 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
538     AC_DEFINE(HAVE_VA_COPY,1,[Define if system has va_copy])
539 fi
541 AC_CHECK_FUNCS(vsnprintf snprintf asprintf vasprintf)
542 AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
543 AC_TRY_RUN([
544 #include <sys/types.h>
545 #include <stdarg.h>
546 void foo(const char *format, ...) { 
547        va_list ap;
548        int len;
549        char buf[5];
551        va_start(ap, format);
552        len = vsnprintf(buf, 0, format, ap);
553        va_end(ap);
554        if (len != 5) exit(1);
556        va_start(ap, format);
557        len = vsnprintf(0, 0, format, ap);
558        va_end(ap);
559        if (len != 5) exit(1);
561        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
563        exit(0);
565 main() { foo("hello"); }
566 ],
567 ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
568 if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
569     AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
570 fi
572 AC_TRY_COMPILE([#include <sys/time.h>],
573                [struct timeval *tv;
574                 struct timezone *tz;],
575                AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])
576                AC_TRY_COMPILE([#include <sys/time.h>],
577                               [struct timeval *tv;
578                                struct timezone *tz;
579                                gettimeofday(tv, tz);],
580                               AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]),
581                               AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
583 dnl Checks for library functions.
584 AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul)
586 AC_MSG_CHECKING(return type of socket size)
587 AC_TRY_COMPILE([#include <stdlib.h>
588                 #include <sys/types.h>
589                 #include <sys/socket.h>],
590                [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
591                ac_cv_socket_size_type=["size_t"]
592                 AC_MSG_RESULT(size_t),
593                ac_cv_socket_size_type=["int"]
594                 AC_MSG_RESULT(int))
596 AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $ac_cv_socket_size_type ,
597         [Define type of socket size])
599 if test -f "/proc/loadavg"
600 then
601   AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
602   AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg",[Location of /proc/loadavg])
603 fi
605 dnl #### Process table test
607 AC_PATH_PROG(PATH_TO_PS,ps)
608 ac_cv_use_ps_vars=no
610 AC_MSG_CHECKING(for ps syntax)
611 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
612 if ps -weo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
613         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
614 then
615         ac_cv_use_ps_vars=yes
616         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
617         ac_cv_ps_raw_command="$PATH_TO_PS -weo 'stat user ppid args'"
618         ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid ppid comm args'"
619         ac_cv_ps_format="%s %d %d %s %n"
620         ac_cv_vsz_command="$PATH_TO_PS -weo 'vsz comm'"
621         ac_cv_vsz_format="%d %s"
622         ac_cv_rss_command="$PATH_TO_PS -weo 'rss comm'"
623         ac_cv_rss_format="%d %s"
624         EXTRAS="$EXTRAS check_nagios"
625         AC_MSG_RESULT([$ac_cv_ps_command])
627 dnl FreeBSD
628 elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | \
629         egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null
630 then
631         ac_cv_use_ps_vars=yes
632         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
633         ac_cv_ps_raw_command="$PATH_TO_PS waxo 'state uid ppid command'"
634         ac_cv_ps_command="$PATH_TO_PS waxco 'state uid ppid command command'"
635         ac_cv_ps_format="%s %d %d %s %n"
636         ac_cv_vsz_command="$PATH_TO_PS waxco 'vsz command'"
637         ac_cv_vsz_format="%d %s"
638         ac_cv_rss_command="$PATH_TO_PS waxco 'rss command'"
639         ac_cv_rss_format="%d %s"
640         EXTRAS="$EXTRAS check_nagios"
641         AC_MSG_RESULT([$ac_cv_ps_command])
643 dnl BSD-like mode in RH 6.1
644 elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | \
645         egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
646 then
647         ac_cv_use_ps_vars=yes
648         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
649         ac_cv_ps_raw_command="$PATH_TO_PS waxno 'state user ppid comm'"
650         ac_cv_ps_command="$PATH_TO_PS waxno 'state uid ppid comm args'"
651         ac_cv_ps_format="%s %d %d %s %n"
652         ac_cv_vsz_command="$PATH_TO_PS waxno 'vsz comm'"
653         ac_cv_vsz_format="%d %s"
654         ac_cv_rss_command="$PATH_TO_PS waxno 'rss comm'"
655         ac_cv_rss_format="%d %s"
656         EXTRAS="$EXTRAS check_nagios"
657         AC_MSG_RESULT([$ac_cv_ps_command])
659 dnl SunOS 4.1.3:
660 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
661 elif ps -laxnwww 2>/dev/null | \
662         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
663 then
664         ac_cv_use_ps_vars=yes
665         ac_cv_ps_raw_command="$PATH_TO_PS laxnwww"
666         ac_cv_ps_varlist="[&procuid,&procppid,procstat,&pos,procprog]"
667         ac_cv_ps_command="$PATH_TO_PS -laxnwww"
668         ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %*s %*s %*s %s %*s %*s %n%s"
669         ac_cv_vsz_command="$PATH_TO_PS laxnwww"
670         ac_cv_vsz_format="%*s %*s %*s %*s %*s %*s %*s %d"
671         ac_cv_rss_command="$PATH_TO_PS laxnwww"
672         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %*s %d"
673         EXTRAS="$EXTRAS check_nagios"
674         AC_MSG_RESULT([$ac_cv_ps_command])
676 dnl Debian Linux / procps v1.2.9:
677 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
678 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
679 dnl
680 elif ps laxnwww 2>/dev/null | \
681         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
682 then
683         ac_cv_use_ps_vars=yes
684         ac_cv_ps_raw_command="$PATH_TO_PS laxnwww"
685         ac_cv_ps_varlist="[&procuid,&procppid,procstat,&pos,procprog]"
686         ac_cv_ps_command="$PATH_TO_PS laxnwww"
687         ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s"
688         ac_cv_vsz_command="$PATH_TO_PS laxnwww"
689         ac_cv_vsz_format="%*s %*s %*s %*s %*s %*s %d"
690         ac_cv_rss_command="$PATH_TO_PS laxnwww"
691         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %d"
692         EXTRAS="$EXTRAS check_nagios"
693         AC_MSG_RESULT([$ac_cv_ps_command])
695 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
696 elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
697         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
698 then
699         ac_cv_use_ps_vars=yes
700         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
701         ac_cv_ps_raw_command="$PATH_TO_PS -axo 'stat user ppid args'"
702         ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid ppid comm args'"
703         ac_cv_ps_format="%s %d %d %s %n"
704         ac_cv_vsz_command="$PATH_TO_PS -axo 'vsz comm'"
705         ac_cv_vsz_format="%d %s"
706         ac_cv_rss_command="$PATH_TO_PS -axo 'rss comm'"
707         ac_cv_rss_format="%d %s"
708         EXTRAS="$EXTRAS check_nagios"
709         AC_MSG_RESULT([$ac_cv_ps_command])
711 dnl AIX 4.3.3 - needs verification. This works for Tru64 - needs %*[ +] in PS_FORMAT
712 elif ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
713         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
714 then
715         ac_cv_use_ps_vars=yes
716         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
717         ac_cv_ps_raw_command="$PATH_TO_PS -ao 'stat user ppid args'"
718         ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid ppid comm args'"
719         ac_cv_ps_format="[["%s%*[ +] %d %d %s %n"]]"
720         ac_cv_vsz_command="$PATH_TO_PS -ao 'vsz comm'"
721         ac_cv_vsz_format="%d %s"
722         ac_cv_rss_command="$PATH_TO_PS -ao 'rss comm'"
723         ac_cv_rss_format="%d %s"
724         EXTRAS="$EXTRAS check_nagios"
725         AC_MSG_RESULT([$ac_cv_ps_command])
727 elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | \
728         egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
729 then
730         ac_cv_use_ps_vars=yes
731         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
732         ac_cv_ps_raw_command="$PATH_TO_PS -eo 's user ppid args'"
733         ac_cv_ps_command="$PATH_TO_PS -eo 's uid ppid comm args'"
734         ac_cv_ps_format="%s %d %d %s %n"
735         ac_cv_vsz_command="$PATH_TO_PS -eo 'vsz comm'"
736         ac_cv_vsz_format="%d %s"
737         ac_cv_rss_command="$PATH_TO_PS -eo 'rss comm'"
738         ac_cv_rss_format="%d %s"
739         EXTRAS="$EXTRAS check_nagios"
740         AC_MSG_RESULT([$ac_cv_ps_command])
742 elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \
743         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
744 then
745         ac_cv_use_ps_vars=yes
746         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
747         ac_cv_ps_raw_command="$PATH_TO_PS -Ao 's user ppid args'"
748         ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid comm args'"
749         ac_cv_ps_format="%s %d %d %s %n"
750         ac_cv_vsz_command="$PATH_TO_PS -Ao 'vsz comm'"
751         ac_cv_vsz_format="%d %s"
752         ac_cv_rss_command="$PATH_TO_PS -Ao 'rss comm'"
753         ac_cv_rss_format="%d %s"
754         EXTRAS="$EXTRAS check_nagios"
755         AC_MSG_RESULT([$ac_cv_ps_command])
757 elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | \
758         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
759 then
760         ac_cv_use_ps_vars=yes
761         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
762         ac_cv_ps_raw_command="$PATH_TO_PS -Ao 'status user ppid args'"
763         ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid ppid comm args'"
764         ac_cv_ps_format="%s %d %d %s %n"
765         ac_cv_vsz_command="$PATH_TO_PS -Ao 'vsz comm'"
766         ac_cv_vsz_format="%d %s"
767         ac_cv_rss_command="$PATH_TO_PS -Ao 'rss comm'"
768         ac_cv_rss_format="%d %s"
769         EXTRAS="$EXTRAS check_nagios"
770         AC_MSG_RESULT([$ac_cv_ps_command])
772 elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | \
773         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
774 then
775         ac_cv_use_ps_vars=yes
776         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
777         ac_cv_ps_raw_command="$PATH_TO_PS -Ao 'state user ppid args'"
778         ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid ppid comm args'"
779         ac_cv_ps_format="%s %d %d %s %n"
780         ac_cv_vsz_command="$PATH_TO_PS -Ao 'vsz comm'"
781         ac_cv_vsz_format="%d %s"
782         ac_cv_rss_command="$PATH_TO_PS -Ao 'rss comm'"
783         ac_cv_rss_format="%d %s"
784         EXTRAS="$EXTRAS check_nagios"
785         AC_MSG_RESULT([$ac_cv_ps_command])
787 dnl wonder who takes state instead of stat
788 elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | \
789         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
790 then
791         ac_cv_use_ps_vars=yes
792         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
793         ac_cv_ps_raw_command="$PATH_TO_PS -ao 'state user ppid args'"
794         ac_cv_ps_command="$PATH_TO_PS -ao 'state uid ppid command args'"
795         ac_cv_ps_format="%s %d %d %s %n"
796         ac_cv_vsz_command="$PATH_TO_PS -ao 'vsz command'"
797         ac_cv_vsz_format="%d %s"
798         ac_cv_rss_command="$PATH_TO_PS -ao 'rss command'"
799         ac_cv_rss_format="%d %s"
800         EXTRAS="$EXTRAS check_nagios"
801         AC_MSG_RESULT([$ac_cv_ps_command])
803 dnl IRIX 53
804 elif ps -el 2>/dev/null | \
805         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
806 then
807         ac_cv_use_ps_vars=yes
808         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
809         ac_cv_ps_command="$PATH_TO_PS -el"
810         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
811         ac_cv_vsz_command="$PATH_TO_PS -el"
812         ac_cv_vsz_format="%*s %*s %*s %*s %d"
813         ac_cv_rss_command="$PATH_TO_PS -el"
814         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d"
815         AC_MSG_RESULT([$ac_cv_ps_command])
817 dnl IRIX 63
818 elif ps -el 2>/dev/null | \
819         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
820 then
821         ac_cv_use_ps_vars=yes
822         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
823         ac_cv_ps_command="$PATH_TO_PS -el"
824         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
825         ac_cv_vsz_command="$PATH_TO_PS -el"
826         ac_cv_vsz_format="%*s %*s %*s %*s %d"
827         ac_cv_rss_command="$PATH_TO_PS -el"
828         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d"
829         AC_MSG_RESULT([$ac_cv_ps_command])
831 dnl AIX 4.1:
832 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
833 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
834 elif ps -el 2>/dev/null | \
835         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
836 then
837         ac_cv_use_ps_vars=yes
838         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
839         ac_cv_ps_command="$PATH_TO_PS -el"
840         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
841         ac_cv_vsz_command="$PATH_TO_PS -el"
842         ac_cv_vsz_format="%*s %*s %*s %*s %*s %*s %*s %*s %*s %d"
843         ac_cv_rss_command="$PATH_TO_PS -el"
844         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %*s %*s %d"
845         AC_MSG_RESULT([$ac_cv_ps_command])
847 dnl AIX?
848 elif ps glaxen 2>/dev/null | \
849         egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
850 then
851         ac_cv_use_ps_vars=yes
852         ac_cv_ps_varlist="[&procuid,&procppid,procstat,&pos,procprog]"
853         ac_cv_ps_command="$PATH_TO_PS glaxen"
854         ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s"
855         ac_cv_vsz_command="$PATH_TO_PS glaxen"
856         ac_cv_vsz_format="%*s %*s %*s %*s %*s %*s %d"
857         ac_cv_rss_command="$PATH_TO_PS glaxen"
858         ac_cv_rss_format="%*s %*s %*s %*s %*s %*s %*s %d"
859         AC_MSG_RESULT([$ac_cv_ps_command])
861 dnl MacOSX / Darwin
862 dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
863 dnl STAT      VSZ    RSS   UID USER     PPID UCOMM            COMMAND
864 dnl Ss       1308    272     0 root        0 init             /sbin/init
865 elif ps waxo 'state vsz rss uid user ppid ucomm command' 2>/dev/null | \
866         egrep -i ["^STAT +VSZ +RSS +UID +USER +PPID +UCOMM +COMMAND"] >/dev/null
867 then
868         ac_cv_use_ps_vars=yes
869         ac_cv_ps_varlist="[procstat,&procuid,&procppid,procprog,&pos]"
870         ac_cv_ps_raw_command="$PATH_TO_PS waxo 'state uid ppid command'"
871         ac_cv_ps_command="$PATH_TO_PS waxo 'state uid ppid ucomm command'"
872         ac_cv_ps_format="%s %d %d %s %n"
873         ac_cv_vsz_command="$PATH_TO_PS waxco 'vsz command'"
874         ac_cv_vsz_format="%d %s"
875         ac_cv_rss_command="$PATH_TO_PS waxco 'rss command'"
876         ac_cv_rss_format="%d %s"
877         EXTRAS="$EXTRAS check_nagios"
878         AC_MSG_RESULT([$ac_cv_ps_command])
880 dnl UnixWare 
881 elif ps -Al 2>/dev/null | \
882         egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
883 then
884         ac_cv_use_ps_vars=yes
885         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
886         ac_cv_ps_command="$PATH_TO_PS -Al"
887         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
888         if ps -Ao 'vsz comm' 2>/dev/null | \
889                 egrep -i ["^ *VSZ +COMMAND"] >/dev/null
890         then
891                 ac_cv_vsz_command="$PATH_TO_PS -Ao 'vsz comm'"
892                 ac_cv_vsz_format="%*s %d"
893         fi
894         AC_MSG_RESULT([$ac_cv_ps_command])
896 else
897         AC_MSG_WARN([unable to find usable ps syntax])
898 fi
900 if test "x$ac_cv_use_ps_vars" != "xno"
901 then
902         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
903 fi
904 AC_DEFINE_UNQUOTED(PS_VARLIST,$ac_cv_ps_varlist,
905         [Variable list for sscanf of 'ps' output])
906 AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$ac_cv_ps_raw_command",
907         [Verbatim command to execute for ps in check_netsaint])
908 AC_DEFINE_UNQUOTED(PS_COMMAND,"$ac_cv_ps_command",
909         [Verbatim command to execute for ps in check_procs])
910 AC_DEFINE_UNQUOTED(PS_FORMAT,"$ac_cv_ps_format",
911         [Format string for scanning ps output in check_procs])
912 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$ac_cv_vsz_command",
913         [Verbatim command to execute for ps in check_vsz])
914 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"$ac_cv_vsz_format",
915         [Format string for scanning ps output in check_vsz])
916 AC_DEFINE_UNQUOTED(RSS_COMMAND,"$ac_cv_rss_command",
917         [Verbatim command to execute for ps in check_rss])
918 AC_DEFINE_UNQUOTED(RSS_FORMAT,"$ac_cv_rss_format",
919         [Format string for scanning ps output in check_rss])
921 AC_PATH_PROG(PATH_TO_DF,df)
922 AC_PATH_PROG(PATH_TO_BDF,bdf)
924 AC_ARG_WITH(df_command,
925         ACX_HELP_STRING([--with-df-command=SYNTAX],
926                 [sets syntax for df]),
927         ac_cv_df_command=$withval,)
929 AC_MSG_CHECKING(for df syntax)
930 if test -n "$ac_cv_df_command"
931 then
932         AC_MSG_RESULT([$ac_cv_df_command])
934 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
935 then
936         ac_cv_df_command="$PATH_TO_DF -Pk"
937         AC_MSG_RESULT([$ac_cv_df_command])
939 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
940 then
941         ac_cv_df_command="$PATH_TO_DF -k"
942         AC_MSG_RESULT([$ac_cv_df_command])
944 elif df 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
945 then
946         ac_cv_df_command="$PATH_TO_DF"
947         AC_MSG_RESULT([$ac_cv_df_command])
949 elif bdf 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
950 then
951         ac_cv_df_command="$PATH_TO_BDF"
952         AC_MSG_RESULT([$ac_cv_df_command])
954 else
955         AC_MSG_WARN([unable to find usable df syntax])
956 fi
958 AC_DEFINE_UNQUOTED(DF_COMMAND,"$ac_cv_df_command",[path and args for df command])
960 AC_PATH_PROG(PATH_TO_PING,ping)
961 AC_PATH_PROG(PATH_TO_PING6,ping6)
963 AC_ARG_WITH(ping_command,
964         ACX_HELP_STRING([--with-ping-command=SYNTAX],
965                 [sets syntax for ICMP ping]),
966         ac_cv_ping_command=$withval,)
968 AC_MSG_CHECKING(for ICMP ping syntax)
969 ac_cv_ping_packets_first=no
970 if test -n "$ac_cv_ping_command"
971 then
972         AC_MSG_RESULT([(command-line) $ac_cv_ping_command])
973         if test -n "$ac_cv_ping_packets_first"
974         then
975                 ac_cv_ping_packets_first=yes
976                 dnl AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$ac_cv_ping_command",
977                 dnl     [Define if packet count must precede host])
978         fi
980 elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
981         $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
982         egrep -i "^round-trip|^rtt" >/dev/null
983 then
984         ac_cv_ping_command="$PATH_TO_PING -n -U -c %d %s"
985         ac_cv_ping_packets_first=yes
986         AC_MSG_RESULT([$ac_cv_ping_command])
988 elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
989         egrep -i "^round-trip|^rtt" >/dev/null
990 then
991         ac_cv_ping_command="$PATH_TO_PING -n -U -c %d %s"
992         ac_cv_ping_packets_first=yes
993         AC_MSG_RESULT([$ac_cv_ping_command])
995 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
996         egrep -i "^round-trip|^rtt" >/dev/null
997 then
998         ac_cv_ping_command="$PATH_TO_PING -n -c %d %s"
999         ac_cv_ping_packets_first=yes
1000         AC_MSG_RESULT([$ac_cv_ping_command])
1002 elif $PATH_TO_PING -n 127.0.0.1 -c 1 2>/dev/null | \
1003         egrep -i "^round-trip|^rtt" >/dev/null
1004 then
1005         ac_cv_ping_command="$PATH_TO_PING -n %s -c %d"
1006         AC_MSG_RESULT([$ac_cv_ping_command])
1008 elif $PATH_TO_PING 127.0.0.1 -n 1 2>/dev/null | \
1009         egrep -i "^round-trip|^rtt" >/dev/null
1010 then
1011         ac_cv_ping_command="$PATH_TO_PING %s -n %d"
1012         AC_MSG_RESULT([$ac_cv_ping_command])
1014 elif $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
1015         egrep -i "^round-trip|^rtt" >/dev/null
1016 then
1017         ac_cv_ping_command="$PATH_TO_PING -n -s %s 56 %d"
1018         AC_MSG_RESULT([$ac_cv_ping_command])
1020 elif $PATH_TO_PING -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | \
1021         egrep -i "^round-trip|^rtt" >/dev/null
1022 then
1023         ac_cv_ping_command="$PATH_TO_PING -n -h %s -s 56 -c %d"
1024         AC_MSG_RESULT([$ac_cv_ping_command])
1026 elif $PATH_TO_PING -n -s 56 -c 1 127.0.0.1 2>/dev/null | \
1027         egrep -i "^round-trip|^rtt" >/dev/null
1028 then
1029         ac_cv_ping_command="$PATH_TO_PING -n -s 56 -c %d %s"
1030         ac_cv_ping_packets_first=yes
1031         AC_MSG_RESULT([$ac_cv_ping_command])
1033 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
1034         egrep -i "^round-trip|^rtt" >/dev/null
1035 then
1036         ac_cv_ping_command="$PATH_TO_PING -n -c %d %s"
1037         ac_cv_ping_packets_first=yes
1038         AC_MSG_RESULT([$ac_cv_ping_command])
1040 else
1041         AC_MSG_WARN([unable to find usable ping syntax])
1042 fi
1044 AC_DEFINE_UNQUOTED(PING_COMMAND,"$ac_cv_ping_command",
1045         [path and args for ICMP ping command])
1047 if test "x$ac_cv_ping_packets_first" != "xno"
1048 then
1049         AC_DEFINE(PING_PACKETS_FIRST,1,
1050                 [Define if packet count must precede host])
1051 fi
1053 AC_ARG_WITH(ping6_command,
1054         ACX_HELP_STRING([--with-ping6-command=SYNTAX],
1055                 [sets syntax for ICMPv6 ping]),
1056         ac_cv_ping6_command=$withval,)
1058 if test x"$ac_cv_sys_use_ipv6" != xno ; then
1059 AC_MSG_CHECKING(for ICMPv6 ping syntax)
1060 ac_cv_ping6_packets_first=no
1061 if test -n "$ac_cv_ping6_command"
1062 then
1063         AC_MSG_RESULT([(command-line) $ac_cv_ping6_command])
1064         if test -n "$ac_cv_ping6_packets_first"
1065         then
1066                 ac_cv_ping6_packets_first=yes
1067         fi
1069 elif test "x$PATH_TO_PING6" != "x"; then
1070         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1071                 $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1072                 egrep -i "^round-trip|^rtt" >/dev/null
1073         then
1074                 ac_cv_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
1075                 ac_cv_ping6_packets_first=yes
1076                 AC_MSG_RESULT([$ac_cv_ping6_command])
1078         elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
1079                 egrep -i "^round-trip|^rtt" >/dev/null
1080         then
1081                 ac_cv_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
1082                 ac_cv_ping6_packets_first=yes
1083                 AC_MSG_RESULT([$ac_cv_ping6_command])
1085         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1086                 egrep -i "^round-trip|^rtt" >/dev/null
1087         then
1088                 ac_cv_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1089                 ac_cv_ping6_packets_first=yes
1090                 AC_MSG_RESULT([$ac_cv_ping6_command])
1092         elif $PATH_TO_PING6 -n ::1 -c 1 2>/dev/null | \
1093                 egrep -i "^round-trip|^rtt" >/dev/null
1094         then
1095                 ac_cv_ping6_command="$PATH_TO_PING6 -n %s -c %d"
1096                 AC_MSG_RESULT([$ac_cv_ping6_command])
1098         elif $PATH_TO_PING6 ::1 -n 1 2>/dev/null | \
1099                 egrep -i "^round-trip|^rtt" >/dev/null
1100         then
1101                 ac_cv_ping6_command="$PATH_TO_PING6 %s -n %d"
1102                 AC_MSG_RESULT([$ac_cv_ping6_command])
1104         elif $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1105                 egrep -i "^round-trip|^rtt" >/dev/null
1106         then
1107                 ac_cv_ping6_command="$PATH_TO_PING6 -n -s %s 56 %d"
1108                 AC_MSG_RESULT([$ac_cv_ping6_command])
1110         elif $PATH_TO_PING6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1111                 egrep -i "^round-trip|^rtt" >/dev/null
1112         then
1113                 ac_cv_ping6_command="$PATH_TO_PING6 -n -h %s -s 56 -c %d"
1114                 AC_MSG_RESULT([$ac_cv_ping6_command])
1116         elif $PATH_TO_PING6 -n -s 56 -c 1 ::1 2>/dev/null | \
1117                 egrep -i "^round-trip|^rtt" >/dev/null
1118         then
1119                 ac_cv_ping6_command="$PATH_TO_PING6 -n -s 56 -c %d %s"
1120                 ac_cv_ping6_packets_first=yes
1121                 AC_MSG_RESULT([$ac_cv_ping_command])
1123         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1124                 egrep -i "^round-trip|^rtt" >/dev/null
1125         then
1126                 ac_cv_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1127                 ac_cv_ping6_packets_first=yes
1128                 AC_MSG_RESULT([$ac_cv_ping6_command])
1130         fi
1132 elif test "x$PATH_TO_PING" != "x"; then
1133         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1134                 $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1135                 egrep -i "^round-trip|^rtt" >/dev/null
1136         then
1137                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1138                 ac_cv_ping6_packets_first=yes
1139                 AC_MSG_RESULT([$ac_cv_ping6_command])
1141         elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \
1142                 egrep -i "^round-trip|^rtt" >/dev/null
1143         then
1144                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1145                 ac_cv_ping6_packets_first=yes
1146                 AC_MSG_RESULT([$ac_cv_ping6_command])
1148         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1149                 egrep -i "^round-trip|^rtt" >/dev/null
1150         then
1151                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1152                 ac_cv_ping6_packets_first=yes
1153                 AC_MSG_RESULT([$ac_cv_ping6_command])
1155         elif $PATH_TO_PING -A inet6 -n ::1 -c 1 2>/dev/null | \
1156                 egrep -i "^round-trip|^rtt" >/dev/null
1157         then
1158                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n %s -c %d"
1159                 AC_MSG_RESULT([$ac_cv_ping6_command])
1161         elif $PATH_TO_PING -A inet6 ::1 -n 1 2>/dev/null | \
1162                 egrep -i "^round-trip|^rtt" >/dev/null
1163         then
1164                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 %s -n %d"
1165                 AC_MSG_RESULT([$ac_cv_ping6_command])
1167         elif $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1168                 egrep -i "^round-trip|^rtt" >/dev/null
1169         then
1170                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -s %s 56 %d"
1171                 AC_MSG_RESULT([$ac_cv_ping6_command])
1173         elif $PATH_TO_PING -A inet6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1174                 egrep -i "^round-trip|^rtt" >/dev/null
1175         then
1176                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -h %s -s 56 -c %d"
1177                 AC_MSG_RESULT([$ac_cv_ping6_command])
1179         elif $PATH_TO_PING -A inet6 -n -s 56 -c 1 ::1 2>/dev/null | \
1180                 egrep -i "^round-trip|^rtt" >/dev/null
1181         then
1182                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -s 56 -c %d %s"
1183                 ac_cv_ping6_packets_first=yes
1184                 AC_MSG_RESULT([$ac_cv_ping_command])
1186         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1187                 egrep -i "^round-trip|^rtt" >/dev/null
1188         then
1189                 ac_cv_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1190                 ac_cv_ping6_packets_first=yes
1191                 AC_MSG_RESULT([$ac_cv_ping6_command])
1193         fi
1195 fi
1197 if test "x$ac_cv_ping6_command" != "x"; then
1198         AC_DEFINE_UNQUOTED(PING6_COMMAND,"$ac_cv_ping6_command",
1199                 [path and args for ICMPv6 ping command])
1200 else
1201         AC_MSG_RESULT([none])
1202 fi
1204 if test "x$ac_cv_ping6_packets_first" != "xno"; then
1205         AC_DEFINE(PING6_PACKETS_FIRST,1,
1206                 [Define if packet count must precede host])
1207 fi
1208 fi
1210 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
1212 AC_MSG_CHECKING(for nslookup syntax)
1213 if test -n "$PATH_TO_NSLOOKUP"
1214 then
1215         if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
1216         then
1217                 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
1218                 AC_MSG_RESULT([$ac_cv_nslookup_command])
1220         else
1221                 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
1222                 AC_MSG_RESULT([$ac_cv_nslookup_command])
1224         fi
1225         EXTRAS="$EXTRAS check_dns"
1227 else
1228         AC_MSG_WARN([nslookup command not found])
1229 fi
1231 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command",
1232         [path and args for nslookup])
1234 AC_PATH_PROG(PATH_TO_HOST,host)
1235 if test -n "$ac_cv_path_PATH_TO_HOST"
1236 then
1237         EXTRAS="$EXTRAS check_dns"
1238 fi
1240 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
1241 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
1243 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
1244 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
1246 AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
1247 AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
1248 AC_PATH_PROGS(PATH_TO_NTPQ,ntpq)
1249 if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPQ")
1250 then
1251         AC_DEFINE_UNQUOTED(PATH_TO_NTPQ,"$PATH_TO_NTPQ",[path to ntpq binary])
1252         AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE",[path to ntpdate binary])
1253 else
1254         AC_MSG_WARN([Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization])
1255 fi
1257 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
1258 if test -x "$PATH_TO_LMSTAT"
1259 then
1260         AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
1261 else
1262         AC_MSG_WARN([Get lmstat from Globetrotter Software to monitor flexlm licenses])
1263 fi
1265 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
1266 if test -x "$PATH_TO_SMBCLIENT"
1267 then
1268         AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
1269 else
1270         AC_MSG_WARN([Get smbclient from Samba.org to monitor SMB shares])
1271 fi
1274 AC_PATH_PROG(PATH_TO_WHO,who)
1276 if [$PATH_TO_WHO -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
1277 then
1278         ac_cv_path_to_who="$PATH_TO_WHO -q"
1279 else
1280         ac_cv_path_to_who="$PATH_TO_WHO"
1281 fi
1283 AC_DEFINE_UNQUOTED(WHO_COMMAND,"$ac_cv_path_to_who",
1284         [path and arguments for invoking 'who'])
1286 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
1287 if test -x "$PATH_TO_SNMPGET"
1288 then
1289         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
1290         EXTRAS="$EXTRAS check_hpjd check_snmp"
1291 else
1292         AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins])
1293 fi
1295 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
1296 if test -x "$PATH_TO_SNMPGETNEXT"
1297 then
1298         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
1299 fi
1301 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
1302 then
1303         AC_MSG_CHECKING(for Net::SNMP perl module)
1304         AC_MSG_RESULT([found])
1305 else
1306         AC_MSG_WARN([Tried $PERL - install Net::SNMP perl module if you want to use the perl snmp plugins])
1307 fi
1309 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
1310 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
1312 if test -x "$PATH_TO_QUAKESTAT"
1313 then
1314         ac_cv_path_to_qstat="$PATH_TO_QUAKESTAT"
1315         EXTRAS="$EXTRAS check_game"
1317 elif test -x "$PATH_TO_QSTAT"
1318 then
1319         ac_cv_path_to_qstat="$PATH_TO_QSTAT"
1320         EXTRAS="$EXTRAS check_game"
1321 else
1322         AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
1323 fi
1325 if test $ac_cv_path_to_qstat 
1326 then
1327         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
1328                 [path to qstat/quakestat])
1329 fi
1331 AC_PATH_PROG(PATH_TO_FPING,fping)
1332 if test -x "$PATH_TO_FPING"
1333 then
1334         AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
1335         EXTRAS="$EXTRAS check_fping"
1336 else
1337         AC_MSG_WARN([Get fping from http://www.fping.com in order to make check_fping plugin])
1338 fi
1340 AC_PATH_PROG(PATH_TO_SSH,ssh)
1342 if test -x "$PATH_TO_SSH"
1343 then
1344         AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
1345         EXTRAS="$EXTRAS check_by_ssh"
1346 else
1347         AC_MSG_WARN([Get ssh in order to make check_by_ssh plugin])
1348 fi
1351 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
1352 if test -x "$PATH_TO_MAILQ"
1353 then
1354         AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
1355 else
1356         AC_MSG_WARN([Could not find mailq or eqivalent])
1357 fi
1359 dnl SWAP info required is amount allocated/available and amount free
1360 dnl The plugin works through all the swap devices and adds up the total swap
1361 dnl available.
1363 dnl dunno why this does not work below - use hack (kbd)
1364 dnl fine on linux, broken on solaris
1365 dnl if /bin/test -e "/proc/meminfo"
1367 AC_PATH_PROG(PATH_TO_SWAP,swap)
1368 AC_PATH_PROG(PATH_TO_SWAPINFO,swapinfo)
1370 AC_MSG_CHECKING(for how to check memory)
1371 if [cat /proc/meminfo > /dev/null 2>&1]
1372 then
1373         AC_MSG_RESULT([found /proc/meminfo])
1374         AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
1375         AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes])
1376         EXTRAS="$EXTRAS check_swap"
1378 elif [$PATH_TO_SWAP -l 2>&1 >/dev/null]
1379 then
1380         ac_cv_have_swap=yes
1381         ac_cv_swap_command="$PATH_TO_SWAP -l"
1382         if [$PATH_TO_SWAP -l 2>/dev/null | \
1383                 egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \
1384                 >/dev/null]
1385         then
1386                 ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %d %d"]
1387                 AC_MSG_RESULT([using IRIX format swap])
1389         elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
1390         then
1391                 ac_cv_swap_format=["%*s %*[[0-9,-]] %*d %d %d"]
1392                 AC_MSG_RESULT([using Solaris format swap])
1394         elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
1395         then
1396                 ac_cv_swap_format=["%*s %*[[0-9,-]] %*d %d %d"]
1397                 AC_MSG_RESULT([using Unixware format swap])
1399         fi
1400         EXTRAS="$EXTRAS check_swap"
1402 elif [$PATH_TO_SWAPINFO -k 2>&1 | egrep -i "^Device" >/dev/null]
1403 then
1404         ac_cv_have_swap=yes
1405         ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
1407         if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
1408         then
1409                 ac_cv_swap_format=["%*s %d %*d %d"]
1410                 AC_MSG_RESULT([using FreeBSD format swapinfo])
1411         fi
1412         EXTRAS="$EXTRAS check_swap"
1414 elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
1415 then
1416         ac_cv_have_swap=yes
1417         ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM",
1418         ac_cv_swap_format=["%*s %d %*d %d"]
1419         AC_MSG_RESULT([using HP-UX format swapinfo])
1420 fi
1422 if test x$ac_cv_have_swap != x 
1423 then
1424         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1425 fi
1426 AC_DEFINE_UNQUOTED(SWAP_FORMAT,"$ac_cv_swap_format",
1427         [Format string for parsing swap output])
1428 if test "x$ac_cv_swap_command" != "x" 
1429 then
1430         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
1431                 [Path to swap/swapinfo binary, with any args])
1432 fi
1434 AC_PATH_PROG(PATH_TO_DIG,dig)
1435 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
1436 if test -n "$PATH_TO_DIG"; then
1437         EXTRAS="$EXTRAS check_dig"
1438 fi
1440 if test -f plugins/check_nt.c ; then
1441   EXTRAS="$EXTRAS check_nt"
1442 elif test -f ../plugins/check_nt.c ; then
1443   EXTRAS="$EXTRAS check_nt"
1444 fi
1446 AC_MSG_CHECKING(for va_list)
1447 AC_TRY_COMPILE([#ifdef __STDC__
1448                 #include <stdio.h>
1449                 #include <stdlib.h>
1450                 #include <stdarg.h>
1451                 #else
1452                 #include <sys/types.h>
1453                 #include <stdio.h>
1454                 #include <varargs.h>
1455                 #endif],
1456                 [va_list args;],
1457                 [AC_MSG_RESULT(yes)],
1458                 [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
1460 AC_SUBST(EXTRAS)
1461 AC_SUBST(DEPLIBS)
1463 AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version])
1465 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)
1467 ACX_FEATURE([with],[cgiurl],[$cgiurl])
1468 ACX_FEATURE([with],[nagios-user],[$nagios_usr])
1469 ACX_FEATURE([with],[nagios-group],[$nagios_grp])
1470 ACX_FEATURE([with],[trusted-path],[$trusted_path])
1471 ACX_FEATURE([with],[df-command],[$ac_cv_df_command])
1472 ACX_FEATURE([with],[ping-command],[$ac_cv_ping_command])
1473 ACX_FEATURE([with],[ping6-command],[$ac_cv_ping6_command])
1474 ACX_FEATURE([with],[lwres])
1475 ACX_FEATURE([with],[ipv6],[$ac_cv_sys_use_ipv6])
1476 ACX_FEATURE([enable],[emulate-getaddrinfo])