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
432 #
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);
473 }
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)