diff --git a/configure.in b/configure.in
index b0d1c97da8f2461ff0f67750d4cae522bd93a22c..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. Rerun ./configure without this option]))
-AC_ARG_WITH(nagios_group,,
- AC_MSG_ERROR([--with-nagios-group is a deprecated option. Rerun ./configure without this 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 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
+
+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
-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
- MYSQLINCLUDE=`$MYSQLCONFIG --include`
- # Mysql 3 does not support --include. --cflags should be sufficient
- if test $? -ne 0 ; then
- MYSQLINCLUDE=""
- TEMP_INCLUDE="-I$with_mysql/include" # Guessed location
- else
- TEMP_INCLUDE=$MYSQLINCLUDE
- fi
- MYSQLLIBS=`$MYSQLCONFIG --libs`
- MYSQLCFLAGS=`$MYSQLCONFIG --cflags`
- AC_SUBST(MYSQLINCLUDE)
- AC_SUBST(MYSQLLIBS)
- AC_SUBST(MYSQLCFLAGS)
- dnl Test for mysqlclient. Some redhat systems have mysql_config, but no headers
- _SAVEDCPPFLAGS=$CPPFLAGS
- _SAVEDLDFLAGS="$LDFLAGS"
- CPPFLAGS="$CPPFLAGS $TEMP_INCLUDE"
- LDFLAGS="$LDFLAGS $MYSQLLIBS"
- AC_CHECK_LIB([mysqlclient], [mysql_init], [with_mysql=$MYSQLCONFIG
-EXTRAS="$EXTRA check_mysql check_mysql_query"], [with_mysql="not found"])
- CPPFLAGS=$_SAVEDCPPFLAGS
- LDFLAGS=$_SAVEDLDFLAGS
- fi
+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
@@ -493,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