X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.in;h=bdd443141e89719a3b5cbfb5754cdde52e860193;hb=refs%2Fheads%2Fsh%2Fcheck_pgsql;hp=a262493a7123185e79d2b4a6605651cae9b40197;hpb=1ac40064c5d0cd6a592e69b47bc72ce9b1fd7e1c;p=nagiosplug.git diff --git a/configure.in b/configure.in index a262493..bdd4431 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_REVISION ($Revision$) AC_PREREQ(2.59) -AC_INIT(nagios-plugins,1.4.10) +AC_INIT(nagios-plugins,1.4.15) AC_CONFIG_SRCDIR(NPTest.pm) AC_CONFIG_FILES(gl/Makefile) AC_CONFIG_AUX_DIR(build-aux) @@ -48,6 +47,7 @@ AC_PROG_LIBTOOL AM_PROG_CC_C_O AC_FUNC_ERROR_AT_LINE +AC_SYS_LARGEFILE ifdef([AC_FUNC_STRTOD],[AC_FUNC_STRTOD],[AM_FUNC_STRTOD]) @@ -98,6 +98,17 @@ AC_SUBST(PKG_ARCH) AC_SUBST(REV_DATESTAMP) AC_SUBST(REV_TIMESTAMP) +dnl Check if version file is present +AM_CONDITIONAL([RELEASE_PRESENT], [test -f $srcdir/release]) + +# Also read in the version from it +if test -f $srcdir/release; then + NP_RELEASE="$( va_list ap1,ap2;], [__va_copy(ap1,ap2);], @@ -488,7 +538,7 @@ AC_PATH_PROG(PATH_TO_PS,ps) 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, @@ -496,7 +546,7 @@ AC_ARG_WITH(ps_format, [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, @@ -504,23 +554,115 @@ AC_ARG_WITH(ps_varlist, [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_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 %d %f %s %n" + ac_cv_ps_varlist="[procstat,&procuid,&procpid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" + ac_cv_ps_cols=9 + AC_MSG_RESULT([using nagios-plugins internal ps command (pst3) for solaris]) + if test `isainfo -b` = 64 ; then + pst3_use_64bit=1 + AC_MSG_NOTICE([using 64bit pst3]) + else + AC_MSG_NOTICE([using 32bit pst3]) + fi + EXTRAS_ROOT="$EXTRAS_ROOT pst3" + + if test "$pst3_use_64bit" = 1; then + dnl Test if we can actually compile code in 64bit + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -m64" + pst3_64bit_working=0 + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-m64" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -m64 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -m64]) + ]) + CFLAGS=$old_cflags + if test "$pst3_64bit_working" = 0; then + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -xarch=v9" + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-xarch=v9" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -xarch=v9 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -xarch=v9]) + ]) + CFLAGS=$old_cflags + fi + if test "$pst3_64bit_working" = 0; then + old_cflags=$CFLAGS + CFLAGS="$CFLAGS -xarch=amd64" + AC_RUN_IFELSE( + [AC_LANG_PROGRAM([], [ +return sizeof(void*) == 8 ? 0 : 1; + ]) + ],[ + PST3CFLAGS="-xarch=amd64" + AC_SUBST(PST3CFLAGS) + pst3_64bit_working=1 + AC_MSG_NOTICE([using -xarch=amd64 for 64bit code]) + ],[ + pst3_64bit_working=0 + AC_MSG_NOTICE([compiler do not like -xarch=amd64]) + ]) + CFLAGS=$old_cflags + fi + if test "$pst3_64bit_working" = 0; then + AC_MSG_ERROR([I don't know how to build a 64-bit object!]) + fi + fi + +dnl Removing this for the moment - Ton 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([$ac_cv_ps_command]) +dnl elif test "$ac_cv_uname_s" = "SunOS" && /usr/ucb/ps -alxwwn 2>/dev/null | \ +dnl egrep -i ["^ *F +UID +PID +PPID +%C +PRI +NI +SZ +RSS +WCHAN +S +TT +TIME +COMMAND"] > /dev/null +dnl then +dnl ac_cv_ps_varlist="[&procuid,&procpid,&procppid,&procpcpu,&procvsz,&procrss,procstat,&pos]" +dnl ac_cv_ps_command="/usr/ucb/ps -alxwwn" +dnl ac_cv_ps_format=["%*s %d %d %d %d %*d %*d %d %d%*[ 0123456789abcdef]%[OSRZT]%*s %*s %n"] +dnl ac_cv_ps_cols=8 +dnl 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... @@ -545,7 +687,7 @@ then 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 | \ @@ -622,9 +764,9 @@ then 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 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 @@ -750,7 +892,7 @@ then 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 @@ -794,24 +936,31 @@ ac_cv_ping_has_timeout=no if test -n "$with_ping_command" then AC_MSG_RESULT([(command-line) $with_ping_command]) - if test -n "$ac_cv_ping_packets_first" + if echo "$with_ping_command" | grep '%d.*%d.*%s' >/dev/null then ac_cv_ping_packets_first=yes ac_cv_ping_has_timeout=yes + elif echo "$with_ping_command" | grep '%d.*%s.*%d' >/dev/null || \ + echo "$with_ping_command" | grep '%s.*%d.*%d' >/dev/null + then + ac_cv_ping_has_timeout=yes + elif echo "$with_ping_command" | grep '%d.*%s' >/dev/null + then + ac_cv_ping_packets_first=yes fi elif [[ "z$ac_cv_uname_s" = "zUnixWare" ]] && \ $PATH_TO_PING -n -s 127.0.0.1 56 1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping_command="$PATH_TO_PING -n -U -c %d %s" + with_ping_command="$PATH_TO_PING -n -U -c %d %s" ac_cv_ping_packets_first=yes AC_MSG_RESULT([$with_ping_command]) elif $PATH_TO_PING -n -U -w 10 -c 1 127.0.0.1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s" + with_ping_command="$PATH_TO_PING -n -U -w %d -c %d %s" ac_cv_ping_packets_first=yes ac_cv_ping_has_timeout=yes AC_MSG_RESULT([$with_ping_command]) @@ -819,7 +968,7 @@ then elif $PATH_TO_PING -n -U -c 1 127.0.0.1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping_command="$PATH_TO_PING -n -U -c %d %s" + with_ping_command="$PATH_TO_PING -n -U -c %d %s" ac_cv_ping_packets_first=yes AC_MSG_RESULT([$with_ping_command]) @@ -898,7 +1047,15 @@ ac_cv_ping6_packets_first=no if test -n "$with_ping6_command" then AC_MSG_RESULT([(command-line) $with_ping6_command]) - if test -n "$ac_cv_ping6_packets_first" + if echo "$with_ping6_command" | grep '%d.*%d.*%s' >/dev/null + then + ac_cv_ping6_packets_first=yes + elif echo "$with_ping6_command" | grep '%d.*%s.*%d' >/dev/null || \ + echo "$with_ping6_command" | grep '%s.*%d.*%d' >/dev/null + then + # Just keep same logic as ping (IPv4) if we ever need ac_cv_ping6_has_timeout + true + elif echo "$with_ping6_command" | grep '%d.*%s' >/dev/null then ac_cv_ping6_packets_first=yes fi @@ -908,7 +1065,7 @@ elif test "x$PATH_TO_PING6" != "x"; then $PATH_TO_PING6 -n -s ::1 56 1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s" + with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s" ac_cv_ping6_packets_first=yes AC_MSG_RESULT([$with_ping6_command]) @@ -923,7 +1080,7 @@ elif test "x$PATH_TO_PING6" != "x"; then elif $PATH_TO_PING6 -n -U -c 1 ::1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s" + with_ping6_command="$PATH_TO_PING6 -n -U -c %d %s" ac_cv_ping6_packets_first=yes AC_MSG_RESULT([$with_ping6_command]) @@ -979,14 +1136,14 @@ elif test "x$PATH_TO_PING" != "x"; then $PATH_TO_PING -A inet6 -n -s ::1 56 1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s" + with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s" ac_cv_ping6_packets_first=yes AC_MSG_RESULT([$with_ping6_command]) elif $PATH_TO_PING -A inet6 -n -U -c 1 ::1 2>/dev/null | \ egrep -i "^round-trip|^rtt" >/dev/null then - with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s" + with_ping6_command="$PATH_TO_PING -A inet6 -n -U -c %d %s" ac_cv_ping6_packets_first=yes AC_MSG_RESULT([$with_ping6_command]) @@ -1115,7 +1272,7 @@ fi 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 @@ -1171,7 +1328,7 @@ fi 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" @@ -1187,7 +1344,7 @@ else 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]) @@ -1328,30 +1485,30 @@ AC_CHECK_HEADERS([sys/swap.h], [], [], [ AC_CHECK_DECLS([swapctl],,,[ #include #include - #include + #include #include #include ]) AC_CHECK_TYPES([swaptbl_t, swapent_t],,,[ #include - #include + #include #include #include ]) AC_CHECK_MEMBERS([struct swapent.se_nblks],,,[ - #include - #include - #include - #include - #include - ]) - -if test "$ac_cv_have_decl_swapctl" = "yes"; + #include + #include + #include + #include + #include + ]) + +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"; + "$ac_cv_type_swapent_t" = "yes"; then AC_MSG_RESULT([yes]) ac_cv_check_swap_swapctl_svr4="1"; @@ -1360,7 +1517,7 @@ then 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, @@ -1401,12 +1558,12 @@ dnl end tests for the swapctl system calls 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 -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]) @@ -1451,7 +1608,7 @@ fi 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]) @@ -1460,9 +1617,7 @@ if test -n "$PATH_TO_APTGET" ; then fi -if test -f plugins/check_nt.c ; then - EXTRAS="$EXTRAS check_nt" -elif test -f ../plugins/check_nt.c ; then +if test -f $srcdir/plugins/check_nt.c ; then EXTRAS="$EXTRAS check_nt" fi @@ -1475,12 +1630,12 @@ case $host in 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]) ;; - *hpux*) + *hpux*) AC_DEFINE(__hpux__,1,[hpux specific code in check_dhcp.c]) ;; esac @@ -1500,13 +1655,14 @@ dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause 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]) if test "$ac_cv_enable_redhat_pthread_workaround" = "test" ; then if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then + AC_MSG_NOTICE([See http://nagiosplugins.org/faq/compile/configure_appears_to_hang if this next part takes a long time]) AC_MSG_CHECKING(for redhat spopen problem) ( cd config_test && make && make test ) > /dev/null 2>&1 if test $? -eq 0 ; then @@ -1522,7 +1678,7 @@ fi 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]) @@ -1530,33 +1686,46 @@ if test "$enable_perl_modules" = "yes" ; then 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 Some helpful common compile errors checked here -if test "$ac_cv_uname_s" = 'SunOS' -a "$ac_cv_prog_ac_ct_AR" = 'false' ; then +if test "$ac_cv_uname_s" = 'SunOS' -a \( "x$ac_cv_prog_ac_ct_AR" = "x" -o "$ac_cv_prog_ac_ct_AR" = 'false' \) ; then AC_MSG_ERROR(No ar found for Solaris - is /usr/ccs/bin in PATH?) fi AC_OUTPUT( - Makefile - lib/Makefile - plugins/Makefile + Makefile + tap/Makefile + lib/Makefile + plugins/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 - 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 @@ -1585,9 +1754,10 @@ ACX_FEATURE([with],[ipv6]) ACX_FEATURE([with],[mysql]) ACX_FEATURE([with],[openssl]) ACX_FEATURE([with],[gnutls]) +ACX_FEATURE([enable],[extra-opts]) ACX_FEATURE([with],[perl]) ACX_FEATURE([enable],[perl-modules]) ACX_FEATURE([with],[cgiurl]) ACX_FEATURE([with],[trusted-path]) - +ACX_FEATURE([enable],[libtap])