Code

version bump (old)
[nagiosplug.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION ($Revision$)
3 AC_PREREQ(2.50)
4 AC_INIT(nagios-plugins,1.4.0alpha1)
5 AC_CONFIG_SRCDIR(Helper.pm)
6 AM_INIT_AUTOMAKE
7 AC_CONFIG_HEADER(config.h)
8 AC_CANONICAL_HOST
10 RELEASE=1
11 AC_SUBST(RELEASE)
13 AC_PREFIX_DEFAULT(/usr/local/nagios)
15 dnl Figure out how to invoke "install" and what install options to use.
16 AC_PROG_INSTALL
17 AC_SUBST(INSTALL)
19 AC_GNU_SOURCE
20 AC_PROG_CC
21 AC_PROG_CPP
22 AC_PROG_GCC_TRADITIONAL
23 AC_PROG_RANLIB
24 AC_AIX
25 AC_MINIX
27 AC_PROG_MAKE_SET
28 AC_PROG_AWK
30 AC_FUNC_MALLOC
31 AC_FUNC_REALLOC
32 jm_PREREQ_ERROR
33 AC_FUNC_ERROR_AT_LINE
35 AC_CONFIG_LIBOBJ_DIR(lib)
36 AC_FUNC_GETLOADAVG($topdir/lib)
38 ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
39 dnl AM_WITH_REGEX
41 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
42 AC_SUBST(PLUGIN_TEST)dnl
44 SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
45 AC_SUBST(SCRIPT_TEST)dnl
47 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"
48 AC_SUBST(WARRANTY)
50 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.\nPlease include version information with all correspondence (when possible,\nuse output from the --version option of the plugin itself).\n"
51 AC_SUBST(SUPPORT)
53 dnl CGIURL has changed for Nagios with 1.0 beta
54 AC_ARG_WITH(cgiurl,
55         ACX_HELP_STRING([--with-cgiurl=DIR],
56                 [sets URL for cgi programs]),
57         with_cgiurl=$withval,
58         with_cgiurl=/nagios/cgi-bin)
59 CGIURL="$with_cgiurl"
60 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
62 AC_ARG_WITH(nagios_user,
63         ACX_HELP_STRING([--with-nagios-user=USER],
64                 [set user name to run nagios]),
65         with_nagios_user=$withval,
66         with_nagios_user=nagios)
67 AC_ARG_WITH(nagios_group,
68         ACX_HELP_STRING([--with-nagios-group=GROUP],
69                 [set group name to run nagios]),
70         with_nagios_group=$withval,
71         with_nagios_group=nagios)
72 AC_SUBST(with_nagios_user)
73 AC_SUBST(with_nagios_group)
74 INSTALL_OPTS="-o $with_nagios_user -g $with_nagios_group"
75 AC_SUBST(INSTALL_OPTS)
77 AC_ARG_WITH(trusted_path,
78         ACX_HELP_STRING([--with-trusted-path=PATH],
79                 [sets trusted path for executables called by scripts (default=/bin:/sbin:/usr/bin:/usr/sbin)]),
80         with_trusted_path=$withval,
81         with_trusted_path=/bin:/sbin:/usr/bin:/usr/sbin)
82 AC_SUBST(with_trusted_path)
84 EXTRAS=
85 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
87 LDFLAGS="$LDFLAGS -L."
89 ac_cv_uname_m=`uname -m`
90 ac_cv_uname_s=`uname -s`
91 ac_cv_uname_r=`uname -r`
92 ac_cv_uname_v=`uname -v`
94 PKG_ARCH=`uname -p`
95 REV_DATESTAMP=`date '+%Y.%m.%d.%H.%M'`
96 REV_TIMESTAMP=`date '+%Y%m%d%H%M%S'`
98 AC_SUBST(PKG_ARCH)
99 AC_SUBST(REV_DATESTAMP)
100 AC_SUBST(REV_TIMESTAMP)
102 dnl Checks for programs.
103 AC_PATH_PROG(PYTHON,python)
104 AC_PATH_PROG(PERL,perl)
105 AC_PATH_PROG(SH,sh)
107 AC_PATH_PROG(HOSTNAME,hostname)
108 AC_PATH_PROG(BASENAME,basename)
110 dnl
111 dnl Check for miscellaneous stuff
112 dnl 
114 case $host_vender-$host_os in
115 sun*)
116         AC_DEFINE(__EXTENSIONS__,1,[Sun's netdb.h needs this for getaddrinfo])
117         ;;
118 osf*)
119         AC_DEFINE(_OSF_SOURCE,1,[OSF needs this for getaddrinfo])
120         ;;
121 esac
123 dnl
124 dnl Checks for libraries.
125 dnl
127 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
128 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
129 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
130 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
131 AC_SUBST(SOCKETLIBS)
133 dnl Check for PostgreSQL libraries
134 _SAVEDLIBS="$LIBS"
135 _SAVEDCPPFLAGS="$CPPFLAGS"
136 AC_ARG_WITH(pgsql,
137         ACX_HELP_STRING([--with-pgsql=DIR],
138                 [sets path to pgsql installation]),
139         PGSQL=$withval,)
140 AC_CHECK_LIB(crypt,main)
141 if test "$ac_cv_lib_crypt_main" = "yes"; then
142   if test -n "$PGSQL"; then
143     LDFLAGS="$LDFLAGS -L$PGSQL/lib"
144     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
145   fi
146   AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
147   if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
148     AC_CHECK_HEADERS(pgsql/libpq-fe.h)
149     AC_CHECK_HEADERS(postgresql/libpq-fe.h)
150     AC_CHECK_HEADERS(libpq-fe.h)
151     if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
152       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
153       PGINCLUDE="-I$PGSQL/include"
154     elif test  "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
155       PGLIBS="-lpq -lcrypt"
156       PGINCLUDE="-I/usr/include/pgsql"
157     elif test  "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
158       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
159       PGINCLUDE="-I/usr/include/postgresql"
160     elif test  "$ac_cv_header_libpq_fe_h" = "yes"; then
161       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
162       PGINCLUDE="-I$PGSQL/include"
163     fi
164     if test -z "$PGINCLUDE"; then
165       AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
166       AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
167     else
168       AC_SUBST(PGLIBS)
169       AC_SUBST(PGINCLUDE)
170       EXTRAS="$EXTRAS check_pgsql"
171     fi
172   else
173     AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
174     AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
175     AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
176   fi
177 else
178   AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
179   AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
180 fi
181 LIBS="$_SAVEDLIBS"
182 CPPFLAGS="$_SAVEDCPPFLAGS"
184 dnl Check for radius libraries
185 _SAVEDLIBS="$LIBS"
186 AC_CHECK_LIB(radiusclient,rc_read_config)
187 if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
188   EXTRAS="$EXTRAS check_radius"
189         RADIUSLIBS="-lradiusclient"
190   AC_SUBST(RADIUSLIBS)
191 else
192   AC_MSG_WARN([Skipping radius plugin])
193   AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
194 fi
195 LIBS="$_SAVEDLIBS"
197 dnl Check for LDAP libraries
198 _SAVEDLIBS="$LIBS"
199 AC_CHECK_LIB(ldap,main,,,-llber)
200 if test "$ac_cv_lib_ldap_main" = "yes"; then
201   LDAPLIBS="-lldap -llber"\
202   LDAPINCLUDE="-I/usr/include/ldap"
203   AC_SUBST(LDAPLIBS)
204   AC_SUBST(LDAPINCLUDE)
205   AC_CHECK_FUNCS(ldap_set_option)
206   EXTRAS="$EXTRAS check_ldap"
207 else
208   AC_MSG_WARN([Skipping LDAP plugin])
209   AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
210 fi
211 LIBS="$_SAVEDLIBS"
214 dnl Check for mysql libraries
215 _SAVEDLIBS="$LIBS"
216 _SAVEDCPPFLAGS="$CPPFLAGS"
217 AC_ARG_WITH(mysql,
218         ACX_HELP_STRING([--with-mysql=DIR],
219                 [sets path to mysql installation (assumes lib/mysql and include subdirs]),
220         MYSQL=$withval,)
221 if test -n "$MYSQL"; then
222   MYSQLLIBDIR=$MYSQL/lib/mysql
223   CPPFLAGS="-I$MYSQL/include"
224   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
225   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
226 elif test -f /usr/lib/libmysqlclient.so; then
227   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
228   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
229 elif test -f /usr/lib/libmysqlclient.a; then
230   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
231   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
232 elif test -f /usr/lib/mysql/libmysqlclient.so; then
233   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
234   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
235 elif test -f /usr/lib/mysql/libmysqlclient.a; then
236   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
237   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
238 fi
239 if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
240   AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
241   if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
242     EXTRAS="$EXTRAS check_mysql"
243     AC_SUBST(MYSQLINCLUDE)
244     AC_SUBST(MYSQLLIBS)
245     AC_SUBST(check_mysql_LDFLAGS)
246   else
247     AC_MSG_WARN([Skipping mysql plugin])
248     AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
249   fi
250 else
251   AC_MSG_WARN([Skipping mysql plugin])
252   AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
253 fi
254 CPPFLAGS="$_SAVEDCPPFLAGS"
255 LIBS="$_SAVEDLIBS"
257 dnl Check for OpenSSL location
258 AC_PATH_PROG(OPENSSL,openssl)
259 if test "$OPENSSL" = "/usr/bin/openssl"; then
260   OPENSSL=/usr
261 elif test "$OPENSSL" = "/usr/sbin/openssl"; then
262   OPENSSL=/usr
263 elif test "$OPENSSL" = "/opt/bin/openssl"; then
264   OPENSSL=/opt
265 elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
266   OPENSSL=/opt/openssl
267 elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
268   OPENSSL=/usr/slocal
269 elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
270   OPENSSL=/usr/local
271 elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
272   OPENSSL=/usr/local/ssl
273 fi
274 AC_ARG_WITH(openssl,
275         ACX_HELP_STRING([--with-openssl=DIR],
276                 [sets path to openssl installation]),
277         OPENSSL=$withval,)
279 AC_CHECK_HEADERS(unistd.h)
281 dnl Check for AF_INET6 support - unistd.h required for Darwin
282 AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
283         AC_TRY_COMPILE([#ifdef HAVE_UNISTD_H
284                         #include <unistd.h>
285                         #endif
286                         #include <netinet/in.h>
287                         #include <sys/socket.h>],
288                         [struct sockaddr_in6 sin6;
289                         void *p;
291                         sin6.sin6_family = AF_INET6;
292                         sin6.sin6_port = 587;
293                         p = &sin6.sin6_addr;],
294                         [with_ipv6=yes], 
295                         [with_ipv6=no])
296         ])
298 if test x"$with_ipv6" != xno ; then
299         AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
300 fi
302 dnl #########################################################################
303 dnl Check if Posix getaddrinfo() is available.  It is also possible to use
304 dnl the version from the lwres library distributed with BIND.
305 dnl #########################################################################
306 AC_ARG_ENABLE([emulate-getaddrinfo],
307               ACX_HELP_STRING([--enable-emulate-getaddrinfo],
308                              [enable getaddrinfo emulation (default=no)]),
309               ,
310               enable_emulate_getaddrinfo=no)
312 AC_ARG_WITH(lwres,
313             ACX_HELP_STRING([--with-lwres=DIR],
314                            [use lwres library for getaddrinfo (default=no)]),
315             ,
316             with_lwres=no)
318 dnl ## enable force to test getaddrinfo.c
319 if test x$enable_emulate_getaddrinfo = xforce ; then
320         enable_emulate_getaddrinfo=yes
321         have_getaddrinfo=no
322 else
324 have_getaddrinfo=no
325 if test x$with_lwres != xno ; then
326         if test "$with_lwres" != yes ; then
327                    CPPFLAGS="-I${with_lwres}/include $CPPFLAGS"
328                    LDFLAGS="-L${with_lwres}/lib $LDFLAGS"
329         fi
330         AC_CHECK_HEADERS(lwres/netdb.h, ,
331                         [AC_MSG_ERROR([cannot find <lwres/netdb.h>])])
332         AC_CHECK_LIB(lwres, lwres_getaddrinfo, ,
333                      [AC_MSG_ERROR([cannot find the lwres library])],
334                      -lnsl -lpthread)
335         have_getaddrinfo=yes
336 fi
338 if test x$have_getaddrinfo != xyes ; then
339         AC_SEARCH_LIBS(getaddrinfo, socket resolv bind nsl c_r cr, have_getaddrinfo=yes)
340 fi
342 dnl # Special nonsense for systems that actually have getaddrinfo but
343 dnl # redefine the name to something else, e.g. OSF
344 if test x$have_getaddrinfo != xyes ; then
345         AC_MSG_CHECKING(if getaddrinfo is redefined in netdb.h)
346         AC_TRY_LINK([
347 #               include <netdb.h>
348         ], [
349                 struct addrinfo hints, *res;
350                 int err;
352                 err = getaddrinfo ("host", "service", &hints, &res);
353         ], [
354                 have_getaddrinfo=yes
355                 AC_MSG_RESULT(yes)
356         ], [AC_MSG_RESULT(no)])
357 fi
359 fi
361 if test x$have_getaddrinfo != xno ; then
362         if test x$enable_emulate_getaddrinfo != xno ; then
363                 AC_MSG_ERROR([getaddrinfo found but emulate-getaddrinfo was enabled])
364         fi
365         AC_DEFINE(HAVE_GETADDRINFO, 1,
366                   [Does system provide RFC 2553/Posix getaddrinfo?])
367 else
368         if test x$enable_emulate_getaddrinfo != xyes ; then
369 dnl                AC_MSG_ERROR([getaddrinfo not found: try --with-lwres or --enable-emulate-getaddrinfo])
370                enable_emulate_getaddrinfo=yes
371                AC_MSG_WARN([enabling getaddrinfo emulation])
372         fi
373         EXTRA_NETOBJS="$EXTRA_NETOBJS getaddrinfo.o"
374 fi
376 if test x"$enable_emulate_getaddrinfo" != xno ; then
377     have_resolver=no
379   dnl  Try for getipnodebyname
380     AC_SEARCH_LIBS(getipnodebyname, resolv bind nsl c_r cr, have_resolver=yes)
381     if test x"$have_resolver" != xno ; then
382          AC_DEFINE(HAVE_GETIPNODEBYNAME, 1,
383                    [Set when getipnodebyname is available])
384     fi
386   dnl  Try for gethostbyname_r
387     if test x"$have_resolver" = xno ; then
388         AC_SEARCH_LIBS(gethostbyname_r, resolv bind nsl c_r cr,
389                        [have_resolver=yes
390                         ACX_WHICH_GETHOSTBYNAME_R])
391     fi
393   dnl  Try for gethostbyname
394     if test x"$have_resolver" = xno ; then
395         if test x"$enable_pthreads" != xno ; then
396             AC_MSG_WARN([using threads but cannot find gethostbyname_r or getipnodebyname])
397         fi
398         AC_SEARCH_LIBS(gethostbyname, resolv bind nsl, ,
399                        [AC_MSG_ERROR([cannot find gethostbyname])])
400     fi
401     EXTRA_NETOBJS="$EXTRA_NETOBJS gethostbyname.o"
403 fi
405 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
406 if test "$FOUNDINCLUDE" = "no"; then
407   _SAVEDCPPFLAGS="$CPPFLAGS"
408   CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
409   unset ac_cv_header_krb5_h
410   AC_CHECK_HEADERS(krb5.h,
411                    KRB5INCLUDE="-I/usr/kerberos/include"
412                    FOUNDINCLUDE=yes,
413                    FOUNDINCLUDE=no)
414 fi
415 AC_SUBST(KRBINCLUDE)
416 if test "$FOUNDINCLUDE" = "no"; then
417   CPPFLAGS="$_SAVEDCPPFLAGS"
418 fi
420 dnl Check for OpenSSL header files
421 unset FOUNDINCLUDE
422 _SAVEDCPPFLAGS="$CPPFLAGS"
423 CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
424 AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
425                  SSLINCLUDE="-I$OPENSSL/include"
426                  FOUNDINCLUDE=yes,
427                  FOUNDINCLUDE=no)
428 if test "$FOUNDINCLUDE" = "no"; then
429   AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
430                    SSLINCLUDE="-I$OPENSSL/include"
431                    FOUNDINCLUDE=yes,
432                    FOUNDINCLUDE=no)
433 fi
434 AC_SUBST(SSLINCLUDE)
435 if test "$FOUNDINCLUDE" = "no"; then
436   CPPFLAGS="$_SAVEDCPPFLAGS"
437 fi
439 dnl Check for crypto lib
440 _SAVEDLIBS="$LIBS"
441 AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
442 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
443   dnl Check for SSL lib
444   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)
445 fi
446 LIBS="$_SAVEDLIBS"
448 dnl test headers and libs to decide whether check_http should use SSL
449 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
450   if test "$ac_cv_lib_ssl_main" = "yes"; then
451     if test "$FOUNDINCLUDE" = "yes"; then
452       check_tcp_ssl="check_simap check_spop"
453       AC_SUBST(check_tcp_ssl)
454       AC_SUBST(SSLLIBS)
455       AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
456     fi
457   fi
458 fi
459 CPPFLAGS="$_SAVEDCPPFLAGS"
461 dnl
462 dnl Checks for header files.
463 dnl
465 AC_HEADER_STDC
466 AC_HEADER_TIME
467 AC_HEADER_SYS_WAIT
468 AC_CHECK_HEADERS(signal.h strings.h string.h syslog.h uio.h errno.h regex.h sys/types.h sys/time.h sys/socket.h sys/loadavg.h)
469 AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h stdlib.h)
470 AC_CHECK_HEADERS(limits.h sys/param.h sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h fcntl.h sys/statfs.h sys/dustat.h sys/statvfs.h)
472 # glibc 2.3.2 stdlib.h does not define HUGE_VAL (see man strtod)
473 AC_MSG_CHECKING([for HUGE_VAL in <stdlib.h>])
474 AC_TRY_COMPILE([#include <stdlib.h>],
475                [double x = HUGE_VAL;],
476                [AC_MSG_RESULT(yes)],
477                [AC_MSG_RESULT(no)
478                 AC_MSG_CHECKING([for HUGE_VAL in <math.h>])
479                 AC_TRY_COMPILE([#include <math.h>],
480                                [double x = HUGE_VAL;],
481                                [AC_MSG_RESULT(yes)
482                                 AC_DEFINE_UNQUOTED(HUGE_VAL_NEEDS_MATH_H, 1,
483                                                   [Define if <math.h> is required for HUGE_VAL])],
484                                [AC_MSG_RESULT(no)])])
486 # Define HAVE_INTTYPES_H if <inttypes.h> exists,
487 # doesn't clash with <sys/types.h>, and declares uintmax_t.
489 AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
490 [AC_TRY_COMPILE(
491   [#include <sys/types.h>
492 #include <inttypes.h>],
493   [uintmax_t i = (uintmax_t) -1;],
494   jm_ac_cv_header_inttypes_h=yes,
495   jm_ac_cv_header_inttypes_h=no)])
497 if test $jm_ac_cv_header_inttypes_h = yes; then
498   AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
499 [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
500    and declares uintmax_t. ])
501 fi
503 # Check for SunOS statfs brokenness wrt partitions 2GB and larger.
504 # If <sys/vfs.h> exists and struct statfs has a member named f_spare,
505 # enable the work-around code in fsusage.c.
506 AC_MSG_CHECKING([for statfs that truncates block counts])
507 AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
508 [AC_TRY_COMPILE([
509 #if !defined(sun) && !defined(__sun)
510 choke -- this is a workaround for a Sun-specific problem
511 #endif
512 #include <sys/types.h>
513 #include <sys/vfs.h>],
514 [struct statfs t; long c = *(t.f_spare);],
515 fu_cv_sys_truncating_statfs=yes
516 AC_MSG_RESULT(yes),
517 fu_cv_sys_truncating_statfs=no
518 AC_MSG_RESULT(no),
519 )])
520 if test $fu_cv_sys_truncating_statfs = yes; then
521   AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
522 [  Define if the block counts reported by statfs may be truncated to 2GB
523    and the correct values may be stored in the f_spare array.
524    (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
525    SunOS 4.1.1 seems not to be affected.)])
526 fi
528 dnl Checks for typedefs, structures, and compiler characteristics.
529 AC_C_CONST
530 AC_STRUCT_TM
531 AC_TYPE_PID_T
532 AC_TYPE_SIZE_T
533 AC_TYPE_SIGNAL
535 AC_CHECK_SIZEOF(int,cross)
536 AC_CHECK_SIZEOF(long,cross)
537 AC_CHECK_SIZEOF(short,cross)
539 AC_CACHE_CHECK([for long long],ac_cv_have_longlong,[
540 AC_TRY_RUN([#include <stdio.h>
541 main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
542 ac_cv_have_longlong=yes,ac_cv_have_longlong=no,ac_cv_have_longlong=cross)])
543 if test x"$ac_cv_have_longlong" = x"yes"; then
544     AC_DEFINE(HAVE_LONGLONG,1,[Define if system has long long type])
545 fi
548 # Check if the compiler supports the LL prefix on long long integers.
549 # AIX needs this.
551 AC_CACHE_CHECK([for LL suffix on long long integers],ac_cv_compiler_supports_ll, [
552     AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
553         ac_cv_compiler_supports_ll=yes,ac_cv_compiler_supports_ll=no)])
554 if test x"$ac_cv_compiler_supports_ll" = x"yes"; then
555    AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Define if compiler support long long])
556 fi
558 AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE_VA_COPY,[
559 AC_TRY_LINK([#include <stdarg.h>
560 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
561 ac_cv_HAVE_VA_COPY=yes,ac_cv_HAVE_VA_COPY=no)])
562 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
563     AC_DEFINE(HAVE_VA_COPY,1,[Define if system has va_copy])
564 fi
566 AC_CHECK_FUNCS(vsnprintf snprintf asprintf vasprintf)
567 AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
568 AC_TRY_RUN([
569 #include <sys/types.h>
570 #include <stdarg.h>
571 void foo(const char *format, ...) { 
572        va_list ap;
573        int len;
574        char buf[5];
576        va_start(ap, format);
577        len = vsnprintf(buf, 0, format, ap);
578        va_end(ap);
579        if (len != 5) exit(1);
581        va_start(ap, format);
582        len = vsnprintf(0, 0, format, ap);
583        va_end(ap);
584        if (len != 5) exit(1);
586        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
588        exit(0);
590 main() { foo("hello"); }
591 ],
592 ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
593 if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
594     AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
595 fi
597 AC_TRY_COMPILE([#include <sys/time.h>],
598                [struct timeval *tv;
599                 struct timezone *tz;],
600                AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])
601                AC_TRY_COMPILE([#include <sys/time.h>],
602                               [struct timeval *tv;
603                                struct timezone *tz;
604                                gettimeofday(tv, tz);],
605                               AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]),
606                               AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
608 dnl Checks for library functions.
609 AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul)
611 AC_MSG_CHECKING(return type of socket size)
612 AC_TRY_COMPILE([#include <stdlib.h>
613                 #include <sys/types.h>
614                 #include <sys/socket.h>],
615                [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
616                ac_cv_socket_size_type=["size_t"]
617                 AC_MSG_RESULT(size_t),
618                ac_cv_socket_size_type=["int"]
619                 AC_MSG_RESULT(int))
621 AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $ac_cv_socket_size_type ,
622         [Define type of socket size])
624 if test -f "/proc/loadavg"
625 then
626   AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
627   AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg",[Location of /proc/loadavg])
628 fi
630 dnl #### Process table test
632 AC_PATH_PROG(PATH_TO_PS,ps)
634 AC_MSG_CHECKING(for ps syntax)
635 dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
636 dnl  STAT UCOMM              VSZ   RSS USER      PPID COMMAND
637 if ps -axwo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
638         egrep -i ["^ *STAT +UCOMM +VSZ +RSS +USER +UID +PPID +COMMAND"] > /dev/null
639 then
640         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
641         ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid ppid vsz rss pcpu comm args'"
642         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
643         ac_cv_ps_cols=8
644         AC_MSG_RESULT([$ac_cv_ps_command])
646 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
647 elif ps -weo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
648         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
649 then
650         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
651         ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid ppid vsz rss pcpu comm args'"
652         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
653         ac_cv_ps_cols=8
654         AC_MSG_RESULT([$ac_cv_ps_command])
656 dnl FreeBSD
657 elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | \
658         egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null
659 then
660         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
661         ac_cv_ps_command="$PATH_TO_PS waxco 'state uid ppid vsz rss pcpu command command'"
662         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
663         ac_cv_ps_cols=8
664         AC_MSG_RESULT([$ac_cv_ps_command])
666 dnl BSD-like mode in RH 6.1
667 elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | \
668         egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
669 then
670         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
671         ac_cv_ps_command="$PATH_TO_PS waxno 'state uid ppid vsz rss pcpu comm args'"
672         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
673         ac_cv_ps_cols=8
674         AC_MSG_RESULT([$ac_cv_ps_command])
676 dnl SunOS 4.1.3:
677 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
678 dnl Need the head -1 otherwise test will work because arguments are found
679 elif ps -laxnwww 2>/dev/null | head -1 | \
680         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
681 then
682         ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
683         ac_cv_ps_command="$PATH_TO_PS -laxnwww"
684         ac_cv_ps_format="%*s %d %*s %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
685         ac_cv_ps_cols=8
686         AC_MSG_RESULT([$ac_cv_ps_command])
688 dnl Debian Linux / procps v1.2.9:
689 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
690 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
691 dnl
692 elif ps laxnwww 2>/dev/null | \
693         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
694 then
695         ac_cv_ps_varlist="[&procuid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
696         ac_cv_ps_command="$PATH_TO_PS laxnwww"
697         ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s"
698         ac_cv_ps_cols=8
699         AC_MSG_RESULT([$ac_cv_ps_command])
701 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
702 elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | \
703         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
704 then
705         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
706         ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid ppid vsz rss pcpu comm args'"
707         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
708         ac_cv_ps_cols=8
709         AC_MSG_RESULT([$ac_cv_ps_command])
711 dnl 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_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
716         ac_cv_ps_command="$PATH_TO_PS -ao 'stat uid ppid vsz rss pcpu comm args'"
717         ac_cv_ps_format=["%s%*[ +] %d %d %d %d %f %s %n"]
718         ac_cv_ps_cols=8
719         AC_MSG_RESULT([$ac_cv_ps_command])
721 elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | \
722         egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
723 then
724         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
725         ac_cv_ps_command="$PATH_TO_PS -eo 's uid ppid vsz rss pcpu comm args'"
726         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
727         ac_cv_ps_cols=8
728         AC_MSG_RESULT([$ac_cv_ps_command])
730 dnl AIX 4.3.3 and 5.1 do not have an rss field
731 elif ps -eo 'stat uid ppid vsz pcpu comm args' 2>/dev/null | \
732         egrep -i ["^ *S[TAUES]* +UID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
733 then
734         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
735         ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid ppid vsz pcpu comm args'"
736         ac_cv_ps_format="%s %d %d %d %f %s %n"
737         ac_cv_ps_cols=7
738         AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
740 elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \
741         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
742 then
743         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
744         ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'"
745         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
746         ac_cv_ps_cols=8
747         AC_MSG_RESULT([$ac_cv_ps_command])
749 elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | \
750         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
751 then
752         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
753         ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid ppid vsz rss pcpu comm args'"
754         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
755         ac_cv_ps_cols=8
756         AC_MSG_RESULT([$ac_cv_ps_command])
758 elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | \
759         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
760 then
761         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
762         ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid ppid vsz rss pcpu comm args'"
763         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
764         ac_cv_ps_cols=8
765         AC_MSG_RESULT([$ac_cv_ps_command])
767 dnl wonder who takes state instead of stat
768 elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | \
769         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
770 then
771         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
772         ac_cv_ps_command="$PATH_TO_PS -ao 'state uid ppid vsz rss pcpu command args'"
773         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
774         ac_cv_ps_cols=7
775         AC_MSG_RESULT([$ac_cv_ps_command])
777 dnl IRIX 53
778 elif ps -el 2>/dev/null | \
779         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
780 then
781         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&pos,procprog]"
782         ac_cv_ps_command="$PATH_TO_PS -el"
783         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
784         ac_cv_ps_cols=7
785         AC_MSG_RESULT([$ac_cv_ps_command])
787 dnl IRIX 63
788 elif ps -el 2>/dev/null | \
789         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
790 then
791         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
792         ac_cv_ps_command="$PATH_TO_PS -el"
793         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
794         ac_cv_ps_cols=5
795         AC_MSG_RESULT([$ac_cv_ps_command])
797 dnl AIX 4.1:
798 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
799 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
800 elif ps -el 2>/dev/null | \
801         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
802 then
803         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
804         ac_cv_ps_command="$PATH_TO_PS -el"
805         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
806         ac_cv_ps_cols=7
807         AC_MSG_RESULT([$ac_cv_ps_command])
809 dnl AIX?
810 elif ps glaxen 2>/dev/null | \
811         egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
812 then
813         ac_cv_ps_varlist="[&procuid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
814         ac_cv_ps_command="$PATH_TO_PS glaxen"
815         ac_cv_ps_format="%*s %d %*s %d %*s %*s %d %d %*s %s %*s %*s %n%s"
816         ac_cv_ps_cols=7
817         AC_MSG_RESULT([$ac_cv_ps_command])
819 dnl MacOSX / Darwin
820 dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
821 dnl Some truncation will happen in UCOMM column
822 dnl STAT      VSZ    RSS   UID  PPID %CPU UCOMM            COMMAND
823 dnl Ss      52756  22496   501     1   6.9 Window Manager   /System/Library/CoreServices/WindowServer -daemon
824 elif ps wwaxo 'state vsz rss uid ppid pcpu ucomm command' 2>/dev/null | \
825         egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null
826 then
827         ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid ppid pcpu ucomm command'"
828         ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procppid,&procpcpu,procprog,&pos]"
829         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
830         ac_cv_ps_cols=7
831         AC_MSG_RESULT([$ac_cv_ps_command])
833 dnl UnixWare 
834 elif ps -Al 2>/dev/null | \
835         egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
836 then
837         ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
838         ac_cv_ps_command="$PATH_TO_PS -Al"
839         ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
840         ac_cv_ps_cols=7
841         AC_MSG_RESULT([$ac_cv_ps_command])
843 else
844         AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled])
845 fi
847 if test -n "$ac_cv_ps_varlist" ; then
848         AC_DEFINE_UNQUOTED(PS_VARLIST,$ac_cv_ps_varlist,
849                 [Variable list for sscanf of 'ps' output])
850         AC_DEFINE_UNQUOTED(PS_COMMAND,"$ac_cv_ps_command",
851                 [Verbatim command to execute for ps in check_procs])
852         AC_DEFINE_UNQUOTED(PS_FORMAT,"$ac_cv_ps_format",
853                 [Format string for scanning ps output in check_procs])
854         AC_DEFINE_UNQUOTED(PS_COLS,$ac_cv_ps_cols,
855                 [Number of columns in ps command])
856         EXTRAS="$EXTRAS check_procs check_nagios"
857 fi
859 dnl jm_AFS
860 jm_LIST_MOUNTED_FILESYSTEMS([list_mounted_fs=yes], [list_mounted_fs=no])
861 jm_FSTYPENAME
862 jm_FILE_SYSTEM_USAGE([space=yes], [space=no])
864 AC_PATH_PROG(PATH_TO_PING,ping)
865 AC_PATH_PROG(PATH_TO_PING6,ping6)
867 AC_ARG_WITH(ping_command,
868         ACX_HELP_STRING([--with-ping-command=SYNTAX],
869                 [sets syntax for ICMP ping]),
870         with_ping_command=$withval,)
872 AC_MSG_CHECKING(for ICMP ping syntax)
873 ac_cv_ping_packets_first=no
874 if test -n "$with_ping_command"
875 then
876         AC_MSG_RESULT([(command-line) $with_ping_command])
877         if test -n "$ac_cv_ping_packets_first"
878         then
879                 ac_cv_ping_packets_first=yes
880         fi
882 elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
883         $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
884         egrep -i "^round-trip|^rtt" >/dev/null
885 then
886         with_ping_command="$PATH_TO_PING -n -U -c %d %s"
887         ac_cv_ping_packets_first=yes
888         AC_MSG_RESULT([$with_ping_command])
890 elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
891         egrep -i "^round-trip|^rtt" >/dev/null
892 then
893         with_ping_command="$PATH_TO_PING -n -U -c %d %s"
894         ac_cv_ping_packets_first=yes
895         AC_MSG_RESULT([$with_ping_command])
897 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
898         egrep -i "^round-trip|^rtt" >/dev/null
899 then
900         with_ping_command="$PATH_TO_PING -n -c %d %s"
901         ac_cv_ping_packets_first=yes
902         AC_MSG_RESULT([$with_ping_command])
904 elif $PATH_TO_PING -n 127.0.0.1 -c 1 2>/dev/null | \
905         egrep -i "^round-trip|^rtt" >/dev/null
906 then
907         with_ping_command="$PATH_TO_PING -n %s -c %d"
908         AC_MSG_RESULT([$with_ping_command])
910 elif $PATH_TO_PING 127.0.0.1 -n 1 2>/dev/null | \
911         egrep -i "^round-trip|^rtt" >/dev/null
912 then
913         with_ping_command="$PATH_TO_PING %s -n %d"
914         AC_MSG_RESULT([$with_ping_command])
916 elif $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
917         egrep -i "^round-trip|^rtt" >/dev/null
918 then
919         with_ping_command="$PATH_TO_PING -n -s %s 56 %d"
920         AC_MSG_RESULT([$with_ping_command])
922 elif $PATH_TO_PING -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | \
923         egrep -i "^round-trip|^rtt" >/dev/null
924 then
925         with_ping_command="$PATH_TO_PING -n -h %s -s 56 -c %d"
926         AC_MSG_RESULT([$with_ping_command])
928 elif $PATH_TO_PING -n -s 56 -c 1 127.0.0.1 2>/dev/null | \
929         egrep -i "^round-trip|^rtt" >/dev/null
930 then
931         with_ping_command="$PATH_TO_PING -n -s 56 -c %d %s"
932         ac_cv_ping_packets_first=yes
933         AC_MSG_RESULT([$with_ping_command])
935 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
936         egrep -i "^round-trip|^rtt" >/dev/null
937 then
938         with_ping_command="$PATH_TO_PING -n -c %d %s"
939         ac_cv_ping_packets_first=yes
940         AC_MSG_RESULT([$with_ping_command])
942 else
943         AC_MSG_WARN([unable to find usable ping syntax])
944 fi
946 AC_DEFINE_UNQUOTED(PING_COMMAND,"$with_ping_command",
947         [path and args for ICMP ping command])
949 if test "x$ac_cv_ping_packets_first" != "xno"
950 then
951         AC_DEFINE(PING_PACKETS_FIRST,1,
952                 [Define if packet count must precede host])
953 fi
955 AC_ARG_WITH(ping6_command,
956         ACX_HELP_STRING([--with-ping6-command=SYNTAX],
957                 [sets syntax for ICMPv6 ping]),
958         with_ping6_command=$withval,)
960 if test x"$with_ipv6" != xno ; then
961 AC_MSG_CHECKING(for ICMPv6 ping syntax)
962 ac_cv_ping6_packets_first=no
963 if test -n "$with_ping6_command"
964 then
965         AC_MSG_RESULT([(command-line) $with_ping6_command])
966         if test -n "$ac_cv_ping6_packets_first"
967         then
968                 ac_cv_ping6_packets_first=yes
969         fi
971 elif test "x$PATH_TO_PING6" != "x"; then
972         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
973                 $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
974                 egrep -i "^round-trip|^rtt" >/dev/null
975         then
976                 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
977                 ac_cv_ping6_packets_first=yes
978                 AC_MSG_RESULT([$with_ping6_command])
980         elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
981                 egrep -i "^round-trip|^rtt" >/dev/null
982         then
983                 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
984                 ac_cv_ping6_packets_first=yes
985                 AC_MSG_RESULT([$with_ping6_command])
987         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
988                 egrep -i "^round-trip|^rtt" >/dev/null
989         then
990                 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
991                 ac_cv_ping6_packets_first=yes
992                 AC_MSG_RESULT([$with_ping6_command])
994         elif $PATH_TO_PING6 -n ::1 -c 1 2>/dev/null | \
995                 egrep -i "^round-trip|^rtt" >/dev/null
996         then
997                 with_ping6_command="$PATH_TO_PING6 -n %s -c %d"
998                 AC_MSG_RESULT([$with_ping6_command])
1000         elif $PATH_TO_PING6 ::1 -n 1 2>/dev/null | \
1001                 egrep -i "^round-trip|^rtt" >/dev/null
1002         then
1003                 with_ping6_command="$PATH_TO_PING6 %s -n %d"
1004                 AC_MSG_RESULT([$with_ping6_command])
1006         elif $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1007                 egrep -i "^round-trip|^rtt" >/dev/null
1008         then
1009                 with_ping6_command="$PATH_TO_PING6 -n -s %s 56 %d"
1010                 AC_MSG_RESULT([$with_ping6_command])
1012         elif $PATH_TO_PING6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1013                 egrep -i "^round-trip|^rtt" >/dev/null
1014         then
1015                 with_ping6_command="$PATH_TO_PING6 -n -h %s -s 56 -c %d"
1016                 AC_MSG_RESULT([$with_ping6_command])
1018         elif $PATH_TO_PING6 -n -s 56 -c 1 ::1 2>/dev/null | \
1019                 egrep -i "^round-trip|^rtt" >/dev/null
1020         then
1021                 with_ping6_command="$PATH_TO_PING6 -n -s 56 -c %d %s"
1022                 ac_cv_ping6_packets_first=yes
1023                 AC_MSG_RESULT([$with_ping_command])
1025         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1026                 egrep -i "^round-trip|^rtt" >/dev/null
1027         then
1028                 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1029                 ac_cv_ping6_packets_first=yes
1030                 AC_MSG_RESULT([$with_ping6_command])
1032         fi
1034 elif test "x$PATH_TO_PING" != "x"; then
1035         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1036                 $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1037                 egrep -i "^round-trip|^rtt" >/dev/null
1038         then
1039                 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1040                 ac_cv_ping6_packets_first=yes
1041                 AC_MSG_RESULT([$with_ping6_command])
1043         elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \
1044                 egrep -i "^round-trip|^rtt" >/dev/null
1045         then
1046                 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1047                 ac_cv_ping6_packets_first=yes
1048                 AC_MSG_RESULT([$with_ping6_command])
1050         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1051                 egrep -i "^round-trip|^rtt" >/dev/null
1052         then
1053                 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1054                 ac_cv_ping6_packets_first=yes
1055                 AC_MSG_RESULT([$with_ping6_command])
1057         elif $PATH_TO_PING -A inet6 -n ::1 -c 1 2>/dev/null | \
1058                 egrep -i "^round-trip|^rtt" >/dev/null
1059         then
1060                 with_ping6_command="$PATH_TO_PING -A inet6 -n %s -c %d"
1061                 AC_MSG_RESULT([$with_ping6_command])
1063         elif $PATH_TO_PING -A inet6 ::1 -n 1 2>/dev/null | \
1064                 egrep -i "^round-trip|^rtt" >/dev/null
1065         then
1066                 with_ping6_command="$PATH_TO_PING -A inet6 %s -n %d"
1067                 AC_MSG_RESULT([$with_ping6_command])
1069         elif $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1070                 egrep -i "^round-trip|^rtt" >/dev/null
1071         then
1072                 with_ping6_command="$PATH_TO_PING -A inet6 -n -s %s 56 %d"
1073                 AC_MSG_RESULT([$with_ping6_command])
1075         elif $PATH_TO_PING -A inet6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1076                 egrep -i "^round-trip|^rtt" >/dev/null
1077         then
1078                 with_ping6_command="$PATH_TO_PING -A inet6 -n -h %s -s 56 -c %d"
1079                 AC_MSG_RESULT([$with_ping6_command])
1081         elif $PATH_TO_PING -A inet6 -n -s 56 -c 1 ::1 2>/dev/null | \
1082                 egrep -i "^round-trip|^rtt" >/dev/null
1083         then
1084                 with_ping6_command="$PATH_TO_PING -A inet6 -n -s 56 -c %d %s"
1085                 ac_cv_ping6_packets_first=yes
1086                 AC_MSG_RESULT([$with_ping_command])
1088         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1089                 egrep -i "^round-trip|^rtt" >/dev/null
1090         then
1091                 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1092                 ac_cv_ping6_packets_first=yes
1093                 AC_MSG_RESULT([$with_ping6_command])
1095         fi
1097 fi
1099 if test "x$with_ping6_command" != "x"; then
1100         AC_DEFINE_UNQUOTED(PING6_COMMAND,"$with_ping6_command",
1101                 [path and args for ICMPv6 ping command])
1102 else
1103         AC_MSG_RESULT([none])
1104 fi
1106 if test "x$ac_cv_ping6_packets_first" != "xno"; then
1107         AC_DEFINE(PING6_PACKETS_FIRST,1,
1108                 [Define if packet count must precede host])
1109 fi
1110 fi
1112 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
1114 AC_MSG_CHECKING(for nslookup syntax)
1115 if test -n "$PATH_TO_NSLOOKUP"
1116 then
1117         if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
1118         then
1119                 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
1120                 AC_MSG_RESULT([$ac_cv_nslookup_command])
1122         else
1123                 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
1124                 AC_MSG_RESULT([$ac_cv_nslookup_command])
1126         fi
1127         EXTRAS="$EXTRAS check_dns"
1129 else
1130         AC_MSG_WARN([nslookup command not found])
1131 fi
1133 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command",
1134         [path and args for nslookup])
1136 AC_PATH_PROG(PATH_TO_HOST,host)
1137 if test -n "$ac_cv_path_PATH_TO_HOST"
1138 then
1139         EXTRAS="$EXTRAS check_dns"
1140 fi
1142 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
1143 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
1145 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
1146 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
1148 AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
1149 AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
1150 AC_PATH_PROGS(PATH_TO_NTPQ,ntpq)
1151 if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPQ")
1152 then
1153         AC_DEFINE_UNQUOTED(PATH_TO_NTPQ,"$PATH_TO_NTPQ",[path to ntpq binary])
1154         AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE",[path to ntpdate binary])
1155 else
1156         AC_MSG_WARN([Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization])
1157 fi
1159 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
1160 if test -x "$PATH_TO_LMSTAT"
1161 then
1162         AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
1163 else
1164         AC_MSG_WARN([Get lmstat from Globetrotter Software to monitor flexlm licenses])
1165 fi
1167 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
1168 if test -x "$PATH_TO_SMBCLIENT"
1169 then
1170         AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
1171 else
1172         AC_MSG_WARN([Get smbclient from Samba.org to monitor SMB shares])
1173 fi
1176 AC_PATH_PROG(PATH_TO_WHO,who)
1178 if [$PATH_TO_WHO -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
1179 then
1180         ac_cv_path_to_who="$PATH_TO_WHO -q"
1181 else
1182         ac_cv_path_to_who="$PATH_TO_WHO"
1183 fi
1185 AC_DEFINE_UNQUOTED(WHO_COMMAND,"$ac_cv_path_to_who",
1186         [path and arguments for invoking 'who'])
1188 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
1189 if test -x "$PATH_TO_SNMPGET"
1190 then
1191         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
1192         EXTRAS="$EXTRAS check_hpjd check_snmp"
1193 else
1194         AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins])
1195 fi
1197 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
1198 if test -x "$PATH_TO_SNMPGETNEXT"
1199 then
1200         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
1201 fi
1203 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
1204 then
1205         AC_MSG_CHECKING(for Net::SNMP perl module)
1206         AC_MSG_RESULT([found])
1207 else
1208         AC_MSG_WARN([Tried $PERL - install Net::SNMP perl module if you want to use the perl snmp plugins])
1209 fi
1211 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
1212 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
1214 if test -x "$PATH_TO_QUAKESTAT"
1215 then
1216         ac_cv_path_to_qstat="$PATH_TO_QUAKESTAT"
1217         EXTRAS="$EXTRAS check_game"
1219 elif test -x "$PATH_TO_QSTAT"
1220 then
1221         ac_cv_path_to_qstat="$PATH_TO_QSTAT"
1222         EXTRAS="$EXTRAS check_game"
1223 else
1224         AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
1225 fi
1227 if test $ac_cv_path_to_qstat 
1228 then
1229         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
1230                 [path to qstat/quakestat])
1231 fi
1233 AC_PATH_PROG(PATH_TO_FPING,fping)
1234 if test -x "$PATH_TO_FPING"
1235 then
1236         AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
1237         EXTRAS="$EXTRAS check_fping"
1238 else
1239         AC_MSG_WARN([Get fping from http://www.fping.com in order to make check_fping plugin])
1240 fi
1242 AC_PATH_PROG(PATH_TO_SSH,ssh)
1244 if test -x "$PATH_TO_SSH"
1245 then
1246         AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
1247         EXTRAS="$EXTRAS check_by_ssh"
1248 else
1249         AC_MSG_WARN([Get ssh in order to make check_by_ssh plugin])
1250 fi
1253 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
1254 if test -x "$PATH_TO_MAILQ"
1255 then
1256         AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
1257 else
1258         AC_MSG_WARN([Could not find mailq or eqivalent])
1259 fi
1261 AC_PATH_PROG(PATH_TO_QMAIL_QSTAT,qmail-qstat)
1262 if test -x "$PATH_TO_QMAIL_QSTAT"
1263 then
1264         AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_QMAIL_QSTAT",[path to qmail-qstat])
1265 else
1266         AC_MSG_WARN([Could not find qmail-qstat or eqivalent])
1267 fi
1269 dnl SWAP info required is amount allocated/available and amount free
1270 dnl The plugin works through all the swap devices and adds up the total swap
1271 dnl available.
1272 AC_PATH_PROG(PATH_TO_SWAP,swap)
1273 if (test -n "$PATH_TO_SWAP")
1274 then
1275 AC_MSG_CHECKING([for $PATH_TO_SWAP format])
1276 if [$PATH_TO_SWAP -l 2>&1 >/dev/null]
1277 then
1278         ac_cv_have_swap=yes
1279         ac_cv_swap_command="$PATH_TO_SWAP -l"
1280         if [$PATH_TO_SWAP -l 2>/dev/null | \
1281                 egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \
1282                 >/dev/null]
1283         then
1284                 ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %d %d"]
1285                 ac_cv_swap_conv=2048
1286                 AC_MSG_RESULT([using IRIX format swap])
1288         elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
1289         then
1290                 ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"]
1291                 ac_cv_swap_conv=2048
1292                 AC_MSG_RESULT([using Solaris format swap])
1294         elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
1295         then
1296                 ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"]
1297                 ac_cv_swap_conv=2048
1298                 AC_MSG_RESULT([using Unixware format swap])
1300         fi
1301         EXTRAS="$EXTRAS check_swap"
1302 fi
1303 dnl end if for PATH_TO_SWAP
1304 fi
1306 AC_PATH_PROG(PATH_TO_SWAPINFO,swapinfo)
1307 if (test -n "$PATH_TO_SWAPINFO")
1308 then
1309 AC_MSG_CHECKING([for $PATH_TO_SWAPINFO format])
1310 if [$PATH_TO_SWAPINFO -k 2>&1 | egrep -i "^Device" >/dev/null]
1311 then
1312         ac_cv_have_swap=yes
1313         ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
1315         if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
1316         then
1317                 ac_cv_swap_format=["%*s %d %*d %d"]
1318                 ac_cv_swap_conv=1024
1319                 AC_MSG_RESULT([using FreeBSD format swapinfo])
1320         fi
1321         EXTRAS="$EXTRAS check_swap"
1323 elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
1324 then
1325         ac_cv_have_swap=yes
1326         ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM",
1327         ac_cv_swap_format=["%*s %d %*d %d"]
1328         ac_cv_swap_conv=1024
1329         AC_MSG_RESULT([using HP-UX format swapinfo])
1330 fi
1331 dnl end if for PATH_TO_SWAPINFO
1332 fi
1334 AC_PATH_PROG(PATH_TO_LSPS,lsps)
1335 if (test -n "$PATH_TO_LSPS")
1336 then
1337 AC_MSG_CHECKING([for $PATH_TO_LSPS format])
1338 if [$PATH_TO_LSPS -a 2>/dev/null | egrep -i "^Page Space" > /dev/null]
1339 then
1340         ac_cv_have_swap=yes
1341         ac_cv_swap_command="$PATH_TO_LSPS -a"
1342         ac_cv_swap_format=["%*s %*s %*s %d%*s %d %*s"]
1343         ac_cv_swap_conv=1
1344         AC_MSG_RESULT([using AIX lsps])
1345 fi
1346 dnl end if for PATH_TO_SWAPINFO
1347 fi
1349 if test "x$ac_cv_have_swap" != "x" 
1350 then
1351         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1352 fi
1353 if test "x$ac_cv_swap_command" != "x" 
1354 then
1355         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
1356                 [Path to swap/swapinfo binary, with any args])
1357         AC_DEFINE_UNQUOTED(SWAP_FORMAT,"$ac_cv_swap_format",
1358                 [Format string for parsing swap output])
1359         AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
1360                 [Conversion factor to MB])
1361 fi
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"
1366 AC_MSG_CHECKING([for /proc/meminfo])
1367 if [cat /proc/meminfo > /dev/null 2>&1]
1368 then
1369         AC_MSG_RESULT([found /proc/meminfo])
1370         AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
1371         AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes])
1372         EXTRAS="$EXTRAS check_swap"
1373 else
1374         AC_MSG_RESULT([no])
1375 fi
1377 AC_PATH_PROG(PATH_TO_DIG,dig)
1378 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
1379 if test -n "$PATH_TO_DIG"; then
1380         EXTRAS="$EXTRAS check_dig"
1381 fi
1383 if test -f plugins/check_nt.c ; then
1384   EXTRAS="$EXTRAS check_nt"
1385 elif test -f ../plugins/check_nt.c ; then
1386   EXTRAS="$EXTRAS check_nt"
1387 fi
1389 AC_MSG_CHECKING(for va_list)
1390 AC_TRY_COMPILE([#ifdef __STDC__
1391                 #include <stdio.h>
1392                 #include <stdlib.h>
1393                 #include <stdarg.h>
1394                 #else
1395                 #include <sys/types.h>
1396                 #include <stdio.h>
1397                 #include <varargs.h>
1398                 #endif],
1399                 [va_list args;],
1400                 [AC_MSG_RESULT(yes)],
1401                 [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
1403 AC_SUBST(EXTRAS)
1404 AC_SUBST(EXTRA_NETOBJS)
1405 AC_SUBST(DEPLIBS)
1407 AM_GNU_GETTEXT_VERSION(0.11.5)
1408 AM_GNU_GETTEXT
1410 AC_OUTPUT(Makefile lib/Makefile plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl pkg/solaris/pkginfo intl/Makefile po/Makefile.in )
1412 ACX_FEATURE([with],[cgiurl])
1413 ACX_FEATURE([with],[nagios-user])
1414 ACX_FEATURE([with],[nagios-group])
1415 ACX_FEATURE([with],[trusted-path])
1416 ACX_FEATURE([with],[df-command])
1417 ACX_FEATURE([with],[ping-command])
1418 ACX_FEATURE([with],[ping6-command])
1419 ACX_FEATURE([with],[lwres])
1420 ACX_FEATURE([with],[ipv6])
1421 ACX_FEATURE([enable],[emulate-getaddrinfo])