029b583c0bc1d51f0e79e588b76d051dfcf0689f
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
477 #
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);
519 }
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)