Code

When following redirects, the plugin supported 'Location:' header fields
[nagiosplug.git] / configure.in
index b0d1c97da8f2461ff0f67750d4cae522bd93a22c..7ce8a92e6f92bef3c0370de5032b494d054571b7 100644 (file)
@@ -1,7 +1,7 @@
 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)
@@ -15,13 +15,29 @@ AC_SUBST(RELEASE)
 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
@@ -139,7 +155,7 @@ AC_SUBST(MATHLIBS)
 
 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)
        )
 
@@ -225,46 +241,18 @@ 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
-    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 +481,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...
@@ -1080,6 +1054,14 @@ if test -n "$ac_cv_nslookup_command"; then
        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],
@@ -1476,7 +1458,7 @@ AC_SUBST(EXTRA_NETOBJS)
 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