diff --git a/configure.in b/configure.in
index 28d159e7a50132396a0304e16b4791c4cff82611..8e971dde2dc90a023f9d3f5bfc04290697be905c 100644 (file)
--- a/configure.in
+++ b/configure.in
AC_INIT(nagios-plugins,1.4.0alpha2)
AC_CONFIG_SRCDIR(Helper.pm)
AM_INIT_AUTOMAKE
-AC_CONFIG_HEADER(config.h)
+AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
RELEASE=1
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
fi
dnl end if for PATH_TO_SWAP
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 sys/stat.h sys/param.h])
+AC_CHECK_DECLS([swapctl],,,[
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/swap.h>
+ ])
+AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[
+ #include <sys/types.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/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])