X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=954d967cb536a15481eebaad986049a0ea23962e;hb=86278412535aeeb0e8e2c50df9029f1b0920e4d8;hp=ebde3b5d2c42041a25680d92314f1635c78c6f3e;hpb=fbf19197157cee85e6b10de37dffdb462ebeff12;p=collectd.git diff --git a/configure.in b/configure.in index ebde3b5d..954d967c 100644 --- a/configure.in +++ b/configure.in @@ -45,11 +45,31 @@ case $host_os in *darwin*) ac_system="Darwin" ;; + *openbsd*) + ac_system="OpenBSD" + ;; *) ac_system="unknown" esac AC_MSG_RESULT([$ac_system]) +if test "x$ac_system" = "xLinux" +then + AC_ARG_VAR([KERNEL_DIR], [path to Linux kernel sources]) + if test -z "$KERNEL_DIR" + then + KERNEL_DIR="/lib/modules/`uname -r`/source" + fi + + KERNEL_CFLAGS="-I$KERNEL_DIR/include" + AC_SUBST(KERNEL_CFLAGS) +fi + +if test "x$ac_system" = "xSolaris" +then + CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" +fi + # # Checks for header files. # @@ -225,7 +245,8 @@ AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [], ]) # For the swap module -AC_CHECK_HEADERS(sys/swap.h, [], [], +have_sys_swap_h="yes" +AC_CHECK_HEADERS(sys/swap.h, [], [have_sys_swap_h="no"], [ #if HAVE_SYS_TYPES_H # include @@ -235,6 +256,11 @@ AC_CHECK_HEADERS(sys/swap.h, [], [], #endif ]) +if test "x$have_sys_swap_h$ac_system" = "xnoSolaris" +then + AC_MSG_NOTICE([Solaris detected and sys/swap.h not found: Try building a 64bit binary.]) +fi + # For load module # For the processes plugin # For users module @@ -278,8 +304,13 @@ have_net_ip_vs_h="no" have_ip_vs_h="no" if test "x$ac_system" = "xLinux" then + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $KERNEL_CFLAGS" + AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"]) AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"]) + + CFLAGS=$SAVE_CFLAGS fi # For quota module @@ -374,7 +405,7 @@ AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr AC_FUNC_STRERROR_R AC_CACHE_CHECK([for strtok_r], - [have_strtok_r_default], + [c_cv_have_strtok_r_default], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -396,18 +427,18 @@ AC_CACHE_CHECK([for strtok_r], printf ("token = %s;\n", token); } ]]]]), - [have_strtok_r_default="yes"], - [have_strtok_r_default="no"] + [c_cv_have_strtok_r_default="yes"], + [c_cv_have_strtok_r_default="no"] ) ) -if test "x$have_strtok_r_default" = "xno" +if test "x$c_cv_have_strtok_r_default" = "xno" then SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -D_REENTRANT=1" AC_CACHE_CHECK([if strtok_r needs _REENTRANT], - [have_strtok_r_reentrant], + [c_cv_have_strtok_r_reentrant], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -429,7 +460,7 @@ then printf ("token = %s;\n", token); } ]]]]), - [have_strtok_r_reentrant="yes"], + [c_cv_have_strtok_r_reentrant="yes"], [AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])] ) ) @@ -473,7 +504,7 @@ AC_ARG_WITH(nan-emulation, [AS_HELP_STRING([--with-nan-emulation], [use emulated [nan_type="none"]) if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by default], - [have_nan_default], + [c_cv_have_nan_default], AC_COMPILE_IFELSE( AC_LANG_PROGRAM( [[ @@ -487,18 +518,18 @@ static float foo = NAN; else return 1; ]]), - [have_nan_default="yes"], - [have_nan_default="no"] + [c_cv_have_nan_default="yes"], + [c_cv_have_nan_default="no"] ) ) - if test "x$have_nan_default" = "xyes" + if test "x$c_cv_have_nan_default" = "xyes" then nan_type="default" fi fi if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99], - [have_nan_isoc], + [c_cv_have_nan_isoc], AC_COMPILE_IFELSE( AC_LANG_PROGRAM( [[ @@ -513,18 +544,18 @@ static float foo = NAN; else return 1; ]]), - [have_nan_isoc="yes"], - [have_nan_isoc="no"] + [c_cv_have_nan_isoc="yes"], + [c_cv_have_nan_isoc="no"] ) ) - if test "x$have_nan_isoc" = "xyes" + if test "x$c_cv_have_nan_isoc" = "xyes" then nan_type="isoc99" fi fi if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN can be defined by 0/0], - [have_nan_zero], + [c_cv_have_nan_zero], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[ @@ -545,11 +576,11 @@ static float foo = NAN; else return 1; ]]), - [have_nan_zero="yes"], - [have_nan_zero="no"] + [c_cv_have_nan_zero="yes"], + [c_cv_have_nan_zero="no"] ) ) - if test "x$have_nan_zero" = "xyes" + if test "x$c_cv_have_nan_zero" = "xyes" then nan_type="zero" fi @@ -584,7 +615,7 @@ fi; fi; fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if doubles are stored in x86 representation], - [fp_layout_need_nothing], + [c_cv_fp_layout_need_nothing], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -613,17 +644,17 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_nothing="yes"], - [fp_layout_need_nothing="no"] + [c_cv_fp_layout_need_nothing="yes"], + [c_cv_fp_layout_need_nothing="no"] ) ) - if test "x$fp_layout_need_nothing" = "xyes"; then + if test "x$c_cv_fp_layout_need_nothing" = "xyes"; then fp_layout_type="nothing" fi fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if endianflip converts to x86 representation], - [fp_layout_need_endianflip], + [c_cv_fp_layout_need_endianflip], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -660,17 +691,17 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_endianflip="yes"], - [fp_layout_need_endianflip="no"] + [c_cv_fp_layout_need_endianflip="yes"], + [c_cv_fp_layout_need_endianflip="no"] ) ) - if test "x$fp_layout_need_endianflip" = "xyes"; then + if test "x$c_cv_fp_layout_need_endianflip" = "xyes"; then fp_layout_type="endianflip" fi fi if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if intswap converts to x86 representation], - [fp_layout_need_intswap], + [c_cv_fp_layout_need_intswap], AC_RUN_IFELSE( AC_LANG_PROGRAM( [[[[ @@ -701,11 +732,11 @@ if test "x$fp_layout_type" = "xunknown"; then else return (1); ]]]]), - [fp_layout_need_intswap="yes"], - [fp_layout_need_intswap="no"] + [c_cv_fp_layout_need_intswap="yes"], + [c_cv_fp_layout_need_intswap="no"] ) ) - if test "x$fp_layout_need_intswap" = "xyes"; then + if test "x$c_cv_fp_layout_need_intswap" = "xyes"; then fp_layout_type="intswap" fi fi @@ -744,7 +775,7 @@ fi if test "x$have_getmntent" = "xc"; then AC_CACHE_CHECK([whether getmntent takes one argument], - [have_one_getmntent], + [c_cv_have_one_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include @@ -756,12 +787,12 @@ if test "x$have_getmntent" = "xc"; then me = getmntent (fh); ]] ), - [have_one_getmntent="yes"], - [have_one_getmntent="no"] + [c_cv_have_one_getmntent="yes"], + [c_cv_have_one_getmntent="no"] ) ) AC_CACHE_CHECK([whether getmntent takes two arguments], - [have_two_getmntent], + [c_cv_have_two_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include @@ -774,8 +805,8 @@ if test "x$have_getmntent" = "xc"; then status = getmntent (fh, &mt); ]] ), - [have_two_getmntent="yes"], - [have_two_getmntent="no"] + [c_cv_have_two_getmntent="yes"], + [c_cv_have_two_getmntent="no"] ) ) fi @@ -783,11 +814,11 @@ fi # Check for different versions of `getmntent' here.. if test "x$have_getmntent" = "xc"; then - if test "x$have_one_getmntent" = "xyes"; then + if test "x$c_cv_have_one_getmntent" = "xyes"; then AC_DEFINE(HAVE_ONE_GETMNTENT, 1, [Define if the function getmntent exists and takes one argument.]) fi - if test "x$have_two_getmntent" = "xyes"; then + if test "x$c_cv_have_two_getmntent" = "xyes"; then AC_DEFINE(HAVE_TWO_GETMNTENT, 1, [Define if the function getmntent exists and takes two arguments.]) fi @@ -891,7 +922,6 @@ AC_CHECK_LIB(hal,libhal_device_property_exists, [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])], [with_libhal="no"]) if test "x$with_libhal" = "xyes"; then - PKG_PROG_PKG_CONFIG if test "x$PKG_CONFIG" != "x"; then BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`" BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`" @@ -1216,12 +1246,42 @@ then AC_SUBST(BUILD_WITH_LIBSTATGRAB_LDFLAGS) fi -AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_libkvm="yes"], [with_libkvm="no"]) -if test "x$with_libkvm" = "xyes" +with_libkvm="no" +AC_CHECK_LIB(kvm, kvm_getprocs, [with_kvm_getprocs="yes"], [with_kvm_getprocs="no"]) +if test "x$with_kvm_getprocs" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM_GETPROCS, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_getprocs' symbol (-lkvm)]) + with_libkvm="yes" +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETPROCS, test "x$with_kvm_getprocs" = "xyes") + +AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_kvm_getswapinfo="yes"], [with_kvm_getswapinfo="no"]) +if test "x$with_kvm_getswapinfo" = "xyes" then - AC_DEFINE(HAVE_LIBKVM, 1, [Define to 1 if you have the 'kvm' library (-lkvm)]) + AC_DEFINE(HAVE_LIBKVM_GETSWAPINFO, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_getswapinfo' symbol (-lkvm)]) + with_libkvm="yes" fi -AM_CONDITIONAL(BUILD_WITH_LIBKVM, test "x$with_libkvm" = "xyes") +AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETSWAPINFO, test "x$with_kvm_getswapinfo" = "xyes") + +AC_CHECK_LIB(kvm, kvm_nlist, [with_kvm_nlist="yes"], [with_kvm_nlist="no"]) +if test "x$with_kvm_nlist" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM_NLIST, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)]) + with_libkvm="yes" +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM_NLIST, test "x$with_kvm_nlist" = "xyes") + +AC_CHECK_LIB(kvm, kvm_openfiles, [with_kvm_openfiles="yes"], [with_kvm_openfiles="no"]) +if test "x$with_kvm_openfiles" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM_NLIST, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_openfiles' symbol (-lkvm)]) + with_libkvm="yes" +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM_OPENFILES, test "x$with_kvm_openfiles" = "xyes") with_sensors_cflags="" with_sensors_ldflags="" @@ -1319,12 +1379,24 @@ then if test $mysql_config_status -ne 0 then - with_libmysql="no" + with_libmysql="no ($with_mysql_config failed)" else SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $with_mysql_cflags" - AC_CHECK_HEADERS(mysql/mysql.h, [], [with_libmysql="no (mysql/mysql.h not found)"], []) + have_mysql_h="no" + have_mysql_mysql_h="no" + AC_CHECK_HEADERS(mysql.h, [have_mysql_h="yes"]) + + if test "x$have_mysql_h" = "xno" + then + AC_CHECK_HEADERS(mysql/mysql.h, [have_mysql_mysql_h="yes"]) + fi + + if test "x$have_mysql_h$have_mysql_mysql_h" = "xnono" + then + with_libmysql="no (mysql.h not found)" + fi CPPFLAGS="$SAVE_CPPFLAGS" fi @@ -1336,7 +1408,7 @@ then if test $mysql_config_status -ne 0 then - with_libmysql="no" + with_libmysql="no ($with_mysql_config failed)" else AC_CHECK_LIB(mysqlclient, mysql_init, [with_libmysql="yes"], @@ -1451,6 +1523,52 @@ fi AM_CONDITIONAL(BUILD_WITH_LIBOPING, test "x$with_liboping" = "xyes") AM_CONDITIONAL(BUILD_WITH_OWN_LIBOPING, test "x$with_own_liboping" = "xyes") +with_libowcapi_cppflags="" +with_libowcapi_libs="-lowcapi" +AC_ARG_WITH(libowcapi, [AS_HELP_STRING([--with-libowcapi@<:@=PREFIX@:>@], [Path to libowcapi.])], +[ + if test "x$withval" != "xno" && test "x$withval" != "xyes" + then + with_libowcapi_cppflags="-I$withval/include" + with_libowcapi_libs="-L$withval/lib -lowcapi" + with_libowcapi="yes" + else + with_libowcapi="$withval" + fi +], +[ + with_libowcapi="yes" +]) +if test "x$with_libowcapi" = "xyes" +then + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$with_libowcapi_cppflags" + + AC_CHECK_HEADERS(owcapi.h, [with_libowcapi="yes"], [with_libowcapi="no (owcapi.h not found)"]) + + CPPFLAGS="$SAVE_CPPFLAGS" +fi +if test "x$with_libowcapi" = "xyes" +then + SAVE_LDFLAGS="$LDFLAGS" + SAVE_CPPFLAGS="$CPPFLAGS" + LDFLAGS="$with_libowcapi_libs" + CPPFLAGS="$with_libowcapi_cppflags" + + AC_CHECK_LIB(owcapi, OW_get, [with_libowcapi="yes"], [with_libowcapi="no (libowcapi not found)"]) + + LDFLAGS="$SAVE_LDFLAGS" + CPPFLAGS="$SAVE_CPPFLAGS" +fi +if test "x$with_libowcapi" = "xyes" +then + BUILD_WITH_LIBOWCAPI_CPPFLAGS="$with_libowcapi_cppflags" + BUILD_WITH_LIBOWCAPI_LIBS="$with_libowcapi_libs" + AC_SUBST(BUILD_WITH_LIBOWCAPI_CPPFLAGS) + AC_SUBST(BUILD_WITH_LIBOWCAPI_LIBS) +fi + + AC_ARG_WITH(libpcap, [AS_HELP_STRING([--with-libpcap@<:@=PREFIX@:>@], [Path to libpcap.])], [ if test "x$withval" != "xno" && test "x$withval" != "xyes" @@ -1530,7 +1648,11 @@ AM_CONDITIONAL(BUILD_WITH_LIBESMTP, test "x$with_libesmtp" = "xyes") perl_interpreter="perl" AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])], [ - if test "x$withval" != "xno" && test "x$withval" != "xyes" + if test -x "$withval" + then + perl_interpreter="$withval" + with_libperl="yes" + else if test "x$withval" != "xno" && test "x$withval" != "xyes" then LDFLAGS="$LDFLAGS -L$withval/lib" CPPFLAGS="$CPPFLAGS -I$withval/include" @@ -1538,7 +1660,7 @@ AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to l with_libperl="yes" else with_libperl="$withval" - fi + fi; fi ], [ with_libperl="yes" @@ -1548,7 +1670,7 @@ AC_MSG_CHECKING([for perl]) perl_interpreter=`which "$perl_interpreter" 2> /dev/null` if test -x "$perl_interpreter" then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT([yes ($perl_interpreter)]) else perl_interpreter="" AC_MSG_RESULT([no]) @@ -1561,32 +1683,34 @@ if test "x$with_libperl" = "xyes" \ then SAVE_CFLAGS=$CFLAGS SAVE_LDFLAGS=$LDFLAGS - PERL_CFLAGS=`$perl_interpreter -MExtUtils::Embed -e ccopts` - PERL_LDFLAGS=`$perl_interpreter -MExtUtils::Embed -e ldopts` +dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string) + PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts` + PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts` CFLAGS="$CFLAGS $PERL_CFLAGS" LDFLAGS="$LDFLAGS $PERL_LDFLAGS" AC_CACHE_CHECK([for libperl], - [have_libperl], + [c_cv_have_libperl], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[ +#define PERL_NO_GET_CONTEXT #include #include #include ]], [[ - PerlInterpreter *perl = NULL; - Perl_load_module (perl, PERL_LOADMOD_NOIMPORT, + dTHX; + load_module (PERL_LOADMOD_NOIMPORT, newSVpv ("Collectd::Plugin::FooBar", 24), Nullsv); ]]), - [have_libperl="yes"], - [have_libperl="no"] + [c_cv_have_libperl="yes"], + [c_cv_have_libperl="no"] ) ) - if test "x$have_libperl" = "xyes" + if test "x$c_cv_have_libperl" = "xyes" then AC_DEFINE(HAVE_LIBPERL, 1, [Define if libperl is present and usable.]) AC_SUBST(PERL_CFLAGS) @@ -1599,7 +1723,7 @@ then LDFLAGS=$SAVE_LDFLAGS else if test -z "$perl_interpreter"; then with_libperl="no (no perl interpreter found)" - have_libperl="no" + c_cv_have_libperl="no" fi; fi AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes") @@ -1611,7 +1735,7 @@ then LDFLAGS="$LDFLAGS $PERL_LDFLAGS" AC_CACHE_CHECK([if perl supports ithreads], - [have_perl_ithreads], + [c_cv_have_perl_ithreads], AC_LINK_IFELSE( AC_LANG_PROGRAM( [[ @@ -1624,12 +1748,12 @@ then #endif /* !defined(USE_ITHREADS) */ ]], [[ ]]), - [have_perl_ithreads="yes"], - [have_perl_ithreads="no"] + [c_cv_have_perl_ithreads="yes"], + [c_cv_have_perl_ithreads="no"] ) ) - if test "x$have_perl_ithreads" = "xyes" + if test "x$c_cv_have_perl_ithreads" = "xyes" then AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.]) fi @@ -1638,15 +1762,6 @@ then LDFLAGS=$SAVE_LDFLAGS fi -if test "x$ac_system" = "xLinux" -then - AC_ARG_VAR([KERNEL_DIR], [path to Linux kernel sources]) - if test -z "$KERNEL_DIR" - then - KERNEL_DIR="/lib/modules/`uname -r`/source" - fi -fi - with_own_libiptc="no" AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])], [ @@ -1692,7 +1807,7 @@ fi if test "x$with_libiptc" = "xyes" then SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -I$KERNEL_DIR/include" + CFLAGS="$CFLAGS $KERNEL_CFLAGS" AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [], [ @@ -1780,44 +1895,97 @@ PKG_CHECK_MODULES([LIBNOTIFY], [libnotify], [with_libnotify="yes"], [with_libnotify="no ($LIBNOTIFY_PKG_ERRORS)"]) -with_upsclient_config="libupsclient-config" -with_upsclient_cflags="" -with_upsclient_libs="" -AC_ARG_WITH(libupsclient, [AS_HELP_STRING([--with-libupsclient@<:@=PREFIX@:>@], [Path to libupsclient.])], +with_libupsclient_config="" +with_libupsclient_cflags="" +with_libupsclient_libs="" +AC_ARG_WITH(libupsclient, [AS_HELP_STRING([--with-libupsclient@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])], [ if test "x$withval" = "xno" then with_libupsclient="no" + else if test "x$withval" = "xyes" + then + with_libupsclient="use_pkgconfig" else - if test "x$withval" != "xyes" + if test -x "$withval" then - if test -f "$withval" && test -x "$withval"; - then - with_upsclient_config="$withval" - else - with_upsclient_config="$withval/bin/libupsclient-config" - fi - fi - with_libupsclient="yes" - fi + with_libupsclient_config="$withval" + with_libupsclient="use_libupsclient_config" + else if test -x "$withval/bin/libupsclient-config" + then + with_libupsclient_config="$withval/bin/net-snmp-config" + with_libupsclient="use_libupsclient_config" + else + AC_MSG_NOTICE([Not checking for libupsclient: Manually configured]) + with_libupsclient_cflags="-I$withval/include" + with_libupsclient_libs="-L$withval/lib -lupsclient" + with_libupsclient="yes" + fi; fi + fi; fi ], -[ - with_libupsclient="yes" -]) -if test "x$with_libupsclient" = "xyes" +[with_libupsclient="use_pkgconfig"]) + +# configure using libupsclient-config +if test "x$with_libupsclient" = "xuse_libupsclient_config" +then + AC_MSG_NOTICE([Checking for libupsclient using $with_libupsclient_config]) + with_libupsclient_cflags="`$with_libupsclient_config --cflags`" + if test $? -ne 0 + then + with_libupsclient="no ($with_libupsclient_config failed)" + fi + with_libupsclient_libs="`$with_libupsclient_config --libs`" + if test $? -ne 0 + then + with_libupsclient="no ($with_libupsclient_config failed)" + fi +fi +if test "x$with_libupsclient" = "xuse_libupsclient_config" then - with_upsclient_cflags=`$with_upsclient_config --cflags 2>/dev/null` - upsclient_config_status=$? + with_libupsclient="yes" +fi - if test $upsclient_config_status -ne 0 +# configure using pkg-config +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + if test "x$PKG_CONFIG" = "x" then - with_libupsclient="no ($with_upsclient_config failed)" + with_libupsclient="no (Don't have pkg-config)" fi fi +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + AC_MSG_NOTICE([Checking for libupsclient using $PKG_CONFIG]) + $PKG_CONFIG --exists 'libupsclient' 2>/dev/null + if test $? -ne 0 + then + with_libupsclient="no (pkg-config doesn't know library)" + fi +fi +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + with_libupsclient_cflags="`$PKG_CONFIG --cflags 'libupsclient'`" + if test $? -ne 0 + then + with_libupsclient="no ($PKG_CONFIG failed)" + fi + with_libupsclient_libs="`$PKG_CONFIG --libs 'libupsclient'`" + if test $? -ne 0 + then + with_libupsclient="no ($PKG_CONFIG failed)" + fi +fi +if test "x$with_libupsclient" = "xuse_pkgconfig" +then + with_libupsclient="yes" +fi + +# with_libupsclient_cflags and with_libupsclient_libs are set up now, let's do +# the actual checks. if test "x$with_libupsclient" = "xyes" then SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $with_upsclient_cflags" + CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags" AC_CHECK_HEADERS(upsclient.h, [], [with_libupsclient="no (upsclient.h not found)"]) @@ -1825,31 +1993,23 @@ then fi if test "x$with_libupsclient" = "xyes" then - with_upsclient_libs=`$with_upsclient_config --libs 2>/dev/null` - upsclient_config_status=$? + SAVE_CPPFLAGS="$CPPFLAGS" + SAVE_LDFLAGS="$LDFLAGS" + + CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags" + LDFLAGS="$LDFLAGS $with_libupsclient_libs" - if test $upsclient_config_status -ne 0 - then - with_libupsclient="no ($with_upsclient_config failed)" - fi -fi -if test "x$with_libupsclient" = "xyes" -then AC_CHECK_LIB(upsclient, upscli_connect, - [ - BUILD_WITH_LIBUPSCLIENT_CFLAGS="$with_upsclient_cflags" - BUILD_WITH_LIBUPSCLIENT_LIBS="$with_upsclient_libs" - AC_SUBST(BUILD_WITH_LIBUPSCLIENT_CFLAGS) - AC_SUBST(BUILD_WITH_LIBUPSCLIENT_LIBS) - ], - [ - with_libupsclient="no (symbol 'upscli_connect' not found)" - ], [$with_upsclient_libs]) + [with_libupsclient="yes"], + [with_libupsclient="no (symbol upscli_connect not found)"]) + + CPPFLAGS="$SAVE_CPPFLAGS" + LDFLAGS="$SAVE_LDFLAGS" fi if test "x$with_libupsclient" = "xyes" then SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $with_upsclient_cflags" + CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags" AC_CHECK_TYPES([UPSCONN_t, UPSCONN], [], [], [#include @@ -1858,7 +2018,13 @@ then CPPFLAGS="$SAVE_CPPFLAGS" fi -AM_CONDITIONAL(BUILD_WITH_LIBUPSCLIENT, test "x$with_libupsclient" = "xyes") +if test "x$with_libupsclient" = "xyes" +then + BUILD_WITH_LIBUPSCLIENT_CFLAGS="$with_libupsclient_cflags" + BUILD_WITH_LIBUPSCLIENT_LIBS="$with_libupsclient_libs" + AC_SUBST(BUILD_WITH_LIBUPSCLIENT_CFLAGS) + AC_SUBST(BUILD_WITH_LIBUPSCLIENT_LIBS) +fi ### BEGIN of check for libxmms ### with_xmms_config="xmms-config" @@ -2113,6 +2279,93 @@ then AC_SUBST(BUILD_WITH_OPENIPMI_LIBS) fi +dnl Check for libpq. +with_pg_config="pg_config" +with_libpq_includedir="" +with_libpq_libdir="" +with_libpq_cppflags="" +with_libpq_ldflags="" +AC_ARG_WITH(libpq, [AS_HELP_STRING([--with-libpq@<:@=PREFIX@:>@], + [Path to libpq.])], +[ + if test "x$withval" = "xno" + then + with_libpq="no" + else if test "x$withval" = "xyes" + then + with_libpq="yes" + else + if test -f "$withval" && test -x "$withval"; + then + with_pg_config="$withval" + else if test -x "$withval/bin/pg_config" + then + with_pg_config="$withval/bin/pg_config" + fi; fi + with_libpq="yes" + fi; fi +], +[ + with_libpq="yes" +]) +if test "x$with_libpq" = "xyes" +then + with_libpq_includedir=`$with_pg_config --includedir 2> /dev/null` + pg_config_status=$? + + if test $pg_config_status -eq 0 + then + if test -n "$with_libpq_includedir"; then + for dir in $with_libpq_includedir; do + with_libpq_cppflags="$with_libpq_cppflags -I$dir" + done + fi + else + AC_MSG_WARN([$with_pg_config returned with status $pg_config_status]) + fi + + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $with_libpq_cppflags" + + AC_CHECK_HEADERS(libpq-fe.h, [], + [with_libpq="no (libpq-fe.h not found)"], []) + + CPPFLAGS="$SAVE_CPPFLAGS" +fi +if test "x$with_libpq" = "xyes" +then + with_libpq_libdir=`$with_pg_config --libdir 2> /dev/null` + pg_config_status=$? + + if test $pg_config_status -eq 0 + then + if test -n "$with_libpq_libdir"; then + for dir in $with_libpq_libdir; do + with_libpq_ldflags="$with_libpq_ldflags -L$dir" + done + fi + else + AC_MSG_WARN([$with_pg_config returned with status $pg_config_status]) + fi + + SAVE_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $with_libpq_ldflags" + + AC_CHECK_LIB(pq, PQconnectdb, + [with_libpq="yes"], + [with_libpq="no (symbol 'PQconnectdb' not found)"]) + + LDFLAGS="$SAVE_LDFLAGS" +fi +if test "x$with_libpq" = "xyes" +then + BUILD_WITH_LIBPQ_CPPFLAGS="$with_libpq_cppflags" + BUILD_WITH_LIBPQ_LDFLAGS="$with_libpq_ldflags" + AC_SUBST(BUILD_WITH_LIBPQ_CPPFLAGS) + AC_SUBST(BUILD_WITH_LIBPQ_LDFLAGS) +fi +AM_CONDITIONAL(BUILD_WITH_LIBPQ, test "x$with_libpq" = "xyes") + dnl Check for libvirt and libxml2 libraries. with_libxml2="no (pkg-config isn't available)" with_libxml2_cflags="" @@ -2320,7 +2573,13 @@ AC_DEFUN( ]) if test "x$enable_plugin" = "xyes" then - AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.]) + if test "x$2" = "xyes" + then + AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.]) + else # User passed "yes" but dependency checking yielded "no" => Dependency problem. + dependency_error="yes" + enable_plugin="no (dependency error)" + fi fi AM_CONDITIONAL([BUILD_PLUGIN_]my_toupper([$1]), test "x$enable_plugin" = "xyes") enable_$1="$enable_plugin" @@ -2334,6 +2593,7 @@ AC_COLLECTD([debug], [enable], [feature], [debugging]) AC_COLLECTD([daemon], [disable], [feature], [daemon mode]) AC_COLLECTD([getifaddrs],[enable], [feature], [getifaddrs under Linux]) +dependency_error="no" plugin_ascent="no" plugin_battery="no" plugin_cpu="no" @@ -2390,6 +2650,11 @@ then fi fi +if test "x$ac_system" = "xOpenBSD" +then + plugin_tcpconns="yes" +fi + # Mac OS X devices if test "x$with_libiokit" = "xyes" then @@ -2404,10 +2669,14 @@ then plugin_disk="yes" plugin_interface="yes" plugin_memory="yes" - plugin_swap="yes" plugin_tape="yes" fi +if test "x$have_sys_swap_h$with_kstat$ac_system" = "xyesyesSolaris" +then + plugin_swap="yes" +fi + # libstatgrab if test "x$with_libstatgrab" = "xyes" then @@ -2465,7 +2734,7 @@ then plugin_load="yes" fi -if test "x$have_libperl$have_perl_ithreads" = "xyesyes" +if test "x$c_cv_have_libperl$c_cv_have_perl_ithreads" = "xyesyes" then plugin_perl="yes" fi @@ -2486,12 +2755,21 @@ then plugin_processes="yes" fi -if test "x$with_libkvm" = "xyes" +if test "x$with_kvm_getprocs" = "xyes" then plugin_processes="yes" +fi + +if test "x$with_kvm_getswapinfo" = "xyes" +then plugin_swap="yes" fi +if test "x$with_kvm_openfiles$with_kvm_nlist" = "xyesyes" +then + plugin_tcpconns="yes" +fi + if test "x$have_getutent" = "xyes" then plugin_users="yes" @@ -2521,6 +2799,7 @@ AC_PLUGIN([dns], [$with_libpcap], [DNS traffic analysis]) AC_PLUGIN([email], [yes], [EMail statistics]) AC_PLUGIN([entropy], [$plugin_entropy], [Entropy statistics]) AC_PLUGIN([exec], [yes], [Execution of external programs]) +AC_PLUGIN([filecount], [yes], [Count files in directories]) AC_PLUGIN([hddtemp], [yes], [Query hddtempd]) AC_PLUGIN([interface], [$plugin_interface], [Interface traffic statistics]) AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters]) @@ -2542,8 +2821,10 @@ AC_PLUGIN([nginx], [$with_libcurl], [nginx statistics]) AC_PLUGIN([notify_email], [$with_libesmtp], [Email notifier]) AC_PLUGIN([ntpd], [yes], [NTPd statistics]) AC_PLUGIN([nut], [$with_libupsclient], [Network UPS tools statistics]) +AC_PLUGIN([onewire], [$with_libowcapi], [OneWire sensor statistics]) AC_PLUGIN([perl], [$plugin_perl], [Embed a Perl interpreter]) AC_PLUGIN([ping], [$with_liboping], [Network latency statistics]) +AC_PLUGIN([postgresql], [$with_libpq], [PostgreSQL database statistics]) AC_PLUGIN([powerdns], [yes], [PowerDNS statistics]) AC_PLUGIN([processes], [$plugin_processes], [Process statistics]) AC_PLUGIN([rrdtool], [$with_rrdtool], [RRDTool output plugin]) @@ -2639,6 +2920,7 @@ cat <