diff --git a/configure.in b/configure.in
index 793e03491ad9be55fe9dcb57333586677bfdf408..5b5b983b9b603d27512dd8de051d06e28a8ffa15 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.59)
-AC_INIT(nagios-plugins,1.4.6)
+AC_INIT(nagios-plugins,1.4.9)
AC_CONFIG_SRCDIR(NPTest.pm)
AC_CONFIG_FILES(gl/Makefile)
AC_CONFIG_AUX_DIR(build-aux)
AC_PREFIX_DEFAULT(/usr/local/nagios)
dnl Deprecated configure options
-AC_ARG_WITH(nagios_user,,
- AC_MSG_ERROR([--with-nagios-user is a deprecated option]))
-AC_ARG_WITH(nagios_group,,
- AC_MSG_ERROR([--with-nagios-group is a deprecated option]))
-dnl Figure out how to invoke "install" and what install options to use.
-AC_PROG_INSTALL
+
+dnl Append user (-o), group (-g), mode (-m) to install command
+dnl There is an assumption that this is possible with ./configure's chosen install command
+extra_install_args=""
+AC_ARG_WITH(nagios_user,
+ ACX_HELP_STRING([--with-nagios-user=USER],
+ [Installs executables with this user. Defaults to install user]),
+ extra_install_args="-o $withval")
+AC_ARG_WITH(nagios_group,
+ ACX_HELP_STRING([--with-nagios-group=GROUP],
+ [Installs executables with this group. Defaults to install user]),
+ extra_install_args="$extra_install_args -g $withval")
+AC_ARG_WITH(world_permissions,
+ ACX_HELP_STRING([--without-world-permissions],
+ [Installs executables without world permissions]))
+
+if test "x$with_world_permissions" = xno ; then
+ extra_install_args="$extra_install_args -m 0550"
+fi
+
+INSTALL="$INSTALL $extra_install_args"
+INSTALL_STRIP_PROGRAM="$INSTALL_STRIP_PROGRAM $extra_install_args"
AC_SUBST(INSTALL)
AC_PROG_CC
dnl Check for libtap, to run perl-like tests
AC_CHECK_LIB(tap, plan_tests,
- EXTRA_TEST="test_utils test_disk"
+ EXTRA_TEST="test_utils test_disk test_tcp"
AC_SUBST(EXTRA_TEST)
)
fi
LIBS="$_SAVEDLIBS"
-dnl Check for mysql libraries
-dnl Default is to search path for mysql_config
-AC_ARG_WITH(mysql,
- ACX_HELP_STRING([--with-mysql=DIR],
- [Compiles mysql plugins. Expects DIR/bin/mysql_config]),
- with_mysql=$withval,
- with_mysql=yes)
-if test $with_mysql != "no" ; then
- if test -x $with_mysql/bin/mysql_config ; then
- MYSQLCONFIG="$with_mysql/bin/mysql_config"
- else
- AC_PATH_PROG(MYSQLCONFIG, mysql_config)
- fi
- if test -z "$MYSQLCONFIG"; then
- with_mysql="not found"
- AC_MSG_WARN([Skipping mysql plugin])
- AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
- else
- with_mysql=$MYSQLCONFIG
- EXTRAS="$EXTRAS check_mysql check_mysql_query"
- MYSQLINCLUDE=`$MYSQLCONFIG --include`
- # Mysql 3 does not support --include. --cflags should be sufficient
- if test $? -ne 0 ; then
- MYSQLINCLUDE=""
- fi
- MYSQLLIBS=`$MYSQLCONFIG --libs`
- MYSQLCFLAGS=`$MYSQLCONFIG --cflags`
- AC_SUBST(MYSQLINCLUDE)
- AC_SUBST(MYSQLLIBS)
- AC_SUBST(MYSQLCFLAGS)
- fi
+dnl Check for headers used by check_ide_smart
+AC_CHECK_HEADER(linux/hdreg.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
+if test "$FOUNDINCLUDE" = "yes" ; then
+ AC_CHECK_HEADER(linux/types.h, FOUNDINCLUDE=yes, FOUNDINCLUDE=no)
fi
-AC_CHECK_HEADERS(unistd.h)
+if test "$FOUNDINCLUDE" = "yes" ; then
+ EXTRAS="$EXTRAS check_ide_smart"
+else
+ AC_MSG_WARN([Skipping check_ide_smart plugin.])
+ AC_MSG_WARN([check_ide_smart is linux specific. It requires linux/hdreg.h and linux/types.h.])
+fi
+
+dnl Check for mysql libraries
+np_mysqlclient
+if test $with_mysql = "no" ; then
+ AC_MSG_WARN([Skipping mysql plugin])
+ AC_MSG_WARN([install mysql client libs to compile this plugin (see REQUIREMENTS).])
+else
+ EXTRAS="$EXTRAS check_mysql check_mysql_query"
+ MYSQLINCLUDE="$np_mysql_include"
+ MYSQLLIBS="$np_mysql_libs"
+ MYSQLCFLAGS="$np_mysql_cflags"
+ AC_SUBST(MYSQLINCLUDE)
+ AC_SUBST(MYSQLLIBS)
+ AC_SUBST(MYSQLCFLAGS)
+fi
dnl Check for AF_INET6 support - unistd.h required for Darwin
AC_CACHE_CHECK([for IPv6 support], with_ipv6, [
@@ -485,30 +494,16 @@ if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -
ac_cv_ps_cols="$PS_COLS"
AC_MSG_RESULT([(command-line) $ac_cv_ps_command])
-dnl Now using the pst3/kmem hack for solaris systems to avoid truncation
-elif test "$ac_cv_uname_s" = "SunOS"; then
- #
- # this is a very, very ugly hack, to hardcode the location for plugins
- #
- if test "$libexecdir" = '${exec_prefix}/libexec'; then
- if test "$exec_prefix" = "NONE"; then
- if test "$prefix" = "NONE"; then
- pst3="$ac_default_prefix/libexec/pst3"
- else
- pst3="$prefix/libexec/pst3"
- fi
- else
- pst3="$exec_prefix/libexec/pst3"
- fi
- else
- pst3="$libexecdir/pst3"
- fi
- ac_cv_ps_command="$pst3"
- ac_cv_ps_format="%s %d %d %d %d %f %s %n"
- ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
+dnl Using /usr/ucb/ps on Solaris systems, to avoid truncation
+dnl Limitation that command name is not available
+elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \
+ egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null
+then
+ ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]"
+ ac_cv_ps_command="/usr/ucb/ps -alxwwn"
+ ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"]
ac_cv_ps_cols=8
- AC_MSG_RESULT([using nagios-plugins internal ps for solaris])
- EXTRAS_ROOT="$EXTRAS_ROOT pst3"
+ AC_MSG_RESULT([$ac_cv_ps_command])
dnl Some gnu/linux systems (debian for one) don't like -axwo and need axwo.
dnl so test for this first...
AC_DEFINE_UNQUOTED(NSLOOKUP_COMMAND,"$ac_cv_nslookup_command", [path and args for nslookup])
fi
+AC_MSG_CHECKING([for number of cpus])
+AC_TRY_COMPILE([#include <unistd.h>],
+ [sysconf(_SC_NPROCESSORS_CONF) > 0;],
+ AC_DEFINE(HAVE_SYSCONF__SC_NPROCESSORS_CONF,1,[Define if sysconf returns number of cpus])
+ AC_MSG_RESULT([sysconf(_SC_NPROCESSORS_CONF)]),
+ AC_MSG_RESULT([cannot calculate])
+ )
+
AC_PATH_PROG(PATH_TO_UPTIME,uptime)
AC_ARG_WITH(uptime_command,
ACX_HELP_STRING([--with-uptime-command=PATH],
AC_SUBST(DEPLIBS)
AM_GNU_GETTEXT([external], [need-ngettext])
-AM_GNU_GETTEXT_VERSION(0.13.1)
+AM_GNU_GETTEXT_VERSION(0.15)
dnl Check for Redhat spopen problem
dnl Wierd problem where ECHILD is returned from a wait call in error