1 dnl Process this file with autoconf to produce a configure script.
3 AC_INIT(nagios-plugins,1.4.13)
4 AC_CONFIG_SRCDIR(NPTest.pm)
5 AC_CONFIG_FILES(gl/Makefile)
6 AC_CONFIG_AUX_DIR(build-aux)
7 AM_INIT_AUTOMAKE([1.8.3])
8 AM_CONFIG_HEADER(config.h)
14 AC_PREFIX_DEFAULT(/usr/local/nagios)
16 dnl Deprecated configure options
19 dnl Append user (-o), group (-g), mode (-m) to install command
20 dnl There is an assumption that this is possible with ./configure's chosen install command
22 AC_ARG_WITH(nagios_user,
23 ACX_HELP_STRING([--with-nagios-user=USER],
24 [Installs executables with this user. Defaults to install user]),
25 extra_install_args="-o $withval")
26 AC_ARG_WITH(nagios_group,
27 ACX_HELP_STRING([--with-nagios-group=GROUP],
28 [Installs executables with this group. Defaults to install user]),
29 extra_install_args="$extra_install_args -g $withval")
30 AC_ARG_WITH(world_permissions,
31 ACX_HELP_STRING([--without-world-permissions],
32 [Installs executables without world permissions]))
34 if test "x$with_world_permissions" = xno ; then
35 extra_install_args="$extra_install_args -m 0550"
38 INSTALL="$INSTALL $extra_install_args"
39 INSTALL_STRIP_PROGRAM="$INSTALL_STRIP_PROGRAM $extra_install_args"
44 AC_PROG_GCC_TRADITIONAL
52 ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
54 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
55 AC_SUBST(PLUGIN_TEST)dnl
57 SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
58 AC_SUBST(SCRIPT_TEST)dnl
60 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"
63 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"
66 dnl CGIURL has changed for Nagios with 1.0 beta
68 ACX_HELP_STRING([--with-cgiurl=DIR],
69 [sets URL for cgi programs]),
71 with_cgiurl=/nagios/cgi-bin)
73 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
75 AC_ARG_WITH(trusted_path,
76 ACX_HELP_STRING([--with-trusted-path=PATH],
77 [sets trusted path for executables called by scripts (default=/bin:/sbin:/usr/bin:/usr/sbin)]),
78 with_trusted_path=$withval,
79 with_trusted_path=/bin:/sbin:/usr/bin:/usr/sbin)
80 AC_SUBST(with_trusted_path)
84 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
86 LDFLAGS="$LDFLAGS -L."
88 ac_cv_uname_m=`uname -m`
89 ac_cv_uname_s=`uname -s`
90 ac_cv_uname_r=`uname -r`
91 ac_cv_uname_v=`uname -v`
94 REV_DATESTAMP=`date '+%Y.%m.%d.%H.%M'`
95 REV_TIMESTAMP=`date '+%Y%m%d%H%M%S'`
98 AC_SUBST(REV_DATESTAMP)
99 AC_SUBST(REV_TIMESTAMP)
101 dnl Check if version file is present
102 AM_CONDITIONAL([RELEASE_PRESENT], [test -f release])
104 dnl Checks for programs.
105 AC_PATH_PROG(PYTHON,python)
107 AC_PATH_PROG(PERL,perl)
108 AC_PATH_PROG(LIBGNUTLS_CONFIG,libgnutls-config)
109 AC_PATH_PROG(HOSTNAME,hostname)
110 AC_PATH_PROG(BASENAME,basename)
112 dnl allow them to override the path of perl
114 ACX_HELP_STRING([--with-perl=PATH],
115 [sets path to perl executable]),
116 with_perl=$withval,with_perl=$PERL)
117 AC_SUBST(PERL, $with_perl)
121 AC_HELP_STRING([--with-openssl=DIR],
122 [path to openssl installation]),)
125 ACX_HELP_STRING([--with-gnutls=PATH],
126 [path to gnutls installation root]),)
128 dnl you can only have one or the other
129 if test ! "$with_openssl" = "" && test ! "$with_openssl" = "no"; then
132 if test ! "$with_gnutls" = "" && test ! "$with_gnutls" = "no"; then
136 dnl list of possible dirs to try to autodetect openssl
137 dnl if $dir/include exists, we consider it found
138 dnl the order should allow locally installed versions to override distros' ones
139 OPENSSL_DIRS="/usr /usr/local /usr/slocal /usr/local/openssl /usr/local/ssl \
144 dnl Checks for libraries.
147 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
148 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
149 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
150 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
154 dnl check for math-related functions needing -lm
155 AC_CHECK_HEADERS(math.h)
156 AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
159 dnl Check if we buils local libtap
160 AC_ARG_ENABLE(libtap,
161 AC_HELP_STRING([--enable-libtap],
162 [Enable built-in libtap for unit-testing (default: autodetect system library).]),
163 [enable_libtap=$enableval],
165 AM_CONDITIONAL([USE_LIBTAP_LOCAL],[test "$enable_libtap" = "yes"])
167 # If not local, check if we can use the system one
168 if test "$enable_libtap" != "yes" ; then
169 dnl Check for libtap, to run perl-like tests
170 AC_CHECK_LIB(tap, plan_tests,
175 # Finally, define tests if we use libtap
176 if test "$enable_libtap" = "yes" ; then
177 EXTRA_TEST="test_utils test_disk test_tcp test_cmd test_base64"
182 AC_ARG_ENABLE(extra-opts,
183 AC_HELP_STRING([--enable-extra-opts],
184 [Enables parsing of plugins ini config files for extra options (default: no)]),
185 [enable_extra_opts=$enableval],
186 [enable_extra_opts=no])
187 AM_CONDITIONAL([USE_PARSE_INI],[test "$enable_extra_opts" = "yes"])
188 if test "$enable_extra_opts" = "yes" ; then
189 AC_DEFINE(NP_EXTRA_OPTS,[1],[Enable INI file parsing.])
190 if test "$enable_libtap" = "yes"; then
191 EXTRA_TEST="$EXTRA_TEST test_ini1 test_ini3 test_opts1 test_opts2 test_opts3"
196 dnl Check for PostgreSQL libraries
198 _SAVEDCPPFLAGS="$CPPFLAGS"
200 ACX_HELP_STRING([--with-pgsql=DIR],
201 [sets path to pgsql installation]),
203 AC_CHECK_LIB(crypt,main)
204 if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then
205 if test -n "$PGSQL"; then
206 LDFLAGS="$LDFLAGS -L$PGSQL/lib"
207 CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
209 AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
210 if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
211 AC_CHECK_HEADERS(pgsql/libpq-fe.h)
212 AC_CHECK_HEADERS(postgresql/libpq-fe.h)
213 AC_CHECK_HEADERS(libpq-fe.h)
214 if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
215 PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
216 PGINCLUDE="-I$PGSQL/include"
217 elif test "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
218 PGLIBS="-lpq -lcrypt"
219 PGINCLUDE="-I/usr/include/pgsql"
220 elif test "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
221 PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
222 PGINCLUDE="-I/usr/include/postgresql"
223 elif test "$ac_cv_header_libpq_fe_h" = "yes"; then
224 PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
225 PGINCLUDE="-I$PGSQL/include"
227 if test -z "$PGINCLUDE"; then
228 AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
229 AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
233 EXTRAS="$EXTRAS check_pgsql"
236 AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
237 AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
238 AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
241 AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
242 AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
245 CPPFLAGS="$_SAVEDCPPFLAGS"
247 dnl Check for radius libraries
249 AC_CHECK_LIB(radiusclient,rc_read_config)
250 if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
251 EXTRAS="$EXTRAS check_radius"
252 RADIUSLIBS="-lradiusclient"
255 AC_CHECK_LIB(radiusclient-ng,rc_read_config)
256 if test "$ac_cv_lib_radiusclient_ng_rc_read_config" = "yes"; then
257 EXTRAS="$EXTRAS check_radius"
258 RADIUSLIBS="-lradiusclient-ng"
261 AC_MSG_WARN([Skipping radius plugin])
262 AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
267 dnl Check for LDAP libraries
269 AC_CHECK_LIB(ldap,main,,,-llber)
270 if test "$ac_cv_lib_ldap_main" = "yes"; then
271 LDAPLIBS="-lldap -llber"\
272 LDAPINCLUDE="-I/usr/include/ldap"
274 AC_SUBST(LDAPINCLUDE)
275 AC_CHECK_FUNCS(ldap_set_option)
276 EXTRAS="$EXTRAS check_ldap"
277 AC_CHECK_FUNCS(ldap_init ldap_set_option ldap_get_option ldap_start_tls_s)
279 AC_MSG_WARN([Skipping LDAP plugin])
280 AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
284 dnl Check for headers used by check_ide_smart
285 AC_CHECK_HEADER(linux/hdreg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
286 if test "$FOUNDINCLUDE" = "yes" ; then
287 AC_CHECK_HEADER(linux/types.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
290 if test "$FOUNDINCLUDE" = "yes" ; then
291 EXTRAS="$EXTRAS check_ide_smart"
293 AC_MSG_WARN([Skipping check_ide_smart plugin.])
294 AC_MSG_WARN([check_ide_smart is linux specific. It requires linux/hdreg.h and linux/types.h.])
297 dnl Check for mysql libraries
299 if test $with_mysql = "no" ; then
300 AC_MSG_WARN([Skipping mysql plugin])
301 AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
303 EXTRAS="$EXTRAS check_mysql check_mysql_query"
304 MYSQLINCLUDE="$np_mysql_include"
305 MYSQLLIBS="$np_mysql_libs"
306 MYSQLCFLAGS="$np_mysql_cflags"
307 AC_SUBST(MYSQLINCLUDE)
309 AC_SUBST(MYSQLCFLAGS)
313 [AS_HELP_STRING([--with-ipv6], [support IPv6 @<:@default=check@:>@])],
314 [], [with_ipv6=check])
316 dnl Check for AF_INET6 support - unistd.h required for Darwin
317 if test "$with_ipv6" != "no"; then
318 AC_CACHE_CHECK([for IPv6 support], np_cv_sys_ipv6, [
320 [#ifdef HAVE_UNISTD_H
323 #include <netinet/in.h>
324 #include <sys/socket.h>],
325 [struct sockaddr_in6 sin6;
328 sin6.sin6_family = AF_INET6;
329 sin6.sin6_port = 587;
330 p = &sin6.sin6_addr;],
331 [np_cv_sys_ipv6=yes],
334 if test "$np_cv_sys_ipv6" = "no" -a "$with_ipv6" != "check"; then
335 AC_MSG_FAILURE([--with-ipv6 was given, but test for IPv6 support failed])
337 if test "$np_cv_sys_ipv6" = "yes"; then
338 AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
340 with_ipv6="$np_cv_sys_ipv6"
344 dnl Checks for Kerberos. Must come before openssl checks for Redhat EL 3
345 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
346 if test "$FOUNDINCLUDE" = "no"; then
347 _SAVEDCPPFLAGS="$CPPFLAGS"
348 CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
349 unset ac_cv_header_krb5_h
350 AC_CHECK_HEADERS(krb5.h,
351 KRB5INCLUDE="-I/usr/kerberos/include"
356 if test "$FOUNDINCLUDE" = "no"; then
357 CPPFLAGS="$_SAVEDCPPFLAGS"
360 dnl *** The following block comes from wget configure.ac ***
361 dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
362 dnl shared library doesn't record its dependency on libdl, so we
363 dnl need to check for it ourselves so we won't fail to link due to a
364 dnl lack of -ldl. Most OSes use dlopen(), but HP-UX uses
366 AC_CHECK_LIB(dl,dlopen)
367 AC_CHECK_LIB(dl,shl_load)
369 dnl openssl detection/configuration
370 if ! test x"$with_openssl" = x"no"; then
371 dnl Check for OpenSSL location if it wasn't already specified
372 if ! test -d "$with_openssl"; then
373 for d in $OPENSSL_DIRS; do
374 if test -x ${d}/bin/openssl || test -x ${d}/sbin/openssl ; then
380 _SAVEDCPPFLAGS="$CPPFLAGS"
381 _SAVEDLDFLAGS="$LDFLAGS"
382 dnl Check for OpenSSL header files
384 if test x"$with_openssl" != x"/usr" ; then
385 CPPFLAGS="$CPPFLAGS -I$with_openssl/include"
386 LDFLAGS="$LDFLAGS -L$with_openssl/lib"
389 dnl check for openssl in $dir/include/openssl
390 AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
391 SSLINCLUDE="-I$with_openssl/include"
394 dnl else check to see if $dir/include has it
395 if test "$FOUNDINCLUDE" = "no"; then
396 AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
397 SSLINCLUDE="-I$with_openssl/include"
402 dnl if we didn't find it, reset CPPFLAGS
403 if test "$FOUNDINCLUDE" = "no"; then
404 CPPFLAGS="$_SAVEDCPPFLAGS"
405 LDFLAGS="$_SAVEDLDFLAGS"
408 dnl Check for crypto lib
410 LIBS="-L${with_openssl}/lib"
411 AC_CHECK_LIB(crypto,CRYPTO_lock)
412 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
413 dnl Check for SSL lib
414 AC_CHECK_LIB(ssl,main, SSLLIBS="-lssl -lcrypto",,-lcrypto)
418 dnl test headers and libs to decide whether check_http should use SSL
419 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
420 if test "$ac_cv_lib_ssl_main" = "yes"; then
421 if test "$FOUNDINCLUDE" = "yes"; then
429 dnl check for gnutls if openssl isn't found (or is disabled)
430 if test ! "$FOUNDOPENSSL" = "yes" && test ! "$with_gnutls" = "no"; then
431 if test ! "$with_gnutls" = ""; then
432 CPPFLAGS="$CPPFLAGS -I${with_gnutls}/include"
433 elif test ! "$LIBGNUTLS_CONFIG" = ""; then
434 CPPFLAGS="$CPPFLAGS -I`$LIBGNUTLS_CONFIG --prefix`"
436 AC_CHECK_HEADERS([gnutls/openssl.h],FOUNDGNUTLS="yes",)
437 if test "$FOUNDGNUTLS" = "yes"; then
438 AC_CHECK_LIB(gnutls-openssl,main,SSLLIBS="-lgnutls-openssl")
441 dnl end check for gnutls
443 if test "$FOUNDOPENSSL" = "yes" || test "$FOUNDGNUTLS" = "yes"; then
444 check_tcp_ssl="check_simap check_spop check_jabber check_nntps check_ssmtp"
445 AC_SUBST(check_tcp_ssl)
447 AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
448 if test "$FOUNDOPENSSL" = "yes"; then
449 AC_DEFINE(USE_OPENSSL,1,[Define if using OpenSSL libraries])
453 AC_DEFINE(USE_GNUTLS,1,[Define if using gnutls libraries])
458 dnl else deliberately disabled or no ssl support available
459 AC_MSG_WARN([OpenSSL or GnuTLS libs could not be found or were disabled])
465 dnl Checks for header files.
470 AC_CHECK_HEADERS(signal.h syslog.h uio.h errno.h sys/time.h sys/socket.h sys/un.h sys/poll.h)
471 AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h)
473 dnl Checks for typedefs, structures, and compiler characteristics.
480 AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
481 AC_TRY_LINK([#include <stdarg.h>
482 va_list ap1,ap2;], [va_copy(ap1,ap2);],
483 ac_cv_HAVE_VA_COPY=yes,
484 ac_cv_HAVE_VA_COPY=no)])
485 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
486 AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
488 AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE___VA_COPY,[
489 AC_TRY_LINK([#include <stdarg.h>
490 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
491 ac_cv_HAVE___VA_COPY=yes,
492 ac_cv_HAVE___VA_COPY=no)])
493 if test x"$ac_cv_HAVE___VA_COPY" = x"yes"; then
494 AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
498 AC_TRY_COMPILE([#include <sys/time.h>],
500 struct timezone *tz;],
501 AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])
502 AC_TRY_COMPILE([#include <sys/time.h>],
505 gettimeofday(tv, tz);],
506 AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]),
507 AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
509 dnl Checks for library functions.
510 AC_CHECK_FUNCS(memmove select socket strdup strstr strtol strtoul floor)
513 AC_MSG_CHECKING(return type of socket size)
514 AC_TRY_COMPILE([#include <stdlib.h>
515 #include <sys/types.h>
516 #include <sys/socket.h>],
517 [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
518 ac_cv_socket_size_type=["size_t"]
519 AC_MSG_RESULT(size_t),
520 ac_cv_socket_size_type=["int"]
523 AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $ac_cv_socket_size_type ,
524 [Define type of socket size])
527 dnl #### Process table test
529 AC_PATH_PROG(PATH_TO_PS,ps)
531 AC_MSG_CHECKING(for ps syntax)
532 AC_ARG_WITH(ps_command,
533 ACX_HELP_STRING([--with-ps-command=PATH],
534 [Verbatim command to execute for ps]),
536 AC_ARG_WITH(ps_format,
537 ACX_HELP_STRING([--with-ps-format=FORMAT],
538 [Format string for scanning ps output]),
541 ACX_HELP_STRING([--with-ps-cols=NUM],
542 [Number of columns in ps command]),
544 AC_ARG_WITH(ps_varlist,
545 ACX_HELP_STRING([--with-ps-varlist=LIST],
546 [Variable list for sscanf of 'ps' output]),
549 if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -n "$PS_VARLIST"; then
550 ac_cv_ps_command="$PS_COMMAND"
551 ac_cv_ps_format="$PS_FORMAT"
552 ac_cv_ps_varlist="$PS_VARLIST"
553 ac_cv_ps_cols="$PS_COLS"
554 AC_MSG_RESULT([(command-line) $ac_cv_ps_command])
556 dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
557 elif test "$ac_cv_uname_s" = "SunOS"; then
559 # this is a very, very ugly hack, to hardcode the location for plugins
561 if test "$libexecdir" = '${exec_prefix}/libexec'; then
562 if test "$exec_prefix" = "NONE"; then
563 if test "$prefix" = "NONE"; then
564 pst3="$ac_default_prefix/libexec/pst3"
566 pst3="$prefix/libexec/pst3"
569 pst3="$exec_prefix/libexec/pst3"
572 pst3="$libexecdir/pst3"
574 ac_cv_ps_command="$pst3"
575 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
576 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
578 AC_MSG_RESULT([using nagios-plugins internal ps command (pst3) for solaris])
579 if test `isainfo -b` = 64 ; then
582 AC_MSG_NOTICE([using 64bit pst3])
584 AC_MSG_NOTICE([using 32bit pst3])
586 EXTRAS_ROOT="$EXTRAS_ROOT pst3"
588 dnl Removing this for the moment - Ton
589 dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation
590 dnl Limitation that command name is not available
591 dnl elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \
592 dnl egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null
594 dnl ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]"
595 dnl ac_cv_ps_command="/usr/ucb/ps -alxwwn"
596 dnl ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"]
598 dnl AC_MSG_RESULT([$ac_cv_ps_command])
600 dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
601 dnl so test for this first...
602 elif ps axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
603 egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
605 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
606 ac_cv_ps_command="$PATH_TO_PS axwo 'stat uid pid ppid vsz rss pcpu comm args'"
607 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
609 AC_MSG_RESULT([$ac_cv_ps_command])
611 dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
612 dnl Should also work for FreeBSD 5.2.1 and 5.3
613 dnl STAT UCOMM VSZ RSS USER PPID COMMAND
614 elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
615 egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
617 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
618 ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'"
619 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
621 AC_MSG_RESULT([$ac_cv_ps_command])
623 dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
624 dnl Limitation: Only first 16 chars returned for ucomm field
625 dnl Must come before ps -weo
626 elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
627 egrep -i ["^ *STAT +UID +PID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null
629 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
630 ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu ucomm command'"
631 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
633 AC_MSG_RESULT([$ac_cv_ps_command])
635 dnl STAT UCOMM VSZ RSS USER UID PPID COMMAND
636 elif ps -weo 'stat comm vsz rss user uid pid ppid etime args' 2>/dev/null | \
637 egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
639 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]"
640 ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid pid ppid vsz rss pcpu etime comm args'"
641 ac_cv_ps_format="%s %d %d %d %d %d %f %s %s %n"
643 AC_MSG_RESULT([$ac_cv_ps_command])
646 elif ps waxco 'state command vsz rss uid user pid ppid' 2>/dev/null | \
647 egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PID +PPID"] >/dev/null
649 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
650 ac_cv_ps_command="$PATH_TO_PS waxco 'state uid pid ppid vsz rss pcpu command command'"
651 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
653 AC_MSG_RESULT([$ac_cv_ps_command])
655 dnl BSD-like mode in RH 6.1
656 elif ps waxno 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
657 egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
659 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
660 ac_cv_ps_command="$PATH_TO_PS waxno 'state uid pid ppid vsz rss pcpu comm args'"
661 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
663 AC_MSG_RESULT([$ac_cv_ps_command])
666 dnl F UID PID PPID CP PRI NI SZ RSS WCHAN STAT TT TIME COMMAND
667 dnl Need the head -1 otherwise test will work because arguments are found
668 elif ps -laxnwww 2>/dev/null | head -1 | \
669 egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
671 ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
672 ac_cv_ps_command="$PATH_TO_PS -laxnwww"
673 ac_cv_ps_format="%*s %d %d %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
675 AC_MSG_RESULT([$ac_cv_ps_command])
677 dnl Debian Linux / procps v1.2.9:
678 dnl FLAGS UID PID PPID PRI NI SIZE RSS WCHAN STA TTY TIME COMMAND
679 dnl 100 0 1 0 0 0 776 76 c0131c8c S ffff 0:11 init [2]
681 elif ps laxnwww 2>/dev/null | \
682 egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
684 ac_cv_ps_varlist="[&procuid,&procpid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
685 ac_cv_ps_command="$PATH_TO_PS laxnwww"
686 ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
688 AC_MSG_RESULT([$ac_cv_ps_command])
690 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
691 elif ps -axo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
692 egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
694 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
695 ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid pid ppid vsz rss pcpu comm args'"
696 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
698 AC_MSG_RESULT([$ac_cv_ps_command])
700 dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
701 dnl Has /usr/bin/ps and /sbin/ps - force sbin version
702 dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
703 dnl of 1500). Will need big changes to check_procs to support
704 elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
705 egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
707 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procpcpu,procetime,procprog,&pos]"
708 ac_cv_ps_command="/sbin/ps -eo 'stat uid pid ppid pcpu etime comm args'"
709 ac_cv_ps_format=["%s%*[ +<>] %d %d %d %f %s %s %n"]
711 AC_MSG_RESULT([$ac_cv_ps_command])
713 elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \
714 egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
716 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
717 ac_cv_ps_command="$PATH_TO_PS -eo 's uid pid ppid vsz rss pcpu comm args'"
718 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
720 AC_MSG_RESULT([$ac_cv_ps_command])
722 dnl AIX 4.3.3 and 5.1 do not have an rss field
723 elif ps -eo 'stat uid pid ppid vsz pcpu comm args' 2>/dev/null | \
724 egrep -i ["^ *S[TAUES]* +UID +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
726 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
727 ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid pid ppid vsz pcpu comm args'"
728 ac_cv_ps_format="%s %d %d %d %d %f %s %n"
730 AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
733 elif ps -Ao 's comm vsz rss uid user pid ppid args' 2>/dev/null | \
734 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
736 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
737 ac_cv_ps_command="$PATH_TO_PS -Ao 's uid pid ppid vsz rss pcpu comm args'"
738 # There must be no space between the %s and %n due to a wierd problem in sscanf where
739 # it will return %n as longer than the line length
740 ac_cv_ps_format="%s %d %d %d %d %d %f %s%n"
742 AC_MSG_RESULT([$ac_cv_ps_command])
744 elif ps -Ao 'status comm vsz rss uid user pid ppid args' 2>/dev/null | \
745 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
747 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
748 ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid pid ppid vsz rss pcpu comm args'"
749 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
751 AC_MSG_RESULT([$ac_cv_ps_command])
753 elif ps -Ao 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
754 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
756 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
757 ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid pid ppid vsz rss pcpu comm args'"
758 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
760 AC_MSG_RESULT([$ac_cv_ps_command])
762 dnl wonder who takes state instead of stat
763 elif ps -ao 'state command vsz rss user pid ppid args' 2>/dev/null | \
764 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
766 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
767 ac_cv_ps_command="$PATH_TO_PS -ao 'state uid pid ppid vsz rss pcpu command args'"
768 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
770 AC_MSG_RESULT([$ac_cv_ps_command])
773 elif ps -el 2>/dev/null | \
774 egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
776 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&pos,procprog]"
777 ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)"
778 ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
780 AC_MSG_RESULT([$ac_cv_ps_command])
783 elif ps -el 2>/dev/null | \
784 egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
786 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
787 ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)"
788 ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
790 AC_MSG_RESULT([$ac_cv_ps_command])
793 dnl F S UID PID PPID C PRI NI ADDR SZ RSS WCHAN TTY TIME CMD
794 dnl 303 A 0 0 0 120 16 -- 1c07 20 24 - 0:45 swapper
795 elif ps -el 2>/dev/null | \
796 egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
798 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
799 ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)"
800 ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
802 AC_MSG_RESULT([$ac_cv_ps_command])
805 elif ps glaxen 2>/dev/null | \
806 egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
808 ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
809 ac_cv_ps_command="$PATH_TO_PS glaxen"
810 ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
812 AC_MSG_RESULT([$ac_cv_ps_command])
815 dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
816 dnl Some truncation will happen in UCOMM column
817 dnl STAT VSZ RSS UID PPID %CPU UCOMM COMMAND
818 dnl Ss 52756 22496 501 1 6.9 Window Manager /System/Library/CoreServices/WindowServer -daemon
819 elif ps wwaxo 'state vsz rss uid pid ppid pcpu ucomm command' 2>/dev/null | \
820 egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null
822 ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid pid ppid pcpu ucomm command'"
823 ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procpid,&procppid,&procpcpu,procprog,&pos]"
824 ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
826 AC_MSG_RESULT([$ac_cv_ps_command])
829 elif ps -Al 2>/dev/null | \
830 egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
832 ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
833 ac_cv_ps_command="$PATH_TO_PS -Al"
834 ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
836 AC_MSG_RESULT([$ac_cv_ps_command])
839 AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled])
842 if test -n "$ac_cv_ps_varlist" ; then
843 AC_DEFINE_UNQUOTED(PS_VARLIST,$ac_cv_ps_varlist,
844 [Variable list for sscanf of 'ps' output])
845 AC_DEFINE_UNQUOTED(PS_COMMAND,"$ac_cv_ps_command",
846 [Verbatim command to execute for ps in check_procs])
847 AC_DEFINE_UNQUOTED(PS_FORMAT,"$ac_cv_ps_format",
848 [Format string for scanning ps output in check_procs])
849 AC_DEFINE_UNQUOTED(PS_COLS,$ac_cv_ps_cols,
850 [Number of columns in ps command])
851 EXTRAS="$EXTRAS check_procs check_nagios"
852 if echo "$ac_cv_ps_varlist" | grep "procetime" >/dev/null; then
853 AC_DEFINE(PS_USES_PROCETIME,"yes",
854 [Whether the ps utility uses the "procetime" field])
858 AC_PATH_PROG(PATH_TO_PING,ping)
859 AC_PATH_PROG(PATH_TO_PING6,ping6)
861 AC_ARG_WITH(ping_command,
862 ACX_HELP_STRING([--with-ping-command=SYNTAX],
863 [sets syntax for ICMP ping]),
864 with_ping_command=$withval,)
866 AC_MSG_CHECKING(for ICMP ping syntax)
867 ac_cv_ping_packets_first=no
868 ac_cv_ping_has_timeout=no
869 if test -n "$with_ping_command"
871 AC_MSG_RESULT([(command-line) $with_ping_command])
872 if test -n "$ac_cv_ping_packets_first"
874 ac_cv_ping_packets_first=yes
875 ac_cv_ping_has_timeout=yes
878 elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
879 $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
880 egrep -i "^round-trip|^rtt" >/dev/null
882 with_ping_command="$PATH_TO_PING -n -U -c %d %s"
883 ac_cv_ping_packets_first=yes
884 AC_MSG_RESULT([$with_ping_command])
886 elif $PATH_TO_PING -n -U -w 10 -c 1 127.0.0.1 2>/dev/null | \
887 egrep -i "^round-trip|^rtt" >/dev/null
889 with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s"
890 ac_cv_ping_packets_first=yes
891 ac_cv_ping_has_timeout=yes
892 AC_MSG_RESULT([$with_ping_command])
894 elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
895 egrep -i "^round-trip|^rtt" >/dev/null
897 with_ping_command="$PATH_TO_PING -n -U -c %d %s"
898 ac_cv_ping_packets_first=yes
899 AC_MSG_RESULT([$with_ping_command])
901 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
902 egrep -i "^round-trip|^rtt" >/dev/null
904 with_ping_command="$PATH_TO_PING -n -c %d %s"
905 ac_cv_ping_packets_first=yes
906 AC_MSG_RESULT([$with_ping_command])
908 elif $PATH_TO_PING -n 127.0.0.1 -c 1 2>/dev/null | \
909 egrep -i "^round-trip|^rtt" >/dev/null
911 with_ping_command="$PATH_TO_PING -n %s -c %d"
912 AC_MSG_RESULT([$with_ping_command])
914 elif $PATH_TO_PING 127.0.0.1 -n 1 2>/dev/null | \
915 egrep -i "^round-trip|^rtt" >/dev/null
917 with_ping_command="$PATH_TO_PING %s -n %d"
918 AC_MSG_RESULT([$with_ping_command])
920 elif $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
921 egrep -i "^round-trip|^rtt" >/dev/null
923 with_ping_command="$PATH_TO_PING -n -s %s 56 %d"
924 AC_MSG_RESULT([$with_ping_command])
926 elif $PATH_TO_PING -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | \
927 egrep -i "^round-trip|^rtt" >/dev/null
929 with_ping_command="$PATH_TO_PING -n -h %s -s 56 -c %d"
930 AC_MSG_RESULT([$with_ping_command])
932 elif $PATH_TO_PING -n -s 56 -c 1 127.0.0.1 2>/dev/null | \
933 egrep -i "^round-trip|^rtt" >/dev/null
935 with_ping_command="$PATH_TO_PING -n -s 56 -c %d %s"
936 ac_cv_ping_packets_first=yes
937 AC_MSG_RESULT([$with_ping_command])
939 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
940 egrep -i "^round-trip|^rtt" >/dev/null
942 with_ping_command="$PATH_TO_PING -n -c %d %s"
943 ac_cv_ping_packets_first=yes
944 AC_MSG_RESULT([$with_ping_command])
947 AC_MSG_WARN([unable to find usable ping syntax])
950 AC_DEFINE_UNQUOTED(PING_COMMAND,"$with_ping_command",
951 [path and args for ICMP ping command])
953 if test "x$ac_cv_ping_packets_first" != "xno"
955 AC_DEFINE(PING_PACKETS_FIRST,1,
956 [Define if packet count must precede host])
959 if test "x$ac_cv_ping_has_timeout" != "xno"
961 AC_DEFINE(PING_HAS_TIMEOUT,1,
962 [Define if ping has its own timeout option that should be set])
965 AC_ARG_WITH(ping6_command,
966 ACX_HELP_STRING([--with-ping6-command=SYNTAX],
967 [sets syntax for ICMPv6 ping]),
968 with_ping6_command=$withval,)
970 if test x"$with_ipv6" != xno ; then
971 AC_MSG_CHECKING(for ICMPv6 ping syntax)
972 ac_cv_ping6_packets_first=no
973 if test -n "$with_ping6_command"
975 AC_MSG_RESULT([(command-line) $with_ping6_command])
976 if test -n "$ac_cv_ping6_packets_first"
978 ac_cv_ping6_packets_first=yes
981 elif test "x$PATH_TO_PING6" != "x"; then
982 if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
983 $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
984 egrep -i "^round-trip|^rtt" >/dev/null
986 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
987 ac_cv_ping6_packets_first=yes
988 AC_MSG_RESULT([$with_ping6_command])
990 elif $PATH_TO_PING6 -n -U -w 10 -c 1 ::1 2>/dev/null | \
991 egrep -i "^round-trip|^rtt" >/dev/null
993 with_ping6_command="$PATH_TO_PING6 -n -U -w %d -c %d %s"
994 ac_cv_ping6_packets_first=yes
995 ac_cv_ping_has_timeout=yes
996 AC_MSG_RESULT([$with_ping6_command])
998 elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
999 egrep -i "^round-trip|^rtt" >/dev/null
1001 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
1002 ac_cv_ping6_packets_first=yes
1003 AC_MSG_RESULT([$with_ping6_command])
1005 elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1006 egrep -i "^round-trip|^rtt" >/dev/null
1008 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1009 ac_cv_ping6_packets_first=yes
1010 AC_MSG_RESULT([$with_ping6_command])
1012 elif $PATH_TO_PING6 -n ::1 -c 1 2>/dev/null | \
1013 egrep -i "^round-trip|^rtt" >/dev/null
1015 with_ping6_command="$PATH_TO_PING6 -n %s -c %d"
1016 AC_MSG_RESULT([$with_ping6_command])
1018 elif $PATH_TO_PING6 ::1 -n 1 2>/dev/null | \
1019 egrep -i "^round-trip|^rtt" >/dev/null
1021 with_ping6_command="$PATH_TO_PING6 %s -n %d"
1022 AC_MSG_RESULT([$with_ping6_command])
1024 elif $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1025 egrep -i "^round-trip|^rtt" >/dev/null
1027 with_ping6_command="$PATH_TO_PING6 -n -s %s 56 %d"
1028 AC_MSG_RESULT([$with_ping6_command])
1030 elif $PATH_TO_PING6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1031 egrep -i "^round-trip|^rtt" >/dev/null
1033 with_ping6_command="$PATH_TO_PING6 -n -h %s -s 56 -c %d"
1034 AC_MSG_RESULT([$with_ping6_command])
1036 elif $PATH_TO_PING6 -n -s 56 -c 1 ::1 2>/dev/null | \
1037 egrep -i "^round-trip|^rtt" >/dev/null
1039 with_ping6_command="$PATH_TO_PING6 -n -s 56 -c %d %s"
1040 ac_cv_ping6_packets_first=yes
1041 AC_MSG_RESULT([$with_ping_command])
1043 elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1044 egrep -i "^round-trip|^rtt" >/dev/null
1046 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1047 ac_cv_ping6_packets_first=yes
1048 AC_MSG_RESULT([$with_ping6_command])
1052 elif test "x$PATH_TO_PING" != "x"; then
1053 if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1054 $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1055 egrep -i "^round-trip|^rtt" >/dev/null
1057 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1058 ac_cv_ping6_packets_first=yes
1059 AC_MSG_RESULT([$with_ping6_command])
1061 elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \
1062 egrep -i "^round-trip|^rtt" >/dev/null
1064 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1065 ac_cv_ping6_packets_first=yes
1066 AC_MSG_RESULT([$with_ping6_command])
1068 elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1069 egrep -i "^round-trip|^rtt" >/dev/null
1071 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1072 ac_cv_ping6_packets_first=yes
1073 AC_MSG_RESULT([$with_ping6_command])
1075 elif $PATH_TO_PING -A inet6 -n ::1 -c 1 2>/dev/null | \
1076 egrep -i "^round-trip|^rtt" >/dev/null
1078 with_ping6_command="$PATH_TO_PING -A inet6 -n %s -c %d"
1079 AC_MSG_RESULT([$with_ping6_command])
1081 elif $PATH_TO_PING -A inet6 ::1 -n 1 2>/dev/null | \
1082 egrep -i "^round-trip|^rtt" >/dev/null
1084 with_ping6_command="$PATH_TO_PING -A inet6 %s -n %d"
1085 AC_MSG_RESULT([$with_ping6_command])
1087 elif $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1088 egrep -i "^round-trip|^rtt" >/dev/null
1090 with_ping6_command="$PATH_TO_PING -A inet6 -n -s %s 56 %d"
1091 AC_MSG_RESULT([$with_ping6_command])
1093 elif $PATH_TO_PING -A inet6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1094 egrep -i "^round-trip|^rtt" >/dev/null
1096 with_ping6_command="$PATH_TO_PING -A inet6 -n -h %s -s 56 -c %d"
1097 AC_MSG_RESULT([$with_ping6_command])
1099 elif $PATH_TO_PING -A inet6 -n -s 56 -c 1 ::1 2>/dev/null | \
1100 egrep -i "^round-trip|^rtt" >/dev/null
1102 with_ping6_command="$PATH_TO_PING -A inet6 -n -s 56 -c %d %s"
1103 ac_cv_ping6_packets_first=yes
1104 AC_MSG_RESULT([$with_ping_command])
1106 elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1107 egrep -i "^round-trip|^rtt" >/dev/null
1109 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1110 ac_cv_ping6_packets_first=yes
1111 AC_MSG_RESULT([$with_ping6_command])
1117 if test "x$with_ping6_command" != "x"; then
1118 AC_DEFINE_UNQUOTED(PING6_COMMAND,"$with_ping6_command",
1119 [path and args for ICMPv6 ping command])
1121 AC_MSG_RESULT([none])
1124 if test "x$ac_cv_ping6_packets_first" != "xno"; then
1125 AC_DEFINE(PING6_PACKETS_FIRST,1,
1126 [Define if packet count must precede host])
1131 AC_ARG_WITH(nslookup_command,
1132 ACX_HELP_STRING([--with-nslookup-command=PATH],
1133 [sets path to nslookup executable]),
1134 ac_cv_nslookup_command=$withval)
1135 if test -n "$ac_cv_nslookup_command"; then
1136 AC_MSG_NOTICE([Using specific nslookup at $ac_cv_nslookup_command])
1138 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
1139 if test -n "$PATH_TO_NSLOOKUP"
1141 AC_MSG_CHECKING(for nslookup syntax)
1142 if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
1144 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
1145 AC_MSG_RESULT([$ac_cv_nslookup_command])
1148 ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
1149 AC_MSG_RESULT([$ac_cv_nslookup_command])
1153 AC_MSG_WARN([nslookup command not found])
1157 if test -n "$ac_cv_nslookup_command"; then
1158 EXTRAS="$EXTRAS check_dns"
1159 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command", [path and args for nslookup])
1162 AC_MSG_CHECKING([for number of cpus])
1163 AC_TRY_COMPILE([#include <unistd.h>],
1164 [sysconf(_SC_NPROCESSORS_CONF) > 0;],
1165 AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of cpus])
1166 AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
1167 AC_MSG_RESULT([cannot calculate])
1170 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
1171 AC_ARG_WITH(uptime_command,
1172 ACX_HELP_STRING([--with-uptime-command=PATH],
1173 [sets path to uptime]), PATH_TO_UPTIME=$withval)
1174 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
1176 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
1177 AC_ARG_WITH(rpcinfo_command,
1178 ACX_HELP_STRING([--with-rpcinfo-command=PATH],
1179 [sets path to rpcinfo]), PATH_TO_RPCINFO=$withval)
1180 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
1182 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
1183 if test -x "$PATH_TO_LMSTAT"
1185 AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
1187 AC_MSG_WARN([Get lmstat from Globetrotter Software to monitor flexlm licenses])
1190 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
1191 AC_ARG_WITH(smbclient_command,
1192 ACX_HELP_STRING([--with-smbclient-command=PATH],
1193 [sets path to smbclient]),
1194 PATH_TO_SMBCLIENT=$withval)
1195 if test -n "$PATH_TO_SMBCLIENT"
1197 AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
1199 AC_MSG_WARN([Get smbclient from Samba.org to monitor SMB shares])
1203 AC_PATH_PROG(PATH_TO_WHO,who)
1205 if [$PATH_TO_WHO -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
1207 ac_cv_path_to_who="$PATH_TO_WHO -q"
1209 ac_cv_path_to_who="$PATH_TO_WHO"
1212 AC_DEFINE_UNQUOTED(WHO_COMMAND,"$ac_cv_path_to_who",
1213 [path and arguments for invoking 'who'])
1215 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
1216 AC_ARG_WITH(snmpget_command,
1217 ACX_HELP_STRING([--with-snmpget-command=PATH],
1218 [Path to snmpget command]),
1219 PATH_TO_SNMPGET=$withval)
1220 if test -n "$PATH_TO_SNMPGET"
1222 AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
1223 EXTRAS="$EXTRAS check_hpjd check_snmp"
1225 AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins])
1228 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
1229 AC_ARG_WITH(snmpgetnext_command,
1230 ACX_HELP_STRING([--with-snmpgetnext-command=PATH],
1231 [Path to snmpgetnext command]),
1232 PATH_TO_SNMPGETNEXT=$withval)
1233 if test -n "$PATH_TO_SNMPGETNEXT"
1235 AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
1238 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null )
1240 AC_MSG_CHECKING(for Net::SNMP perl module)
1241 AC_MSG_RESULT([found])
1243 AC_MSG_WARN([Tried $PERL - install Net::SNMP perl module if you want to use the perl snmp plugins])
1246 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
1247 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
1248 AC_ARG_WITH(qstat_command,
1249 ACX_HELP_STRING([--with-qstat-command=PATH],
1250 [Path to qstat command]), PATH_TO_QSTAT=$withval)
1252 if test -x "$PATH_TO_QUAKESTAT"
1254 ac_cv_path_to_qstat="$PATH_TO_QUAKESTAT"
1255 EXTRAS="$EXTRAS check_game"
1257 elif test -n "$PATH_TO_QSTAT"
1259 ac_cv_path_to_qstat="$PATH_TO_QSTAT"
1260 EXTRAS="$EXTRAS check_game"
1262 AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
1265 if test $ac_cv_path_to_qstat
1267 AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
1268 [path to qstat/quakestat])
1271 AC_PATH_PROG(PATH_TO_FPING,fping)
1272 AC_ARG_WITH(fping_command,
1273 ACX_HELP_STRING([--with-fping-command=PATH],
1274 [Path to fping command]), PATH_TO_FPING=$withval)
1275 if test -n "$PATH_TO_FPING"
1277 AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
1278 EXTRAS="$EXTRAS check_fping"
1280 AC_MSG_WARN([Get fping from http://www.fping.com in order to make check_fping plugin])
1283 AC_PATH_PROG(PATH_TO_SSH,ssh)
1284 AC_ARG_WITH(ssh_command,
1285 ACX_HELP_STRING([--with-ssh-command=PATH],
1286 [sets path for ssh]), PATH_TO_SSH=$withval)
1287 if test -n "$PATH_TO_SSH"
1289 AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
1290 EXTRAS="$EXTRAS check_by_ssh"
1292 AC_MSG_WARN([Get ssh in order to make check_by_ssh plugin])
1296 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
1297 AC_ARG_WITH(mailq_command,
1298 ACX_HELP_STRING([--with-mailq-command=PATH],
1299 [sets path to mailq]), PATH_TO_MAILQ=$withval)
1300 if test -n "$PATH_TO_MAILQ"
1302 AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
1304 AC_MSG_WARN([Could not find mailq or eqivalent])
1307 AC_PATH_PROG(PATH_TO_QMAIL_QSTAT,qmail-qstat)
1308 if test -x "$PATH_TO_QMAIL_QSTAT"
1310 AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_QMAIL_QSTAT",[path to qmail-qstat])
1312 AC_MSG_WARN([Could not find qmail-qstat or eqivalent])
1315 dnl SWAP info required is amount allocated/available and amount free
1316 dnl The plugin works through all the swap devices and adds up the total swap
1318 AC_PATH_PROG(PATH_TO_SWAP,swap)
1319 if (test -n "$PATH_TO_SWAP")
1321 AC_MSG_CHECKING([for $PATH_TO_SWAP format])
1322 if [$PATH_TO_SWAP -l 2>&1 >/dev/null]
1325 ac_cv_swap_command="$PATH_TO_SWAP -l"
1326 if [$PATH_TO_SWAP -l 2>/dev/null | \
1327 egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \
1330 ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %f %f"]
1331 ac_cv_swap_conv=2048
1332 AC_MSG_RESULT([using IRIX format swap])
1334 elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
1336 ac_cv_swap_format=["%*s %*[0-9,-] %*d %f %f"]
1337 ac_cv_swap_conv=2048
1338 AC_MSG_RESULT([using Unixware format swap])
1340 dnl if we don't know what format swap's output is
1341 dnl we might as well pretend we didn't see it
1343 ac_cv_swap_command=""
1346 dnl end if for PATH_TO_SWAP
1349 AC_PATH_PROG(PATH_TO_SWAPINFO,swapinfo)
1350 if (test -n "$PATH_TO_SWAPINFO")
1352 AC_MSG_CHECKING([for $PATH_TO_SWAPINFO format])
1353 if [$PATH_TO_SWAPINFO -k 2>&1 | egrep -i "^Device" >/dev/null]
1356 ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
1358 if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
1360 ac_cv_swap_format=["%*s %f %*d %f"]
1361 ac_cv_swap_conv=1024
1362 AC_MSG_RESULT([using FreeBSD format swapinfo])
1365 elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
1368 ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM"
1369 ac_cv_swap_format=["%*s %f %*d %f"]
1370 ac_cv_swap_conv=1024
1371 AC_MSG_RESULT([using HP-UX format swapinfo])
1373 dnl end if for PATH_TO_SWAPINFO
1376 AC_PATH_PROG(PATH_TO_LSPS,lsps)
1377 if (test -n "$PATH_TO_LSPS")
1379 AC_MSG_CHECKING([for $PATH_TO_LSPS format])
1380 if [$PATH_TO_LSPS -a 2>/dev/null | egrep -i "^Page Space" > /dev/null]
1383 ac_cv_swap_command="$PATH_TO_LSPS -a"
1384 ac_cv_swap_format=["%*s %*s %*s %f%*s %f %*s"]
1386 AC_MSG_RESULT([using AIX lsps])
1388 dnl end if for PATH_TO_SWAPINFO
1392 dnl test for swapctl system call, both the 2-arg and 3-arg variants
1393 dnl fwict, the 2-arg is an SVR4 standard, whereas the 3-arg is shared
1394 dnl in the various BSD's
1397 AC_CHECK_HEADERS([sys/stat.h sys/param.h])
1398 AC_CHECK_HEADERS([sys/swap.h], [], [], [
1399 #ifdef HAVE_SYS_PARAM_H
1400 #include <sys/param.h>
1403 AC_CHECK_DECLS([swapctl],,,[
1405 #include <sys/types.h>
1406 #include <sys/param.h>
1407 #include <sys/stat.h>
1408 #include <sys/swap.h>
1410 AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[
1411 #include <sys/types.h>
1412 #include <sys/param.h>
1413 #include <sys/stat.h>
1414 #include <sys/swap.h>
1416 AC_CHECK_MEMBERS([struct swapent.se_nblks],,,[
1418 #include <sys/types.h>
1419 #include <sys/param.h>
1420 #include <sys/stat.h>
1421 #include <sys/swap.h>
1424 if test "$ac_cv_have_decl_swapctl" = "yes";
1426 EXTRAS="$EXTRAS check_swap"
1427 AC_MSG_CHECKING([for 2-arg (SVR4) swapctl])
1428 if test "$ac_cv_type_swaptbl_t" = "yes" -a \
1429 "$ac_cv_type_swapent_t" = "yes";
1431 AC_MSG_RESULT([yes])
1432 ac_cv_check_swap_swapctl_svr4="1";
1433 AC_DEFINE([CHECK_SWAP_SWAPCTL_SVR4],1,
1434 [Define if 2-argument SVR4 swapctl exists])
1437 AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
1438 if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
1440 AC_MSG_RESULT([yes])
1441 AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
1442 [Define if 3-argument BSD swapctl exists])
1447 AC_MSG_CHECKING([for whether swapctl uses blocks or pages])
1448 if test "$ac_cv_check_swap_swapctl_svr4" = "1";
1451 dnl the SVR4 spec returns values in pages
1453 AC_MSG_RESULT([page])
1454 AC_CHECK_DECLS([sysconf])
1455 AC_MSG_CHECKING([for system page size])
1456 if test "$ac_cv_have_decl_sysconf" = "yes";
1458 AC_MSG_RESULT([determined by sysconf(3)])
1459 ac_cv_swap_conv="(1048576/sysconf(_SC_PAGESIZE))"
1461 AC_MSG_WARN([don't know. guessing 4096k])
1466 dnl the BSD spec returns values in blocks
1468 AC_MSG_RESULT([blocks (assuming 512b)])
1469 ac_cv_swap_conv=2048
1471 AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
1472 [Conversion factor to MB])
1475 dnl end tests for the swapctl system calls
1479 if test "x$ac_cv_have_swap" != "x"
1481 AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1482 EXTRAS="$EXTRAS check_swap"
1484 if test "x$ac_cv_swap_command" != "x"
1486 AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
1487 [Path to swap/swapinfo binary, with any args])
1488 AC_DEFINE_UNQUOTED(SWAP_FORMAT,"$ac_cv_swap_format",
1489 [Format string for parsing swap output])
1490 AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
1491 [Conversion factor to MB])
1494 AC_ARG_WITH(proc-meminfo,
1495 ACX_HELP_STRING([--with-proc-meminfo=PATH],
1496 [path to /proc/meminfo or equivalent]),
1497 ac_cv_proc_meminfo=$withval)
1498 dnl dunno why this does not work below - use hack (kbd)
1499 dnl fine on linux, broken on solaris
1500 dnl if /bin/test -e "/proc/meminfo"
1501 AC_MSG_CHECKING([for /proc/meminfo])
1502 if test -n "$ac_cv_proc_meminfo"; then
1503 AC_MSG_RESULT([(command line) $ac_cv_proc_meminfo])
1504 elif [cat /proc/meminfo > /dev/null 2>&1]; then
1505 AC_MSG_RESULT([found /proc/meminfo])
1506 ac_cv_proc_meminfo="/proc/meminfo"
1511 if test -n "$ac_cv_proc_meminfo"; then
1512 AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
1513 AC_DEFINE_UNQUOTED(PROC_MEMINFO,"$ac_cv_proc_meminfo",[path to /proc/meminfo if name changes])
1514 EXTRAS="$EXTRAS check_swap"
1517 AC_PATH_PROG(PATH_TO_DIG,dig)
1518 AC_ARG_WITH(dig_command,
1519 ACX_HELP_STRING([--with-dig-command=PATH],
1520 [Path to dig command]), PATH_TO_DIG=$withval)
1521 if test -n "$PATH_TO_DIG"; then
1522 EXTRAS="$EXTRAS check_dig"
1523 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
1526 AC_PATH_PROG(PATH_TO_APTGET,apt-get)
1527 AC_ARG_WITH(apt-get_command,
1528 ACX_HELP_STRING([--with-apt-get-command=PATH],
1529 [Path to apt-get command]),
1530 with_apt_get_command=$withval,
1531 with_apt_get_command=$PATH_TO_APTGET)
1532 AC_DEFINE_UNQUOTED(PATH_TO_APTGET,"$PATH_TO_APTGET",[Path to apt-get command, if present])
1533 if test -n "$PATH_TO_APTGET" ; then
1534 EXTRAS="$EXTRAS check_apt"
1538 if test -f plugins/check_nt.c ; then
1539 EXTRAS="$EXTRAS check_nt"
1540 elif test -f ../plugins/check_nt.c ; then
1541 EXTRAS="$EXTRAS check_nt"
1545 dnl used in check_dhcp
1546 AC_CHECK_HEADERS(sys/sockio.h)
1550 AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c])
1553 AC_DEFINE(__linux__,1,[linux specific code in check_dhcp.c])
1556 AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
1559 AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
1564 AC_SUBST(EXTRAS_ROOT)
1565 AC_SUBST(EXTRA_NETOBJS)
1568 AM_GNU_GETTEXT([external], [need-ngettext])
1569 AM_GNU_GETTEXT_VERSION(0.15)
1571 dnl Check for Redhat spopen problem
1572 dnl Wierd problem where ECHILD is returned from a wait call in error
1573 dnl Only appears to affect nslookup and dig calls. Only affects redhat around
1574 dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause
1575 dnl We patch plugins/popen.c
1576 dnl Need to add smp because uname different on those
1577 dnl Can force patch to be applied with --enable-redhat-pthread-workaround
1578 AC_ARG_ENABLE(redhat-pthread-workaround,
1579 AC_HELP_STRING([--enable-redhat-pthread-workaround],
1580 [force Redhat patch to be applied (default: test system)]),
1581 [ac_cv_enable_redhat_pthread_workaround=$enableval],
1582 [ac_cv_enable_redhat_pthread_workaround=test])
1583 if test "$ac_cv_enable_redhat_pthread_workaround" = "test" ; then
1584 if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then
1585 AC_MSG_NOTICE([See http://nagiosplugins.org/faq/compile/configure_appears_to_hang if this next part takes a long time])
1586 AC_MSG_CHECKING(for redhat spopen problem)
1587 ( cd config_test && make && make test ) > /dev/null 2>&1
1588 if test $? -eq 0 ; then
1591 AC_MSG_RESULT(error)
1592 AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Workaround on redhat in spopen])
1595 elif test "$ac_cv_enable_redhat_pthread_workaround" = "yes" ; then
1596 AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Forced workaround on redhat in spopen])
1600 AC_ARG_ENABLE(perl-modules,
1601 AC_HELP_STRING([--enable-perl-modules],
1602 [Enables installation of Nagios::Plugin and its dependencies (default: no)]),
1603 [enable_perl_modules=$enableval],
1604 [enable_perl_modules=no])
1605 if test "$enable_perl_modules" = "yes" ; then
1606 AC_SUBST(PERLMODS_DIR,perlmods)
1609 # From Tap configure
1610 # Checks for libraries
1613 LDFLAGS="$LDFLAGS -pthread"
1617 AC_CHECK_LIB(pthread, main)
1621 dnl External libraries - see ACKNOWLEDGEMENTS
1624 dnl Some helpful common compile errors checked here
1625 if test "$ac_cv_uname_s" = 'SunOS' -a \( "x$ac_cv_prog_ac_ct_AR" = "x" -o "$ac_cv_prog_ac_ct_AR" = 'false' \) ; then
1626 AC_MSG_ERROR(No ar found for Solaris - is /usr/ccs/bin in PATH?)
1635 plugins-root/Makefile
1636 plugins-scripts/Makefile
1637 plugins-scripts/subst
1638 plugins-scripts/utils.pm
1639 plugins-scripts/utils.sh
1648 dnl the ones below that are commented out need to be cleaned up
1649 dnl in the configure code above to use with_foo instead of ac_cv_foo
1650 dnl if we want them to show up here. it'd also make the code cleaner.
1651 dnl i'll get to that on another rainy day :) -sf
1652 ACX_FEATURE([with],[apt-get-command])
1653 dnl ACX_FEATURE([with],[dig-command])
1654 dnl ACX_FEATURE([with],[fping-command])
1655 dnl ACX_FEATURE([with],[mailq-command])
1656 dnl ACX_FEATURE([with],[nslookup-command])
1657 ACX_FEATURE([with],[ping6-command])
1658 ACX_FEATURE([with],[ping-command])
1659 dnl ACX_FEATURE([with],[qstat-command])
1660 dnl ACX_FEATURE([with],[rpcinfo-command])
1661 dnl ACX_FEATURE([with],[smbclient-command])
1662 dnl ACX_FEATURE([with],[snmpget-command])
1663 dnl ACX_FEATURE([with],[snmpgetnext-command])
1664 dnl ACX_FEATURE([with],[ssh-command])
1665 dnl ACX_FEATURE([with],[uptime-command])
1667 dnl ACX_FEATURE([with],[proc-meminfo])
1668 dnl ACX_FEATURE([with],[ps-command])
1669 dnl ACX_FEATURE([with],[ps-format])
1670 dnl ACX_FEATURE([with],[ps-cols])
1671 dnl ACX_FEATURE([with],[ps-varlist])
1673 ACX_FEATURE([with],[ipv6])
1674 ACX_FEATURE([with],[mysql])
1675 ACX_FEATURE([with],[openssl])
1676 ACX_FEATURE([with],[gnutls])
1677 ACX_FEATURE([enable],[extra-opts])
1678 ACX_FEATURE([with],[perl])
1679 ACX_FEATURE([enable],[perl-modules])
1680 ACX_FEATURE([with],[cgiurl])
1681 ACX_FEATURE([with],[trusted-path])
1682 ACX_FEATURE([enable],[libtap])