This patch adds support for using the readcli lib.
[monitoring-plugins.git] / configure.ac
blob1368780f001c533a9413cc9fd53b6e5cefa6bff8
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.59)
3 AC_INIT(monitoring-plugins,2.1.2)
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_MAINTAINER_MODE([enable])
9 AC_CONFIG_HEADERS([config.h])
10 AC_CANONICAL_HOST
12 DEFAULT_PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
13 RELEASE=1
14 AC_SUBST(RELEASE)
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
21 extra_install_args=""
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"
40 AC_SUBST(INSTALL)
42 AC_PROG_CC
43 gl_EARLY
44 AC_PROG_GCC_TRADITIONAL
45 AC_PROG_LIBTOOL
47 AM_PROG_CC_C_O
49 AC_FUNC_ERROR_AT_LINE
50 AC_SYS_LARGEFILE
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 Monitoring 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"
61 AC_SUBST(WARRANTY)
63 SUPPORT="Send email to help@monitoring-plugins.org if you have questions regarding use\nof this software. To submit patches or suggest improvements, send email to\ndevel@monitoring-plugins.org. Please include version information with all\ncorrespondence (when possible, use output from the --version option of the\nplugin itself).\n"
64 AC_SUBST(SUPPORT)
66 dnl CGIURL has changed for Nagios with 1.0 beta
67 AC_ARG_WITH(cgiurl,
68         ACX_HELP_STRING([--with-cgiurl=DIR],
69                 [sets URL for cgi programs]),
70         with_cgiurl=$withval,
71         with_cgiurl=/nagios/cgi-bin)
72 CGIURL="$with_cgiurl"
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]),
78         with_trusted_path=$withval,
79         with_trusted_path=$DEFAULT_PATH)
80 AC_SUBST(with_trusted_path)
82 EXTRAS=
83 EXTRAS_ROOT=
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`
92 ac_cv_uname_o=`uname -o`
94 PKG_ARCH=`uname -p`
95 REV_DATESTAMP=`date '+%Y.%m.%d.%H.%M'`
96 REV_TIMESTAMP=`date '+%Y%m%d%H%M%S'`
98 AC_SUBST(PKG_ARCH)
99 AC_SUBST(REV_DATESTAMP)
100 AC_SUBST(REV_TIMESTAMP)
102 dnl Check if version file is present
103 AM_CONDITIONAL([RELEASE_PRESENT], [test -f $srcdir/release])
105 # Also read in the version from it
106 if test -f $srcdir/release; then
107         NP_RELEASE="$(<release)"
108 else
109         NP_RELEASE="$PACKAGE_VERSION"
111 AC_SUBST(NP_RELEASE)
113 dnl Checks for programs.
114 AC_PATH_PROG(PERL,perl)
115 AC_PATH_PROG(HOSTNAME,hostname)
116 AC_PATH_PROG(BASENAME,basename)
118 dnl allow them to override the path of perl
119 AC_ARG_WITH(perl,
120         ACX_HELP_STRING([--with-perl=PATH],
121                         [sets path to perl executable]),
122                         with_perl=$withval,with_perl=$PERL)
123 AC_SUBST(PERL, $with_perl)
125 dnl openssl/gnutls
126 AC_ARG_WITH(openssl,
127             AC_HELP_STRING([--with-openssl=DIR],
128                            [path to openssl installation]),)
130 AC_ARG_WITH(gnutls,
131             ACX_HELP_STRING([--with-gnutls=PATH],
132                             [path to gnutls installation root]),)
134 dnl you can only have one or the other
135 if test ! "$with_openssl" = "" && test ! "$with_openssl" = "no"; then
136         with_gnutls="no"
138 if test ! "$with_gnutls" = "" && test ! "$with_gnutls" = "no"; then
139         with_openssl="no"
142 dnl list of possible dirs to try to autodetect openssl
143 dnl if $dir/include exists, we consider it found
144 dnl the order should allow locally installed versions to override distros' ones
145 OPENSSL_DIRS="/usr /usr/local /usr/slocal /usr/local/openssl /usr/local/ssl \
146               /opt /opt/openssl"
150 dnl Checks for libraries.
153 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
154 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
155 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
156 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
157 AC_SUBST(SOCKETLIBS)
160 dnl check for math-related functions needing -lm
161 AC_CHECK_HEADERS(math.h)
162 AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
163 AC_CHECK_HEADERS(mp.h)
164 AC_CHECK_LIB(bsd,pow,MATHLIBS="$MATHLIBS -lbsd")
165 AC_SUBST(MATHLIBS)
167 dnl Check if we buils local libtap
168 AC_ARG_ENABLE(libtap,
169   AC_HELP_STRING([--enable-libtap],
170                 [Enable built-in libtap for unit-testing (default: autodetect system library).]),
171         [enable_libtap=$enableval],
172         [enable_libtap=no])
173 AM_CONDITIONAL([USE_LIBTAP_LOCAL],[test "$enable_libtap" = "yes"])
175 # If not local, check if we can use the system one
176 if test "$enable_libtap" != "yes" ; then
177         dnl Check for libtap, to run perl-like tests
178         AC_CHECK_LIB(tap, plan_tests,
179                 enable_libtap="yes"
180                 )
183 # Finally, define tests if we use libtap
184 if test "$enable_libtap" = "yes" ; then
185         EXTRA_TEST="test_utils test_disk test_tcp test_cmd test_base64"
186         AC_SUBST(EXTRA_TEST)
189 dnl INI Parsing
190 AC_ARG_ENABLE(extra-opts,
191   AC_HELP_STRING([--enable-extra-opts],
192                 [Enables parsing of plugins ini config files for extra options (default: no)]),
193         [enable_extra_opts=$enableval],
194         [enable_extra_opts=yes])
195 AM_CONDITIONAL([USE_PARSE_INI],[test "$enable_extra_opts" = "yes"])
196 if test "$enable_extra_opts" = "yes" ; then
197         AC_DEFINE(NP_EXTRA_OPTS,[1],[Enable INI file parsing.])
198         if test "$enable_libtap" = "yes"; then
199                 EXTRA_TEST="$EXTRA_TEST test_ini1 test_ini3 test_opts1 test_opts2 test_opts3"
200                 AC_SUBST(EXTRA_TEST)
201         fi
204 dnl Check for PostgreSQL libraries
205 _SAVEDLIBS="$LIBS"
206 _SAVEDCPPFLAGS="$CPPFLAGS"
207 AC_ARG_WITH(pgsql,
208         ACX_HELP_STRING([--with-pgsql=DIR],
209                 [sets path to pgsql installation]),
210         PGSQL=$withval,)
211 AC_CHECK_LIB(crypt,main)
212 if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then
213   if test -n "$PGSQL"; then
214     LDFLAGS="$LDFLAGS -L$PGSQL/lib"
215     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
216   fi
217   AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
218   if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
219     AC_CHECK_HEADERS(pgsql/libpq-fe.h)
220     AC_CHECK_HEADERS(postgresql/libpq-fe.h)
221     AC_CHECK_HEADERS(libpq-fe.h)
222     if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
223       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
224       PGINCLUDE="-I$PGSQL/include"
225     elif test  "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
226       PGLIBS="-lpq -lcrypt"
227       PGINCLUDE="-I/usr/include/pgsql"
228     elif test  "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
229       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
230       PGINCLUDE="-I/usr/include/postgresql"
231     elif test  "$ac_cv_header_libpq_fe_h" = "yes"; then
232       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
233       PGINCLUDE="-I$PGSQL/include"
234     fi
235     if test -z "$PGINCLUDE"; then
236       AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
237       AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
238     else
239       AC_SUBST(PGLIBS)
240       AC_SUBST(PGINCLUDE)
241       EXTRAS="$EXTRAS check_pgsql\$(EXEEXT)"
242     fi
243   else
244     AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
245     AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
246     AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
247   fi
248 else
249   AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
250   AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
252 LIBS="$_SAVEDLIBS"
253 CPPFLAGS="$_SAVEDCPPFLAGS"
255 AC_ARG_WITH([dbi], [AS_HELP_STRING([--without-dbi], [Skips the dbi plugin])])
256 dnl Check for DBI libraries
257 AS_IF([test "x$with_dbi" != "xno"], [
258   _SAVEDLIBS="$LIBS"
259   AC_CHECK_LIB(dbi,dbi_initialize)
260   if test "$ac_cv_lib_dbi_dbi_initialize" = "yes"; then
261     EXTRAS="$EXTRAS check_dbi\$(EXEEXT)"
262         DBILIBS="-ldbi"
263     AC_SUBST(DBILIBS)
264   else
265     AC_MSG_WARN([Skipping dbi plugin])
266     AC_MSG_WARN([install DBI libs to compile this plugin (see REQUIREMENTS).])
267   fi
268   LIBS="$_SAVEDLIBS"
271 AC_ARG_WITH([radius], [AS_HELP_STRING([--without-radius], [Skips the radius plugin])])
273 dnl Check for radius libraries
274 AS_IF([test "x$with_radius" != "xno"], [
275   _SAVEDLIBS="$LIBS"
276   AC_CHECK_LIB(radcli,rc_read_config)
277   if test "$ac_cv_lib_radcli_rc_read_config" = "yes"; then
278     EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
279     RADIUSLIBS="-lradcli"
280     AC_SUBST(RADIUSLIBS)
281   else
282     AC_CHECK_LIB(freeradius-client,rc_read_config)
283     if test "$ac_cv_lib_freeradius_client_rc_read_config" = "yes"; then
284       EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
285       RADIUSLIBS="-lfreeradius-client"
286       AC_SUBST(RADIUSLIBS)
287     else
288       AC_CHECK_LIB(radiusclient-ng,rc_read_config)
289       if test "$ac_cv_lib_radiusclient_ng_rc_read_config" = "yes"; then
290         EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
291         RADIUSLIBS="-lradiusclient-ng"
292         AC_SUBST(RADIUSLIBS)
293       else
294         AC_CHECK_LIB(radiusclient,rc_read_config)
295         if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
296           EXTRAS="$EXTRAS check_radius\$(EXEEXT)"
297           RADIUSLIBS="-lradiusclient"
298           AC_SUBST(RADIUSLIBS)
299         else
300           AC_MSG_WARN([Skipping radius plugin])
301           AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
302         fi
303       fi
304     fi
305   fi
306   LIBS="$_SAVEDLIBS"
309 AC_ARG_WITH([ldap], [AS_HELP_STRING([--without-ldap], [Skips the LDAP plugin])])
311 dnl Check for LDAP libraries
312 AS_IF([test "x$with_ldap" != "xno"], [
313   _SAVEDLIBS="$LIBS"
314   AC_CHECK_LIB(ldap,main,,,-llber)
315   if test "$ac_cv_lib_ldap_main" = "yes"; then
316     LDAPLIBS="-lldap -llber"\
317     LDAPINCLUDE="-I/usr/include/ldap"
318     AC_SUBST(LDAPLIBS)
319     AC_SUBST(LDAPINCLUDE)
320     AC_CHECK_FUNCS(ldap_set_option)
321     EXTRAS="$EXTRAS check_ldap\$(EXEEXT)"
322         AC_CHECK_FUNCS(ldap_init ldap_set_option ldap_get_option ldap_start_tls_s)
323   else
324     AC_MSG_WARN([Skipping LDAP plugin])
325     AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
326   fi
327   LIBS="$_SAVEDLIBS"
330 dnl Check for headers used by check_ide_smart
331 case $host in
332   *linux*)
333     AC_CHECK_HEADER(linux/hdreg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
334     if test "$FOUNDINCLUDE" = "yes" ; then
335         AC_CHECK_HEADER(linux/types.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
336     fi
337     if test "$FOUNDINCLUDE" = "no" ; then
338         AC_MSG_WARN([Skipping check_ide_smart plugin.])
339         AC_MSG_WARN([check_ide_smart requires linux/hdreg.h and linux/types.h.])
340     fi
341   ;;
342   *netbsd*)
343     AC_CHECK_HEADER(dev/ata/atareg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
344     if test "$FOUNDINCLUDE" = "yes" ; then
345         AC_CHECK_HEADER(dev/ic/wdcreg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
346     fi
347     if test "$FOUNDINCLUDE" = "no" ; then
348         AC_MSG_WARN([Skipping check_ide_smart plugin.])
349         AC_MSG_WARN([check_ide_smart requires dev/ata/atareg.h and dev/ic/wdcreg.h])
350     fi
351   ;;
352   *)
353     AC_MSG_WARN([Skipping check_ide_smart plugin.])
354     AC_MSG_WARN([check_ide_smart works only on Linux and NetBSD])
355 esac
357 if test "$FOUNDINCLUDE" = "yes" ; then
358         EXTRAS="$EXTRAS check_ide_smart\$(EXEEXT)"
361 dnl Check for mysql libraries
362 np_mysqlclient
363 if test $with_mysql = "no" ; then
364   AC_MSG_WARN([Skipping mysql plugin])
365   AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
366 else
367   EXTRAS="$EXTRAS check_mysql\$(EXEEXT) check_mysql_query\$(EXEEXT)"
368   MYSQLINCLUDE="$np_mysql_include"
369   MYSQLLIBS="$np_mysql_libs"
370   MYSQLCFLAGS="$np_mysql_cflags"
371   AC_SUBST(MYSQLINCLUDE)
372   AC_SUBST(MYSQLLIBS)
373   AC_SUBST(MYSQLCFLAGS)
376 dnl Check for headers used by check_users
377 AC_CHECK_HEADERS(utmpx.h)
378 AM_CONDITIONAL([HAVE_UTMPX], [test "$ac_cv_header_utmpx_h" = "yes"])
380 AC_CHECK_HEADERS(wtsapi32.h, [], [], [#include <windows.h>])
381 AM_CONDITIONAL([HAVE_WTS32API], [test "$ac_cv_header_wtsapi32_h" = "yes"])
383 if test "$ac_cv_header_wtsapi32_h" = "yes"; then
384   WTSAPI32LIBS="-lwtsapi32"
385   AC_SUBST(WTSAPI32LIBS)
388 dnl Fallback to who(1) if the system doesn't provide an utmpx(5) interface
389 if test "$ac_cv_header_utmpx_h" = "no" -a "$ac_cv_header_wtsapi32_h" = "no"
390 then
391         AC_PATH_PROG(PATH_TO_WHO,who)
393         if [$PATH_TO_WHO -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
394         then
395                 ac_cv_path_to_who="$PATH_TO_WHO -q"
396         else
397                 ac_cv_path_to_who="$PATH_TO_WHO"
398         fi
400         AC_DEFINE_UNQUOTED(WHO_COMMAND,"$ac_cv_path_to_who",
401                 [path and arguments for invoking 'who'])
404 AC_ARG_WITH([ipv6],
405         [AS_HELP_STRING([--with-ipv6], [support IPv6 @<:@default=check@:>@])],
406         [], [with_ipv6=check])
408 dnl Check for AF_INET6 support - unistd.h required for Darwin
409 if test "$with_ipv6" != "no"; then
410         AC_CACHE_CHECK([for IPv6 support], np_cv_sys_ipv6, [
411                 AC_TRY_COMPILE(
412                         [#ifdef HAVE_UNISTD_H
413                         #include <unistd.h>
414                         #endif
415                         #include <netinet/in.h>
416                         #include <sys/socket.h>],
417                         [struct sockaddr_in6 sin6;
418                         void *p;
420                         sin6.sin6_family = AF_INET6;
421                         sin6.sin6_port = 587;
422                         p = &sin6.sin6_addr;],
423                         [np_cv_sys_ipv6=yes],
424                         [np_cv_sys_ipv6=no])
425                 ])
426         if test "$np_cv_sys_ipv6" = "no" -a "$with_ipv6" != "check"; then
427                 AC_MSG_FAILURE([--with-ipv6 was given, but test for IPv6 support failed])
428         fi
429         if test "$np_cv_sys_ipv6" = "yes"; then
430                 AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
431         fi
432         with_ipv6="$np_cv_sys_ipv6"
436 dnl Checks for Kerberos. Must come before openssl checks for Redhat EL 3
437 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
438 if test "$FOUNDINCLUDE" = "no"; then
439   _SAVEDCPPFLAGS="$CPPFLAGS"
440   CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
441   unset ac_cv_header_krb5_h
442   AC_CHECK_HEADERS(krb5.h,
443                    KRB5INCLUDE="-I/usr/kerberos/include"
444                    FOUNDINCLUDE=yes,
445                    FOUNDINCLUDE=no)
447 AC_SUBST(KRBINCLUDE)
448 if test "$FOUNDINCLUDE" = "no"; then
449   CPPFLAGS="$_SAVEDCPPFLAGS"
452 dnl *** The following block comes from wget configure.ac ***
453 dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
454 dnl shared library doesn't record its dependency on libdl, so we
455 dnl need to check for it ourselves so we won't fail to link due to a
456 dnl lack of -ldl.  Most OSes use dlopen(), but HP-UX uses
457 dnl shl_load().
458 AC_CHECK_LIB(dl,dlopen)
459 AC_CHECK_LIB(dl,shl_load)
461 dnl openssl detection/configuration
462 if ! test x"$with_openssl" = x"no"; then
463         dnl Check for OpenSSL location if it wasn't already specified
464         if ! test -d "$with_openssl"; then
465                 for d in $OPENSSL_DIRS; do
466                         if test -x ${d}/bin/openssl || test -x ${d}/sbin/openssl ; then
467                                 with_openssl=$d
468                         fi
469                 done
470         fi
472         _SAVEDCPPFLAGS="$CPPFLAGS"
473         _SAVEDLDFLAGS="$LDFLAGS"
474         dnl Check for OpenSSL header files
475         unset FOUNDINCLUDE
476         if test x"$with_openssl" != x"/usr" ; then
477                 CPPFLAGS="$CPPFLAGS -I$with_openssl/include"
478                 LDFLAGS="$LDFLAGS -L$with_openssl/lib"
479         fi
481         dnl check for openssl in $dir/include/openssl
482         AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
483                          SSLINCLUDE="-I$with_openssl/include"
484                          FOUNDINCLUDE=yes,
485                          FOUNDINCLUDE=no)
486         dnl else check to see if $dir/include has it
487         if test "$FOUNDINCLUDE" = "no"; then
488                 AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
489                                  SSLINCLUDE="-I$with_openssl/include"
490                                  FOUNDINCLUDE=yes,
491                                  FOUNDINCLUDE=no)
492         fi
493         AC_SUBST(SSLINCLUDE)
494         dnl if we didn't find it, reset CPPFLAGS
495         if test "$FOUNDINCLUDE" = "no"; then
496                 CPPFLAGS="$_SAVEDCPPFLAGS"
497                 LDFLAGS="$_SAVEDLDFLAGS"
498         fi
500         dnl Check for crypto lib
501         _SAVEDLIBS="$LIBS"
502         LIBS="-L${with_openssl}/lib"
503         AC_CHECK_LIB(crypto,CRYPTO_lock)
504         if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
505                 dnl Check for SSL lib
506                 AC_CHECK_LIB(ssl,main, SSLLIBS="-lssl -lcrypto",,-lcrypto)
507         fi
508         LIBS="$_SAVEDLIBS"
510         dnl test headers and libs to decide whether check_http should use SSL
511         if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
512                 if test "$ac_cv_lib_ssl_main" = "yes"; then
513                         if test "$FOUNDINCLUDE" = "yes"; then
514                                 FOUNDOPENSSL="yes"
515                         fi
516                 fi
517         fi
521 dnl check for gnutls if openssl isn't found (or is disabled)
522 if test ! "$FOUNDOPENSSL" = "yes" && test ! "$with_gnutls" = "no"; then
523         if test ! "$with_gnutls" = ""; then
524                 CPPFLAGS="$CPPFLAGS -I${with_gnutls}/include"
525         fi
526         AC_CHECK_HEADERS([gnutls/openssl.h],FOUNDGNUTLS="yes",)
527         if test "$FOUNDGNUTLS" = "yes"; then
528                 AC_CHECK_LIB(gnutls-openssl,main,SSLLIBS="-lgnutls-openssl")
529         fi
531 dnl end check for gnutls
533 if test "$FOUNDOPENSSL" = "yes" || test "$FOUNDGNUTLS" = "yes"; then
534         check_tcp_ssl="check_simap check_spop check_jabber check_nntps check_ssmtp"
535         AC_SUBST(check_tcp_ssl)
536         AC_SUBST(SSLLIBS)
537         AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
538         if test "$FOUNDOPENSSL" = "yes"; then
539                 AC_DEFINE(USE_OPENSSL,1,[Define if using OpenSSL libraries])
540                 with_openssl="yes"
541                 with_gnutls="no"
542         else
543                 AC_DEFINE(USE_GNUTLS,1,[Define if using gnutls libraries])
544                 with_gnutls="yes"
545                 with_openssl="no"
546         fi
547 else
548         dnl else deliberately disabled or no ssl support available
549         AC_MSG_WARN([OpenSSL or GnuTLS libs could not be found or were disabled])
550         with_openssl="no"
551         with_gnutls="no"
555 dnl Checks for header files.
558 AC_HEADER_TIME
559 AC_HEADER_SYS_WAIT
560 AC_CHECK_HEADERS(signal.h syslog.h uio.h errno.h sys/time.h sys/socket.h sys/un.h sys/poll.h)
561 AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h)
563 dnl Checks for typedefs, structures, and compiler characteristics.
564 AC_C_CONST
565 AC_STRUCT_TM
566 AC_TYPE_PID_T
567 AC_TYPE_SIZE_T
568 AC_TYPE_SIGNAL
570 AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
571 AC_TRY_LINK([#include <stdarg.h>
572 va_list ap1,ap2;], [va_copy(ap1,ap2);],
573 ac_cv_HAVE_VA_COPY=yes,
574 ac_cv_HAVE_VA_COPY=no)])
575 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
576     AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
577 else
578     AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE___VA_COPY,[
579     AC_TRY_LINK([#include <stdarg.h>
580     va_list ap1,ap2;], [__va_copy(ap1,ap2);],
581     ac_cv_HAVE___VA_COPY=yes,
582     ac_cv_HAVE___VA_COPY=no)])
583     if test x"$ac_cv_HAVE___VA_COPY" = x"yes"; then
584         AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
585     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 strtol strtoul floor)
601 AC_CHECK_FUNCS(poll)
603 AC_MSG_CHECKING(return type of socket size)
604 AC_TRY_COMPILE([#include <stdlib.h>
605                 #include <sys/types.h>
606                 #include <sys/socket.h>],
607                [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
608                ac_cv_socket_size_type=["size_t"]
609                 AC_MSG_RESULT(size_t),
610                ac_cv_socket_size_type=["int"]
611                 AC_MSG_RESULT(int))
613 AC_DEFINE_UNQUOTED(SOCKET_SIZE_TYPE, $ac_cv_socket_size_type ,
614         [Define type of socket size])
617 dnl #### Process table test
619 AC_PATH_PROG(PATH_TO_PS,ps)
620 AC_PATH_PROG(PATH_TO_ENV,env)
622 AC_MSG_CHECKING(for ps syntax)
623 AC_ARG_WITH(ps_command,
624             ACX_HELP_STRING([--with-ps-command=PATH],
625                             [Verbatim command to execute for ps]),
626             PS_COMMAND=$withval)
627 AC_ARG_WITH(ps_format,
628             ACX_HELP_STRING([--with-ps-format=FORMAT],
629                             [Format string for scanning ps output]),
630             PS_FORMAT=$withval)
631 AC_ARG_WITH(ps_cols,
632             ACX_HELP_STRING([--with-ps-cols=NUM],
633                             [Number of columns in ps command]),
634             PS_COLS=$withval)
635 AC_ARG_WITH(ps_varlist,
636             ACX_HELP_STRING([--with-ps-varlist=LIST],
637                             [Variable list for sscanf of 'ps' output]),
638             PS_VARLIST=$withval)
640 if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -n "$PS_VARLIST"; then
641         ac_cv_ps_command="$PS_COMMAND"
642         ac_cv_ps_format="$PS_FORMAT"
643         ac_cv_ps_varlist="$PS_VARLIST"
644         ac_cv_ps_cols="$PS_COLS"
645         AC_MSG_RESULT([(command-line) $ac_cv_ps_command])
647 dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
648 elif test "$ac_cv_uname_s" = "SunOS"; then
649         #
650         # this is a very, very ugly hack, to hardcode the location for plugins
651         #
652         if test "$libexecdir" = '${exec_prefix}/libexec'; then
653                 if test "$exec_prefix" = "NONE"; then
654                         if test "$prefix" = "NONE"; then
655                                 pst3="$ac_default_prefix/libexec/pst3"
656                         else
657                                 pst3="$prefix/libexec/pst3"
658                         fi
659                 else
660                         pst3="$exec_prefix/libexec/pst3"
661                 fi
662         else
663                 pst3="$libexecdir/pst3"
664         fi
665         ac_cv_ps_command="$pst3"
666         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
667         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
668         ac_cv_ps_cols=9
669         AC_MSG_RESULT([using monitoring-plugins internal ps command (pst3) for solaris])
670         if test `isainfo -b` = 64 ; then
671                 pst3_use_64bit=1
672                 AC_MSG_NOTICE([using 64bit pst3])
673         else
674                 AC_MSG_NOTICE([using 32bit pst3])
675         fi
676         EXTRAS_ROOT="$EXTRAS_ROOT pst3\$(EXEEXT)"
678         if test "$pst3_use_64bit" = 1; then
679                 dnl Test if we can actually compile code in 64bit
680                 old_cflags=$CFLAGS
681                 CFLAGS="$CFLAGS -m64"
682                 pst3_64bit_working=0
683                 AC_RUN_IFELSE(
684                         [AC_LANG_PROGRAM([], [
685 return sizeof(void*) == 8 ? 0 : 1;
686                         ])
687                 ],[
688                         PST3CFLAGS="-m64"
689                         AC_SUBST(PST3CFLAGS)
690                         pst3_64bit_working=1
691                         AC_MSG_NOTICE([using -m64 for 64bit code])
692                 ],[
693                         pst3_64bit_working=0
694                         AC_MSG_NOTICE([compiler do not like -m64])
695                 ])
696                 CFLAGS=$old_cflags
697                 if test "$pst3_64bit_working" = 0; then
698                         old_cflags=$CFLAGS
699                         CFLAGS="$CFLAGS -xarch=v9"
700                         AC_RUN_IFELSE(
701                                 [AC_LANG_PROGRAM([], [
702 return sizeof(void*) == 8 ? 0 : 1;
703                                 ])
704                         ],[
705                                 PST3CFLAGS="-xarch=v9"
706                                 AC_SUBST(PST3CFLAGS)
707                                 pst3_64bit_working=1
708                                 AC_MSG_NOTICE([using -xarch=v9 for 64bit code])
709                         ],[
710                                 pst3_64bit_working=0
711                                 AC_MSG_NOTICE([compiler do not like -xarch=v9])
712                         ])
713                         CFLAGS=$old_cflags
714                 fi
715                 if test "$pst3_64bit_working" = 0; then
716                         old_cflags=$CFLAGS
717                         CFLAGS="$CFLAGS -xarch=amd64"
718                         AC_RUN_IFELSE(
719                                 [AC_LANG_PROGRAM([], [
720 return sizeof(void*) == 8 ? 0 : 1;
721                                 ])
722                         ],[
723                                 PST3CFLAGS="-xarch=amd64"
724                                 AC_SUBST(PST3CFLAGS)
725                                 pst3_64bit_working=1
726                                 AC_MSG_NOTICE([using -xarch=amd64 for 64bit code])
727                         ],[
728                                 pst3_64bit_working=0
729                                 AC_MSG_NOTICE([compiler do not like -xarch=amd64])
730                         ])
731                         CFLAGS=$old_cflags
732                 fi
733                 if test "$pst3_64bit_working" = 0; then
734                         AC_MSG_ERROR([I don't know how to build a 64-bit object!])
735                 fi
736         fi
738 dnl Removing this for the moment - Ton
739 dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation
740 dnl Limitation that command name is not available
741 dnl elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \
742 dnl     egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null
743 dnl then
744 dnl     ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]"
745 dnl     ac_cv_ps_command="/usr/ucb/ps -alxwwn"
746 dnl     ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"]
747 dnl     ac_cv_ps_cols=8
748 dnl     AC_MSG_RESULT([$ac_cv_ps_command])
750 dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
751 dnl so test for this first...
752 elif ps axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
753         egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
754 then
755         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
756         ac_cv_ps_command="$PATH_TO_PS axwo 'stat uid pid ppid vsz rss pcpu comm args'"
757         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
758         ac_cv_ps_cols=9
759         AC_MSG_RESULT([$ac_cv_ps_command])
761 dnl For OpenBSD 3.2 & 3.3. Must come before ps -weo
762 dnl Should also work for FreeBSD 5.2.1 and 5.3
763 dnl  STAT UCOMM              VSZ   RSS USER      PPID COMMAND
764 elif ps -axwo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
765         egrep -i ["^ *STAT +[UCOMAND]+ +VSZ +RSS +USER +UID +PID +PPID +COMMAND"] > /dev/null
766 then
767         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
768         ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu comm args'"
769         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
770         ac_cv_ps_cols=9
771         AC_MSG_RESULT([$ac_cv_ps_command])
773 dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
774 dnl Limitation: Only first 16 chars returned for ucomm field
775 dnl Must come before ps -weo
776 elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
777         egrep -i ["^ *STAT +UID +PID +PPID +VSZ +RSS +%CPU +UCOMM +COMMAND"] > /dev/null
778 then
779         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
780         ac_cv_ps_command="$PATH_TO_PS -axwo 'stat uid pid ppid vsz rss pcpu ucomm command'"
781         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
782         ac_cv_ps_cols=9
783         AC_MSG_RESULT([$ac_cv_ps_command])
785 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
786 elif ps -weo 'stat comm vsz rss user uid pid ppid etime args' 2>/dev/null | \
787         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[ID]+ +P[PID]+ +[ELAPSD]+ +[RGSCOMDNA]+"] >/dev/null
788 then
789         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procetime,procprog,&pos]"
790         ac_cv_ps_command="$PATH_TO_PS -weo 'stat uid pid ppid vsz rss pcpu etime comm args'"
791         ac_cv_ps_format="%s %d %d %d %d %d %f %s %s %n"
792         ac_cv_ps_cols=10
793         AC_MSG_RESULT([$ac_cv_ps_command])
795 dnl FreeBSD
796 elif ps waxco 'state command vsz rss uid user pid ppid' 2>/dev/null | \
797         egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PID +PPID"] >/dev/null
798 then
799         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
800         ac_cv_ps_command="$PATH_TO_PS waxco 'state uid pid ppid vsz rss pcpu command command'"
801         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
802         ac_cv_ps_cols=9
803         AC_MSG_RESULT([$ac_cv_ps_command])
805 dnl BSD-like mode in RH 6.1
806 elif ps waxno 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
807         egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
808 then
809         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
810         ac_cv_ps_command="$PATH_TO_PS waxno 'state uid pid ppid vsz rss pcpu comm args'"
811         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
812         ac_cv_ps_cols=9
813         AC_MSG_RESULT([$ac_cv_ps_command])
815 dnl SunOS 4.1.3:
816 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
817 dnl Need the head -1 otherwise test will work because arguments are found
818 elif ps -laxnwww 2>/dev/null | head -1 | \
819         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
820 then
821         ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
822         ac_cv_ps_command="$PATH_TO_PS -laxnwww"
823         ac_cv_ps_format="%*s %d %d %d %*s %*s %*s %d %d %*s %s %*s %*s %n%s"
824         ac_cv_ps_cols=9
825         AC_MSG_RESULT([$ac_cv_ps_command])
827 dnl Debian Linux / procps v1.2.9:
828 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
829 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
831 elif ps laxnwww 2>/dev/null | \
832         egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
833 then
834         ac_cv_ps_varlist="[&procuid,&procpid,&procppid,procstat,&procvsz,&procrss,&pos,procprog]"
835         ac_cv_ps_command="$PATH_TO_PS laxnwww"
836         ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
837         ac_cv_ps_cols=9
838         AC_MSG_RESULT([$ac_cv_ps_command])
840 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
841 elif ps -axo 'stat comm vsz rss user uid pid ppid args' 2>/dev/null | \
842         egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
843 then
844         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
845         ac_cv_ps_command="$PATH_TO_PS -axo 'stat uid pid ppid vsz rss pcpu comm args'"
846         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
847         ac_cv_ps_cols=9
848         AC_MSG_RESULT([$ac_cv_ps_command])
850 dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
851 dnl Has /usr/bin/ps and /sbin/ps - force sbin version
852 dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
853 dnl of 1500). Will need big changes to check_procs to support
854 elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
855         egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
856 then
857         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procpcpu,procetime,procprog,&pos]"
858         ac_cv_ps_command="/sbin/ps -eo 'stat uid pid ppid pcpu etime comm args'"
859         ac_cv_ps_format=["%s%*[ +<>] %d %d %d %f %s %s %n"]
860         ac_cv_ps_cols=8
861         AC_MSG_RESULT([$ac_cv_ps_command])
863 elif ps -eo 's comm vsz rss user uid pid ppid args' 2>/dev/null | \
864         egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
865 then
866         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
867         ac_cv_ps_command="$PATH_TO_PS -eo 's uid pid ppid vsz rss pcpu comm args'"
868         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
869         ac_cv_ps_cols=9
870         AC_MSG_RESULT([$ac_cv_ps_command])
872 dnl AIX 4.3.3 and 5.1 do not have an rss field
873 elif ps -eo 'stat uid pid ppid vsz pcpu comm args' 2>/dev/null | \
874         egrep -i ["^ *S[TAUES]* +UID +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
875 then
876         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
877         ac_cv_ps_command="$PATH_TO_PS -eo 'stat uid pid ppid vsz pcpu comm args'"
878         ac_cv_ps_format="%s %d %d %d %d %f %s %n"
879         ac_cv_ps_cols=8
880         AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
882 dnl Solaris 2.6
883 elif ps -Ao 's comm vsz rss uid user pid ppid args' 2>/dev/null | \
884         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
885 then
886         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
887         ac_cv_ps_command="$PATH_TO_PS -Ao 's uid pid ppid vsz rss pcpu comm args'"
888         # There must be no space between the %s and %n due to a wierd problem in sscanf where
889         # it will return %n as longer than the line length
890         ac_cv_ps_format="%s %d %d %d %d %d %f %s%n"
891         ac_cv_ps_cols=9
892         AC_MSG_RESULT([$ac_cv_ps_command])
894 elif ps -Ao 'status comm vsz rss uid user pid ppid args' 2>/dev/null | \
895         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
896 then
897         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
898         ac_cv_ps_command="$PATH_TO_PS -Ao 'status uid pid ppid vsz rss pcpu comm args'"
899         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
900         ac_cv_ps_cols=9
901         AC_MSG_RESULT([$ac_cv_ps_command])
903 elif ps -Ao 'state comm vsz rss uid user pid ppid args' 2>/dev/null | \
904         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
905 then
906         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
907         ac_cv_ps_command="$PATH_TO_PS -Ao 'state uid pid ppid vsz rss pcpu comm args'"
908         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
909         ac_cv_ps_cols=9
910         AC_MSG_RESULT([$ac_cv_ps_command])
912 dnl wonder who takes state instead of stat
913 elif ps -ao 'state command vsz rss user pid ppid args' 2>/dev/null | \
914         egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PID +PPID +[RGSCOMDNA]+"] >/dev/null
915 then
916         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
917         ac_cv_ps_command="$PATH_TO_PS -ao 'state uid pid ppid vsz rss pcpu command args'"
918         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
919         ac_cv_ps_cols=8
920         AC_MSG_RESULT([$ac_cv_ps_command])
922 dnl IRIX 53
923 elif ps -el 2>/dev/null | \
924         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
925 then
926         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&pos,procprog]"
927         ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)"
928         ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
929         ac_cv_ps_cols=8
930         AC_MSG_RESULT([$ac_cv_ps_command])
932 dnl IRIX 63
933 elif ps -el 2>/dev/null | \
934         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
935 then
936         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
937         ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)"
938         ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
939         ac_cv_ps_cols=6
940         AC_MSG_RESULT([$ac_cv_ps_command])
942 dnl HP-UX:
943 dnl S        UID       RUID USER     RUSER      PID  PPID     VSZ  %CPU COMMAND         COMMAND
944 dnl S          0        400 root     oracle    2805     1   12904  0.00 ora_dism_SEA1X  ora_dism_SEA1X
945 dnl S        400        400 oracle   oracle   19261     1  126488  0.00 tnslsnr         /u01/app/oracle/product/db/11.2.0.3/bin/tnslsnr LISTENER -inherit
946 elif env UNIX95=1 ps -eo 'state uid ruid user ruser pid ppid vsz pcpu comm args' 2>/dev/null | head -n 1 | \
947     egrep -i ["^ *S +UID +RUID +USER +RUSER +PID +PPID +VSZ +%CPU +COMMAND +COMMAND"] >/dev/null
948 then
949     ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procpcpu,procprog,&pos]"
950     ac_cv_ps_command="$PATH_TO_ENV UNIX95=1 $PATH_TO_PS -eo 'state uid pid ppid vsz pcpu comm args'"
951     ac_cv_ps_format="%s %d %d %d %d %f %s %n"
952     ac_cv_ps_cols=8
953     AC_MSG_RESULT([$ac_cv_ps_command])
955 dnl AIX 4.1:
956 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
957 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
958 elif ps -el 2>/dev/null | \
959         egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
960 then
961         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
962         ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)"
963         ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
964         ac_cv_ps_cols=6
965         AC_MSG_RESULT([$ac_cv_ps_command])
967 dnl AIX?
968 elif ps glaxen 2>/dev/null | \
969         egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
970 then
971         ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procvsz,&procrss,procstat,&pos,procprog]"
972         ac_cv_ps_command="$PATH_TO_PS glaxen"
973         ac_cv_ps_format="%*s %d %d %d %*s %*s %d %d %*s %s %*s %*s %n%s"
974         ac_cv_ps_cols=8
975         AC_MSG_RESULT([$ac_cv_ps_command])
977 dnl MacOSX / Darwin
978 dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
979 dnl Some truncation will happen in UCOMM column
980 dnl STAT      VSZ    RSS   UID  PPID %CPU UCOMM            COMMAND
981 dnl Ss      52756  22496   501     1   6.9 Window Manager   /System/Library/CoreServices/WindowServer -daemon
982 elif ps wwaxo 'state vsz rss uid pid ppid pcpu ucomm command' 2>/dev/null | \
983         egrep -i ["^STAT +VSZ +RSS +UID +PPID +%CPU +UCOMM +COMMAND"] >/dev/null
984 then
985         ac_cv_ps_command="$PATH_TO_PS wwaxo 'state vsz rss uid pid ppid pcpu ucomm command'"
986         ac_cv_ps_varlist="[procstat,&procvsz,&procrss,&procuid,&procpid,&procppid,&procpcpu,procprog,&pos]"
987         ac_cv_ps_format="%s %d %d %d %d %d %f %s %n"
988         ac_cv_ps_cols=8
989         AC_MSG_RESULT([$ac_cv_ps_command])
991 dnl UnixWare
992 elif ps -Al 2>/dev/null | \
993         egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
994 then
995         ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&pos,procprog]"
996         ac_cv_ps_command="$PATH_TO_PS -Al"
997         ac_cv_ps_format="%*s %s %d %d %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
998         ac_cv_ps_cols=8
999         AC_MSG_RESULT([$ac_cv_ps_command])
1001 else
1002         AC_MSG_WARN([unable to find usable ps syntax - check_procs and check_nagios will not be compiled])
1005 if test -n "$ac_cv_ps_varlist" ; then
1006         AC_DEFINE_UNQUOTED(PS_VARLIST,$ac_cv_ps_varlist,
1007                 [Variable list for sscanf of 'ps' output])
1008         AC_DEFINE_UNQUOTED(PS_COMMAND,"$ac_cv_ps_command",
1009                 [Verbatim command to execute for ps in check_procs])
1010         AC_DEFINE_UNQUOTED(PS_FORMAT,"$ac_cv_ps_format",
1011                 [Format string for scanning ps output in check_procs])
1012         AC_DEFINE_UNQUOTED(PS_COLS,$ac_cv_ps_cols,
1013                 [Number of columns in ps command])
1014         EXTRAS="$EXTRAS check_procs check_nagios\$(EXEEXT)"
1015         if echo "$ac_cv_ps_varlist" | grep "procetime" >/dev/null; then
1016                 AC_DEFINE(PS_USES_PROCETIME,"yes",
1017                           [Whether the ps utility uses the "procetime" field])
1018         fi
1021 AC_PATH_PROG(PATH_TO_PING,ping)
1022 AC_PATH_PROG(PATH_TO_PING6,ping6)
1024 AC_ARG_WITH(ping_command,
1025         ACX_HELP_STRING([--with-ping-command=SYNTAX],
1026                 [sets syntax for ICMP ping]),
1027         with_ping_command=$withval,)
1029 AC_MSG_CHECKING(for ICMP ping syntax)
1030 ac_cv_ping_packets_first=no
1031 ac_cv_ping_has_timeout=no
1032 if test -n "$with_ping_command"
1033 then
1034         AC_MSG_RESULT([(command-line) $with_ping_command])
1035         if echo "$with_ping_command" | grep '%d.*%d.*%s' >/dev/null
1036         then
1037                 ac_cv_ping_packets_first=yes
1038                 ac_cv_ping_has_timeout=yes
1039         elif echo "$with_ping_command" | grep '%d.*%s.*%d' >/dev/null || \
1040              echo "$with_ping_command" | grep '%s.*%d.*%d' >/dev/null
1041         then
1042                 ac_cv_ping_has_timeout=yes
1043         elif echo "$with_ping_command" | grep '%d.*%s' >/dev/null
1044         then
1045                 ac_cv_ping_packets_first=yes
1046         fi
1048 elif [[ "z$ac_cv_uname_o" = "zCygwin" ]]
1049 then
1050         with_ping_command="$PATH_TO_PING -n %d -w %d000 %s"
1051         ac_cv_ping_packets_first=yes
1052         ac_cv_ping_has_timeout=yes
1053         AC_MSG_RESULT([$with_ping_command])
1055 elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1056         $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
1057         egrep -i "^round-trip|^rtt" >/dev/null
1058 then
1059         with_ping_command="$PATH_TO_PING -n -U -c %d %s"
1060         ac_cv_ping_packets_first=yes
1061         AC_MSG_RESULT([$with_ping_command])
1063 elif $PATH_TO_PING -n -U -w 10 -c 1 127.0.0.1 2>/dev/null | \
1064         egrep -i "^round-trip|^rtt" >/dev/null
1065 then
1066         with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s"
1067         ac_cv_ping_packets_first=yes
1068         ac_cv_ping_has_timeout=yes
1069         AC_MSG_RESULT([$with_ping_command])
1071 elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
1072         egrep -i "^round-trip|^rtt" >/dev/null
1073 then
1074         with_ping_command="$PATH_TO_PING -n -U -c %d %s"
1075         ac_cv_ping_packets_first=yes
1076         AC_MSG_RESULT([$with_ping_command])
1078 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
1079         egrep -i "^round-trip|^rtt" >/dev/null
1080 then
1081         with_ping_command="$PATH_TO_PING -n -c %d %s"
1082         ac_cv_ping_packets_first=yes
1083         AC_MSG_RESULT([$with_ping_command])
1085 elif $PATH_TO_PING -n 127.0.0.1 -c 1 2>/dev/null | \
1086         egrep -i "^round-trip|^rtt" >/dev/null
1087 then
1088         with_ping_command="$PATH_TO_PING -n %s -c %d"
1089         AC_MSG_RESULT([$with_ping_command])
1091 elif $PATH_TO_PING 127.0.0.1 -n 1 2>/dev/null | \
1092         egrep -i "^round-trip|^rtt" >/dev/null
1093 then
1094         with_ping_command="$PATH_TO_PING %s -n %d"
1095         AC_MSG_RESULT([$with_ping_command])
1097 elif $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \
1098         egrep -i "^round-trip|^rtt" >/dev/null
1099 then
1100         with_ping_command="$PATH_TO_PING -n -s %s 56 %d"
1101         AC_MSG_RESULT([$with_ping_command])
1103 elif $PATH_TO_PING -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | \
1104         egrep -i "^round-trip|^rtt" >/dev/null
1105 then
1106         with_ping_command="$PATH_TO_PING -n -h %s -s 56 -c %d"
1107         AC_MSG_RESULT([$with_ping_command])
1109 elif $PATH_TO_PING -n -s 56 -c 1 127.0.0.1 2>/dev/null | \
1110         egrep -i "^round-trip|^rtt" >/dev/null
1111 then
1112         with_ping_command="$PATH_TO_PING -n -s 56 -c %d %s"
1113         ac_cv_ping_packets_first=yes
1114         AC_MSG_RESULT([$with_ping_command])
1116 elif $PATH_TO_PING -n -c 1 127.0.0.1 2>/dev/null | \
1117         egrep -i "^round-trip|^rtt" >/dev/null
1118 then
1119         with_ping_command="$PATH_TO_PING -n -c %d %s"
1120         ac_cv_ping_packets_first=yes
1121         AC_MSG_RESULT([$with_ping_command])
1123 else
1124         AC_MSG_WARN([unable to find usable ping syntax])
1127 AC_DEFINE_UNQUOTED(PING_COMMAND,"$with_ping_command",
1128         [path and args for ICMP ping command])
1130 if test "x$ac_cv_ping_packets_first" != "xno"
1131 then
1132         AC_DEFINE(PING_PACKETS_FIRST,1,
1133                 [Define if packet count must precede host])
1136 if test "x$ac_cv_ping_has_timeout" != "xno"
1137 then
1138         AC_DEFINE(PING_HAS_TIMEOUT,1,
1139                 [Define if ping has its own timeout option that should be set])
1142 AC_ARG_WITH(ping6_command,
1143         ACX_HELP_STRING([--with-ping6-command=SYNTAX],
1144                 [sets syntax for ICMPv6 ping]),
1145         with_ping6_command=$withval,)
1147 if test x"$with_ipv6" != xno ; then
1148 AC_MSG_CHECKING(for ICMPv6 ping syntax)
1149 ac_cv_ping6_packets_first=no
1150 if test -n "$with_ping6_command"
1151 then
1152         AC_MSG_RESULT([(command-line) $with_ping6_command])
1153         if echo "$with_ping6_command" | grep '%d.*%d.*%s' >/dev/null
1154         then
1155                 ac_cv_ping6_packets_first=yes
1156         elif echo "$with_ping6_command" | grep '%d.*%s.*%d' >/dev/null || \
1157              echo "$with_ping6_command" | grep '%s.*%d.*%d' >/dev/null
1158         then
1159                 # Just keep same logic as ping (IPv4) if we ever need ac_cv_ping6_has_timeout
1160                 true
1161         elif echo "$with_ping6_command" | grep '%d.*%s' >/dev/null
1162         then
1163                 ac_cv_ping6_packets_first=yes
1164         fi
1165 elif [[ "z$ac_cv_uname_o" = "zCygwin" -a "x$PATH_TO_PING" != "x" ]]; then
1166         with_ping6_command="$PATH_TO_PING -6 -n %d -w %d000 %s"
1167         ac_cv_ping6_packets_first=yes
1168         ac_cv_ping_has_timeout=yes
1169         AC_MSG_RESULT([$with_ping6_command])
1170 elif test "x$PATH_TO_PING6" != "x"; then
1171         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1172                 $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1173                 egrep -i "^round-trip|^rtt" >/dev/null
1174         then
1175                 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
1176                 ac_cv_ping6_packets_first=yes
1177                 AC_MSG_RESULT([$with_ping6_command])
1179         elif $PATH_TO_PING6 -n -U -w 10 -c 1 ::1 2>/dev/null | \
1180                 egrep -i "^round-trip|^rtt" >/dev/null
1181         then
1182                 with_ping6_command="$PATH_TO_PING6 -n -U -w %d -c %d %s"
1183                 ac_cv_ping6_packets_first=yes
1184                 ac_cv_ping_has_timeout=yes
1185                 AC_MSG_RESULT([$with_ping6_command])
1187         elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \
1188                 egrep -i "^round-trip|^rtt" >/dev/null
1189         then
1190                 with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s"
1191                 ac_cv_ping6_packets_first=yes
1192                 AC_MSG_RESULT([$with_ping6_command])
1194         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1195                 egrep -i "^round-trip|^rtt" >/dev/null
1196         then
1197                 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1198                 ac_cv_ping6_packets_first=yes
1199                 AC_MSG_RESULT([$with_ping6_command])
1201         elif $PATH_TO_PING6 -n ::1 -c 1 2>/dev/null | \
1202                 egrep -i "^round-trip|^rtt" >/dev/null
1203         then
1204                 with_ping6_command="$PATH_TO_PING6 -n %s -c %d"
1205                 AC_MSG_RESULT([$with_ping6_command])
1207         elif $PATH_TO_PING6 ::1 -n 1 2>/dev/null | \
1208                 egrep -i "^round-trip|^rtt" >/dev/null
1209         then
1210                 with_ping6_command="$PATH_TO_PING6 %s -n %d"
1211                 AC_MSG_RESULT([$with_ping6_command])
1213         elif $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \
1214                 egrep -i "^round-trip|^rtt" >/dev/null
1215         then
1216                 with_ping6_command="$PATH_TO_PING6 -n -s %s 56 %d"
1217                 AC_MSG_RESULT([$with_ping6_command])
1219         elif $PATH_TO_PING6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1220                 egrep -i "^round-trip|^rtt" >/dev/null
1221         then
1222                 with_ping6_command="$PATH_TO_PING6 -n -h %s -s 56 -c %d"
1223                 AC_MSG_RESULT([$with_ping6_command])
1225         elif $PATH_TO_PING6 -n -s 56 -c 1 ::1 2>/dev/null | \
1226                 egrep -i "^round-trip|^rtt" >/dev/null
1227         then
1228                 with_ping6_command="$PATH_TO_PING6 -n -s 56 -c %d %s"
1229                 ac_cv_ping6_packets_first=yes
1230                 AC_MSG_RESULT([$with_ping_command])
1232         elif $PATH_TO_PING6 -n -c 1 ::1 2>/dev/null | \
1233                 egrep -i "^round-trip|^rtt" >/dev/null
1234         then
1235                 with_ping6_command="$PATH_TO_PING6 -n -c %d %s"
1236                 ac_cv_ping6_packets_first=yes
1237                 AC_MSG_RESULT([$with_ping6_command])
1239         fi
1241 elif test "x$PATH_TO_PING" != "x"; then
1242         if [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \
1243                 $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1244                 egrep -i "^round-trip|^rtt" >/dev/null
1245         then
1246                 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1247                 ac_cv_ping6_packets_first=yes
1248                 AC_MSG_RESULT([$with_ping6_command])
1250         elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \
1251                 egrep -i "^round-trip|^rtt" >/dev/null
1252         then
1253                 with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s"
1254                 ac_cv_ping6_packets_first=yes
1255                 AC_MSG_RESULT([$with_ping6_command])
1257         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1258                 egrep -i "^round-trip|^rtt" >/dev/null
1259         then
1260                 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1261                 ac_cv_ping6_packets_first=yes
1262                 AC_MSG_RESULT([$with_ping6_command])
1264         elif $PATH_TO_PING -A inet6 -n ::1 -c 1 2>/dev/null | \
1265                 egrep -i "^round-trip|^rtt" >/dev/null
1266         then
1267                 with_ping6_command="$PATH_TO_PING -A inet6 -n %s -c %d"
1268                 AC_MSG_RESULT([$with_ping6_command])
1270         elif $PATH_TO_PING -A inet6 ::1 -n 1 2>/dev/null | \
1271                 egrep -i "^round-trip|^rtt" >/dev/null
1272         then
1273                 with_ping6_command="$PATH_TO_PING -A inet6 %s -n %d"
1274                 AC_MSG_RESULT([$with_ping6_command])
1276         elif $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \
1277                 egrep -i "^round-trip|^rtt" >/dev/null
1278         then
1279                 with_ping6_command="$PATH_TO_PING -A inet6 -n -s %s 56 %d"
1280                 AC_MSG_RESULT([$with_ping6_command])
1282         elif $PATH_TO_PING -A inet6 -n -h ::1 -s 56 -c 1 2>/dev/null | \
1283                 egrep -i "^round-trip|^rtt" >/dev/null
1284         then
1285                 with_ping6_command="$PATH_TO_PING -A inet6 -n -h %s -s 56 -c %d"
1286                 AC_MSG_RESULT([$with_ping6_command])
1288         elif $PATH_TO_PING -A inet6 -n -s 56 -c 1 ::1 2>/dev/null | \
1289                 egrep -i "^round-trip|^rtt" >/dev/null
1290         then
1291                 with_ping6_command="$PATH_TO_PING -A inet6 -n -s 56 -c %d %s"
1292                 ac_cv_ping6_packets_first=yes
1293                 AC_MSG_RESULT([$with_ping_command])
1295         elif $PATH_TO_PING -A inet6 -n -c 1 ::1 2>/dev/null | \
1296                 egrep -i "^round-trip|^rtt" >/dev/null
1297         then
1298                 with_ping6_command="$PATH_TO_PING -A inet6 -n -c %d %s"
1299                 ac_cv_ping6_packets_first=yes
1300                 AC_MSG_RESULT([$with_ping6_command])
1302         fi
1306 if test "x$with_ping6_command" != "x"; then
1307         AC_DEFINE_UNQUOTED(PING6_COMMAND,"$with_ping6_command",
1308                 [path and args for ICMPv6 ping command])
1309 else
1310         AC_MSG_RESULT([none])
1313 if test "x$ac_cv_ping6_packets_first" != "xno"; then
1314         AC_DEFINE(PING6_PACKETS_FIRST,1,
1315                 [Define if packet count must precede host])
1320 AC_ARG_WITH(nslookup_command,
1321             ACX_HELP_STRING([--with-nslookup-command=PATH],
1322                             [sets path to nslookup executable]),
1323             ac_cv_nslookup_command=$withval)
1324 if test -n "$ac_cv_nslookup_command"; then
1325         AC_MSG_NOTICE([Using specific nslookup at $ac_cv_nslookup_command])
1326 else
1327         AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
1328         if test -n "$PATH_TO_NSLOOKUP"
1329         then
1330                 AC_MSG_CHECKING(for nslookup syntax)
1331                 if $PATH_TO_NSLOOKUP -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
1332                 then
1333                         ac_cv_nslookup_command="$PATH_TO_NSLOOKUP"
1334                         AC_MSG_RESULT([$ac_cv_nslookup_command])
1336                 else
1337                         ac_cv_nslookup_command="$PATH_TO_NSLOOKUP -sil"
1338                         AC_MSG_RESULT([$ac_cv_nslookup_command])
1340                 fi
1341         else
1342                 AC_MSG_WARN([nslookup command not found])
1343         fi
1346 if test -n "$ac_cv_nslookup_command"; then
1347         EXTRAS="$EXTRAS check_dns\$(EXEEXT)"
1348         AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command", [path and args for nslookup])
1351 AC_MSG_CHECKING([for number of online cpus])
1352 AC_TRY_COMPILE([#include <unistd.h>],
1353         [sysconf(_SC_NPROCESSORS_ONLN) > 0;],
1354         AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_ONLN,1,[Define if sysconf returns number of online cpus])
1355         AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_ONLN)]),
1356         AC_MSG_RESULT([cannot calculate])
1357         )
1359 AC_MSG_CHECKING([for number of available cpus])
1360 AC_TRY_COMPILE([#include <unistd.h>],
1361         [sysconf(_SC_NPROCESSORS_CONF) > 0;],
1362         AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of available cpus])
1363         AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
1364         AC_MSG_RESULT([cannot calculate])
1365         )
1367 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
1368 AC_ARG_WITH(uptime_command,
1369             ACX_HELP_STRING([--with-uptime-command=PATH],
1370                             [sets path to uptime]), PATH_TO_UPTIME=$withval)
1371 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
1373 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
1374 AC_ARG_WITH(rpcinfo_command,
1375             ACX_HELP_STRING([--with-rpcinfo-command=PATH],
1376                             [sets path to rpcinfo]), PATH_TO_RPCINFO=$withval)
1377 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
1379 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
1380 if test -x "$PATH_TO_LMSTAT"
1381 then
1382         AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
1383 else
1384         AC_MSG_WARN([Get lmstat from Globetrotter Software to monitor flexlm licenses])
1387 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
1388 AC_ARG_WITH(smbclient_command,
1389             ACX_HELP_STRING([--with-smbclient-command=PATH],
1390                             [sets path to smbclient]),
1391             PATH_TO_SMBCLIENT=$withval)
1392 if test -n "$PATH_TO_SMBCLIENT"
1393 then
1394         AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
1395 else
1396         AC_MSG_WARN([Get smbclient from Samba.org to monitor SMB shares])
1399 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
1400 AC_ARG_WITH(snmpget_command,
1401             ACX_HELP_STRING([--with-snmpget-command=PATH],
1402                             [Path to snmpget command]),
1403             PATH_TO_SNMPGET=$withval)
1404 if test -n "$PATH_TO_SNMPGET"
1405 then
1406         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
1407         EXTRAS="$EXTRAS check_hpjd check_snmp\$(EXEEXT)"
1408 else
1409         AC_MSG_WARN([Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins])
1412 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
1413 AC_ARG_WITH(snmpgetnext_command,
1414             ACX_HELP_STRING([--with-snmpgetnext-command=PATH],
1415                             [Path to snmpgetnext command]),
1416             PATH_TO_SNMPGETNEXT=$withval)
1417 if test -n "$PATH_TO_SNMPGETNEXT"
1418 then
1419         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
1422 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
1423 then
1424         AC_MSG_CHECKING(for Net::SNMP perl module)
1425         AC_MSG_RESULT([found])
1426 else
1427         AC_MSG_WARN([Tried $PERL - install Net::SNMP perl module if you want to use the perl snmp plugins])
1430 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
1431 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
1432 AC_ARG_WITH(qstat_command,
1433             ACX_HELP_STRING([--with-qstat-command=PATH],
1434                             [Path to qstat command]), PATH_TO_QSTAT=$withval)
1436 if test -x "$PATH_TO_QUAKESTAT"
1437 then
1438         ac_cv_path_to_qstat="$PATH_TO_QUAKESTAT"
1439         EXTRAS="$EXTRAS check_game\$(EXEEXT)"
1441 elif test -n "$PATH_TO_QSTAT"
1442 then
1443         ac_cv_path_to_qstat="$PATH_TO_QSTAT"
1444         EXTRAS="$EXTRAS check_game\$(EXEEXT)"
1445 else
1446         AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
1449 if test $ac_cv_path_to_qstat
1450 then
1451         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
1452                 [path to qstat/quakestat])
1455 AC_PATH_PROG(PATH_TO_FPING,fping)
1456 AC_PATH_PROG(PATH_TO_FPING6,fping6)
1458 AC_ARG_WITH(fping_command,
1459             ACX_HELP_STRING([--with-fping-command=PATH],
1460                             [Path to fping command]), PATH_TO_FPING=$withval)
1461 AC_ARG_WITH(fping6_command,
1462             ACX_HELP_STRING([--with-fping6-command=PATH],
1463                             [Path to fping6 command]), PATH_TO_FPING6=$withval)
1465 if test -n "$PATH_TO_FPING"
1466 then
1467         AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
1468         EXTRAS="$EXTRAS check_fping\$(EXEEXT)"
1469         if test x"$with_ipv6" != xno && test -n "$PATH_TO_FPING6"; then
1470                 AC_DEFINE_UNQUOTED(PATH_TO_FPING6,"$PATH_TO_FPING6",[path to fping6])
1471         fi
1472 else
1473         AC_MSG_WARN([Get fping from http://www.fping.com in order to make check_fping plugin])
1476 AC_PATH_PROG(PATH_TO_SSH,ssh)
1477 AC_ARG_WITH(ssh_command,
1478             ACX_HELP_STRING([--with-ssh-command=PATH],
1479                             [sets path for ssh]), PATH_TO_SSH=$withval)
1480 if test -n "$PATH_TO_SSH"
1481 then
1482         AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
1483         EXTRAS="$EXTRAS check_by_ssh\$(EXEEXT)"
1484 else
1485         AC_MSG_WARN([Get ssh in order to make check_by_ssh plugin])
1488 AC_PATH_PROG(PATH_TO_SUDO,sudo)
1489 AC_ARG_WITH(sudo_command,
1490             ACX_HELP_STRING([--with-sudo-command=PATH],
1491                             [sets path to sudo]), PATH_TO_SUDO=$withval)
1492 if test -n "$PATH_TO_SUDO"
1493 then
1494         AC_DEFINE_UNQUOTED(PATH_TO_SUDO,"$PATH_TO_SUDO",[path to sudo])
1495 else
1496         AC_MSG_WARN([Could not find sudo or eqivalent])
1499 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
1500 AC_ARG_WITH(mailq_command,
1501             ACX_HELP_STRING([--with-mailq-command=PATH],
1502                             [sets path to mailq]), PATH_TO_MAILQ=$withval)
1503 if test -n "$PATH_TO_MAILQ"
1504 then
1505         AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
1506 else
1507         AC_MSG_WARN([Could not find mailq or eqivalent])
1510 AC_PATH_PROG(PATH_TO_QMAIL_QSTAT,qmail-qstat)
1511 AC_ARG_WITH(qmail_qstat_command,
1512             ACX_HELP_STRING([--with-qmail-qstat-command=PATH],
1513                             [sets path to qmail-qstat]), PATH_TO_QMAIL_QSTAT=$withval)
1514 if test -n "$PATH_TO_QMAIL_QSTAT"
1515 then
1516         AC_DEFINE_UNQUOTED(PATH_TO_QMAIL_QSTAT,"$PATH_TO_QMAIL_QSTAT",[path to qmail-qstat])
1517 else
1518         AC_MSG_WARN([Could not find qmail-qstat or eqivalent])
1521 dnl SWAP info required is amount allocated/available and amount free
1522 dnl The plugin works through all the swap devices and adds up the total swap
1523 dnl available.
1524 AC_PATH_PROG(PATH_TO_SWAP,swap)
1525 if (test -n "$PATH_TO_SWAP")
1526 then
1527 AC_MSG_CHECKING([for $PATH_TO_SWAP format])
1528 if [$PATH_TO_SWAP -l 2>&1 >/dev/null]
1529 then
1530         ac_cv_have_swap=yes
1531         ac_cv_swap_command="$PATH_TO_SWAP -l"
1532         if [$PATH_TO_SWAP -l 2>/dev/null | \
1533                 egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" \
1534                 >/dev/null]
1535         then
1536                 ac_cv_swap_format=[" %*d %*s %*d,%*d %*d %*d %f %f"]
1537                 ac_cv_swap_conv=2048
1538                 AC_MSG_RESULT([using IRIX format swap])
1540         elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
1541         then
1542                 ac_cv_swap_format=["%*s %*[0-9,-] %*d %f %f"]
1543                 ac_cv_swap_conv=2048
1544                 AC_MSG_RESULT([using Unixware format swap])
1545         else
1546                 dnl if we don't know what format swap's output is
1547                 dnl we might as well pretend we didn't see it
1548                 ac_cv_have_swap=""
1549                 ac_cv_swap_command=""
1550         fi
1552 dnl end if for PATH_TO_SWAP
1555 AC_PATH_PROG(PATH_TO_SWAPINFO,swapinfo)
1556 if (test -n "$PATH_TO_SWAPINFO")
1557 then
1558 AC_MSG_CHECKING([for $PATH_TO_SWAPINFO format])
1559 if [$PATH_TO_SWAPINFO -k 2>&1 | egrep -i "^Device" >/dev/null]
1560 then
1561         ac_cv_have_swap=yes
1562         ac_cv_swap_command="$PATH_TO_SWAPINFO -k"
1564         if [$PATH_TO_SWAPINFO -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
1565         then
1566                 ac_cv_swap_format=["%*s %f %*d %f"]
1567                 ac_cv_swap_conv=1024
1568                 AC_MSG_RESULT([using FreeBSD format swapinfo])
1569         fi
1571 elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
1572 then
1573         ac_cv_have_swap=yes
1574         ac_cv_swap_command="$PATH_TO_SWAPINFO -dfM"
1575         ac_cv_swap_format=["%*s %f %*d %f"]
1576         ac_cv_swap_conv=1024
1577         AC_MSG_RESULT([using HP-UX format swapinfo])
1579 dnl end if for PATH_TO_SWAPINFO
1582 AC_PATH_PROG(PATH_TO_LSPS,lsps)
1583 if (test -n "$PATH_TO_LSPS")
1584 then
1585 AC_MSG_CHECKING([for $PATH_TO_LSPS format])
1586 if [$PATH_TO_LSPS -a 2>/dev/null | egrep -i "^Page Space" > /dev/null]
1587 then
1588         ac_cv_have_swap=yes
1589         ac_cv_swap_command="$PATH_TO_LSPS -a"
1590         ac_cv_swap_format=["%*s %*s %*s %f%*s %f %*s"]
1591         ac_cv_swap_conv=1
1592         AC_MSG_RESULT([using AIX lsps])
1594 dnl end if for PATH_TO_SWAPINFO
1598 dnl test for swapctl system call, both the 2-arg and 3-arg variants
1599 dnl fwict, the 2-arg is an SVR4 standard, whereas the 3-arg is shared
1600 dnl in the various BSD's
1603 AC_CHECK_HEADERS([sys/stat.h sys/param.h])
1604 AC_CHECK_HEADERS([sys/swap.h], [], [], [
1605 #ifdef HAVE_SYS_PARAM_H
1606 #include <sys/param.h>
1607 #endif
1609 AC_CHECK_DECLS([swapctl],,,[
1610                #include <unistd.h>
1611                #include <sys/types.h>
1612                #include <sys/param.h>
1613                #include <sys/stat.h>
1614                #include <sys/swap.h>
1615                ])
1616 AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[
1617                #include <sys/types.h>
1618                #include <sys/param.h>
1619                #include <sys/stat.h>
1620                #include <sys/swap.h>
1621                ])
1622 AC_CHECK_MEMBERS([struct swapent.se_nblks],,,[
1623                  #include <unistd.h>
1624                  #include <sys/types.h>
1625                  #include <sys/param.h>
1626                  #include <sys/stat.h>
1627                  #include <sys/swap.h>
1628                  ])
1630 if test "$ac_cv_have_decl_swapctl" = "yes";
1631 then
1632         EXTRAS="$EXTRAS check_swap\$(EXEEXT)"
1633         AC_MSG_CHECKING([for 2-arg (SVR4) swapctl])
1634         if test "$ac_cv_type_swaptbl_t" = "yes" -a \
1635                 "$ac_cv_type_swapent_t" = "yes";
1636         then
1637                 AC_MSG_RESULT([yes])
1638                 ac_cv_check_swap_swapctl_svr4="1";
1639                 AC_DEFINE([CHECK_SWAP_SWAPCTL_SVR4],1,
1640                           [Define if 2-argument SVR4 swapctl exists])
1641         else
1642                 AC_MSG_RESULT([no])
1643                 AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
1644                 if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
1645                 then
1646                         AC_MSG_RESULT([yes])
1647                         AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
1648                                   [Define if 3-argument BSD swapctl exists])
1649                 else
1650                         AC_MSG_RESULT([no])
1651                 fi
1652         fi
1653         AC_MSG_CHECKING([for whether swapctl uses blocks or pages])
1654         if test "$ac_cv_check_swap_swapctl_svr4" = "1";
1655         then
1656                 dnl
1657                 dnl the SVR4 spec returns values in pages
1658                 dnl
1659                 AC_MSG_RESULT([page])
1660                 AC_CHECK_DECLS([sysconf])
1661                 AC_MSG_CHECKING([for system page size])
1662                 if test "$ac_cv_have_decl_sysconf" = "yes";
1663                 then
1664                         AC_MSG_RESULT([determined by sysconf(3)])
1665                         ac_cv_swap_conv="(1048576/sysconf(_SC_PAGESIZE))"
1666                 else
1667                         AC_MSG_WARN([don't know. guessing 4096k])
1668                         ac_cv_swap_conv=256
1669                 fi
1670         else
1671                 dnl
1672                 dnl the BSD spec returns values in blocks
1673                 dnl
1674                 AC_MSG_RESULT([blocks (assuming 512b)])
1675                 ac_cv_swap_conv=2048
1676         fi
1677         AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
1678                 [Conversion factor to MB])
1681 dnl end tests for the swapctl system calls
1685 if test "x$ac_cv_have_swap" != "x"
1686 then
1687         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1688         EXTRAS="$EXTRAS check_swap\$(EXEEXT)"
1690 if test "x$ac_cv_swap_command" != "x"
1691 then
1692         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
1693                 [Path to swap/swapinfo binary, with any args])
1694         AC_DEFINE_UNQUOTED(SWAP_FORMAT,"$ac_cv_swap_format",
1695                 [Format string for parsing swap output])
1696         AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
1697                 [Conversion factor to MB])
1700 AC_ARG_WITH(proc-meminfo,
1701             ACX_HELP_STRING([--with-proc-meminfo=PATH],
1702                             [path to /proc/meminfo or equivalent]),
1703                             ac_cv_proc_meminfo=$withval)
1704 dnl dunno why this does not work below - use hack (kbd)
1705 dnl fine on linux, broken on solaris
1706 dnl if /bin/test -e "/proc/meminfo"
1707 AC_MSG_CHECKING([for /proc/meminfo])
1708 if test -n "$ac_cv_proc_meminfo"; then
1709         AC_MSG_RESULT([(command line) $ac_cv_proc_meminfo])
1710 elif [cat /proc/meminfo > /dev/null 2>&1]; then
1711         AC_MSG_RESULT([found /proc/meminfo])
1712         ac_cv_proc_meminfo="/proc/meminfo"
1713 else
1714         AC_MSG_RESULT([no])
1717 if test -n "$ac_cv_proc_meminfo"; then
1718         AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
1719         AC_DEFINE_UNQUOTED(PROC_MEMINFO,"$ac_cv_proc_meminfo",[path to /proc/meminfo if name changes])
1720         EXTRAS="$EXTRAS check_swap\$(EXEEXT)"
1723 AC_PATH_PROG(PATH_TO_DIG,dig)
1724 AC_ARG_WITH(dig_command,
1725             ACX_HELP_STRING([--with-dig-command=PATH],
1726                             [Path to dig command]), PATH_TO_DIG=$withval)
1727 if test -n "$PATH_TO_DIG"; then
1728         EXTRAS="$EXTRAS check_dig\$(EXEEXT)"
1729         AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
1732 AC_PATH_PROG(PATH_TO_APTGET,apt-get)
1733 AC_ARG_WITH(apt-get_command,
1734             ACX_HELP_STRING([--with-apt-get-command=PATH],
1735                             [Path to apt-get command]),
1736                             with_apt_get_command=$withval,
1737                             with_apt_get_command=$PATH_TO_APTGET)
1738 AC_DEFINE_UNQUOTED(PATH_TO_APTGET,"$PATH_TO_APTGET",[Path to apt-get command, if present])
1739 if test -n "$PATH_TO_APTGET" ; then
1740         EXTRAS="$EXTRAS check_apt\$(EXEEXT)"
1744 if test -f $srcdir/plugins/check_nt.c ; then
1745   EXTRAS="$EXTRAS check_nt\$(EXEEXT)"
1749 dnl used in check_dhcp
1750 AC_CHECK_HEADERS(sys/sockio.h)
1752 case $host in
1753         *bsd*)
1754                 AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c])
1755         ;;
1756         *linux*)
1757                 AC_DEFINE(__linux__,1,[linux specific code in check_dhcp.c])
1758         ;;
1759         *sun* | *solaris*)
1760                 AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
1761         ;;
1762         *hpux*)
1763                 AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
1764         ;;
1765 esac
1767 AC_SUBST(EXTRAS)
1768 AC_SUBST(EXTRAS_ROOT)
1769 AC_SUBST(EXTRA_NETOBJS)
1770 AC_SUBST(DEPLIBS)
1772 AM_GNU_GETTEXT([external], [need-ngettext])
1773 AM_GNU_GETTEXT_VERSION(0.15)
1775 dnl Check for Redhat spopen problem
1776 dnl Wierd problem where ECHILD is returned from a wait call in error
1777 dnl Only appears to affect nslookup and dig calls. Only affects redhat around
1778 dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause
1779 dnl We patch plugins/popen.c
1780 dnl Need to add smp because uname different on those
1781 dnl Can force patch to be applied with --enable-redhat-pthread-workaround
1782 AC_ARG_ENABLE(redhat-pthread-workaround,
1783         AC_HELP_STRING([--enable-redhat-pthread-workaround],
1784                 [force Redhat patch to be applied (default: test system)]),
1785         [ac_cv_enable_redhat_pthread_workaround=$enableval],
1786         [ac_cv_enable_redhat_pthread_workaround=test])
1787 if test "$ac_cv_enable_redhat_pthread_workaround" = "test" ; then
1788         if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then
1789                 AC_MSG_NOTICE([See https://www.monitoring-plugins.org/doc/faq/configure-hangs.html if this next part takes a long time])
1790                 AC_MSG_CHECKING(for redhat spopen problem)
1791                 ( cd config_test && make && make test ) > /dev/null 2>&1
1792                 if test $? -eq 0 ; then
1793                         AC_MSG_RESULT(okay)
1794                 else
1795                         AC_MSG_RESULT(error)
1796                         AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Workaround on redhat in spopen])
1797                 fi
1798         fi
1799 elif test "$ac_cv_enable_redhat_pthread_workaround" = "yes" ; then
1800         AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Forced workaround on redhat in spopen])
1803 dnl Perl modules
1804 AC_ARG_ENABLE(perl-modules,
1805         AC_HELP_STRING([--enable-perl-modules],
1806                 [Enables installation of Monitoring::Plugin and its dependencies (default: no)]),
1807         [enable_perl_modules=$enableval],
1808         [enable_perl_modules=no])
1809 if test "$enable_perl_modules" = "yes" ; then
1810   AC_SUBST(PERLMODS_DIR,perlmods)
1813 # From Tap configure
1814 # Checks for libraries
1815 case "$host" in
1816         *-*-*freebsd4*)
1817                 LDFLAGS="$LDFLAGS -pthread"
1818                 HAVE_LIBPTHREAD=1
1819                 ;;
1820         *)
1821                 AC_CHECK_LIB(pthread, main)
1822                 ;;
1823 esac
1825 dnl External libraries - see ACKNOWLEDGEMENTS
1826 gl_INIT
1828 dnl Some helpful common compile errors checked here
1829 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
1830         AC_MSG_ERROR(No ar found for Solaris - is /usr/ccs/bin in PATH?)
1833 AC_OUTPUT(
1834   Makefile
1835   tap/Makefile
1836   lib/Makefile
1837   plugins/Makefile
1838   lib/tests/Makefile
1839   plugins-root/Makefile
1840   plugins-scripts/Makefile
1841   plugins-scripts/utils.pm
1842   plugins-scripts/utils.sh
1843   perlmods/Makefile
1844   test.pl
1845   pkg/solaris/pkginfo
1846   po/Makefile.in
1850 dnl the ones below that are commented out need to be cleaned up
1851 dnl in the configure code above to use with_foo instead of ac_cv_foo
1852 dnl if we want them to show up here.  it'd also make the code cleaner.
1853 dnl i'll get to that on another rainy day :) -sf
1854 ACX_FEATURE([with],[apt-get-command])
1855 dnl ACX_FEATURE([with],[dig-command])
1856 dnl ACX_FEATURE([with],[fping-command])
1857 dnl ACX_FEATURE([with],[mailq-command])
1858 dnl ACX_FEATURE([with],[nslookup-command])
1859 ACX_FEATURE([with],[ping6-command])
1860 ACX_FEATURE([with],[ping-command])
1861 dnl ACX_FEATURE([with],[qstat-command])
1862 dnl ACX_FEATURE([with],[rpcinfo-command])
1863 dnl ACX_FEATURE([with],[smbclient-command])
1864 dnl ACX_FEATURE([with],[snmpget-command])
1865 dnl ACX_FEATURE([with],[snmpgetnext-command])
1866 dnl ACX_FEATURE([with],[ssh-command])
1867 dnl ACX_FEATURE([with],[uptime-command])
1869 dnl ACX_FEATURE([with],[proc-meminfo])
1870 dnl ACX_FEATURE([with],[ps-command])
1871 dnl ACX_FEATURE([with],[ps-format])
1872 dnl ACX_FEATURE([with],[ps-cols])
1873 dnl ACX_FEATURE([with],[ps-varlist])
1875 ACX_FEATURE([with],[ipv6])
1876 ACX_FEATURE([with],[mysql])
1877 ACX_FEATURE([with],[openssl])
1878 ACX_FEATURE([with],[gnutls])
1879 ACX_FEATURE([enable],[extra-opts])
1880 ACX_FEATURE([with],[perl])
1881 ACX_FEATURE([enable],[perl-modules])
1882 ACX_FEATURE([with],[cgiurl])
1883 ACX_FEATURE([with],[trusted-path])
1884 ACX_FEATURE([enable],[libtap])