diff --git a/configure.in b/configure.in
index 418b597bd6200fb004cc980bd95cad35147438f3..68ac0a00efd0729119f5b04576eab7280c389bc4 100644 (file)
--- a/configure.in
+++ b/configure.in
dnl Process this file with autoconf to produce a configure script.
dnl Process this file with autoconf to produce a configure script.
-AC_REVISION ($Revision$)
AC_PREREQ(2.59)
AC_PREREQ(2.59)
-AC_INIT(nagios-plugins,1.4.11)
+AC_INIT(nagios-plugins,1.4.13)
AC_CONFIG_SRCDIR(NPTest.pm)
AC_CONFIG_FILES(gl/Makefile)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_SRCDIR(NPTest.pm)
AC_CONFIG_FILES(gl/Makefile)
AC_CONFIG_AUX_DIR(build-aux)
AC_SUBST(REV_DATESTAMP)
AC_SUBST(REV_TIMESTAMP)
AC_SUBST(REV_DATESTAMP)
AC_SUBST(REV_TIMESTAMP)
+dnl Check if version file is present
+AM_CONDITIONAL([RELEASE_PRESENT], [test -f release])
+
dnl Checks for programs.
AC_PATH_PROG(PYTHON,python)
AC_PATH_PROG(SH,sh)
dnl Checks for programs.
AC_PATH_PROG(PYTHON,python)
AC_PATH_PROG(SH,sh)
dnl openssl/gnutls
AC_ARG_WITH(openssl,
dnl openssl/gnutls
AC_ARG_WITH(openssl,
- AC_HELP_STRING([--with-openssl=DIR],
+ AC_HELP_STRING([--with-openssl=DIR],
[path to openssl installation]),)
AC_ARG_WITH(gnutls,
[path to openssl installation]),)
AC_ARG_WITH(gnutls,
AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
AC_SUBST(MATHLIBS)
AC_CHECK_LIB(m,floor,MATHLIBS="-lm")
AC_SUBST(MATHLIBS)
-dnl Check for libtap, to run perl-like tests
-AC_CHECK_LIB(tap, plan_tests,
+dnl Check if we buils local libtap
+AC_ARG_ENABLE(libtap,
+ AC_HELP_STRING([--enable-libtap],
+ [Enable built-in libtap for unit-testing (default: autodetect system library).]),
+ [enable_libtap=$enableval],
+ [enable_libtap=no])
+AM_CONDITIONAL([USE_LIBTAP_LOCAL],[test "$enable_libtap" = "yes"])
+
+# If not local, check if we can use the system one
+if test "$enable_libtap" != "yes" ; then
+ dnl Check for libtap, to run perl-like tests
+ AC_CHECK_LIB(tap, plan_tests,
+ enable_libtap="yes"
+ )
+fi
+
+# Finally, define tests if we use libtap
+if test "$enable_libtap" = "yes" ; then
EXTRA_TEST="test_utils test_disk test_tcp test_cmd test_base64"
AC_SUBST(EXTRA_TEST)
EXTRA_TEST="test_utils test_disk test_tcp test_cmd test_base64"
AC_SUBST(EXTRA_TEST)
- )
+fi
dnl INI Parsing
AC_ARG_ENABLE(extra-opts,
dnl INI Parsing
AC_ARG_ENABLE(extra-opts,
- AC_HELP_STRING([--enable-extra-opts],
+ AC_HELP_STRING([--enable-extra-opts],
[Enables parsing of plugins ini config files for extra options (default: no)]),
[enable_extra_opts=$enableval],
[enable_extra_opts=no])
AM_CONDITIONAL([USE_PARSE_INI],[test "$enable_extra_opts" = "yes"])
if test "$enable_extra_opts" = "yes" ; then
[Enables parsing of plugins ini config files for extra options (default: no)]),
[enable_extra_opts=$enableval],
[enable_extra_opts=no])
AM_CONDITIONAL([USE_PARSE_INI],[test "$enable_extra_opts" = "yes"])
if test "$enable_extra_opts" = "yes" ; then
- EXTRA_TEST="$EXTRA_TEST test_ini test_opts"
- AC_SUBST(EXTRA_TEST)
AC_DEFINE(NP_EXTRA_OPTS,[1],[Enable INI file parsing.])
AC_DEFINE(NP_EXTRA_OPTS,[1],[Enable INI file parsing.])
+ if test "$enable_libtap" = "yes"; then
+ EXTRA_TEST="$EXTRA_TEST test_ini1 test_ini3 test_opts1 test_opts2 test_opts3"
+ AC_SUBST(EXTRA_TEST)
+ fi
fi
dnl Check for PostgreSQL libraries
fi
dnl Check for PostgreSQL libraries
[sets path to pgsql installation]),
PGSQL=$withval,)
AC_CHECK_LIB(crypt,main)
[sets path to pgsql installation]),
PGSQL=$withval,)
AC_CHECK_LIB(crypt,main)
-if test "$ac_cv_lib_crypt_main" = "yes"; then
+if test "$ac_cv_lib_crypt_main" = "yes" -a "x$PGSQL" != "xno"; then
if test -n "$PGSQL"; then
LDFLAGS="$LDFLAGS -L$PGSQL/lib"
CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
if test -n "$PGSQL"; then
LDFLAGS="$LDFLAGS -L$PGSQL/lib"
CPPFLAGS="$CPPFLAGS -I$PGSQL/include"
if test "$FOUNDINCLUDE" = "yes" ; then
EXTRAS="$EXTRAS check_ide_smart"
else
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.])
+ 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
fi
dnl Check for mysql libraries
CPPFLAGS="$_SAVEDCPPFLAGS"
fi
CPPFLAGS="$_SAVEDCPPFLAGS"
fi
+dnl *** The following block comes from wget configure.ac ***
+dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto
+dnl shared library doesn't record its dependency on libdl, so we
+dnl need to check for it ourselves so we won't fail to link due to a
+dnl lack of -ldl. Most OSes use dlopen(), but HP-UX uses
+dnl shl_load().
+AC_CHECK_LIB(dl,dlopen)
+AC_CHECK_LIB(dl,shl_load)
dnl openssl detection/configuration
if ! test x"$with_openssl" = x"no"; then
dnl openssl detection/configuration
if ! test x"$with_openssl" = x"no"; then
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
-AC_TYPE_MBSTATE_T
AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
AC_TRY_LINK([#include <stdarg.h>
AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[
AC_TRY_LINK([#include <stdarg.h>
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])
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])
-else
+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_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_MSG_CHECKING(for ps syntax)
AC_ARG_WITH(ps_command,
AC_MSG_CHECKING(for ps syntax)
AC_ARG_WITH(ps_command,
- ACX_HELP_STRING([--with-ps-command=PATH],
+ ACX_HELP_STRING([--with-ps-command=PATH],
[Verbatim command to execute for ps]),
PS_COMMAND=$withval)
AC_ARG_WITH(ps_format,
[Verbatim command to execute for ps]),
PS_COMMAND=$withval)
AC_ARG_WITH(ps_format,
[Format string for scanning ps output]),
PS_FORMAT=$withval)
AC_ARG_WITH(ps_cols,
[Format string for scanning ps output]),
PS_FORMAT=$withval)
AC_ARG_WITH(ps_cols,
- ACX_HELP_STRING([--with-ps-cols=NUM],
+ ACX_HELP_STRING([--with-ps-cols=NUM],
[Number of columns in ps command]),
PS_COLS=$withval)
AC_ARG_WITH(ps_varlist,
[Number of columns in ps command]),
PS_COLS=$withval)
AC_ARG_WITH(ps_varlist,
[Variable list for sscanf of 'ps' output]),
PS_VARLIST=$withval)
[Variable list for sscanf of 'ps' output]),
PS_VARLIST=$withval)
-if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -n "$PS_VARLIST"; then
+if test -n "$PS_COMMAND" && test -n "$PS_FORMAT" && test -n "$PS_COLS" && test -n "$PS_VARLIST"; then
ac_cv_ps_command="$PS_COMMAND"
ac_cv_ps_format="$PS_FORMAT"
ac_cv_ps_varlist="$PS_VARLIST"
ac_cv_ps_command="$PS_COMMAND"
ac_cv_ps_format="$PS_FORMAT"
ac_cv_ps_varlist="$PS_VARLIST"
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
+dnl Some *BSDs have different format for ps. This is mainly to catch FreeBSD 4.
dnl Limitation: Only first 16 chars returned for ucomm field
dnl Must come before ps -weo
elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
dnl Limitation: Only first 16 chars returned for ucomm field
dnl Must come before ps -weo
elif ps -axwo 'stat uid pid ppid vsz rss pcpu ucomm command' 2>/dev/null | \
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
ac_cv_ps_cols=9
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
+dnl Tru64 - needs %*[ +<>] in PS_FORMAT.
dnl Has /usr/bin/ps and /sbin/ps - force sbin version
dnl Has /usr/bin/ps and /sbin/ps - force sbin version
-dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
+dnl Can't use vsize and rssize because comes back with text (eg, 1.5M instead
dnl of 1500). Will need big changes to check_procs to support
elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
dnl of 1500). Will need big changes to check_procs to support
elif /sbin/ps -eo 'stat uid pid ppid pcpu etime comm args' 2>/dev/null | \
egrep -i ["^ *S +[UID]+ +[PID]+ +[PID]+ +[%CPU]+ +[ELAPSD]+ +[COMMAND]+ +[COMMAND]+"] > /dev/null
ac_cv_ps_cols=8
AC_MSG_RESULT([$ac_cv_ps_command])
ac_cv_ps_cols=8
AC_MSG_RESULT([$ac_cv_ps_command])
-dnl UnixWare
+dnl UnixWare
elif ps -Al 2>/dev/null | \
egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
then
elif ps -Al 2>/dev/null | \
egrep -i ["^ *F +S +UID +PID +PPID +CLS +PRI +NI +C +ADDR +SZ +WCHAN +TTY +TIME +COMD"] >/dev/null
then
AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
AC_ARG_WITH(smbclient_command,
ACX_HELP_STRING([--with-smbclient-command=PATH],
AC_PATH_PROG(PATH_TO_SMBCLIENT,smbclient)
AC_ARG_WITH(smbclient_command,
ACX_HELP_STRING([--with-smbclient-command=PATH],
- [sets path to smbclient]),
+ [sets path to smbclient]),
PATH_TO_SMBCLIENT=$withval)
if test -n "$PATH_TO_SMBCLIENT"
then
PATH_TO_SMBCLIENT=$withval)
if test -n "$PATH_TO_SMBCLIENT"
then
AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
AC_PATH_PROG(PATH_TO_QSTAT,qstat)
AC_ARG_WITH(qstat_command,
AC_PATH_PROG(PATH_TO_QUAKESTAT,quakestat)
AC_PATH_PROG(PATH_TO_QSTAT,qstat)
AC_ARG_WITH(qstat_command,
- ACX_HELP_STRING([--with-qstat-command=PATH],
+ ACX_HELP_STRING([--with-qstat-command=PATH],
[Path to qstat command]), PATH_TO_QSTAT=$withval)
if test -x "$PATH_TO_QUAKESTAT"
[Path to qstat command]), PATH_TO_QSTAT=$withval)
if test -x "$PATH_TO_QUAKESTAT"
AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
fi
AC_MSG_WARN([Get qstat from http://www.activesw.com/people/steve/qstat.html in order to make check_game plugin])
fi
-if test $ac_cv_path_to_qstat
+if test $ac_cv_path_to_qstat
then
AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
[path to qstat/quakestat])
then
AC_DEFINE_UNQUOTED(PATH_TO_QSTAT,"$ac_cv_path_to_qstat",
[path to qstat/quakestat])
#include <sys/swap.h>
])
#include <sys/swap.h>
])
-if test "$ac_cv_have_decl_swapctl" = "yes";
+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 \
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";
+ "$ac_cv_type_swapent_t" = "yes";
then
AC_MSG_RESULT([yes])
ac_cv_check_swap_swapctl_svr4="1";
then
AC_MSG_RESULT([yes])
ac_cv_check_swap_swapctl_svr4="1";
else
AC_MSG_RESULT([no])
AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
else
AC_MSG_RESULT([no])
AC_MSG_CHECKING([for 3-arg (*BSD) swapctl])
- if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
+ if test "$ac_cv_member_struct_swapent_se_nblks" = "yes";
then
AC_MSG_RESULT([yes])
AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
then
AC_MSG_RESULT([yes])
AC_DEFINE([CHECK_SWAP_SWAPCTL_BSD],1,
dnl
dnl
-if test "x$ac_cv_have_swap" != "x"
+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
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"
+if test "x$ac_cv_swap_command" != "x"
then
AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
[Path to swap/swapinfo binary, with any args])
then
AC_DEFINE_UNQUOTED(SWAP_COMMAND,"$ac_cv_swap_command",
[Path to swap/swapinfo binary, with any args])
AC_PATH_PROG(PATH_TO_APTGET,apt-get)
AC_ARG_WITH(apt-get_command,
ACX_HELP_STRING([--with-apt-get-command=PATH],
AC_PATH_PROG(PATH_TO_APTGET,apt-get)
AC_ARG_WITH(apt-get_command,
ACX_HELP_STRING([--with-apt-get-command=PATH],
- [Path to apt-get command]),
+ [Path to apt-get command]),
with_apt_get_command=$withval,
with_apt_get_command=$PATH_TO_APTGET)
AC_DEFINE_UNQUOTED(PATH_TO_APTGET,"$PATH_TO_APTGET",[Path to apt-get command, if present])
with_apt_get_command=$withval,
with_apt_get_command=$PATH_TO_APTGET)
AC_DEFINE_UNQUOTED(PATH_TO_APTGET,"$PATH_TO_APTGET",[Path to apt-get command, if present])
AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c])
;;
*linux*)
AC_DEFINE(__bsd__,1,[bsd specific code in check_dhcp.c])
;;
*linux*)
- AC_DEFINE(__linux__,1,[sun specific code in check_dhcp.c])
+ AC_DEFINE(__linux__,1,[linux specific code in check_dhcp.c])
;;
;;
- *sun* | solaris*)
+ *sun* | *solaris*)
AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
;;
AC_DEFINE(__sun__,1,[sun specific code in check_dhcp.c])
;;
- *hpux*)
+ *hpux*)
AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
;;
esac
AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c])
;;
esac
dnl We patch plugins/popen.c
dnl Need to add smp because uname different on those
dnl Can force patch to be applied with --enable-redhat-pthread-workaround
dnl We patch plugins/popen.c
dnl Need to add smp because uname different on those
dnl Can force patch to be applied with --enable-redhat-pthread-workaround
-AC_ARG_ENABLE(redhat-pthread-workaround,
- AC_HELP_STRING([--enable-redhat-pthread-workaround],
+AC_ARG_ENABLE(redhat-pthread-workaround,
+ AC_HELP_STRING([--enable-redhat-pthread-workaround],
[force Redhat patch to be applied (default: test system)]),
[ac_cv_enable_redhat_pthread_workaround=$enableval],
[ac_cv_enable_redhat_pthread_workaround=test])
[force Redhat patch to be applied (default: test system)]),
[ac_cv_enable_redhat_pthread_workaround=$enableval],
[ac_cv_enable_redhat_pthread_workaround=test])
dnl Perl modules
AC_ARG_ENABLE(perl-modules,
dnl Perl modules
AC_ARG_ENABLE(perl-modules,
- AC_HELP_STRING([--enable-perl-modules],
+ AC_HELP_STRING([--enable-perl-modules],
[Enables installation of Nagios::Plugin and its dependencies (default: no)]),
[enable_perl_modules=$enableval],
[enable_perl_modules=no])
[Enables installation of Nagios::Plugin and its dependencies (default: no)]),
[enable_perl_modules=$enableval],
[enable_perl_modules=no])
AC_SUBST(PERLMODS_DIR,perlmods)
fi
AC_SUBST(PERLMODS_DIR,perlmods)
fi
+# From Tap configure
+# Checks for libraries
+case "$host" in
+ *-*-*freebsd4*)
+ LDFLAGS="$LDFLAGS -pthread"
+ HAVE_LIBPTHREAD=1
+ ;;
+ *)
+ AC_CHECK_LIB(pthread, main)
+ ;;
+esac
+
dnl External libraries - see ACKNOWLEDGEMENTS
gl_INIT
dnl External libraries - see ACKNOWLEDGEMENTS
gl_INIT
@@ -1588,24 +1627,25 @@ if test "$ac_cv_uname_s" = 'SunOS' -a \( "x$ac_cv_prog_ac_ct_AR" = "x" -o "$ac_c
fi
AC_OUTPUT(
fi
AC_OUTPUT(
- Makefile
- lib/Makefile
- plugins/Makefile
+ Makefile
+ tap/Makefile
+ lib/Makefile
+ plugins/Makefile
lib/tests/Makefile
plugins-root/Makefile
lib/tests/Makefile
plugins-root/Makefile
- plugins-scripts/Makefile
- plugins-scripts/subst
- plugins-scripts/utils.pm
- plugins-scripts/utils.sh
+ plugins-scripts/Makefile
+ plugins-scripts/subst
+ plugins-scripts/utils.pm
+ plugins-scripts/utils.sh
perlmods/Makefile
perlmods/Makefile
- command.cfg
- test.pl
- pkg/solaris/pkginfo
- po/Makefile.in
+ command.cfg
+ test.pl
+ pkg/solaris/pkginfo
+ po/Makefile.in
)
)
-dnl the ones below that are commented out need to be cleaned up
+dnl the ones below that are commented out need to be cleaned up
dnl in the configure code above to use with_foo instead of ac_cv_foo
dnl if we want them to show up here. it'd also make the code cleaner.
dnl i'll get to that on another rainy day :) -sf
dnl in the configure code above to use with_foo instead of ac_cv_foo
dnl if we want them to show up here. it'd also make the code cleaner.
dnl i'll get to that on another rainy day :) -sf
ACX_FEATURE([enable],[perl-modules])
ACX_FEATURE([with],[cgiurl])
ACX_FEATURE([with],[trusted-path])
ACX_FEATURE([enable],[perl-modules])
ACX_FEATURE([with],[cgiurl])
ACX_FEATURE([with],[trusted-path])
-
+ACX_FEATURE([enable],[libtap])