Code

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