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