diff --git a/configure.in b/configure.in
index 9fe4ded18d5302351288dd01ed1de6ef0d6e27bb..17bc5abb869514039aef3d0a2c5ca3d5f531f461 100644 (file)
--- a/configure.in
+++ b/configure.in
dnl Process this file with autoconf to produce a configure script.
AC_REVISION ($Revision$)
AC_PREREQ(2.50)
-AC_INIT(nagios-plugins,1.3.99)
+AC_INIT(nagios-plugins,1.4.0-alpha3)
AC_CONFIG_SRCDIR(Helper.pm)
AM_INIT_AUTOMAKE
-AC_CONFIG_HEADER(config.h)
+AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
RELEASE=1
AC_FUNC_ERROR_AT_LINE
AC_CONFIG_LIBOBJ_DIR(lib)
-AC_FUNC_GETLOADAVG($topdir/lib)
+AC_FUNC_GETLOADAVG([lib])
ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD])
dnl AM_WITH_REGEX
AC_MSG_WARN([Skipping mysql plugin])
AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
fi
-CPPFLAGS="$_SAVEDCPPFLAGS"
+CPPFLAGS="$_SAVEDCPPFLAGS $MYSQLINCLUDE"
LIBS="$_SAVEDLIBS"
dnl Check for OpenSSL location
dnl Check for OpenSSL header files
unset FOUNDINCLUDE
_SAVEDCPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
+if test "$OPENSSL" != "/usr"; then
+ CPPFLAGS="$CPPFLAGS -I$OPENSSL/include"
+fi
AC_CHECK_HEADERS(openssl/ssl.h openssl/x509.h openssl/rsa.h openssl/pem.h openssl/crypto.h openssl/err.h,
SSLINCLUDE="-I$OPENSSL/include"
FOUNDINCLUDE=yes,
if test "$ac_cv_lib_crypto_CRYPTO_lock" = "yes"; then
if test "$ac_cv_lib_ssl_main" = "yes"; then
if test "$FOUNDINCLUDE" = "yes"; then
- check_tcp_ssl="check_simap check_spop"
+ check_tcp_ssl="check_simap check_spop check_jabber check_nntps"
AC_SUBST(check_tcp_ssl)
AC_SUBST(SSLLIBS)
AC_DEFINE(HAVE_SSL,1,[Define if SSL libraries are found])
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(signal.h strings.h string.h syslog.h uio.h errno.h regex.h sys/types.h sys/time.h sys/socket.h sys/loadavg.h)
AC_CHECK_HEADERS(features.h stdarg.h sys/unistd.h ctype.h stdlib.h)
-AC_CHECK_HEADERS(limits.h sys/param.h sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h fcntl.h sys/statfs.h sys/dustat.h sys/statvfs.h)
+AC_CHECK_HEADERS(limits.h sys/param.h)
+AC_CHECK_HEADERS([sys/mount.h],[],[],[
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+])
+AC_CHECK_HEADERS(sys/vfs.h sys/fs/s5param.h sys/filsys.h fcntl.h sys/statfs.h sys/dustat.h sys/statvfs.h)
# glibc 2.3.2 stdlib.h does not define HUGE_VAL (see man strtod)
AC_MSG_CHECKING([for HUGE_VAL in <stdlib.h>])
AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Define if compiler support long long])
fi
-AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE_VA_COPY,[
+AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
AC_TRY_LINK([#include <stdarg.h>
-va_list ap1,ap2;], [__va_copy(ap1,ap2);],
-ac_cv_HAVE_VA_COPY=yes,ac_cv_HAVE_VA_COPY=no)])
+va_list ap1,ap2;], [va_copy(ap1,ap2);],
+ac_cv_HAVE_VA_COPY=yes,
+ac_cv_HAVE_VA_COPY=no)])
if test x"$ac_cv_HAVE_VA_COPY" = x"yes"; then
- AC_DEFINE(HAVE_VA_COPY,1,[Define if system has va_copy])
+ AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
+else
+ AC_CACHE_CHECK([for __va_copy],ac_cv_HAVE___VA_COPY,[
+ AC_TRY_LINK([#include <stdarg.h>
+ va_list ap1,ap2;], [__va_copy(ap1,ap2);],
+ ac_cv_HAVE___VA_COPY=yes,
+ ac_cv_HAVE___VA_COPY=no)])
+ if test x"$ac_cv_HAVE___VA_COPY" = x"yes"; then
+ AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
+ fi
fi
AC_CHECK_FUNCS(vsnprintf snprintf asprintf vasprintf)
ac_cv_ps_cols=7
AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
+dnl Solaris 2.6
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
then
ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'"
- ac_cv_ps_format="%s %d %d %d %d %f %s %n"
+ # There must be no space between the %s and %n due to a wierd problem in sscanf where
+ # it will return %n as longer than the line length
+ ac_cv_ps_format="%s %d %d %d %d %f %s%n"
ac_cv_ps_cols=8
AC_MSG_RESULT([$ac_cv_ps_command])
egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
then
ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el"
+ ac_cv_ps_command="$PATH_TO_PS -el (IRIX 53)"
ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %d %d %*s %*s %*s %n%s"
ac_cv_ps_cols=7
AC_MSG_RESULT([$ac_cv_ps_command])
egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +P +ADDR +SZ +RSS +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
then
ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el"
+ ac_cv_ps_command="$PATH_TO_PS -el (IRIX 63)"
ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
ac_cv_ps_cols=5
AC_MSG_RESULT([$ac_cv_ps_command])
egrep -i ["^ *F +S +UID +PID +PPID +C +PRI +NI +ADDR +SZ +WCHAN +TTY +TIME +[RGSCOMDNA]+"] >/dev/null
then
ac_cv_ps_varlist="[procstat,&procuid,&procppid,&pos,procprog]"
- ac_cv_ps_command="$PATH_TO_PS -el"
+ ac_cv_ps_command="$PATH_TO_PS -el (AIX 4.1 and HP-UX)"
ac_cv_ps_format="%*s %s %d %*s %d %*s %*s %*s %*s %*s %*s %*s %*s %n%s"
- ac_cv_ps_cols=7
+ ac_cv_ps_cols=5
AC_MSG_RESULT([$ac_cv_ps_command])
dnl AIX?
AC_MSG_CHECKING(for ICMP ping syntax)
ac_cv_ping_packets_first=no
+ac_cv_ping_has_timeout=no
if test -n "$with_ping_command"
then
AC_MSG_RESULT([(command-line) $with_ping_command])
ac_cv_ping_packets_first=yes
AC_MSG_RESULT([$with_ping_command])
+elif $PATH_TO_PING -n -U -w 10 -c 1 127.0.0.1 2>/dev/null | \
+ egrep -i "^round-trip|^rtt" >/dev/null
+then
+ with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s"
+ ac_cv_ping_packets_first=yes
+ ac_cv_ping_has_timeout=yes
+ AC_MSG_RESULT([$with_ping_command])
+
elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \
egrep -i "^round-trip|^rtt" >/dev/null
then
[Define if packet count must precede host])
fi
+if test "x$ac_cv_ping_has_timeout" != "xno"
+then
+ AC_DEFINE(PING_HAS_TIMEOUT,1,
+ [Define if ping has its own timeout option that should be set])
+fi
+
AC_ARG_WITH(ping6_command,
ACX_HELP_STRING([--with-ping6-command=SYNTAX],
[sets syntax for ICMPv6 ping]),
ac_cv_swap_conv=2048
AC_MSG_RESULT([using IRIX format swap])
- elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^swapfile +dev +swaplo +blocks +free" >/dev/null]
- then
- ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"]
- ac_cv_swap_conv=2048
- AC_MSG_RESULT([using Solaris format swap])
-
elif [$PATH_TO_SWAP -l 2>/dev/null | egrep -i "^path +dev +swaplo +blocks +free" >/dev/null]
then
ac_cv_swap_format=["%*s %*[0-9,-] %*d %d %d"]
ac_cv_swap_conv=2048
AC_MSG_RESULT([using Unixware format swap])
-
+ else
+ dnl if we don't know what format swap's output is
+ dnl we might as well pretend we didn't see it
+ ac_cv_have_swap=""
+ ac_cv_swap_command=""
fi
- EXTRAS="$EXTRAS check_swap"
fi
dnl end if for PATH_TO_SWAP
fi
ac_cv_swap_conv=1024
AC_MSG_RESULT([using FreeBSD format swapinfo])
fi
- EXTRAS="$EXTRAS check_swap"
elif [$PATH_TO_SWAPINFO -dfM 2>/dev/null | egrep -i "^TYPE +AVAIL +USED +FREE" >/dev/null]
then
dnl end if for PATH_TO_SWAPINFO
fi
+dnl
+dnl test for swapctl system call, both the 2-arg and 3-arg variants
+dnl fwict, the 2-arg is an SVR4 standard, whereas the 3-arg is shared
+dnl in the various BSD's
+dnl
+
+AC_CHECK_HEADERS([sys/swap.h], [], [], [
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+])
+AC_CHECK_HEADERS([sys/stat.h sys/param.h])
+AC_CHECK_DECLS([swapctl],,,[
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/swap.h>
+ ])
+AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/swap.h>
+ ])
+AC_CHECK_MEMBERS([struct swapent.se_nblks],,,[
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/swap.h>
+ ])
+
+if test "$ac_cv_have_decl_swapctl" = "yes";
+then
+ EXTRAS="$EXTRAS check_swap"
+ AC_MSG_CHECKING([for 2-arg (SVR4) swapctl])
+ if test "$ac_cv_type_swaptbl_t" = "yes" -a \
+ "$ac_cv_type_swapent_t" = "yes";
+ then
+ AC_MSG_RESULT([yes])
+ ac_cv_check_swap_swapctl_svr4="1";
+ AC_DEFINE([CHECK_SWAP_SWAPCTL_SVR4],1,
+ [Define if 2-argument SVR4 swapctl exists])
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
+ if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
+ then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
+ [Define if 3-argument BSD swapctl exists])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ AC_MSG_CHECKING([for whether swapctl uses blocks or pages])
+ if test "$ac_cv_check_swap_swapctl_svr4" = "1";
+ then
+ dnl
+ dnl the SVR4 spec returns values in pages
+ dnl
+ AC_MSG_RESULT([page])
+ AC_CHECK_DECLS([sysconf])
+ AC_MSG_CHECKING([for system page size])
+ if test "$ac_cv_have_decl_sysconf" = "yes";
+ then
+ AC_MSG_RESULT([determined by sysconf(3)])
+ ac_cv_swap_conv="(1048576/sysconf(_SC_PAGESIZE))"
+ else
+ AC_MSG_WARN([don't know. guessing 4096k])
+ ac_cv_swap_conv=256
+ fi
+ else
+ dnl
+ dnl the BSD spec returns values in blocks
+ dnl
+ AC_MSG_RESULT([blocks (assuming 512b)])
+ ac_cv_swap_conv=2048
+ fi
+ AC_DEFINE_UNQUOTED(SWAP_CONVERSION,$ac_cv_swap_conv,
+ [Conversion factor to MB])
+fi
+dnl
+dnl end tests for the swapctl system calls
+dnl
+
+
if test "x$ac_cv_have_swap" != "x"
then
AC_DEFINE(HAVE_SWAP,1,[Define if swap/swapinfo command is found])
+ EXTRAS="$EXTRAS check_swap"
fi
if test "x$ac_cv_swap_command" != "x"
then
AC_SUBST(DEPLIBS)
AM_GNU_GETTEXT_VERSION(0.11.5)
-AM_GNU_GETTEXT
+AM_GNU_GETTEXT([no-libtool], [need-ngettext])
AC_OUTPUT(Makefile lib/Makefile plugins/Makefile plugins-scripts/Makefile plugins-scripts/subst plugins-scripts/utils.pm plugins-scripts/utils.sh command.cfg test.pl pkg/solaris/pkginfo intl/Makefile po/Makefile.in )
ACX_FEATURE([with],[nagios-user])
ACX_FEATURE([with],[nagios-group])
ACX_FEATURE([with],[trusted-path])
-ACX_FEATURE([with],[df-command])
ACX_FEATURE([with],[ping-command])
ACX_FEATURE([with],[ping6-command])
ACX_FEATURE([with],[lwres])