X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=795a9e1280fffd23a93030941c8f1e58fbbc5f3e;hb=37905c5a2370c8e6edae5011978773eeaa589d09;hp=c8ce069862d5cb34f121adaf09b269795fd00793;hpb=98fef31471541485002b5b87afa8991a280190d6;p=collectd.git diff --git a/configure.in b/configure.in index c8ce0698..795a9e12 100644 --- a/configure.in +++ b/configure.in @@ -65,14 +65,24 @@ then AC_SUBST(KERNEL_CFLAGS) fi +if test "x$ac_system" = "xSolaris" +then + CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" +fi + +# Where to install .pc files. +pkgconfigdir="${libdir}/pkgconfig" +AC_SUBST(pkgconfigdir) + # # Checks for header files. # AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_HEADER_DIRENT +AC_HEADER_STDBOOL -AC_CHECK_HEADERS(stdio.h stdint.h stdbool.h errno.h math.h stdarg.h syslog.h fcntl.h signal.h assert.h sys/types.h sys/socket.h sys/select.h poll.h netdb.h arpa/inet.h sys/resource.h sys/param.h kstat.h regex.h sys/ioctl.h endian.h sys/isa_defs.h) +AC_CHECK_HEADERS(stdio.h stdint.h errno.h math.h stdarg.h syslog.h fcntl.h signal.h assert.h sys/types.h sys/socket.h sys/select.h poll.h netdb.h arpa/inet.h sys/resource.h sys/param.h kstat.h regex.h sys/ioctl.h endian.h sys/isa_defs.h) # For ping library AC_CHECK_HEADERS(netinet/in_systm.h, [], [], @@ -240,7 +250,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 vm/anon.h, [], [have_sys_swap_h="no"], [ #if HAVE_SYS_TYPES_H # include @@ -250,6 +261,18 @@ AC_CHECK_HEADERS(sys/swap.h, [], [], #endif ]) +if test "x$have_sys_swap_h$ac_system" = "xnoSolaris" +then + hint_64="" + if test "x$GCC" = "xyes" + then + hint_64="CFLAGS='-m64'" + else + hint_64="CFLAGS='-xarch=v9'" + fi + AC_MSG_NOTICE([Solaris detected and sys/swap.h not usable. Try building a 64-bit binary ($hint_64 ./configure).]) +fi + # For load module # For the processes plugin # For users module @@ -389,12 +412,12 @@ AC_HEADER_TIME # Checks for library functions. # AC_PROG_GCC_TRADITIONAL -AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr memcpy strstr strcmp strncmp strncpy strlen strncasecmp strcasecmp openlog closelog) +AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr memcpy strstr strcmp strncmp strncpy strlen strncasecmp strcasecmp openlog closelog sysconf) 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( [[[[ @@ -416,18 +439,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( [[[[ @@ -449,7 +472,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!])] ) ) @@ -465,6 +488,7 @@ nanosleep_needs_rt="no" AC_CHECK_FUNCS(nanosleep, [], AC_CHECK_LIB(rt, nanosleep, [nanosleep_needs_rt="yes"], AC_MSG_ERROR(cannot find nanosleep))) AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$nanosleep_needs_rt" = "xyes") +AC_CHECK_FUNCS(sysctl, [have_sysctl="yes"], [have_sysctl="no"]) AC_CHECK_FUNCS(sysctlbyname, [have_sysctlbyname="yes"], [have_sysctlbyname="no"]) AC_CHECK_FUNCS(host_statistics, [have_host_statistics="yes"], [have_host_statistics="no"]) AC_CHECK_FUNCS(processor_info, [have_processor_info="yes"], [have_processor_info="no"]) @@ -475,6 +499,7 @@ AC_CHECK_FUNCS(getifaddrs, [have_getifaddrs="yes"], [have_getifaddrs="no"]) AC_CHECK_FUNCS(syslog, [have_syslog="yes"], [have_syslog="no"]) AC_CHECK_FUNCS(getutent, [have_getutent="yes"], [have_getutent="no"]) AC_CHECK_FUNCS(getutxent, [have_getutxent="yes"], [have_getutxent="no"]) +AC_CHECK_FUNCS(swapctl, [have_swapctl="yes"], [have_swapctl="no"]) # For load module AC_CHECK_FUNCS(getloadavg, [have_getloadavg="yes"], [have_getloadavg="no"]) @@ -493,7 +518,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( [[ @@ -507,18 +532,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( [[ @@ -533,18 +558,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( [[ @@ -565,11 +590,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 @@ -604,7 +629,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( [[[[ @@ -638,17 +663,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( [[[[ @@ -690,17 +715,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( [[[[ @@ -736,11 +761,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 @@ -779,10 +804,9 @@ 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 #include "$srcdir/src/utils_mount.h"]], [[ FILE *fh; @@ -791,15 +815,14 @@ 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 #include "$srcdir/src/utils_mount.h"]], [[ FILE *fh; @@ -809,8 +832,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 @@ -818,11 +841,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 @@ -859,6 +882,37 @@ AC_CHECK_MEMBERS([struct net_device_stats.rx_bytes, struct net_device_stats.tx_p #include ]) +AC_CHECK_MEMBERS([struct kinfo_proc.ki_pid, struct kinfo_proc.ki_rssize, struct kinfo_proc.ki_rusage], + [ + AC_DEFINE(HAVE_STRUCT_KINFO_PROC_FREEBSD, 1, + [Define if struct kinfo_proc exists in the FreeBSD variant.]) + have_struct_kinfo_proc_freebsd="yes" + ], + [ + have_struct_kinfo_proc_freebsd="no" + ], + [ +#include +#include +#include +#include + ]) + +AC_CHECK_MEMBERS([struct kinfo_proc.kp_proc, struct kinfo_proc.kp_eproc], + [ + AC_DEFINE(HAVE_STRUCT_KINFO_PROC_OPENBSD, 1, + [Define if struct kinfo_proc exists in the OpenBSD variant.]) + have_struct_kinfo_proc_openbsd="yes" + ], + [ + have_struct_kinfo_proc_openbsd="no" + ], + [ +#include +#include +#include + ]) + AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], [#if HAVE_STDINT_H # include @@ -1001,6 +1055,15 @@ then 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-libcurl {{{ with_curl_config="curl-config" with_curl_cflags="" @@ -1296,6 +1359,11 @@ then [with_libmysql="yes"], [with_libmysql="no (symbol 'mysql_init' not found)"], [$with_mysql_libs]) + + AC_CHECK_LIB(mysqlclient, mysql_get_server_version, + [with_libmysql="yes"], + [with_libmysql="no (symbol 'mysql_get_server_version' not found)"], + [$with_mysql_libs]) fi fi if test "x$with_libmysql" = "xyes" @@ -1737,78 +1805,6 @@ AC_DEFINE_UNQUOTED(COLLECT_LIBPCAP, [$collect_libpcap], AM_CONDITIONAL(BUILD_WITH_LIBPCAP, test "x$with_libpcap" = "xyes") # }}} -# --with-libpcre {{{ -with_pcre_config="pcre-config" -with_pcre_cflags="" -with_pcre_libs="" -AC_ARG_WITH(libpcre, [AS_HELP_STRING([--with-libpcre@<:@=PREFIX@:>@], - [Path to libpcre.])], - [ - if test "x$withval" = "xno" - then - with_libpcre="no" - else if test "x$withval" = "xyes" - then - with_libpcre="yes" - else - if test -f "$withval" && test -x "$withval" - then - with_pcre_config="$withval" - else if test -x "$withval/bin/pcre-config" - then - with_pcre_config="$withval/bin/pcre-config" - fi; fi - with_libpcre="yes" - fi; fi - ], - [ - with_libpcre="yes" - ]) - -if test "x$with_libpcre" = "xyes" -then - with_pcre_cflags=`$with_pcre_config --cflags 2>/dev/null` - pcre_config_status=$? - - if test $pcre_config_status -ne 0 - then - with_libpcre="no ($with_pcre_config failed)" - else - SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $with_pcre_cflags" - - AC_CHECK_HEADERS(pcre.h, [], [with_libpcre="no (pcre.h not found)"], []) - - CPPFLAGS="$SAVE_CPPFLAGS" - fi -fi - -if test "x$with_libpcre" = "xyes" -then - with_pcre_libs=`$with_pcre_config --libs 2>/dev/null` - pcre_config_status=$? - - if test $pcre_config_status -ne 0 - then - with_libpcre="no ($with_pcre_config failed)" - else - AC_CHECK_LIB(pcre, pcre_compile, - [with_libpcre="yes"], - [with_libpcre="no (symbol 'pcre_compile' not found)"], - [$with_pcre_libs]) - fi -fi - -if test "x$with_libpcre" = "xyes" -then - BUILD_WITH_LIBPCRE_CFLAGS="$with_pcre_cflags" - BUILD_WITH_LIBPCRE_LIBS="$with_pcre_libs" - AC_SUBST(BUILD_WITH_LIBPCRE_CFLAGS) - AC_SUBST(BUILD_WITH_LIBPCRE_LIBS) -fi -AM_CONDITIONAL(BUILD_WITH_LIBPCRE, test "x$with_libpcre" = "xyes") -# }}} - # --with-libperl {{{ perl_interpreter="perl" AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])], @@ -1848,13 +1844,14 @@ 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( [[ @@ -1869,12 +1866,12 @@ then 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) @@ -1887,7 +1884,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") @@ -1899,7 +1896,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( [[ @@ -1912,12 +1909,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 @@ -1925,6 +1922,70 @@ then CFLAGS=$SAVE_CFLAGS LDFLAGS=$SAVE_LDFLAGS fi + +c_cv_have_broken_perl_load_module="no" +if test "x$with_libperl" = "xyes" +then + SAVE_CFLAGS=$CFLAGS + SAVE_LDFLAGS=$LDFLAGS + # trigger an error if Perl_load_module*() uses __attribute__nonnull__(3) + # (see issues #41 and #42) + CFLAGS="$CFLAGS $PERL_CFLAGS -Wall -Werror" + LDFLAGS="$LDFLAGS $PERL_LDFLAGS" + + AC_CACHE_CHECK([for broken Perl_load_module()], + [c_cv_have_broken_perl_load_module], + AC_LINK_IFELSE( + AC_LANG_PROGRAM( + [[ +#define PERL_NO_GET_CONTEXT +#include +#include +#include + ]], + [[ + dTHX; + load_module (PERL_LOADMOD_NOIMPORT, + newSVpv ("Collectd::Plugin::FooBar", 24), + Nullsv); + ]]), + [c_cv_have_broken_perl_load_module="no"], + [c_cv_have_broken_perl_load_module="yes"] + ) + ) + + CFLAGS=$SAVE_CFLAGS + LDFLAGS=$SAVE_LDFLAGS +fi +AM_CONDITIONAL(HAVE_BROKEN_PERL_LOAD_MODULE, + test "x$c_cv_have_broken_perl_load_module" = "xyes") + +if test "x$with_libperl" = "xyes" +then + SAVE_CFLAGS=$CFLAGS + SAVE_LDFLAGS=$LDFLAGS + CFLAGS="$CFLAGS $PERL_CFLAGS" + LDFLAGS="$LDFLAGS $PERL_LDFLAGS" + + AC_CHECK_MEMBER( + [struct mgvtbl.svt_local], + [have_struct_mgvtbl_svt_local="yes"], + [have_struct_mgvtbl_svt_local="no"], + [ +#include +#include +#include + ]) + + if test "x$have_struct_mgvtbl_svt_local" = "xyes" + then + AC_DEFINE(HAVE_PERL_STRUCT_MGVTBL_SVT_LOCAL, 1, + [Define if Perl's struct mgvtbl has member svt_local.]) + fi + + CFLAGS=$SAVE_CFLAGS + LDFLAGS=$SAVE_LDFLAGS +fi # }}} # --with-libpq {{{ @@ -2034,6 +2095,7 @@ if test "x$with_libpthread" = "xyes" then AC_CHECK_LIB(pthread, pthread_create, [with_libpthread="yes"], [with_libpthread="no (libpthread not found)"], []) fi + if test "x$with_libpthread" = "xyes" then AC_CHECK_HEADERS(pthread.h,, [with_libpthread="no (pthread.h not found)"]) @@ -2194,41 +2256,43 @@ with_libstatgrab_cflags="" with_libstatgrab_ldflags="" AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [Path to libstatgrab.])], [ - if test "x$withval" != "xno" \ - && test "x$withval" != "xyes" - then - with_libstatgrab_cflags="-I$withval/include" - with_libstatgrab_ldflags="-L$withval/lib" - with_libstatgrab="yes" - else - with_libstatgrab="$withval" - fi -], + if test "x$withval" != "xno" \ + && test "x$withval" != "xyes" + then + with_libstatgrab_cflags="-I$withval/include" + with_libstatgrab_ldflags="-L$withval/lib -lstatgrab" + with_libstatgrab="yes" + with_libstatgrab_pkg_config="no" + else + with_libstatgrab="$withval" + with_libstatgrab_pkg_config="yes" + fi + ], [ - if test "x$ac_system" = "xunknown" - then - with_libstatgrab="yes" - else - with_libstatgrab="no" - fi + with_libstatgrab="yes" + with_libstatgrab_pkg_config="yes" ]) -with_libstatgrab_pkg_config="yes" + if test "x$with_libstatgrab" = "xyes" \ - && test "x$PKG_CONFIG" != "x" + && test "x$with_libstatgrab_pkg_config" = "xyes" then - AC_MSG_CHECKING([pkg-config for libstatgrab]) - temp_result="found" - $PKG_CONFIG --exists libstatgrab 2>/dev/null - if test "$?" != "0" + if test "x$PKG_CONFIG" != "x" then + AC_MSG_CHECKING([pkg-config for libstatgrab]) + temp_result="found" + $PKG_CONFIG --exists libstatgrab 2>/dev/null + if test "$?" != "0" + then + with_libstatgrab_pkg_config="no" + with_libstatgrab="no ($PKG_CONFIG doesn't know libstatgrab)" + temp_result="not found" + fi + AC_MSG_RESULT([$temp_result]) + else + AC_MSG_NOTICE([pkg-config not available, trying to guess flags for the statgrab library.]) with_libstatgrab_pkg_config="no" - temp_result="not found" + with_libstatgrab_ldflags="$with_libstatgrab_ldflags -lstatgrab" fi - AC_MSG_RESULT([$temp_result]) -else - AC_MSG_NOTICE([pkg-config not available, trying to guess flags for the statgrab library.]) - with_libstatgrab_pkg_config="no" - with_libstatgrab_ldflags="$with_libstatgrab_ldflags -lstatgrab" fi if test "x$with_libstatgrab" = "xyes" \ @@ -2302,103 +2366,94 @@ then fi # }}} -# --with-libxmms {{{ -with_xmms_config="xmms-config" -with_xmms_cflags="" -with_xmms_libs="" -AC_ARG_WITH(libxmms, [AS_HELP_STRING([--with-libxmms@<:@=PREFIX@:>@], [Path to libxmms.])], +# --with-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" \ - && test "x$withval" != "xyes" + if test "x$withval" = "xno" then - if test -f "$withval" && test -x "$withval"; + with_libupsclient="no" + else if test "x$withval" = "xyes" + then + with_libupsclient="use_pkgconfig" + else + if test -x "$withval" then - with_xmms_config="$withval" - else if test -x "$withval/bin/xmms-config" + with_libupsclient_config="$withval" + with_libupsclient="use_libupsclient_config" + else if test -x "$withval/bin/libupsclient-config" then - with_xmms_config="$withval/bin/xmms-config" + 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 - with_libxmms="yes" - else if test "x$withval" = "xno" - then - with_libxmms="no" - else - with_libxmms="yes" fi; fi ], -[ - with_libxmms="yes" -]) -if test "x$with_libxmms" = "xyes" -then - with_xmms_cflags=`$with_xmms_config --cflags 2>/dev/null` - xmms_config_status=$? +[with_libupsclient="use_pkgconfig"]) - if test $xmms_config_status -ne 0 +# 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_libxmms="no" + with_libupsclient="no ($with_libupsclient_config failed)" fi -fi -if test "x$with_libxmms" = "xyes" -then - with_xmms_libs=`$with_xmms_config --libs 2>/dev/null` - xmms_config_status=$? - - if test $xmms_config_status -ne 0 + with_libupsclient_libs="`$with_libupsclient_config --libs`" + if test $? -ne 0 then - with_libxmms="no" + with_libupsclient="no ($with_libupsclient_config failed)" fi fi -if test "x$with_libxmms" = "xyes" +if test "x$with_libupsclient" = "xuse_libupsclient_config" then - AC_CHECK_LIB(xmms, xmms_remote_get_info, - [ - BUILD_WITH_LIBXMMS_CFLAGS="$with_xmms_cflags" - BUILD_WITH_LIBXMMS_LIBS="$with_xmms_libs" - AC_SUBST(BUILD_WITH_LIBXMMS_CFLAGS) - AC_SUBST(BUILD_WITH_LIBXMMS_LIBS) - ], - [ - with_libxmms="no" - ], - [$with_xmms_libs]) + with_libupsclient="yes" fi -with_libxmms_numeric=0 -if test "x$with_libxmms" = "xyes" + +# configure using pkg-config +if test "x$with_libupsclient" = "xuse_pkgconfig" then - with_libxmms_numeric=1 + if test "x$PKG_CONFIG" = "x" + then + with_libupsclient="no (Don't have pkg-config)" + fi fi -AC_DEFINE_UNQUOTED(HAVE_LIBXMMS, [$with_libxmms_numeric], [Define to 1 if you have the 'xmms' library (-lxmms).]) -AM_CONDITIONAL(BUILD_WITH_LIBXMMS, test "x$with_libxmms" = "xyes") -# }}} - -# pkg-config --exists 'libupsclient' {{{ -with_libupsclient="no (pkg-config isn't available)" -with_libupsclient_cflags="" -with_libupsclient_libs="" -if test "x$PKG_CONFIG" != "x" +if test "x$with_libupsclient" = "xuse_pkgconfig" then - pkg-config --exists 'libupsclient' 2>/dev/null - if test "$?" = "0" + AC_MSG_NOTICE([Checking for libupsclient using $PKG_CONFIG]) + $PKG_CONFIG --exists 'libupsclient' 2>/dev/null + if test $? -ne 0 then - with_libupsclient="yes" - else with_libupsclient="no (pkg-config doesn't know library)" fi fi -if test "x$with_libupsclient" = "xyes" +if test "x$with_libupsclient" = "xuse_pkgconfig" then - with_libupsclient_cflags="`pkg-config --cflags 'libupsclient'`" + with_libupsclient_cflags="`$PKG_CONFIG --cflags 'libupsclient'`" if test $? -ne 0 then - with_libupsclient="no" + with_libupsclient="no ($PKG_CONFIG failed)" fi - with_libupsclient_libs="`pkg-config --libs 'libupsclient'`" + with_libupsclient_libs="`$PKG_CONFIG --libs 'libupsclient'`" if test $? -ne 0 then - with_libupsclient="no" + 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" @@ -2444,6 +2499,76 @@ then fi # }}} +# --with-libxmms {{{ +with_xmms_config="xmms-config" +with_xmms_cflags="" +with_xmms_libs="" +AC_ARG_WITH(libxmms, [AS_HELP_STRING([--with-libxmms@<:@=PREFIX@:>@], [Path to libxmms.])], +[ + if test "x$withval" != "xno" \ + && test "x$withval" != "xyes" + then + if test -f "$withval" && test -x "$withval"; + then + with_xmms_config="$withval" + else if test -x "$withval/bin/xmms-config" + then + with_xmms_config="$withval/bin/xmms-config" + fi; fi + with_libxmms="yes" + else if test "x$withval" = "xno" + then + with_libxmms="no" + else + with_libxmms="yes" + fi; fi +], +[ + with_libxmms="yes" +]) +if test "x$with_libxmms" = "xyes" +then + with_xmms_cflags=`$with_xmms_config --cflags 2>/dev/null` + xmms_config_status=$? + + if test $xmms_config_status -ne 0 + then + with_libxmms="no" + fi +fi +if test "x$with_libxmms" = "xyes" +then + with_xmms_libs=`$with_xmms_config --libs 2>/dev/null` + xmms_config_status=$? + + if test $xmms_config_status -ne 0 + then + with_libxmms="no" + fi +fi +if test "x$with_libxmms" = "xyes" +then + AC_CHECK_LIB(xmms, xmms_remote_get_info, + [ + BUILD_WITH_LIBXMMS_CFLAGS="$with_xmms_cflags" + BUILD_WITH_LIBXMMS_LIBS="$with_xmms_libs" + AC_SUBST(BUILD_WITH_LIBXMMS_CFLAGS) + AC_SUBST(BUILD_WITH_LIBXMMS_LIBS) + ], + [ + with_libxmms="no" + ], + [$with_xmms_libs]) +fi +with_libxmms_numeric=0 +if test "x$with_libxmms" = "xyes" +then + with_libxmms_numeric=1 +fi +AC_DEFINE_UNQUOTED(HAVE_LIBXMMS, [$with_libxmms_numeric], [Define to 1 if you have the 'xmms' library (-lxmms).]) +AM_CONDITIONAL(BUILD_WITH_LIBXMMS, test "x$with_libxmms" = "xyes") +# }}} + # pkg-config --exists 'libxml-2.0'; pkg-config --exists libvirt {{{ with_libxml2="no (pkg-config isn't available)" with_libxml2_cflags="" @@ -2758,6 +2883,7 @@ AC_COLLECTD([getifaddrs],[enable], [feature], [getifaddrs under Linux]) dependency_error="no" plugin_ascent="no" plugin_battery="no" +plugin_bind="no" plugin_cpu="no" plugin_cpufreq="no" plugin_df="no" @@ -2831,10 +2957,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 @@ -2850,6 +2980,7 @@ fi if test "x$with_libcurl" = "xyes" && test "x$with_libxml2" = "xyes" then plugin_ascent="yes" + plugin_bind="yes" fi if test "x$with_libopenipmipthread" = "xyes" @@ -2861,6 +2992,11 @@ if test "x$have_processor_info" = "xyes" then plugin_cpu="yes" fi +if test "x$have_sysctl" = "xyes" +then + plugin_cpu="yes" + plugin_swap="yes" +fi if test "x$have_sysctlbyname" = "xyes" then plugin_cpu="yes" @@ -2868,15 +3004,41 @@ then plugin_tcpconns="yes" fi -if test "x$have_statfs" = "xyes" +# Df plugin: Check if we know how to determine mount points first. +#if test "x$have_listmntent" = "xyes"; then +# plugin_df="yes" +#fi +if test "x$have_getvfsstat" = "xyes" || test "x$have_getfsstat" = "xyes" +then + plugin_df="yes" +fi +if test "x$c_cv_have_two_getmntent" = "xyes" || test "x$have_getmntent" = "xgen" || test "x$have_getmntent" = "xsun" then plugin_df="yes" fi -if test "x$have_statvfs" = "xyes" +#if test "x$have_getmntent" = "xseq" +#then +# plugin_df="yes" +#fi +if test "x$c_cv_have_one_getmntent" = "xyes" then plugin_df="yes" fi +# Df plugin: Check if we have either `statfs' or `statvfs' second. +if test "x$plugin_df" = "xyes" +then + plugin_df="no" + if test "x$have_statfs" = "xyes" + then + plugin_df="yes" + fi + if test "x$have_statvfs" = "xyes" + then + plugin_df="yes" + fi +fi + if test "x$have_getifaddrs" = "xyes" then plugin_interface="yes" @@ -2892,7 +3054,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 @@ -2913,7 +3075,7 @@ then plugin_processes="yes" fi -if test "x$with_kvm_getprocs" = "xyes" +if test "x$with_kvm_getprocs" = "xyes" && test "x$have_struct_kinfo_proc_freebsd" = "xyes" then plugin_processes="yes" fi @@ -2923,7 +3085,12 @@ then plugin_swap="yes" fi -if test "x$with_kvm_nlist" = "xyes" +if test "x$have_swapctl" = "xyes" +then + plugin_swap="yes" +fi + +if test "x$with_kvm_openfiles$with_kvm_nlist" = "xyesyes" then plugin_tcpconns="yes" fi @@ -2937,8 +3104,6 @@ then plugin_users="yes" fi -# FIXME: sysctl for swap plugin - m4_divert_once([HELP_ENABLE], [ collectd plugins:]) @@ -2947,10 +3112,11 @@ AC_PLUGIN([apcups], [yes], [Statistics of UPSes by APC]) AC_PLUGIN([apple_sensors], [$with_libiokit], [Apple's hardware sensors]) AC_PLUGIN([ascent], [$plugin_ascent], [AscentEmu player statistics]) AC_PLUGIN([battery], [$plugin_battery], [Battery statistics]) -AC_PLUGIN([cpu], [$plugin_cpu], [CPU usage statistics]) +AC_PLUGIN([bind], [$plugin_bind], [ISC Bind nameserver statistics]) AC_PLUGIN([cpufreq], [$plugin_cpufreq], [CPU frequency statistics]) +AC_PLUGIN([cpu], [$plugin_cpu], [CPU usage statistics]) AC_PLUGIN([csv], [yes], [CSV output plugin]) -AC_PLUGIN([notify_desktop], [$with_libnotify], [Desktop notifications]) +AC_PLUGIN([curl], [$with_libcurl], [CURL generic web statistics]) AC_PLUGIN([dbi], [$with_libdbi], [General database statistics]) AC_PLUGIN([df], [$plugin_df], [Filesystem usage statistics]) AC_PLUGIN([disk], [$plugin_disk], [Disk usage statistics]) @@ -2959,17 +3125,17 @@ 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([filter_ignore], [yes], [Ignore specific values]) AC_PLUGIN([hddtemp], [yes], [Query hddtempd]) AC_PLUGIN([interface], [$plugin_interface], [Interface traffic statistics]) -AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters]) AC_PLUGIN([ipmi], [$plugin_ipmi], [IPMI sensor statistics]) +AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters]) AC_PLUGIN([ipvs], [$plugin_ipvs], [IPVS connection statistics]) AC_PLUGIN([irq], [$plugin_irq], [IRQ statistics]) AC_PLUGIN([libvirt], [$plugin_libvirt], [Virtual machine statistics]) AC_PLUGIN([load], [$plugin_load], [System load]) AC_PLUGIN([logfile], [yes], [File logging plugin]) AC_PLUGIN([match_regex], [yes], [The regex match]) +AC_PLUGIN([match_timediff], [yes], [The timediff match]) AC_PLUGIN([match_value], [yes], [The value match]) AC_PLUGIN([mbmon], [yes], [Query mbmond]) AC_PLUGIN([memcached], [yes], [memcached statistics]) @@ -2980,18 +3146,20 @@ AC_PLUGIN([netlink], [$with_libnetlink], [Enhanced Linux network statistic AC_PLUGIN([network], [yes], [Network communication plugin]) AC_PLUGIN([nfs], [$plugin_nfs], [NFS statistics]) AC_PLUGIN([nginx], [$with_libcurl], [nginx statistics]) +AC_PLUGIN([notify_desktop], [$with_libnotify], [Desktop notifications]) 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([openvpn], [yes], [OpenVPN client statistics]) AC_PLUGIN([oracle], [$with_oracle], [Oracle plugin]) 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_librrd], [RRDTool output plugin]) AC_PLUGIN([rrdcached], [$librrd_rrdc_update], [RRDTool output plugin]) +AC_PLUGIN([rrdtool], [$with_librrd], [RRDTool output plugin]) AC_PLUGIN([sensors], [$with_libsensors], [lm_sensors statistics]) AC_PLUGIN([serial], [$plugin_serial], [serial port traffic]) AC_PLUGIN([snmp], [$with_libnetsnmp], [SNMP querying plugin]) @@ -2999,6 +3167,8 @@ AC_PLUGIN([swap], [$plugin_swap], [Swap usage statistics]) AC_PLUGIN([syslog], [$have_syslog], [Syslog logging plugin]) AC_PLUGIN([tail], [yes], [Parsing of logfiles]) AC_PLUGIN([tape], [$plugin_tape], [Tape drive statistics]) +AC_PLUGIN([target_notification], [yes], [The notification target]) +AC_PLUGIN([target_replace], [yes], [The replace target]) AC_PLUGIN([target_set], [yes], [The set target]) AC_PLUGIN([tcpconns], [$plugin_tcpconns], [TCP connection statistics]) AC_PLUGIN([teamspeak2], [yes], [TeamSpeak2 server statistics]) @@ -3048,7 +3218,24 @@ fi AC_SUBST(PERL_BINDINGS) AC_SUBST(PERL_BINDINGS_OPTIONS) -AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libiptc/Makefile src/libcollectdclient/Makefile src/liboconfig/Makefile src/liboping/Makefile bindings/Makefile) +dnl libcollectdclient +LCC_VERSION_MAJOR=`echo $PACKAGE_VERSION | cut -d'.' -f1` +LCC_VERSION_MINOR=`echo $PACKAGE_VERSION | cut -d'.' -f2` +LCC_VERSION_PATCH=`echo $PACKAGE_VERSION | cut -d'.' -f3` + +LCC_VERSION_EXTRA=`echo $PACKAGE_VERSION | cut -d'.' -f4-` + +LCC_VERSION_STRING="$LCC_VERSION_MAJOR.$LCC_VERSION_MINOR.$LCC_VERSION_PATCH" + +AC_SUBST(LCC_VERSION_MAJOR) +AC_SUBST(LCC_VERSION_MINOR) +AC_SUBST(LCC_VERSION_PATCH) +AC_SUBST(LCC_VERSION_EXTRA) +AC_SUBST(LCC_VERSION_STRING) + +AC_CONFIG_FILES(src/libcollectdclient/lcc_features.h) + +AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libiptc/Makefile src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile src/liboping/Makefile bindings/Makefile) if test "x$with_librrd" = "xyes" \ && test "x$librrd_threadsafe" != "xyes" @@ -3099,10 +3286,9 @@ Configuration: libopenipmi . . . . . $with_libopenipmipthread liboping . . . . . . $with_liboping libpcap . . . . . . . $with_libpcap - libpcre . . . . . . . $with_libpcre libperl . . . . . . . $with_libperl - libpthread . . . . . $with_libpthread libpq . . . . . . . . $with_libpq + libpthread . . . . . $with_libpthread librrd . . . . . . . $with_librrd libsensors . . . . . $with_libsensors libstatgrab . . . . . $with_libstatgrab @@ -3125,9 +3311,11 @@ Configuration: apple_sensors . . . . $enable_apple_sensors ascent . . . . . . . $enable_ascent battery . . . . . . . $enable_battery + bind . . . . . . . . $enable_bind cpu . . . . . . . . . $enable_cpu cpufreq . . . . . . . $enable_cpufreq csv . . . . . . . . . $enable_csv + curl . . . . . . . . $enable_curl dbi . . . . . . . . . $enable_dbi df . . . . . . . . . $enable_df disk . . . . . . . . $enable_disk @@ -3136,17 +3324,17 @@ Configuration: entropy . . . . . . . $enable_entropy exec . . . . . . . . $enable_exec filecount . . . . . . $enable_filecount - filter_ignore . . . . $enable_filter_ignore hddtemp . . . . . . . $enable_hddtemp interface . . . . . . $enable_interface - iptables . . . . . . $enable_iptables ipmi . . . . . . . . $enable_ipmi + iptables . . . . . . $enable_iptables ipvs . . . . . . . . $enable_ipvs irq . . . . . . . . . $enable_irq libvirt . . . . . . . $enable_libvirt load . . . . . . . . $enable_load logfile . . . . . . . $enable_logfile match_regex . . . . . $enable_match_regex + match_timediff . . . $enable_match_timediff match_value . . . . . $enable_match_value mbmon . . . . . . . . $enable_mbmon memcached . . . . . . $enable_memcached @@ -3162,14 +3350,15 @@ Configuration: ntpd . . . . . . . . $enable_ntpd nut . . . . . . . . . $enable_nut onewire . . . . . . . $enable_onewire + openvpn . . . . . . . $enable_openvpn oracle . . . . . . . $enable_oracle perl . . . . . . . . $enable_perl ping . . . . . . . . $enable_ping postgresql . . . . . $enable_postgresql powerdns . . . . . . $enable_powerdns processes . . . . . . $enable_processes - rrdtool . . . . . . . $enable_rrdtool rrdcached . . . . . . $enable_rrdcached + rrdtool . . . . . . . $enable_rrdtool sensors . . . . . . . $enable_sensors serial . . . . . . . $enable_serial snmp . . . . . . . . $enable_snmp @@ -3177,6 +3366,8 @@ Configuration: syslog . . . . . . . $enable_syslog tail . . . . . . . . $enable_tail tape . . . . . . . . $enable_tape + target_notification . $enable_target_notification + target_replace . . . $enable_target_replace target_set . . . . . $enable_target_set tcpconns . . . . . . $enable_tcpconns teamspeak2 . . . . . $enable_teamspeak2