Code

Adds --with-lwres and --enable-emulate-getaddrinfo but are not used in any of
[nagiosplug.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION ($Revision$)
3 AC_INIT(Helper.pm)
4 VER=1.3.0
5 REL=1
6 AC_SUBST(VER)
7 AC_SUBST(REL)
8 PACKAGE_VERSION="${VER}"
9 AC_SUBST(PACKAGE_VERSION)
10 PACKAGE_RELEASE="${REL}"
11 AC_SUBST(PACKAGE_RELEASE)
12 AM_INIT_AUTOMAKE(nagios-plugins,${PACKAGE_VERSION})
13 AM_CONFIG_HEADER(plugins/config.h plugins/common.h plugins/version.h plugins/netutils.h plugins/utils.h plugins/popen.h)
15 AC_PREFIX_DEFAULT(/usr/local/nagios)
17 dnl Figure out how to invoke "install" and what install options to use.
19 AC_PROG_INSTALL
20 AC_SUBST(INSTALL)
22 AC_PROG_CC
23 AC_PROG_MAKE_SET
24 AC_PROG_AWK
26 saved_srcdir=$srcdir
27 srcdir=$srcdir/lib
28 test -f $srcdir/getloadavg.c \
29   || AC_MSG_ERROR([getloadavg.c is not in $srcdir])
30 AC_FUNC_GETLOADAVG
31 srcdir=$saved_srcdir
33 ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
34 dnl AM_WITH_REGEX
35 AC_PROG_RANLIB
37 AC_PATH_PROG(ACLOCAL,aclocal)
38 AC_PATH_PROG(AUTOMAKE,automake)
39 AC_PATH_PROG(AUTOCONF,autoconf)
40 AC_PATH_PROG(AUTOHEADER,autoheader)
42 PLUGIN_TEST=`echo $srcdir/plugins/t/*.t|sed -e 's,\.*/plugins/,,g'`
43 AC_SUBST(PLUGIN_TEST)dnl
45 SCRIPT_TEST=`echo $srcdir/plugins-scripts/t/*.t|sed -e 's,\.*/plugins-scripts/,,g'`
46 AC_SUBST(SCRIPT_TEST)dnl
48 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"
49 AC_SUBST(WARRANTY)
51 SUPPORT="Send email to nagios-users@lists.sourceforge.net if you have questions\nregarding use of this software. To submit patches or suggest improvements,\nsend email to nagiosplug-devel@lists.sourceforge.net\n"
52 AC_SUBST(SUPPORT)
54 dnl CGIURL has changed for Nagios with 1.0 beta
55 AC_ARG_WITH(cgiurl,--with-cgiurl=<dir> sets URL for cgi programs,cgiurl=$withval,cgiurl=/nagios/cgi-bin)
56 CGIURL="$cgiurl"
57 AC_DEFINE_UNQUOTED(CGIURL,"$CGIURL",[URL of CGI programs])
59 AC_ARG_WITH(nagios_user,--with-nagios-user=<user> sets user name to run nagios,nagios_usr=$withval,nagios_usr=nagios)
60 AC_ARG_WITH(nagios_group,--with-nagios-group=<group> sets group name to run nagios,nagios_grp=$withval,nagios_grp=nagios)
61 AC_SUBST(nagios_usr)
62 AC_SUBST(nagios_grp)
63 INSTALL_OPTS="-o $nagios_usr -g $nagios_grp"
64 AC_SUBST(INSTALL_OPTS)
66 AC_ARG_WITH(trusted_path,--with-trusted-path=/bin:/sbin:/usr/bin:/usr/sbin sets trusted path for executables called by scripts,trusted_path=$withval,trusted_path=/bin:/sbin:/usr/bin:/usr/sbin)
67 AC_SUBST(trusted_path)
69 EXTRAS=
70 dnl PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/etc:/usr/local/bin:/usr/local/sbin:$PATH
72 LDFLAGS="$LDFLAGS -L."
74 ac_cv_uname_m=`uname -m`
75 ac_cv_uname_s=`uname -s`
76 ac_cv_uname_r=`uname -r`
77 ac_cv_uname_v=`uname -v`
79 dnl Checks for programs.
80 AC_PATH_PROG(PYTHON,python)
81 AC_PATH_PROG(PERL,perl)
82 AC_PATH_PROG(SH,sh)
84 AC_PATH_PROG(HOSTNAME,hostname)
85 AC_PATH_PROG(BASENAME,basename)
88 dnl
89 dnl Checks for libraries.
90 dnl
92 AC_CHECK_LIB(dce,main,SOCKETLIBS="$SOCKETLIBS -ldce")
93 AC_CHECK_LIB(nsl,main,SOCKETLIBS="$SOCKETLIBS -lnsl")
94 AC_CHECK_LIB(socket,socket,SOCKETLIBS="$SOCKETLIBS -lsocket")
95 AC_CHECK_LIB(resolv,main,SOCKETLIBS="$SOCKETLIBS -lresolv")
96 AC_SUBST(SOCKETLIBS)
98 dnl Check for PostgreSQL libraries
99 _SAVEDLIBS="$LIBS"
100 _SAVEDCPPFLAGS="$CPPFLAGS"
101 AC_ARG_WITH(pgsql,--with-pgsql=<dir> sets path to pgsql installation,[PGSQL=$withval])
102 AC_CHECK_LIB(crypt,main)
103 if test "$ac_cv_lib_crypt_main" = "yes"; then
104   if test -n "$PGSQL"; then
105     LDFLAGS="$LDFLAGS -L$PGSQL/lib"
106     CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
107   fi
108   AC_CHECK_LIB(pq,PQsetdbLogin,,,-lcrypt)
109   if test "$ac_cv_lib_pq_PQsetdbLogin" = "yes"; then
110     AC_CHECK_HEADERS(pgsql/libpq-fe.h)
111     AC_CHECK_HEADERS(postgresql/libpq-fe.h)
112     AC_CHECK_HEADERS(libpq-fe.h)
113     if [[ -n "$PGSQL" -a "$ac_cv_header_libpq_fe_h" = "yes" ]]; then
114       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
115       PGINCLUDE="-I$PGSQL/include"
116     elif test  "$ac_cv_header_pgsql_libpq_fe_h" = "yes"; then
117       PGLIBS="-lpq -lcrypt"
118       PGINCLUDE="-I/usr/include/pgsql"
119     elif test  "$ac_cv_header_postgresql_libpq_fe_h" = "yes"; then
120       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
121       PGINCLUDE="-I/usr/include/postgresql"
122     elif test  "$ac_cv_header_libpq_fe_h" = "yes"; then
123       PGLIBS="-L$PGSQL/lib -lpq -lcrypt"
124       PGINCLUDE="-I$PGSQL/include"
125     fi
126     if test -z "$PGINCLUDE"; then
127       AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
128       AC_MSG_WARN([install PostgreSQL headers to compile this plugin (see REQUIREMENTS).])
129     else
130       AC_SUBST(PGLIBS)
131       AC_SUBST(PGINCLUDE)
132       EXTRAS="$EXTRAS check_pgsql"
133     fi
134   else
135     AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
136     AC_MSG_WARN([LIBS="$LIBS" CPPFLAGS="$CPPFLAGS"])
137     AC_MSG_WARN([install PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
138   fi
139 else
140   AC_MSG_WARN([Skipping PostgreSQL plugin (check_pgsql)])
141   AC_MSG_WARN([install lib crypt and PostgreSQL libs to compile this plugin (see REQUIREMENTS).])
142 fi
143 LIBS="$_SAVEDLIBS"
144 CPPFLAGS="$_SAVEDCPPFLAGS"
146 dnl Check for radius libraries
147 _SAVEDLIBS="$LIBS"
148 AC_CHECK_LIB(radiusclient,rc_read_config)
149 if test "$ac_cv_lib_radiusclient_rc_read_config" = "yes"; then
150   EXTRAS="$EXTRAS check_radius"
151         RADIUSLIBS="-lradiusclient"
152   AC_SUBST(RADIUSLIBS)
153 else
154   AC_MSG_WARN([Skipping radius plugin])
155   AC_MSG_WARN([install radius libs to compile this plugin (see REQUIREMENTS).])
156 fi
157 LIBS="$_SAVEDLIBS"
159 dnl Check for LDAP libraries
160 _SAVEDLIBS="$LIBS"
161 AC_CHECK_LIB(ldap,main,,,-llber)
162 if test "$ac_cv_lib_ldap_main" = "yes"; then
163   LDAPLIBS="-lldap -llber"\
164   LDAPINCLUDE="-I/usr/include/ldap"
165   AC_SUBST(LDAPLIBS)
166   AC_SUBST(LDAPINCLUDE)
167   EXTRAS="$EXTRAS check_ldap"
168 else
169   AC_MSG_WARN([Skipping LDAP plugin])
170   AC_MSG_WARN([install LDAP libs to compile this plugin (see REQUIREMENTS).])
171 fi
172 LIBS="$_SAVEDLIBS"
175 dnl Check for mysql libraries
176 _SAVEDLIBS="$LIBS"
177 _SAVEDCPPFLAGS="$CPPFLAGS"
178 AC_ARG_WITH(mysql,--with-mysql=<dir> sets path to mysql installation (assumes lib/mysql and include subdirs),[MYSQL=$withval])
179 if test -n "$MYSQL"; then
180   MYSQLLIBDIR=$MYSQL/lib/mysql
181   CPPFLAGS="-I$MYSQL/include"
182   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L$MYSQLLIBDIR ",,-L$MYSQLLIBDIR -lz)
183   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
184 elif test -f /usr/lib/libmysqlclient.so; then
185   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
186   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
187 elif test -f /usr/lib/libmysqlclient.a; then
188   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz",,-lz)
189   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient")
190 elif test -f /usr/lib/mysql/libmysqlclient.so; then
191   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
192   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
193 elif test -f /usr/lib/mysql/libmysqlclient.a; then
194   AC_CHECK_LIB(mysqlclient,mysql_init,MYSQLLIBS="-lmysqlclient -lz" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql -lz)
195   AC_CHECK_LIB(mysqlclient,mysql_close,MYSQLLIBS="-lmysqlclient" check_mysql_LDFLAGS="-L/usr/lib/mysql",,-L/usr/lib/mysql)
196 fi
197 if test "$ac_cv_lib_mysqlclient_mysql_init" = "yes" -o "$ac_cv_lib_mysqlclient_mysql_close" = "yes"; then
198   AC_CHECK_HEADERS(mysql/mysql.h mysql/errmsg.h, MYSQLINCLUDE="-I$MYSQL/include" )
199   if test "$ac_cv_header_mysql_mysql_h" = "yes" -a "$ac_cv_header_mysql_errmsg_h" = "yes"; then
200     EXTRAS="$EXTRAS check_mysql"
201     AC_SUBST(MYSQLINCLUDE)
202     AC_SUBST(MYSQLLIBS)
203     AC_SUBST(check_mysql_LDFLAGS)
204   else
205     AC_MSG_WARN([Skipping mysql plugin])
206     AC_MSG_WARN([install mysql client headers to compile this plugin (see REQUIREMENTS).])
207   fi
208 else
209   AC_MSG_WARN([Skipping mysql plugin])
210   AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
211 fi
212 CPPFLAGS="$_SAVEDCPPFLAGS"
213 LIBS="$_SAVEDLIBS"
215 dnl Check for OpenSSL location
216 AC_PATH_PROG(OPENSSL,openssl)
217 if test "$OPENSSL" = "/usr/bin/openssl"; then
218   OPENSSL=/usr
219 elif test "$OPENSSL" = "/usr/sbin/openssl"; then
220   OPENSSL=/usr
221 elif test "$OPENSSL" = "/opt/bin/openssl"; then
222   OPENSSL=/opt
223 elif test "$OPENSSL" = "/opt/openssl/bin/openssl"; then
224   OPENSSL=/opt/openssl
225 elif test "$OPENSSL" = "/usr/slocal/bin/openssl"; then
226   OPENSSL=/usr/slocal
227 elif test "$OPENSSL" = "/usr/local/bin/openssl"; then
228   OPENSSL=/usr/local
229 elif test "$OPENSSL" = "/usr/local/ssl/bin/openssl"; then
230   OPENSSL=/usr/local/ssl
231 fi
232 AC_ARG_WITH(openssl,--with-openssl=<dir> sets path to openssl installation,[OPENSSL=$withval])
234 dnl #########################################################################
235 dnl Check if Posix getaddrinfo() is available.  It is also possible to use
236 dnl the version from the lwres library distributed with BIND.
237 dnl #########################################################################
238 AC_ARG_ENABLE([emulate-getaddrinfo],
239               ACX_HELP_STRING([--enable-emulate-getaddrinfo],
240                              [enable getaddrinfo emulation (default=no)]),
241               ,
242               enable_emulate_getaddrinfo=no)
243 AC_ARG_WITH(lwres,
244             ACX_HELP_STRING([--with-lwres=DIR],
245                            [use lwres library for getaddrinfo (default=no)]),
246             ,
247             with_lwres=no)
249 dnl ## enable force to test getaddrinfo.c
250 if test x$enable_emulate_getaddrinfo = xforce ; then
251         enable_emulate_getaddrinfo=yes
252         have_getaddrinfo=no
253 else
255 have_getaddrinfo=no
256 if test x$with_lwres != xno ; then
257         if test "$with_lwres" != yes ; then
258                    CPPFLAGS="-I${with_lwres}/include $CPPFLAGS"
259                    LDFLAGS="-L${with_lwres}/lib $LDFLAGS"
260         fi
261         AC_CHECK_HEADERS(lwres/netdb.h, ,
262                         [AC_MSG_ERROR([cannot find <lwres/netdb.h>])])
263         AC_CHECK_LIB(lwres, lwres_getaddrinfo, ,
264                      [AC_MSG_ERROR([cannot find the lwres library])],
265                      -lnsl -lpthread)
266         have_getaddrinfo=yes
267 fi
269 if test x$have_getaddrinfo != xyes ; then
270         AC_SEARCH_LIBS(getaddrinfo, socket resolv bind nsl c_r cr, have_getaddrinfo=yes)
271 fi
273 dnl # Special nonsense for systems that actually have getaddrinfo but
274 dnl # redefine the name to something else, e.g. OSF
275 if test x$have_getaddrinfo != xyes ; then
276         AC_MSG_CHECKING(if getaddrinfo is redefined in netdb.h)
277         AC_TRY_LINK([
278 #               include <netdb.h>
279         ], [
280                 struct addrinfo hints, *res;
281                 int err;
283                 err = getaddrinfo ("host", "service", &hints, &res);
284         ], [
285                 have_getaddrinfo=yes
286                 AC_MSG_RESULT(yes)
287         ], [AC_MSG_RESULT(no)])
288 fi
290 fi
292 if test x$have_getaddrinfo != xno ; then
293         if test x$enable_emulate_getaddrinfo != xno ; then
294                 AC_MSG_ERROR([getaddrinfo found but emulate-getaddrinfo was enabled])
295         fi
296         AC_DEFINE(HAVE_GETADDRINFO, 1,
297                   [Does system provide RFC 2553/Posix getaddrinfo?])
298 else
299         if test x$enable_emulate_getaddrinfo != xyes ; then
300                 AC_MSG_ERROR([getaddrinfo not found: try --with-lwres or --enable-emulate-getaddrinfo])
301         fi
302         LIBOBJS="$LIBOBJS getaddrinfo.o"
303 fi
305 if test x"$enable_emulate_getaddrinfo" != xno ; then
306     have_resolver=no
308   dnl  Try for getipnodebyname
309     AC_SEARCH_LIBS(getipnodebyname, resolv bind nsl c_r cr, have_resolver=yes)
310     if test x"$have_resolver" != xno ; then
311          AC_DEFINE(HAVE_GETIPNODEBYNAME, 1,
312                    [Set when getipnodebyname is available])
313     fi
315   dnl  Try for gethostbyname_r
316     if test x"$have_resolver" = xno ; then
317         AC_SEARCH_LIBS(gethostbyname_r, resolv bind nsl c_r cr,
318                        [have_resolver=yes
319                         ACX_WHICH_GETHOSTBYNAME_R])
320     fi
322   dnl  Try for gethostbyname
323     if test x"$have_resolver" = xno ; then
324         if test x"$enable_pthreads" != xno ; then
325             AC_MSG_WARN([using threads but cannot find gethostbyname_r or getipnodebyname])
326         fi
327         AC_SEARCH_LIBS(gethostbyname, resolv bind nsl, ,
328                        [AC_MSG_ERROR([cannot find gethostbyname])])
329     fi
330     LIBOBJS="$LIBOBJS gethostbyname.o"
332     AC_CACHE_CHECK([for IPv6 support], acx_cv_sys_use_ipv6, [
333             AC_TRY_COMPILE([
334 #               include <netinet/in.h>
335             ], [
336                 struct sockaddr_in6 sin6;
337                 void *p;
339                 sin6.sin6_family = AF_INET6;
340                 sin6.sin6_port = 587;
341                 p = &sin6.sin6_addr;
342             ], [acx_cv_sys_use_ipv6=yes], [acx_cv_sys_use_ipv6=no])
343     ])
344     if test x"$acx_cv_sys_use_ipv6" != xno ; then
345             AC_DEFINE(USE_IPV6,1,[Enable IPv6 support])
346     fi
347 fi
349 AC_CHECK_HEADERS(krb5.h,FOUNDINCLUDE=yes,FOUNDINCLUDE=no)
350 if test "$FOUNDINCLUDE" = "no"; then
351   _SAVEDCPPFLAGS="$CPPFLAGS"
352   CPPFLAGS="$_SAVEDCPPFLAGS -I/usr/kerberos/include"
353   unset ac_cv_header_krb5_h
354   AC_CHECK_HEADERS(krb5.h,
355                    KRB5INCLUDE="-I/usr/kerberos/include"
356                    FOUNDINCLUDE=yes,
357                    FOUNDINCLUDE=no)
358 fi
359 AC_SUBST(KRBINCLUDE)
360 if test "$FOUNDINCLUDE" = "no"; then
361   CPPFLAGS="$_SAVEDCPPFLAGS"
362 fi
364 dnl Check for OpenSSL header files
365 unset FOUNDINCLUDE
366 _SAVEDCPPFLAGS="$CPPFLAGS"
367 CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
368 AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
369                  SSLINCLUDE="-I$OPENSSL/include"
370                  FOUNDINCLUDE=yes,
371                  FOUNDINCLUDE=no)
372 if test "$FOUNDINCLUDE" = "no"; then
373   AC_CHECK_HEADERS(ssl.h x509.h rsa.h pem.h crypto.h err.h,
374                    SSLINCLUDE="-I$OPENSSL/include"
375                    FOUNDINCLUDE=yes,
376                    FOUNDINCLUDE=no)
377 fi
378 AC_SUBST(SSLINCLUDE)
379 if test "$FOUNDINCLUDE" = "no"; then
380   CPPFLAGS="$_SAVEDCPPFLAGS"
381 fi
383 dnl Check for crypto lib
384 _SAVEDLIBS="$LIBS"
385 AC_CHECK_LIB(crypto,CRYPTO_lock,,,-L$OPENSSL/lib)
386 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
387   dnl Check for SSL lib
388   AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto",AC_CHECK_LIB(ssl,main,LDFLAGS="$LDFLAGS -L$OPENSSL/lib" SSLLIBS="-lssl -lcrypto"),-L$OPENSSL/lib -lcrypto)
389 fi
390 LIBS="$_SAVEDLIBS"
392 dnl test headers and libs to decide whether check_http should use SSL
393 if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
394   if test "$ac_cv_lib_ssl_main" = "yes"; then
395     if test "$FOUNDINCLUDE" = "yes"; then
396       AC_SUBST(SSLLIBS)
397       AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
398     fi
399   fi
400 fi
401 CPPFLAGS="$_SAVEDCPPFLAGS"
403 dnl
404 dnl Checks for header files.
405 dnl
407 AC_HEADER_STDC
408 AC_HEADER_TIME
409 AC_HEADER_SYS_WAIT
410 AC_CHECK_HEADERS(signal.h strings.h string.h syslog.h unistd.h uio.h errno.h regex.h sys/types.h sys/time.h sys/socket.h sys/loadavg.h)
411 AC_CHECK_HEADERS(stdarg.h sys/unistd.h unistd.h ctype.h sys/wait.h stdlib.h)
413 dnl Checks for typedefs, structures, and compiler characteristics.
414 AC_C_CONST
415 AC_STRUCT_TM
416 AC_TYPE_PID_T
417 AC_TYPE_SIZE_T
418 AC_TYPE_SIGNAL
420 AC_CHECK_SIZEOF(int,cross)
421 AC_CHECK_SIZEOF(long,cross)
422 AC_CHECK_SIZEOF(short,cross)
424 AC_CACHE_CHECK([for long long],ac_cv_have_longlong,[
425 AC_TRY_RUN([#include <stdio.h>
426 main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
427 ac_cv_have_longlong=yes,ac_cv_have_longlong=no,ac_cv_have_longlong=cross)])
428 if test x"$ac_cv_have_longlong" = x"yes"; then
429     AC_DEFINE(HAVE_LONGLONG,1,[Define if system has long long type])
430 fi
433 # Check if the compiler supports the LL prefix on long long integers.
434 # AIX needs this.
436 AC_CACHE_CHECK([for LL suffix on long long integers],ac_cv_compiler_supports_ll, [
437     AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
438         ac_cv_compiler_supports_ll=yes,ac_cv_compiler_supports_ll=no)])
439 if test x"$ac_cv_compiler_supports_ll" = x"yes"; then
440    AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Define if compiler support long long])
441 fi
443 AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE_VA_COPY,[
444 AC_TRY_LINK([#include <stdarg.h>
445 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
446 ac_cv_HAVE_VA_COPY=yes,ac_cv_HAVE_VA_COPY=no)])
447 if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
448     AC_DEFINE(HAVE_VA_COPY,1,[Define if system has va_copy])
449 fi
451 AC_CACHE_CHECK([for C99 vsnprintf],ac_cv_HAVE_C99_VSNPRINTF,[
452 AC_TRY_RUN([
453 #include <sys/types.h>
454 #include <stdarg.h>
455 void foo(const char *format, ...) { 
456        va_list ap;
457        int len;
458        char buf[5];
460        va_start(ap, format);
461        len = vsnprintf(buf, 0, format, ap);
462        va_end(ap);
463        if (len != 5) exit(1);
465        va_start(ap, format);
466        len = vsnprintf(0, 0, format, ap);
467        va_end(ap);
468        if (len != 5) exit(1);
470        if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
472        exit(0);
474 main() { foo("hello"); }
475 ],
476 ac_cv_HAVE_C99_VSNPRINTF=yes,ac_cv_HAVE_C99_VSNPRINTF=no,ac_cv_HAVE_C99_VSNPRINTF=cross)])
477 if test x"$ac_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
478     AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Define if system has C99 compatible vsnprintf])
479 fi
481 #AC_HAVE_DECL(asprintf, [#include <stdio.h>])
482 #AC_HAVE_DECL(vasprintf, [#include <stdio.h>])
483 #AC_HAVE_DECL(vsnprintf, [#include <stdio.h>])
484 #AC_HAVE_DECL(snprintf, [#include <stdio.h>])
486 AC_CHECK_FUNC(snprintf,
487               AC_DEFINE(HAVE_SNPRINTF,1,[Define if snprintf is present]),
488               LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
489 AC_CHECK_FUNC(vsnprintf,
490               AC_DEFINE(HAVE_VSNPRINTF,1,[Define if vsnprintf is present]),
491               LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
492 AC_CHECK_FUNC(vasprintf,
493               AC_DEFINE(HAVE_VASPRINTF,1,[Define if vasprintf is present]),
494               LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
495 AC_CHECK_FUNC(asprintf,
496               AC_DEFINE(HAVE_ASPRINTF,1,[Define if asprintf is present]),
497               LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a")
499 if test x"$ac_cv_HAVE_SNPRINTF" = x"no" -o x"$ac_cv_HAVE_VSNPRINTF" = x"no" -o x"$ac_cv_HAVE_VASPRINTF" = x"no" -o x"$ac_cv_HAVE_ASPRINTF" = x"no"; then
500   LIBS="$LIBS -lsnprintf" DEPLIBS="$DEPLIBS libsnprintf.a"
501 fi
503 AC_TRY_COMPILE([#include <sys/time.h>],
504                [struct timeval *tv;
505                 struct timezone *tz;],
506                AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure])
507                AC_TRY_COMPILE([#include <sys/time.h>],
508                               [struct timeval *tv;
509                                struct timezone *tz;
510                                gettimeofday(tv, tz);],
511                               AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]),
512                               AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])))
514 dnl Checks for library functions.
515 AC_CHECK_FUNCS(memmove select socket strdup strstr strtod strtol strtoul)
517 AC_MSG_CHECKING(for type of socket size)
518 AC_TRY_COMPILE([#include <stdlib.h>
519                 #include <sys/types.h>
520                 #include <sys/socket.h>],
521                [int a = send(1, (const void *) buffer, (size_t *) 0, (int *) 0);],
522                [AC_DEFINE(SOCKET_SIZE_TYPE, size_t, [Define type of socket size])
523                 AC_MSG_RESULT(size_t)],
524                [AC_DEFINE(SOCKET_SIZE_TYPE, int, [Define type of socket size])
525                 AC_MSG_RESULT(int)])
527 if test -f "/proc/loadavg"
528 then
529   AC_DEFINE(HAVE_PROC_LOADAVG,1,[Define if /proc/loadavg or similar exists])
530   AC_DEFINE_UNQUOTED(PROC_LOADAVG,"/proc/loadavg",[Location of /proc/loadavg])
531 fi
533 AC_PATH_PROG(PATH_TO_PS,ps)
534 dnl  STAT UCOMM              VSZ   RSS USER       UID  PPID COMMAND
535 if ps -weo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
536 then
537         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
538         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
539         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -weo 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
540         EXTRAS="$EXTRAS check_nagios"
541         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -weo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
542         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
543         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -weo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
544         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
545         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -weo 'rss comm'",[Verbatim command to execute for ps in check_rss])
546         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
547   echo "      ps syntax... $PATH_TO_PS -weo 'stat comm vsz rss user ppid args'"
548 dnl FreeBSD
549 elif ps waxco 'state command vsz rss uid user ppid' 2>/dev/null | egrep -i ["^STAT +COMMAND +VSZ +RSS +UID +USER +PPID"] >/dev/null
550 then
551         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
552         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
553         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'",[])
554         EXTRAS="$EXTRAS check_nagios"
555         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxco 'state uid ppid command command'",[])
556         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
557         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'",[])
558         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
559         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'",[])
560         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
561         echo "      ps syntax... $PATH_TO_PS -Ao 'state command vsz rss'"
562 dnl BSD-like mode in RH 6.1
563 elif ps waxno 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i ["^S +COMMAND +VSZ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
564 then
565         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
566         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
567         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxno 'state user ppid comm'",[])
568         EXTRAS="$EXTRAS check_nagios"
569         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxno 'state uid ppid comm args'",[])
570         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
571         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxno 'vsz comm'",[])
572         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
573         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxno 'rss comm'",[])
574         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
575         echo "      ps syntax... $PATH_TO_PS -waxco 'state comm vsz rss'"
576 dnl SunOS 4.1.3:
577 dnl  F  UID  PID  PPID  CP  PRI  NI  SZ  RSS  WCHAN  STAT  TT  TIME  COMMAND
578 dnl
579 elif ps -laxnwww 2>/dev/null | egrep -i ["^ *F(LAGS)? +UID +PID +PPID +CP +PRI +NI +(SZ)|(VSZ)|(SIZE) +RSS +WCHAN +STAT? +TTY? +TIME +COMMAND"] >/dev/null
580 then
581         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
582         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
583         EXTRAS="$EXTRAS check_nagios"
584         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
585         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -laxnwww",[])
586         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
587         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww",[])
588         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
589         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww",[])
590         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %d",[])
591         echo "      ps syntax... $PATH_TO_PS laxnwww"
592 dnl Debian Linux / procps v1.2.9:
593 dnl  FLAGS   UID   PID  PPID PRI  NI   SIZE   RSS WCHAN       STA TTY TIME COMMAND
594 dnl    100     0     1     0   0   0    776    76  c0131c8c   S  ffff  0:11 init [2]
595 dnl
596 elif ps laxnwww 2>/dev/null | egrep -i ["^ *F(LAGS)? +UID +PID +PPID +PRI +NI +(VSZ)|(SIZE) +RSS +WCHAN +STAT? TTY +TIME +COMMAND"] >/dev/null
597 then
598         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
599         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS laxnwww",[])
600         EXTRAS="$EXTRAS check_nagios"
601         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
602         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS laxnwww",[])
603         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
604         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS laxnwww",[])
605         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d",[])
606         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS laxnwww",[])
607         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
608         echo "      ps syntax... $PATH_TO_PS laxnwww"
609 dnl OpenBSD (needs to come early because -exo appears to work, but does not give all procs)
610 elif ps -axo 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
611 then
612         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
613         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
614         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -axo 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
615         EXTRAS="$EXTRAS check_nagios"
616         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -axo 'stat uid ppid comm args'",[Verbatim command to execute for ps in check_procs])
617         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
618         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -axo 'vsz comm'",[Verbatim command to execute for ps in check_vsz])
619         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[Format string for scanning ps output in check_vsz])
620         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -axo 'rss comm'",[Verbatim command to execute for ps in check_rss])
621         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[Format string for scanning ps output in check_rss])
622   echo "      ps syntax... $PATH_TO_PS -axo 'stat comm vsz rss user ppid args'"
623 dnl AIX 4.3.3 - needs verification. This works for Tru64 - needs %*[ +] in PS_FORMAT
624 elif ps -ao 'stat comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^ *S[TAUES]* +[UCOMDNA]+ +[VSIZE]+ +R[S]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
625 then
626         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
627         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
628         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'stat user ppid args'",[Verbatim command to execute for ps in check_netsaint])
629         EXTRAS="$EXTRAS check_nagios"
630         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'stat uid ppid comm args'")
631         AC_DEFINE_UNQUOTED(PS_FORMAT,[["%s%*[ +] %d %d %s %n"]],[Format string for scanning ps output in check_procs])
632         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz comm'",[])
633         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
634         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss comm'",[])
635         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
636   echo "      ps syntax... $PATH_TO_PS -ao 'stat comm vsz rss user ppid args'"
637 elif ps -eo 's comm vsz rss user uid ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +[VSIZE]+ +U[SER]+ +U[ID]+ +P[PID]+ +[RGSCOMDNA]+"] >/dev/null
638 then
639         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
640         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
641         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -eo 's user ppid args'",[Verbatim command to execute for ps in check_netsaint])
642         EXTRAS="$EXTRAS check_nagios"
643         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -eo 's uid ppid comm args'")
644         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
645         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -eo 'vsz comm'",[])
646         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
647         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -eo 'rss comm'",[])
648         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
649         echo "      ps syntax... $PATH_TO_PS -eo 's  comm vsz rss user ppid args'"
650 elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
651 then
652         AC_DEFINE(USE_PS_VARS,1,[Define if 'ps' will be parsed with sscanf])
653         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[Variable list for sscanf of 'ps' output])
654         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 's user ppid args'",[Verbatim command to execute for ps in check_netsaint])
655         EXTRAS="$EXTRAS check_nagios"
656         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 's uid ppid comm args'",[])
657         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
658         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
659         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
660         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
661         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
662         echo "      ps syntax... $PATH_TO_PS -Ao 's comm vsz rss'"
663 elif ps -Ao 'status comm vsz rss uid user ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
664 then
665         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
666         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
667         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'status user ppid args'",[Verbatim command to execute for ps in check_netsaint])
668         EXTRAS="$EXTRAS check_nagios"
669         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'status uid ppid comm args'",[])
670         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
671         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
672         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
673         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
674         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
675         echo "      ps syntax... $PATH_TO_PS -Ao 'status comm vsz rss'"
676 elif ps -Ao 'state comm vsz rss uid user ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
677 then
678         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
679         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos])
680         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -Ao 'state user ppid args'",[Verbatim command to execute for ps in check_netsaint])
681         EXTRAS="$EXTRAS check_nagios"
682         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Ao 'state uid ppid comm args'",[])
683         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
684         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
685         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
686         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -Ao 'rss comm'",[])
687         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
688         echo "      ps syntax... $PATH_TO_PS -Ao 'state comm vsz rss'"
689 dnl wonder who takes state instead of stat
690 elif ps -ao 'state command vsz rss user ppid args' 2>/dev/null | egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
691 then
692         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
693         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
694         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS -ao 'state user ppid args'",[])
695         EXTRAS="$EXTRAS check_nagios"
696         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -ao 'state uid ppid command args'",[])
697         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
698         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -ao 'vsz command'",[])
699         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
700         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -ao 'rss command'",[])
701         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
702         echo "      ps syntax... $PATH_TO_PS -ao 'state command vsz rss'"
703 dnl IRIX 53
704 elif ps -el 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
705 then
706         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
707         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
708         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
709         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
710         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
711         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d",[])
712         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
713         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
714         echo "      ps syntax... $PATH_TO_PS -el"
715 dnl IRIX 63
716 elif ps -el 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
717 then
718         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
719         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
720         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
721         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
722         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
723         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %d",[])
724         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
725         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
726         echo "      ps syntax... $PATH_TO_PS -el"
727 dnl    
728 dnl AIX 4.1:
729 dnl     F S      UID   PID  PPID   C PRI NI ADDR  SZ  RSS   WCHAN    TTY  TIME CMD
730 dnl    303 A        0     0     0 120  16 -- 1c07  20   24              -  0:45 swapper
731 elif ps -el 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
732 then
733         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
734         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
735         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -el",[])
736         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
737         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -el",[])
738         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
739         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS -el",[])
740         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %*s %*s %d",[])
741         echo "      ps syntax... $PATH_TO_PS -el"
742 dnl AIX?
743 elif ps glaxen 2>/dev/null | egrep -i ["^ *F +UID +PID +PPID +PRI +NI +VSZ +RSS +WCHAN +STAT +TTY +TIME +COMMAND"] >/dev/null
744 then
745         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
746         AC_DEFINE_UNQUOTED(PS_VARLIST,[&procuid,&procppid,procstat,&pos,procprog],[])
747         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS glaxen",[])
748         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %d %*s %d %*s %*s %*s %*s %*s %s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
749         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS glaxen",[])
750         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %*s %*s %*s %*s %*s %d",[])
751         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS glaxen",[])
752         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%*s %*s %*s %*s %*s %*s %*s %d",[])
753         echo "      ps syntax... $PATH_TO_PS glaxen"
754 dnl MacOSX / Darwin
755 dnl TODO: MacOSX has commands with spaces which will cause problems to PS_FORMAT
756 dnl STAT      VSZ    RSS   UID USER     PPID UCOMM            COMMAND
757 dnl Ss       1308    272     0 root        0 init             /sbin/init
758 elif ps waxo 'state vsz rss uid user ppid ucomm command' 2>/dev/null | egrep -i ["^STAT +VSZ +RSS +UID +USER +PPID +UCOMM +COMMAND"] >/dev/null
759 then
760         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
761         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,procprog,&pos],[])
762         AC_DEFINE_UNQUOTED(PS_RAW_COMMAND,"$PATH_TO_PS waxo 'state uid ppid command'",[])
763         EXTRAS="$EXTRAS check_nagios"
764         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS waxo 'state uid ppid ucomm command'",[])
765         AC_DEFINE_UNQUOTED(PS_FORMAT,"%s %d %d %s %n",[Format string for scanning ps output in check_procs])
766         AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS waxco 'vsz command'",[])
767         AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%d %s",[])
768         AC_DEFINE_UNQUOTED(RSS_COMMAND,"$PATH_TO_PS waxco 'rss command'",[])
769         AC_DEFINE_UNQUOTED(RSS_FORMAT,"%d %s",[])
770         echo "      ps syntax... $PATH_TO_PS waxo 'state vsz rss command'"
771 dnl UnixWare 
772 elif ps -Al 2>/dev/null | egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
773 then
774         AC_DEFINE(USE_PS_VARS,1,[Define if we use custom variable list for sscanf])
775         AC_DEFINE_UNQUOTED(PS_VARLIST,[procstat,&procuid,&procppid,&pos,procprog],[])
776         AC_DEFINE_UNQUOTED(PS_COMMAND,"$PATH_TO_PS -Al",[])
777         AC_DEFINE_UNQUOTED(PS_FORMAT,"%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s",[Format string for scanning ps output in check_procs])
778         if ps -Ao 'vsz comm' 2>/dev/null | egrep -i ["^ *VSZ +COMMAND"] >/dev/null
779         then
780                 AC_DEFINE_UNQUOTED(VSZ_COMMAND,"$PATH_TO_PS -Ao 'vsz comm'",[])
781                 AC_DEFINE_UNQUOTED(VSZ_FORMAT,"%*s %d",[])
782         fi
783         echo "      ps syntax... $PATH_TO_PS -Al"
784 else
785         echo "** Unable to find usable ps syntax"
786 fi
788 AC_ARG_WITH(df_command,--with-df-command=<syntax> sets syntax for df,DF_COMMAND=$withval)
789 if test -n "$DF_COMMAND"
790 then
791         AC_DEFINE_UNQUOTED(DF_COMMAND,"$DF_COMMAND",[path and args for df command])
792 elif df -Pk 2>/dev/null | egrep -i ["^(/dev/|[a-zA-Z]:)[a-z0-9/\\]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/\\]*"] >/dev/null
793 then
794         AC_PATH_PROG(PATH_TO_DF,df)
795         AC_MSG_RESULT([      df syntax... $PATH_TO_DF -Pk])
796         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -Pk",[path and args for df command])
797 elif df -k 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
798 then
799         AC_PATH_PROG(PATH_TO_DF,df)
800         AC_MSG_RESULT([      df syntax... $PATH_TO_DF -k])
801         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF -k",[path and args for df command])
802 elif df 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
803 then
804         AC_PATH_PROG(PATH_TO_DF,df)
805         AC_MSG_RESULT([      df syntax... $PATH_TO_DF])
806         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command])
807 elif bdf 2>/dev/null | egrep -i ["^/dev/[a-z0-9/]+ +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+% +/[a-z0-9/]*"] >/dev/null
808 then
809         AC_PATH_PROG(PATH_TO_DF,bdf)
810         AC_MSG_RESULT([      df syntax... $PATH_TO_DF])
811         AC_DEFINE_UNQUOTED(DF_COMMAND,"$PATH_TO_DF",[path and args for df command])
812 else
813         AC_MSG_WARN("unable to find usable df syntax")
814 fi
816 AC_PATH_PROG(PATH_TO_PING,ping)
818 AC_ARG_WITH(ping_command,--with-ping-command=<syntax> sets syntax for ping,PING_COMMAND=$withval)
819 if test -n "$PING_COMMAND"
820 then
821         echo "      ping syntax... (command-line) $PING_COMMAND"
822         if test -n "$PING_PACKETS_FIRST"
823         then
824                 AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
825         fi
826 elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
827 then
828         PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
829         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
830         echo "      ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
831 elif ping -n -U -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
832 then
833         PING_COMMAND="$PATH_TO_PING -n -U -c %d %s"
834         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
835         echo "      ping syntax... $PATH_TO_PING -n -U -c <count> <host>"
836 elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
837 then
838         PING_COMMAND="$PATH_TO_PING -n -c %d %s"
839         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
840         echo "      ping syntax... $PATH_TO_PING -n -c <count> <host>"
841 elif ping -n 127.0.0.1 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
842 then
843         PING_COMMAND="$PATH_TO_PING -n %s -c %d"
844         echo "      ping syntax... $PATH_TO_PING -n <host> -c <count>"
845 elif ping 127.0.0.1 -n 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
846 then
847         PING_COMMAND="$PATH_TO_PING %s -n %d"
848         echo "      ping syntax... $PATH_TO_PING <host> -n <count>"
849 elif ping -n -s 127.0.0.1 56 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
850 then
851         PING_COMMAND="$PATH_TO_PING -n -s %s 56 %d"
852         echo "      ping syntax... $PATH_TO_PING -n -s <host> 56 <count>"
853 elif ping -n -h 127.0.0.1 -s 56 -c 1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
854 then
855         PING_COMMAND="$PATH_TO_PING -n -h %s -s 56 -c %d"
856         echo "      ping syntax... $PATH_TO_PING -n -h <host> -s 56 -c <count>"
857 elif ping -n -s 56 -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
858 then
859         PING_COMMAND="$PATH_TO_PING -n -s 56 -c %d %s"
860         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
861         echo "      ping syntax... $PATH_TO_PING -n -s 56 -c <count> <host>"
862 elif ping -n -c 1 127.0.0.1 2>/dev/null | egrep -i "^round-trip|^rtt" >/dev/null
863 then
864         PING_COMMAND="$PATH_TO_PING -n -c %d %s"
865         AC_DEFINE_UNQUOTED(PING_PACKETS_FIRST,"$PING_COMMAND",[Define if packet count must precede host])
866         echo "      ping syntax... $PATH_TO_PING -n -c <count> <host>"
867 else
868         AC_MSG_WARN("unable to find usable ping syntax")
869 fi
870 AC_DEFINE_UNQUOTED(PING_COMMAND,"$PING_COMMAND",[path and args for ping command])
872 AC_PATH_PROG(PATH_TO_NSLOOKUP,nslookup)
873 if test -n "$ac_cv_path_PATH_TO_NSLOOKUP"
874 then
875         if nslookup -sil 127.0.0.1 2>&1 | grep ["Invalid option: sil"] >/dev/null
876         then
877                 AC_MSG_RESULT([      nslookup syntax... $PATH_TO_NSLOOKUP])
878                 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP",[path and args for nslookup])
879         else
880                 AC_MSG_RESULT([      nslookup syntax... $PATH_TO_NSLOOKUP -sil])
881                 AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$PATH_TO_NSLOOKUP -sil",[path and args for nslookup])
882         fi
883         EXTRAS="$EXTRAS check_dns"
884 else
885         AC_MSG_WARN([nslookup command not found])
886 fi
888 AC_PATH_PROG(PATH_TO_HOST,host)
889 if test -n "$ac_cv_path_PATH_TO_HOST"
890 then
891         EXTRAS="$EXTRAS check_dns"
892 fi
894 AC_PATH_PROG(PATH_TO_UPTIME,uptime)
895 AC_DEFINE_UNQUOTED(PATH_TO_UPTIME,"$PATH_TO_UPTIME",[path to uptime binary])
897 AC_PATH_PROG(PATH_TO_RPCINFO,rpcinfo)
898 AC_DEFINE_UNQUOTED(PATH_TO_RPCINFO,"$PATH_TO_RPCINFO",[path to rpcinfo binary])
900 AC_PATH_PROG(PATH_TO_NTPDATE,ntpdate)
901 AC_PATH_PROGS(PATH_TO_NTPDC,ntpdc xntpdc)
902 AC_PATH_PROGS(PATH_TO_NTPQ,ntpq)
903 if (test -x "$PATH_TO_NTPDATE" || test -x "$PATH_TO_NTPQ")
904 then
905         AC_DEFINE_UNQUOTED(PATH_TO_NTPQ,"$PATH_TO_NTPQ",[path to ntpq binary])
906         AC_DEFINE_UNQUOTED(PATH_TO_NTPDATE,"$PATH_TO_NTPDATE",[path to ntpdate binary])
907 else
908         echo "** Install NTP programs (http://www.ntp.org) if you want to monitor time synchronization"
909 fi
911 AC_PATH_PROG(PATH_TO_LMSTAT,lmstat)
912 if test -x "$PATH_TO_LMSTAT"
913 then
914         AC_DEFINE_UNQUOTED(PATH_TO_LMSTAT,"$PATH_TO_LMSTAT",[path to lmstat])
915 else
916         echo "** Get lmstat from Globetrotter Software to monitor flexlm licenses"
917 fi
919 AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
920 if test -x "$PATH_TO_SMBCLIENT"
921 then
922         AC_DEFINE_UNQUOTED(PATH_TO_SMBCLIENT,"$PATH_TO_SMBCLIENT",[path to smbclient binary])
923 else
924         echo "** Get smbclient from Samba.org to monitor SMB shares"
925 fi
928 AC_PATH_PROG(PATH_TO_WHO,who)
929 if [who -q 2>/dev/null | egrep -i "^# users=[0-9]+$" >/dev/null]
930 then
931         AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO -q",[path and arguments for invoking 'who'])
932 else
933         AC_DEFINE_UNQUOTED(WHO_COMMAND,"$PATH_TO_WHO",[path and arguments for invoking 'who'])
934 fi
936 AC_PATH_PROG(PATH_TO_SNMPGET,snmpget)
937 if test -x "$PATH_TO_SNMPGET"
938 then
939         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGET,"$PATH_TO_SNMPGET",[path to snmpget binary])
940         EXTRAS="$EXTRAS check_hpjd check_snmp"
941 else
942         echo "** Get snmpget from http://net-snmp.sourceforge.net to make check_hpjd and check_snmp plugins"
943 fi
945 AC_PATH_PROG(PATH_TO_SNMPGETNEXT,snmpgetnext)
946 if test -x "$PATH_TO_SNMPGETNEXT"
947 then
948         AC_DEFINE_UNQUOTED(PATH_TO_SNMPGETNEXT,"$PATH_TO_SNMPGETNEXT",[path to snmpgetnext binary])
949 fi
951 if ( $PERL -M"Net::SNMP 3.6" -e 'exit' 2>/dev/null  )
952 then
953         echo "Found Net::SNMP perl module"
954 else
955         echo "** Tried $PERL - install Net::SNMP perl module if you want to"
956         echo "        use the perl snmp plugins"
957 fi
959 AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
960 AC_PATH_PROG(PATH_TO_QSTAT,qstat)
961 if test -x "$PATH_TO_QUAKESTAT"
962 then
963         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QUAKESTAT",[path to qstat/quakestat])
964         EXTRAS="$EXTRAS check_game"
965 elif test -x "$PATH_TO_QSTAT"
966 then
967         AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$PATH_TO_QSTAT",[path to qstat/quakestat])
968         EXTRAS="$EXTRAS check_game"
969 else
970         echo "** Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin"
971 fi
973 AC_PATH_PROG(PATH_TO_FPING,fping)
974 if test -x "$PATH_TO_FPING"
975 then
976         AC_DEFINE_UNQUOTED(PATH_TO_FPING,"$PATH_TO_FPING",[path to fping])
977         EXTRAS="$EXTRAS check_fping"
978 else
979         echo "** Get fping from http://www.fping.com in order to make check_fping plugin"
980 fi
982 AC_PATH_PROG(PATH_TO_SSH,ssh)
983 if test -x "$PATH_TO_SSH"
984 then
985         AC_DEFINE_UNQUOTED(SSH_COMMAND,"$PATH_TO_SSH",[path to ssh binary])
986         EXTRAS="$EXTRAS check_by_ssh"
987 else
988         echo "** Get ssh in order to make check_by_ssh plugin"
989 fi
992 AC_PATH_PROG(PATH_TO_MAILQ,mailq)
993 if test -x "$PATH_TO_MAILQ"
994 then
995         AC_DEFINE_UNQUOTED(PATH_TO_MAILQ,"$PATH_TO_MAILQ",[path to mailq])
996 else
997         echo "** Could not find mailq or eqivalent"
998 fi
1000 dnl SWAP info required is amount allocated/available and amount free
1001 dnl The plugin works through all the swap devices and adds up the total swap
1002 dnl available.
1004 dnl dunno why this does not work below - use hack (kbd)
1005 dnl fine on linux, broken on solaris
1006 dnl if /bin/test -e "/proc/meminfo"
1008 if [cat /proc/meminfo > /dev/null 2>&1]
1009 then
1010         echo "found /proc/meminfo"
1011         AC_DEFINE(HAVE_PROC_MEMINFO,1,[Define if we have /proc/meminfo])
1012         AC_DEFINE_UNQUOTED(PROC_MEMINFO,"/proc/meminfo",[path to /proc/meminfo if name changes])
1013         EXTRAS="$EXTRAS check_swap"
1014 elif [swap -l 2>&1 >/dev/null]
1015 then
1016         echo "found swap command"
1017         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1018         AC_PATH_PROG(PATH_TO_SWAP,swap)
1019         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -l",[Path to swap/swapinfo binary, with any args])
1020         if [swap -l 2>/dev/null | egrep -i "^lswap +path +pri +swaplo +blocks +free +maxswap" >/dev/null]
1021         then
1022                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,[" %*d %*s %*d,%*d %*d %*d %d %d"],[Format string for parsing swap output])
1023                 echo "      using IRIX format"
1024         elif [swap -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
1025         then
1026                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
1027                 echo "      using Solaris format"
1028         elif [swap -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
1029         then
1030                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %*[[0-9,-]] %*d %d %d"],[Format string for parsing swap output])
1031                 echo "      using Unixware format"
1032         fi
1033         EXTRAS="$EXTRAS check_swap"
1034 elif [swapinfo -k 2>&1 | egrep -i "^Device" >/dev/null]
1035 then
1036         echo "found swapinfo command"
1037         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1038         AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
1039         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -k",[Path to swap/swapinfo binary, with any args])
1040         if [swapinfo -k 2>/dev/null | egrep -i "^Device +1K-blocks +Used +Avail" >/dev/null]
1041         then
1042                 AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output])
1043                 echo "      using FreeBSD format"
1044         fi
1045         EXTRAS="$EXTRAS check_swap"
1046 elif [swapinfo -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
1047 then
1048         AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
1049         AC_PATH_PROG(PATH_TO_SWAP,swapinfo)
1050         AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$PATH_TO_SWAP -dfM",[Path to swap/swapinfo binary, with any args])
1051         AC_DEFINE_UNQUOTED(SWAP_FORMAT,["%*s %d %*d %d"],[Format string for parsing swap output ])
1052         echo "        using HP-UX format HP-UX"
1053 fi
1055 AC_PATH_PROG(PATH_TO_DIG,dig)
1056 AC_DEFINE_UNQUOTED(PATH_TO_DIG,"$PATH_TO_DIG",[Path to dig command, if present])
1057 if test -n "$PATH_TO_DIG"; then
1058         EXTRAS="$EXTRAS check_dig"
1059 fi
1061 if test -f plugins/check_nt.c ; then
1062   EXTRAS="$EXTRAS check_nt"
1063 elif test -f ../plugins/check_nt.c ; then
1064   EXTRAS="$EXTRAS check_nt"
1065 fi
1067 AC_TRY_COMPILE([#ifdef __STDC__
1068 #include <stdio.h>
1069 #include <stdlib.h>
1070 #include <stdarg.h>
1071 #else
1072 #include <sys/types.h>
1073 #include <stdio.h>
1074 #include <varargs.h>
1075 #endif],
1076 [va_list args;],
1077 [AC_MSG_RESULT(yes)],
1078 [NEED_VA_LIST=-DNEED_VA_LIST AC_SUBST(NEED_VA_LIST) AC_MSG_RESULT(no)])
1080 AC_SUBST(EXTRAS)
1081 AC_SUBST(DEPLIBS)
1083 AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"${VERSION}",[package version])
1085 AC_OUTPUT(Makefile subst lib/Makefile plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl,echo timestamp > plugins/stamp-h1;echo timestamp > plugins/stamp-h2;echo timestamp > plugins/stamp-h3;echo timestamp > plugins/stamp-h4;echo timestamp > plugins/stamp-h5;echo timestamp > plugins/stamp-h6;PATH=.:..:$PATH subst.sh command.cfg)