X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=69ac2cfc50ce75f55cc645e6ecc8e68120f6b04c;hb=fbcc933634f41b1149cac2442ffdb12a299ad0e2;hp=af5500ef9a2da7bed1d800e9e1ec348c46b2518d;hpb=c7d818fc88838b0724e820346342b3190bb35705;p=collectd.git diff --git a/configure.in b/configure.in index af5500ef..69ac2cfc 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(collectd, 3.9.0) +AC_INIT(collectd, 3.10.3) AC_CONFIG_SRCDIR(src/collectd.c) AC_CONFIG_HEADERS(src/config.h) AM_INIT_AUTOMAKE(dist-bzip2) @@ -25,7 +25,7 @@ AC_SUBST(LIBLTDL) AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL #AC_PROG_RANLIB -AC_CONFIG_SUBDIRS(libltdl src/libconfig) +AC_CONFIG_SUBDIRS(libltdl) # # Checks for header files. @@ -34,6 +34,7 @@ AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_HEADER_DIRENT AC_CHECK_HEADERS(stdint.h) +AC_CHECK_HEADERS(stdio.h) AC_CHECK_HEADERS(errno.h) AC_CHECK_HEADERS(math.h) AC_CHECK_HEADERS(syslog.h) @@ -43,6 +44,7 @@ AC_CHECK_HEADERS(assert.h) AC_CHECK_HEADERS(sys/types.h) AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_HEADERS(sys/select.h) +AC_CHECK_HEADERS(sys/poll.h) AC_CHECK_HEADERS(netdb.h) AC_CHECK_HEADERS(arpa/inet.h) AC_CHECK_HEADERS(sys/resource.h) @@ -53,11 +55,17 @@ AC_CHECK_HEADERS(netinet/in_systm.h, [], [], [#if HAVE_STDINT_H # include #endif +#if HAVE_SYS_TYPES_H +# include +#endif ]) AC_CHECK_HEADERS(netinet/in.h, [], [], [#if HAVE_STDINT_H # include #endif +#if HAVE_SYS_TYPES_H +# include +#endif #if HAVE_NETINET_IN_SYSTM_H # include #endif @@ -66,6 +74,9 @@ AC_CHECK_HEADERS(netinet/ip.h, [], [], [#if HAVE_STDINT_H # include #endif +#if HAVE_SYS_TYPES_H +# include +#endif #if HAVE_NETINET_IN_SYSTM_H # include #endif @@ -77,6 +88,9 @@ AC_CHECK_HEADERS(netinet/ip_icmp.h, [], [], [#if HAVE_STDINT_H # include #endif +#if HAVE_SYS_TYPES_H +# include +#endif #if HAVE_NETINET_IN_SYSTM_H # include #endif @@ -91,6 +105,9 @@ AC_CHECK_HEADERS(netinet/ip_var.h, [], [], [#if HAVE_STDINT_H # include #endif +#if HAVE_SYS_TYPES_H +# include +#endif #if HAVE_NETINET_IN_SYSTM_H # include #endif @@ -135,14 +152,94 @@ AC_CHECK_HEADERS(netinet/icmp6.h, [], [], # For cpu modules AC_CHECK_HEADERS(sys/sysctl.h sys/dkstat.h) +AC_CHECK_HEADERS(mach/mach_init.h) +AC_CHECK_HEADERS(mach/host_priv.h) +AC_CHECK_HEADERS(mach/mach_error.h) +AC_CHECK_HEADERS(mach/mach_host.h) +AC_CHECK_HEADERS(mach/mach_port.h) +AC_CHECK_HEADERS(mach/mach_types.h) +AC_CHECK_HEADERS(mach/message.h) +AC_CHECK_HEADERS(mach/processor_set.h) +AC_CHECK_HEADERS(mach/processor.h) +AC_CHECK_HEADERS(mach/processor_info.h) +AC_CHECK_HEADERS(mach/task.h) +AC_CHECK_HEADERS(mach/thread_act.h) +AC_CHECK_HEADERS(mach/vm_region.h) +AC_CHECK_HEADERS(mach/vm_map.h) +AC_CHECK_HEADERS(mach/vm_prot.h) +AC_CHECK_HEADERS(mach/vm_statistics.h) +AC_CHECK_HEADERS(mach/kern_return.h) + +# For hddtemp module +AC_CHECK_HEADERS(linux/major.h) + +# For the apple_sensors module +AC_CHECK_HEADERS(CoreFoundation/CoreFoundation.h) +AC_CHECK_HEADERS(IOKit/IOKitLib.h) +AC_CHECK_HEADERS(IOKit/IOTypes.h) + +# For the battery plugin +AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [], +[ +#if HAVE_IOKIT_IOKITLIB_H +# include +#endif +#if HAVE_IOKIT_IOTYPES_H +# include +#endif +]) +AC_CHECK_HEADERS(IOKit/ps/IOPSKeys.h) + +# For the `disk' plugin +AC_CHECK_HEADERS(IOKit/IOBSD.h) +AC_CHECK_HEADERS(IOKit/storage/IOBlockStorageDriver.h) # For load module AC_CHECK_HEADERS(sys/loadavg.h) +# For the processes plugin +AC_CHECK_HEADERS(linux/config.h) + +# For the swap module +AC_CHECK_HEADERS(sys/swap.h) + # For users module AC_CHECK_HEADERS(utmp.h) AC_CHECK_HEADERS(utmpx.h) +# For traffic plugin +AC_CHECK_HEADERS(ifaddrs.h) +AC_CHECK_HEADERS(net/if.h, [], [], +[ +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_SOCKET_H +# include +#endif +]) +AC_CHECK_HEADERS(linux/if.h, [], [], +[ +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_SOCKET_H +# include +#endif +]) +AC_CHECK_HEADERS(linux/netdevice.h, [], [], +[ +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_SOCKET_H +# include +#endif +#if HAVE_LINUX_IF_H +# include +#endif +]) + # For apache plugin AC_CHECK_HEADERS(curl/curl.h) @@ -169,9 +266,33 @@ AC_CHECK_HEADERS(sys/statvfs.h) AC_CHECK_HEADERS(sys/vfs.h) AC_CHECK_HEADERS(sys/vfstab.h) +# For the swap plugin, FreeBSD +AC_CHECK_HEADERS(kvm.h) + +# For the email plugin +AC_CHECK_HEADERS(linux/un.h, [], [], +[ +#if HAVE_SYS_SOCKET_H +# include +#endif +]) +AC_CHECK_HEADERS(sys/un.h) +AC_CHECK_HEADERS(grp.h) + # For debugging interface (variable number of arguments) AC_CHECK_HEADERS(stdarg.h) +# Regular expressions for the ignorelist. +AC_CHECK_HEADERS(regex.h) + +# For the dns plugin +AC_CHECK_HEADERS(arpa/nameser.h arpa/nameser_compat.h) + +AC_CHECK_HEADERS(net/if_arp.h) +AC_CHECK_HEADERS(net/if_ppp.h) +AC_CHECK_HEADERS(netinet/if_ether.h) +AC_CHECK_HEADERS(netinet/udp.h) + dnl Checking for libraries AC_CHECK_LIB(m, ext) @@ -189,12 +310,22 @@ AC_HEADER_TIME # AC_PROG_GCC_TRADITIONAL AC_CHECK_FUNCS(gettimeofday select strdup strtol) -AC_CHECK_FUNCS(socket, , AC_CHECK_LIB(socket, socket)) AC_CHECK_FUNCS(getaddrinfo getnameinfo) AC_CHECK_FUNCS(strchr memcpy strstr strcmp strncmp strncpy strlen) AC_CHECK_FUNCS(strncasecmp strcasecmp) AC_CHECK_FUNCS(openlog syslog closelog) +socket_needs_socket="no" +AC_CHECK_FUNCS(socket, [], AC_CHECK_LIB(socket, socket, [socket_needs_socket="yes"], AC_MSG_ERROR(cannot find socket))) +AM_CONDITIONAL(BUILD_WITH_LIBSOCKET, test "x$socket_needs_socket" = "xyes") + +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") + +# Regular expressions for the ignorelist. +AC_CHECK_FUNCS(regcomp regerror regexec regfree) + # For cpu module AC_CHECK_FUNCS(sysctlbyname, [have_sysctlbyname="yes"], [have_sysctlbyname="no"]) @@ -204,6 +335,9 @@ AC_CHECK_FUNCS(statfs statvfs) # For load module AC_CHECK_FUNCS(getloadavg, [have_getloadavg="yes"], [have_getloadavg="no"]) +# For the `processes' plugin +AC_CHECK_FUNCS(thread_info) + # For users module AC_CHECK_FUNCS(getutent getutxent) @@ -211,84 +345,121 @@ AC_CHECK_FUNCS(getutent getutxent) AC_CHECK_FUNCS(quotactl) AC_CHECK_FUNCS(getgrgid getpwuid) +# For traffic module +AC_CHECK_FUNCS(getifaddrs) + # For mount interface -AC_CHECK_FUNCS(getfsent getvfsent listmntent) -AC_CHECK_FUNCS(getfsstat) +#AC_CHECK_FUNCS(getfsent getvfsent) -# Check for different versions of `getmntent' here.. -AC_FUNC_GETMNTENT -if test "x$ac_cv_lib_sun_getmntent" = "xyes" -then - AC_DEFINE(HAVE_SUN_GETMNTENT, 1, - [Define if the function getmntent exists. It's the version from libsun.]) +have_getfsstat="no" +AC_CHECK_FUNCS(getfsstat, [have_getfsstat="yes"]) +have_getvfsstat="no" +AC_CHECK_FUNCS(getvfsstat, [have_getvfsstat="yes"]) +have_listmntent="no" +AC_CHECK_FUNCS(listmntent, [have_listmntent="yes"]) + +have_getmntent="no" +AC_CHECK_FUNCS(getmntent, [have_getmntent="c"]) +if test "x$have_getmntent" = "xno"; then + AC_CHECK_LIB(sun, getmntent, [have_getmntent="sun"]) fi -if test "x$ac_cv_lib_seq_getmntent" = "xyes" -then - AC_DEFINE(HAVE_SEQ_GETMNTENT, 1, - [Define if the function getmntent exists. It's the version from libseq.]) +if test "x$have_getmntent" = "xno"; then + AC_CHECK_LIB(seq, getmntent, [have_getmntent="seq"]) fi -if test "x$ac_cv_lib_gen_getmntent" = "xyes" -then - AC_DEFINE(HAVE_GEN_GETMNTENT, 1, - [Define if the function getmntent exists. It's the version from libgen.]) +if test "x$have_getmntent" = "xno"; then + AC_CHECK_LIB(gen, getmntent, [have_getmntent="gen"]) fi -if test "x$ac_cv_func_getmntent" = "xyes"; then - saveCFLAGS="$CFLAGS" - CFLAGS="-Wall -Werror $CFLAGS" +if test "x$have_getmntent" = "xc"; then AC_CACHE_CHECK([whether getmntent takes one argument], - [fu_cv_getmntent1], + [have_one_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT +#include #include "$srcdir/src/utils_mount.h"]], - [[(void)getmntent((FILE *)NULL);]] + [[ + FILE *fh; + struct mntent *me; + fh = setmntent ("/etc/mtab", "r"); + me = getmntent (fh); + ]] ), - [fu_cv_getmntent1=yes], - [fu_cv_getmntent1=no] + [have_one_getmntent="yes"], + [have_one_getmntent="no"] ) ) - if test "x$fu_cv_getmntent1" = "xno"; then - AC_CACHE_CHECK([whether getmntent takes two arguments], - [fu_cv_getmntent2], - AC_COMPILE_IFELSE( - AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT + AC_CACHE_CHECK([whether getmntent takes two arguments], + [have_two_getmntent], + AC_COMPILE_IFELSE( + AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT +#include #include "$srcdir/src/utils_mount.h"]], - [[(void)getmntent((FILE *)NULL, - (struct mnttab *)NULL);]] - ), - [fu_cv_getmntent2=yes], - [fu_cv_getmntent2=no] - ) + [[ + FILE *fh; + struct mnttab mt; + int status; + fh = fopen ("/etc/mnttab", "r"); + status = getmntent (fh, &mt); + ]] + ), + [have_two_getmntent="yes"], + [have_two_getmntent="no"] ) + ) +fi + +# Check for different versions of `getmntent' here.. + +if test "x$have_getmntent" = "xc"; then + if test "x$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 + AC_DEFINE(HAVE_TWO_GETMNTENT, 1, + [Define if the function getmntent exists and takes two arguments.]) fi - CFLAGS="$saveCFLAGS" -fi -if test "x$fu_cv_getmntent1" = "xyes"; then - AC_DEFINE(HAVE_GETMNTENT1, - 1, - [Define if there is a function named getmntent - for reading the list of mounted filesystems, and - that function takes a single argument. (4.3BSD, - SunOS, HP-UX, Dynix, Irix, Linux)] - ) fi -if test "x$fu_cv_getmntent2" = "xyes"; then - AC_DEFINE(HAVE_GETMNTENT2, - 1, - [Define if there is a function named getmntent - for reading the list of mounted filesystems, and - that function takes two arguments. (SVR4)] - ) +if test "x$have_getmntent" = "xsun"; then + AC_DEFINE(HAVE_SUN_GETMNTENT, 1, + [Define if the function getmntent exists. It's the version from libsun.]) +fi +if test "x$have_getmntent" = "xseq"; then + AC_DEFINE(HAVE_SEQ_GETMNTENT, 1, + [Define if the function getmntent exists. It's the version from libseq.]) +fi +if test "x$have_getmntent" = "xgen"; then + AC_DEFINE(HAVE_GEN_GETMNTENT, 1, + [Define if the function getmntent exists. It's the version from libgen.]) fi +# Check for structures +AC_CHECK_MEMBERS([struct if_data.ifi_ibytes, struct if_data.ifi_opackets, struct if_data.ifi_ierrors], + [AC_DEFINE(HAVE_STRUCT_IF_DATA, 1, [Define if struct if_data exists and is usable.])], + [], + [ + #include + #include + #include + ]) +AC_CHECK_MEMBERS([struct net_device_stats.rx_bytes, struct net_device_stats.tx_packets, struct net_device_stats.rx_errors], + [AC_DEFINE(HAVE_STRUCT_NET_DEVICE_STATS, 1, [Define if struct net_device_stats exists and is usable.])], + [], + [ + #include + #include + #include + #include + ]) + AC_MSG_CHECKING([for kernel type ($host_os)]) case $host_os in *linux*) - AC_DEFINE([KERNEL_LINUX], [], [True if program is to be compiled for a Linux kernel]) + AC_DEFINE([KERNEL_LINUX], 1, [True if program is to be compiled for a Linux kernel]) ac_system="Linux" ;; *solaris*) - AC_DEFINE([KERNEL_SOLARIS], [], [True if program is to be compiled for a Solaris kernel]) + AC_DEFINE([KERNEL_SOLARIS], 1, [True if program is to be compiled for a Solaris kernel]) ac_system="Solaris" ;; *) @@ -296,14 +467,6 @@ case $host_os in esac AC_MSG_RESULT([$ac_system]) -with_libsocket="yes" -AC_CHECK_LIB(socket, socket, -[ - AC_DEFINE(HAVE_LIBSOCKET, 1, [Define to 1 if you have the 'socket' library (-lsocket).]) -], -[with_libsocket="no"]) -AM_CONDITIONAL(BUILD_WITH_LIBSOCKET, test "x$with_libsocket" = "xyes") - with_libresolv="yes" AC_CHECK_LIB(resolv, res_search, [ @@ -312,30 +475,6 @@ AC_CHECK_LIB(resolv, res_search, [with_libresolv="no"]) AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes") -with_libcurl="yes" -AC_CHECK_LIB(curl, curl_easy_init, -[ - AC_DEFINE(HAVE_LIBCURL, 1, [Define to 1 if you have the 'curl' library (-lcurl).]) -], -[with_libcurl="no"]) -if test "x$with_libcurl" = "xyes" -then - with_libcurl_libs=`curl-config --libs 2>/dev/null` - curl_config_status=$? - - BUILD_WITH_LIBCURL_LIBS="-lcurl" - if test $curl_config_status -ne 0 - then - with_libcurl="no" - else - if test "x$with_libcurl_libs" != "x" - then - BUILD_WITH_LIBCURL_LIBS="$with_libcurl_libs"; - fi - fi - AC_SUBST(BUILD_WITH_LIBCURL_LIBS) -fi -AM_CONDITIONAL(BUILD_WITH_LIBCURL, test "x$with_libcurl" = "xyes") m4_divert_once([HELP_WITH], [ collectd additional packages:]) @@ -371,45 +510,53 @@ AC_DEFINE_UNQUOTED(COLLECT_RRDTOOL, [$collect_rrdtool], [Wether or not to use rrdtool library]) AM_CONDITIONAL(BUILD_WITH_RRDTOOL, test "x$with_rrdtool" = "xyes") -#AC_ARG_WITH(pth, [AS_HELP_STRING([--with-pth=@<:@=PREFIX@:>@], [Path to pth (experimental).]), -#[ if test "x$withval" != "xno" && test "x$withval" != "xyes" -# then -# LDFLAGS="$LDFLAGS -L$withval/lib" -# CPPFLAGS="$CPPFLAGS -I$withval/include" -# with_pth="yes" -# fi -#], [with_pth="no"]) -#if test "x$with_pth" = "xyes" -#then -# AC_CHECK_LIB(pth, pth_init,, [with_pth="no (libpth not found)"], []) -#fi -#if test "x$with_pth" = "xyes" -#then -# AC_CHECK_HEADERS(pth.h,, [with_pth="no (pth.h not found)"]) -#fi -#if test "x$with_pth" = "xyes" -#then -# collect_pth=1 -#else -# collect_pth=0 -#fi -#AC_DEFINE_UNQUOTED(COLLECT_PTH, [$collect_pth], -# [Wether or not to use pth (portable threads) library]) -#AM_CONDITIONAL(BUILD_WITH_PTH, test "x$with_pth" = "xyes") +AC_ARG_WITH(libpthread, [AS_HELP_STRING([--with-libpthread=@<:@=PREFIX@:>@], [Path to libpthread.])], +[ if test "x$withval" != "xno" -a "x$withval" != "xyes" + then + LDFLAGS="$LDFLAGS -L$withval/lib" + CPPFLAGS="$CPPFLAGS -I$withval/include" + with_libpthread="yes" + else + if test "x$withval" = "xno" + then + with_libpthread="no (disabled)" + fi + fi +], [with_libpthread="yes"]) +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)"]) +fi +if test "x$with_libpthread" = "xyes" +then + collect_pthread=1 +else + collect_pthread=0 +fi +AC_DEFINE_UNQUOTED(HAVE_LIBPTHREAD, [$collect_pthread], + [Wether or not to use pthread (POSIX threads) library]) +AM_CONDITIONAL(BUILD_WITH_LIBPTHREAD, test "x$with_libpthread" = "xyes") if test "$ac_system" = "Solaris" then with_kstat="yes" + with_devinfo="yes" else with_kstat="no (Solaris only)" + with_devinfo="no (Solaris only)" fi + if test "x$with_kstat" = "xyes" then AC_CHECK_LIB(kstat, kstat_open,, [with_kstat="no (libkstat not found)"]) fi if test "x$with_kstat" = "xyes" then - AC_CHECK_LIB(devinfo, di_init) + AC_CHECK_LIB(devinfo, di_init,, [with_devinfo="no (not found)"]) AC_CHECK_HEADERS(kstat.h,, [with_kstat="no (kstat.h not found)"]) fi if test "x$with_kstat" = "xyes" @@ -420,11 +567,97 @@ else fi AC_DEFINE_UNQUOTED(COLLECT_KSTAT, [$collect_kstat], [Wether or not to use kstat library (Solaris)]) -AM_CONDITIONAL(BUILD_WITH_KSTAT, test "x$with_kstat" = "xyes") +AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes") +AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes") + +### BEGIN of check for libcurl ### +with_curl_config="curl-config" +with_curl_prefix=0 +with_curl_libs="" +AC_ARG_WITH(libcurl, [AS_HELP_STRING([--with-libcurl@<:@=PREFIX@:>@], [Path to libcurl.])], +[ + if test "x$withval" != "xno" -a "x$withval" != "xyes" + then + if test -x "$withval/bin/curl-config" + then + with_curl_config="$withval/bin/curl-config" + with_curl_prefix=1 + fi + fi + if test "x$withval" = "xno" + then + with_libcurl="no" + else + with_libcurl="yes" + fi +], +[ + with_libcurl="yes" +]) +if test "x$with_libcurl" = "xyes" +then + with_curl_libs=`$with_curl_config --libs 2>/dev/null` + curl_config_status=$? + + if test $curl_config_status -ne 0 + then + with_libcurl="no" + else + AC_CHECK_LIB(curl, curl_easy_init, + [ + BUILD_WITH_LIBCURL_LIBS="$with_curl_libs" + AC_SUBST(BUILD_WITH_LIBCURL_LIBS) + ], + [ + with_libcurl="no" + ], + [$with_curl_libs]) + fi +fi +if test "x$with_libcurl" = "xyes" -a $with_curl_prefix -ne 0 +then + with_curl_prefix=`$with_curl_config --libs 2>/dev/null` + curl_config_status=$? + if test $curl_config_status -ne 0 + then + with_libcurl="no" + else + if test -d "$with_curl_prefix/include" + then + CPPFLAGS="$CPPFLAGS -I$with_curl_prefix/include" + fi + fi +fi + +with_libcurl_numeric=0 +if test "x$with_libcurl" = "xyes" +then + with_libcurl_numeric=1 +fi +AC_DEFINE_UNQUOTED(HAVE_LIBCURL, [$with_libcurl_numeric], [Define to 1 if you have the 'curl' library (-lcurl).]) +AM_CONDITIONAL(BUILD_WITH_LIBCURL, test "x$with_libcurl" = "xyes") +### END of check for libcurl ### + +with_libiokit="no" +collectd_libiokit=0 +AC_CHECK_LIB(IOKit, IOServiceGetMatchingServices, +[ + with_libiokit="yes" + collectd_libiokit=1 +], +[ + with_libiokit="no" + collectd_libiokit=0 +]) +AC_DEFINE_UNQUOTED(COLLECT_LIBIOKIT, [$collect_libiokit], [Wether or not to use the IOKit library]) +AM_CONDITIONAL(BUILD_WITH_LIBIOKIT, test "x$with_libiokit" = "xyes") + +with_libstatgrab="yes" +with_libdevstat="no" AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [Path to libstatgrab.])], [ - if test "x$withval" != "xno" && test "x$withval" != "xyes" + if test "x$withval" != "xno" -a "x$withval" != "xyes" then LDFLAGS="$LDFLAGS -L$withval/lib" CPPFLAGS="$CPPFLAGS -I$withval/include" @@ -441,9 +674,7 @@ AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [P ]) if test "x$with_libstatgrab" = "xyes" then - AC_CHECK_LIB(devstat, getdevs) - AC_CHECK_LIB(kvm, kvm_getargv) - AC_CHECK_LIB(statgrab, sg_init,, [with_libstatgrab="no (libstatgrab not found)"]) + AC_CHECK_LIB(statgrab, sg_init, [with_libstatgrab="yes"], [with_libstatgrab="no (libstatgrab not found)"]) fi if test "x$with_libstatgrab" = "xyes" then @@ -451,6 +682,10 @@ then fi if test "x$with_libstatgrab" = "xyes" then + AC_CHECK_LIB(devstat, getdevs, [with_libdevstat="yes"], [with_libdevstat="no"]) +fi +if test "x$with_libstatgrab" = "xyes" +then collect_libstatgrab=1 else collect_libstatgrab=0 @@ -458,6 +693,14 @@ fi AC_DEFINE_UNQUOTED(COLLECT_LIBSTATGRAB, [$collect_libstatgrab], [Wether or not to use statgrab library]) AM_CONDITIONAL(BUILD_WITH_LIBSTATGRAB, test "x$with_libstatgrab" = "xyes") +AM_CONDITIONAL(BUILD_WITH_LIBDEVSTAT, test "x$with_libdevstat" = "xyes") + +AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_libkvm="yes"], [with_libkvm="no"]) +if test "x$with_libkvm" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM, 1, [Define to 1 if you have the 'kvm' library (-lkvm)]) +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM, test "x$with_libkvm" = "xyes") AC_ARG_WITH(lm-sensors, [AS_HELP_STRING([--with-lm-sensors@<:@=PREFIX@:>@], [Path to lm_sensors.])], [ @@ -538,6 +781,95 @@ AC_DEFINE_UNQUOTED(COLLECT_LIBMYSQL, [$collect_libmysql], [Wether or not to use mysql library]) AM_CONDITIONAL(BUILD_WITH_LIBMYSQL, test "x$with_libmysql" = "xyes") +#with_liboping="yes" +with_own_liboping="no" +liboping_LDFLAGS="$LDFLAGS" +liboping_CPPFLAGS="$CPPFLAGS" +AC_ARG_WITH(liboping, [AS_HELP_STRING([--with-liboping@<:@=PREFIX@:>@], [Path to liboping.])], +[ + if test "x$withval" != "xno" && test "x$withval" != "xyes" + then + if test -d "$withval/lib" + then + liboping_LDFLAGS="$LDFLAGS -L$withval/lib" + fi + if test -d "$withval/include" + then + liboping_CPPFLAGS="$CPPFLAGS -I$withval/include" + fi + fi + if test "x$withval" = "xno" + then + with_liboping="no" + with_own_liboping="no" + fi +], +[ + #753 + with_liboping="yes" +]) + +if test "x$with_liboping" = "xyes" +then + save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS="$CPPFLAGS" + LDFLAGS="$liboping_LDFLAGS" + CPPFLAGS="$liboping_CPPFLAGS" + AC_CHECK_LIB(oping, ping_construct, + [ + with_liboping="yes" + with_own_liboping="no" + ], + [ + with_liboping="yes" + with_own_liboping="yes" + LDFLAGS="$save_LDFLAGS" + CPPFLAGS="$save_CPPFLAGS" + ]) +fi +AM_CONDITIONAL(BUILD_WITH_LIBOPING, test "x$with_liboping" = "xyes") +AM_CONDITIONAL(BUILD_WITH_OWN_LIBOPING, test "x$with_own_liboping" = "xyes") +if test "x$with_liboping" = "xyes" -a "x$with_own_liboping" = "xyes" +then + with_liboping="yes (shipped version)" +fi + +AC_ARG_WITH(libpcap, [AS_HELP_STRING([--with-libpcap@<:@=PREFIX@:>@], [Path to libpcap.])], +[ + if test "x$withval" != "xno" && test "x$withval" != "xyes" + then + LDFLAGS="$LDFLAGS -L$withval/lib" + CPPFLAGS="$CPPFLAGS -I$withval/include" + with_libpcap="yes" + fi +], +[ + with_libpcap="yes" +]) +if test "x$with_libpcap" = "xyes" +then + AC_CHECK_LIB(pcap, pcap_open_live, + [ + AC_DEFINE(HAVE_LIBPCAP, 1, [Define to 1 if you have the pcap library (-lpcap).]) + ], [with_libpcap="no (libpcap not found)"]) +fi +if test "x$with_libpcap" = "xyes" +then + AC_CHECK_HEADERS(pcap.h, + [ + AC_DEFINE(HAVE_PCAP_H, 1, [Define to 1 if you have the header file.]) + ], [with_libpcap="no (pcap.h not found)"]) +fi +if test "x$with_libpcap" = "xyes" +then + collect_libpcap=1 +else + collect_libpcap=0 +fi +AC_DEFINE_UNQUOTED(COLLECT_LIBPCAP, [$collect_libpcap], + [Wether or not to use the pcap library]) +AM_CONDITIONAL(BUILD_WITH_LIBPCAP, test "x$with_libpcap" = "xyes") + # Define `step' and `hearbeat' values.. declare -i collectd_step=10 declare -i collectd_heartbeat=25 @@ -574,7 +906,6 @@ then AC_DEFINE_UNQUOTED(COLLECTD_HEARTBEAT, "$collectd_heartbeat", [Interval in which plugins are queried.]) fi -# # Check for enabled/disabled features # @@ -642,21 +973,28 @@ m4_divert_once([HELP_ENABLE], [ collectd features:]) AC_COLLECTD([debug], [enable], [feature], [debugging]) AC_COLLECTD([daemon], [disable], [feature], [daemon mode]) +AC_COLLECTD([getifaddrs],[enable], [feature], [getifaddrs under Linux]) m4_divert_once([HELP_ENABLE], [ collectd modules:]) AC_COLLECTD([apache], [disable], [module], [Apache httpd statistics]) +AC_COLLECTD([apcups], [disable], [module], [Statistics of UPSes by APC]) +AC_COLLECTD([apple_sensors], [disable], [module], [Apple's hardware sensors]) AC_COLLECTD([battery], [disable], [module], [battery statistics]) AC_COLLECTD([cpu], [disable], [module], [cpu usage statistics]) AC_COLLECTD([cpufreq], [disable], [module], [system cpu frequency statistics]) AC_COLLECTD([disk], [disable], [module], [disk/partition statistics]) AC_COLLECTD([df], [disable], [module], [df statistics]) +AC_COLLECTD([dns], [disable], [module], [dns statistics]) +AC_COLLECTD([email], [disable], [module], [email statistics]) AC_COLLECTD([quota], [enable], [module], [quota statistics (experimental)]) AC_COLLECTD([hddtemp], [disable], [module], [hdd temperature statistics]) AC_COLLECTD([load], [disable], [module], [system load statistics]) AC_COLLECTD([memory], [disable], [module], [memory statistics]) +AC_COLLECTD([multimeter],[disable], [module], [multimeter statistics]) AC_COLLECTD([mysql], [disable], [module], [mysql statistics]) AC_COLLECTD([nfs], [disable], [module], [nfs statistics]) +AC_COLLECTD([ntpd], [disable], [module], [nfs statistics]) AC_COLLECTD([ping], [disable], [module], [ping statistics]) AC_COLLECTD([processes], [disable], [module], [processes statistics]) AC_COLLECTD([sensors], [disable], [module], [lm_sensors statistics]) @@ -668,234 +1006,22 @@ AC_COLLECTD([users], [disable], [module], [user count statistics]) AC_COLLECTD([vserver], [disable], [module], [vserver statistics]) AC_COLLECTD([wireless], [disable], [module], [wireless link statistics]) -#m4_divert_once([HELP_ENABLE], [ -#collectd modules:]) -#AC_ARG_ENABLE(cpu, AC_HELP_STRING([--disable-cpu], [Disable CPU usage statistics]),, [enable_cpu="yes"]) -#if test "x$enable_cpu" != "xno" -#then -# if test "x$ac_system" = "xLinux" -o "x$with_kstat" = "xyes" -o "x$have_sysctlbyname" = "xyes" -# then -# enable_cpu="yes" -# else -# enable_cpu="no" -# fi -#fi -#if test "x$enable_cpu" = "xno" -#then -# AC_DEFINE(COLLECT_CPU, 0, [Wether or not to collect CPU usage statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_CPU, test "x$enable_cpu" = "xyes") - -#AC_ARG_ENABLE(cpufreq, AC_HELP_STRING([--disable-cpufreq], [Disable system cpu frequency statistics]),, [enable_cpufreq="yes"]) -#if test "x$enable_cpufreq" != "xno" -#then -# if test "x$ac_system" = "xLinux" -# then -# enable_cpufreq="yes" -# else -# enable_cpufreq="no" -# fi -#fi -#if test "x$enable_cpufreq" = "xno" -#then -# AC_DEFINE(COLLECT_CPUFREQ, 0, [Wether or not to collect cpu frequency statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_CPUFREQ, test "x$enable_cpufreq" = "xyes") - -#AC_ARG_ENABLE(disk, AC_HELP_STRING([--disable-disk], [Disable disk/partition statistics]),, [enable_disk="yes"]) -#if test "x$enable_disk" != "xno" -#then -# if test "x$ac_system" = "xLinux" -o "x$with_kstat" = "xyes" -# then -# enable_disk="yes" -# else -# enable_disk="no" -# fi -#fi -#if test "x$enable_disk" = "xno" -#then -# AC_DEFINE(COLLECT_DISK, 0, [Wether or not to collect diskstats]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_DISK, test "x$enable_disk" = "xyes") - -#AC_ARG_ENABLE(hddtemp, AC_HELP_STRING([--disable-hddtemp], [Disable hdd temperature statistics]),, [enable_hddtemp="yes"]) -#if test "x$enable_hddtemp" = "xno" -#then -# AC_DEFINE(COLLECT_HDDTEMP, 0, [Wether or not to collect hdd temperature statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_HDDTEMP, test "x$enable_hddtemp" = "xyes") - -#AC_ARG_ENABLE(load, AC_HELP_STRING([--disable-load], [Disable system load statistics]),, [enable_load="yes"]) -#if test "x$enable_load" != "xno" -#then -# if test "x$have_getloadavg" = "xyes" -o "x$ac_system" = "xLinux" -o "x$with_libstatgrab" = "xyes" -# then -# enable_load="yes" -# else -# enable_load="no" -# fi -#fi -#if test "x$enable_load" = "xno" -#then -# AC_DEFINE(COLLECT_LOAD, 0, [Wether or not to collect system load statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_LOAD, test "x$enable_load" = "xyes") - -#AC_ARG_ENABLE(memory, AC_HELP_STRING([--disable-memory], [Disable memory statistics]),, [enable_memory="yes"]) -#if test "x$enable_memory" != "xno" -#then -# if test "x$ac_system" = "xLinux" -o "x$with_kstat" = "xyes" -o "x$with_libstatgrab" = "xyes" -# then -# enable_memory="yes" -# else -# enable_memory="no" -# fi -#fi -#if test "x$enable_memory" = "xno" -#then -# AC_DEFINE(COLLECT_MEMORY, 0, [Wether or not to collect memory statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_MEMORY, test "x$enable_memory" = "xyes") - -#AC_ARG_ENABLE(nfs, AC_HELP_STRING([--disable-nfs], [Disable nfs statistics]),, [enable_nfs="yes"]) -#if test "x$enable_nfs" != "xno" -#then -# if test "x$ac_system" = "xLinux" -# then -# enable_nfs="yes" -# else -# enable_nfs="no" -# fi -#fi -#if test "x$enable_nfs" = "xno" -#then -# AC_DEFINE(COLLECT_NFS, 0, [Wether or not to collect nfs statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_NFS, test "x$enable_nfs" = "xyes") - -#AC_ARG_ENABLE(ping, AC_HELP_STRING([--disable-ping], [Disable ping statistics]),, [enable_ping="yes"]) -#if test "x$enable_ping" != "xno" -#then -# enable_ping="yes" -#fi -#if test "x$enable_ping" = "xno" -#then -# AC_DEFINE(COLLECT_PING, 0, [Wether or not to collect ping statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_PING, test "x$enable_ping" = "xyes") - -#AC_ARG_ENABLE(processes, AC_HELP_STRING([--disable-processes], [Disable processes statistics]),, [enable_processes="yes"]) -#if test "x$enable_processes" != "xno" -#then -# if test "x$ac_system" = "xLinux" -# then -# enable_processes="yes" -# else -# enable_processes="no" -# fi -#fi -#if test "x$enable_processes" = "xno" -#then -# AC_DEFINE(COLLECT_PROCESSES, 0, [Wether or not to collect processes statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_PROCESSES, test "x$enable_processes" = "xyes") - -##AC_COLLECTD([quota], [enable], [module], [quota statistics (experimental)]) - -#AC_ARG_ENABLE(sensors, AC_HELP_STRING([--disable-sensors], [Disable lm_sensors statistics]),, [enable_sensors=$with_lm_sensors]) -#if test "x$enable_sensors" != "xno" -#then -# if test "x$with_lm_sensors" = "xyes" -# then -# enable_sensors="yes" -# else -# enable_sensors="no" -# fi -#fi -#if test "x$enable_sensors" = "xno" -#then -# AC_DEFINE(COLLECT_SENSORS, 0, [Wether or not to collect lm_sensors statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_SENSORS, test "x$enable_sensors" = "xyes") - -#AC_ARG_ENABLE(serial, AC_HELP_STRING([--disable-serial], [Disable serial statistics]),, [enable_serial="yes"]) -#if test "x$enable_serial" != "xno" -#then -# if test "x$ac_system" = "xLinux" -# then -# enable_serial="yes" -# else -# enable_serial="no" -# fi -#fi -#if test "x$enable_serial" = "xno" -#then -# AC_DEFINE(COLLECT_SERIAL, 0, [Wether or not to collect serial statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_SERIAL, test "x$enable_serial" = "xyes") - -#AC_ARG_ENABLE(swap, AC_HELP_STRING([--disable-swap], [Disable swap statistics]),, [enable_swap="yes"]) -#if test "x$enable_swap" != "xno" -#then -# if test "x$ac_system" = "xLinux" -o "x$with_kstat" = "xyes" -o "x$with_libstatgrab" = "xyes" -# then -# enable_swap="yes" -# else -# enable_swap="no" -# fi -#fi -#if test "x$enable_swap" = "xno" -#then -# AC_DEFINE(COLLECT_SWAP, 0, [Wether or not to collect swap statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_SWAP, test "x$enable_swap" = "xyes") - -#AC_ARG_ENABLE(tape, AC_HELP_STRING([--disable-tape], [Disable tape statistics]),, [enable_tape="yes"]) -#if test "x$enable_tape" != "xno" -#then -# if test "x$with_kstat" = "xyes" -# then -# enable_tape="yes" -# else -# enable_tape="no" -# fi -#fi -#if test "x$enable_tape" = "xno" -#then -# AC_DEFINE(COLLECT_TAPE, 0, [Wether or not to collect tape statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_TAPE, test "x$enable_tape" = "xyes") - -#AC_ARG_ENABLE(traffic, AC_HELP_STRING([--disable-traffic], [Disable system traffic statistics]),, [enable_traffic="yes"]) -#if test "x$enable_traffic" != "xno" -#then -# if test "x$ac_system" = "xLinux" -o "x$with_kstat" = "xyes" -o "x$with_libstatgrab" = "xyes" -# then -# enable_traffic="yes" -# else -# enable_traffic="no" -# fi -#fi -#if test "x$enable_traffic" = "xno" -#then -# AC_DEFINE(COLLECT_TRAFFIC, 0, [Wether or not to collect network traffic statistics]) -#fi -#AM_CONDITIONAL(BUILD_MODULE_TRAFFIC, test "x$enable_traffic" = "xyes") - -#AC_COLLECTD([users], [disable], [module], [user count statistics]) - -AC_OUTPUT(Makefile src/libconfig/Makefile src/liboping/Makefile src/Makefile) +AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libconfig/Makefile src/liboping/Makefile) cat <