Merge branch 'ff/nginx'
authorFlorian Forster <octo@noris.net>
Tue, 23 Oct 2007 11:33:41 +0000 (13:33 +0200)
committerFlorian Forster <octo@noris.net>
Tue, 23 Oct 2007 11:33:41 +0000 (13:33 +0200)
Conflicts:

configure.in
src/Makefile.am

1  2 
configure.in
src/Makefile.am

diff --combined configure.in
@@@ -1,5 -1,5 +1,5 @@@
  dnl Process this file with autoconf to produce a configure script.
 -AC_INIT(collectd, 3.11.7)
 +AC_INIT(collectd, m4_esyscmd(./version-gen.sh))
  AC_CONFIG_SRCDIR(src/collectd.c)
  AC_CONFIG_HEADERS(src/config.h)
  AM_INIT_AUTOMAKE(dist-bzip2)
@@@ -26,36 -26,31 +26,36 @@@ AC_SUBST(LTDLINCL
  AC_SUBST(LIBLTDL)
  AC_LIBTOOL_DLOPEN
  AC_PROG_LIBTOOL
 -#AC_PROG_RANLIB
 +AC_PROG_LEX
 +AC_PROG_YACC
  AC_CONFIG_SUBDIRS(libltdl)
  
 +AC_MSG_CHECKING([for kernel type ($host_os)])
 +case $host_os in
 +      *linux*)
 +      AC_DEFINE([KERNEL_LINUX], 1, [True if program is to be compiled for a Linux kernel])
 +      ac_system="Linux"
 +      ;;
 +      *solaris*)
 +      AC_DEFINE([KERNEL_SOLARIS], 1, [True if program is to be compiled for a Solaris kernel])
 +      ac_system="Solaris"
 +      ;;
 +      *darwin*)
 +      ac_system="Darwin"
 +      ;;
 +      *)
 +      ac_system="unknown"
 +esac
 +AC_MSG_RESULT([$ac_system])
 +
  #
  # Checks for header files.
  #
  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)
 -AC_CHECK_HEADERS(fcntl.h)
 -AC_CHECK_HEADERS(signal.h)
 -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)
 -AC_CHECK_HEADERS(sys/param.h)
 +
 +AC_CHECK_HEADERS(stdint.h stdio.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)
  
  # For ping library
  AC_CHECK_HEADERS(netinet/in_systm.h, [], [],
@@@ -156,23 -151,6 +156,23 @@@ AC_CHECK_HEADERS(netinet/icmp6.h, [], [
  # include <netinet/ip6.h>
  #endif
  ])
 +AC_CHECK_HEADERS(netinet/tcp.h, [], [],
 +[#if HAVE_STDINT_H
 +# include <stdint.h>
 +#endif
 +#if HAVE_SYS_TYPES_H
 +# include <sys/types.h>
 +#endif
 +#if HAVE_NETINET_IN_SYSTM_H
 +# include <netinet/in_systm.h>
 +#endif
 +#if HAVE_NETINET_IN_H
 +# include <netinet/in.h>
 +#endif
 +#if HAVE_NETINET_IP_H
 +# include <netinet/ip.h>
 +#endif
 +])
  AC_CHECK_HEADERS(netinet/udp.h, [], [],
  [#if HAVE_STDINT_H
  # include <stdint.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)
 +AC_CHECK_HEADERS(sys/dkstat.h)
 +if test "x$ac_system" = "xDarwin"
 +then
 +      AC_CHECK_HEADERS(mach/mach_init.h mach/host_priv.h mach/mach_error.h mach/mach_host.h mach/mach_port.h mach/mach_types.h mach/message.h mach/processor_set.h mach/processor.h mach/processor_info.h mach/task.h mach/thread_act.h mach/vm_region.h mach/vm_map.h mach/vm_prot.h mach/vm_statistics.h mach/kern_return.h)
 +      AC_CHECK_HEADERS(CoreFoundation/CoreFoundation.h IOKit/IOKitLib.h IOKit/IOTypes.h IOKit/ps/IOPSKeys.h IOKit/IOBSD.h IOKit/storage/IOBlockStorageDriver.h)
 +fi
 +AC_CHECK_HEADERS(sys/sysctl.h, [], [],
 +[
 +#if HAVE_SYS_TYPES_H
 +#  include <sys/types.h>
 +#endif
 +#if HAVE_SYS_PARAM_H
 +# include <sys/param.h>
 +#endif
 +])
  
  # 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)
 +AC_CHECK_HEADERS(linux/major.h libgen.h)
  
  # For the battery plugin
  AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [],
  #  include <IOKit/IOTypes.h>
  #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 the swap module
 +AC_CHECK_HEADERS(sys/swap.h, [], [],
 +[
 +#if HAVE_SYS_TYPES_H
 +#  include <sys/types.h>
 +#endif
 +#if HAVE_SYS_PARAM_H
 +# include <sys/param.h>
 +#endif
 +])
  
  # 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)
 +AC_CHECK_HEADERS(sys/loadavg.h linux/config.h utmp.h utmpx.h)
  
 -# For traffic plugin
 +# For interface plugin
  AC_CHECK_HEADERS(ifaddrs.h)
  AC_CHECK_HEADERS(net/if.h, [], [],
  [
@@@ -271,36 -259,34 +271,36 @@@ AC_CHECK_HEADERS(linux/netdevice.h, []
  #endif
  ])
  
 -# For apache plugin
 -AC_CHECK_HEADERS(curl/curl.h)
 +# For ipvs module
 +have_net_ip_vs_h="no"
 +have_ip_vs_h="no"
 +if test "x$ac_system" = "xLinux"
 +then
 +      AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"])
 +      AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"])
 +fi
  
  # For quota module
 -AC_CHECK_HEADERS(grp.h pwd.h sys/ucred.h)
 -AC_CHECK_HEADERS(ctype.h)
 -AC_CHECK_HEADERS(limits.h)
 -AC_CHECK_HEADERS(sys/quota.h)
 -AC_CHECK_HEADERS(xfs/xqm.h)
 +AC_CHECK_HEADERS(sys/ucred.h, [], [],
 +[
 +#if HAVE_SYS_TYPES_H
 +#  include <sys/types.h>
 +#endif
 +#if HAVE_SYS_PARAM_H
 +# include <sys/param.h>
 +#endif
 +])
  
  # For mount interface
 -AC_CHECK_HEADERS(fs_info.h)
 -AC_CHECK_HEADERS(fshelp.h)
 -AC_CHECK_HEADERS(paths.h)
 -AC_CHECK_HEADERS(mntent.h)
 -AC_CHECK_HEADERS(mnttab.h)
 -AC_CHECK_HEADERS(sys/fstyp.h)
 -AC_CHECK_HEADERS(sys/fs_types.h)
 -AC_CHECK_HEADERS(sys/mntent.h)
 -AC_CHECK_HEADERS(sys/mnttab.h)
 -AC_CHECK_HEADERS(sys/mount.h)
 -AC_CHECK_HEADERS(sys/statfs.h)
 -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)
 +AC_CHECK_HEADERS(sys/mount.h, [], [],
 +[
 +#if HAVE_SYS_TYPES_H
 +#  include <sys/types.h>
 +#endif
 +#if HAVE_SYS_PARAM_H
 +# include <sys/param.h>
 +#endif
 +])
  
  # For the email plugin
  AC_CHECK_HEADERS(linux/un.h, [], [],
  #     include <sys/socket.h>
  #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)
 +AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h sys/quota.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h)
  
  # For the dns plugin
 -AC_CHECK_HEADERS(arpa/nameser.h arpa/nameser_compat.h)
 +AC_CHECK_HEADERS(arpa/nameser.h)
 +AC_CHECK_HEADERS(arpa/nameser_compat.h, [], [],
 +[
 +#if HAVE_ARPA_NAMESER_H
 +# include <arpa/nameser.h>
 +#endif
 +])
  
  AC_CHECK_HEADERS(net/if_arp.h, [], [],
  [#if HAVE_SYS_SOCKET_H
  # include <sys/socket.h>
  #endif
  ])
 -AC_CHECK_HEADERS(net/if_ppp.h)
 +AC_CHECK_HEADERS(net/ppp_defs.h)
 +AC_CHECK_HEADERS(net/if_ppp.h, [], [],
 +[#if HAVE_NET_PPP_DEFS_H
 +# include <net/ppp_defs.h>
 +#endif
 +])
  AC_CHECK_HEADERS(netinet/if_ether.h, [], [],
  [#if HAVE_STDINT_H
  # include <stdint.h>
  #endif
  ])
  
 -dnl Checking for libraries
 +# For the multimeter plugin
 +have_termios_h="no"
 +AC_CHECK_HEADERS(termios.h, [have_termios_h="yes"])
 +
 +#
 +# Checking for libraries
 +#
  AC_CHECK_LIB(m, ext)
  
  #
@@@ -372,12 -347,11 +372,12 @@@ AC_HEADER_TIM
  # Checks for library functions.
  #
  AC_PROG_GCC_TRADITIONAL
 -AC_CHECK_FUNCS(gettimeofday select strdup strtol)
 -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)
 +AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr memcpy strstr strcmp strncmp strncpy strlen strncasecmp strcasecmp openlog closelog)
 +
 +AC_FUNC_STRERROR_R
 +
 +AC_CHECK_FUNCS(getpwnam_r)
 +AC_CHECK_FUNCS(getgrnam_r)
  
  socket_needs_socket="no"
  AC_CHECK_FUNCS(socket, [], AC_CHECK_LIB(socket, socket, [socket_needs_socket="yes"], AC_MSG_ERROR(cannot find socket)))
@@@ -387,130 -361,30 +387,130 @@@ 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"])
 -
 -# For df module
 -AC_CHECK_FUNCS(statfs statvfs)
 +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"])
 +AC_CHECK_FUNCS(thread_info, [have_thread_info="yes"], [have_thread_info="no"])
 +AC_CHECK_FUNCS(statfs, [have_statfs="yes"], [have_statfs="no"])
 +AC_CHECK_FUNCS(statvfs, [have_statvfs="yes"], [have_statvfs="no"])
 +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"])
  
  # 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)
 -
 -# For quota module
 -AC_CHECK_FUNCS(quotactl)
 -AC_CHECK_FUNCS(getgrgid getpwuid)
 +# Check for NAN
 +AC_ARG_WITH(nan-emulation, [AS_HELP_STRING([--with-nan-emulation], [use emulated NAN. For crosscompiling only.])],
 +[
 + if test "x$withval" = "xno"; then
 +       nan_type="none"
 + else if test "x$withval" = "xyes"; then
 +       nan_type="zero"
 + else
 +       nan_type="$withval"
 + fi; fi
 +],
 +[nan_type="none"])
 +if test "x$nan_type" = "xnone"; then
 +  AC_CACHE_CHECK([whether NAN is defined by default],
 +    [have_nan_default],
 +    AC_COMPILE_IFELSE(
 +      AC_LANG_PROGRAM(
 +      [[
 +#include <stdlib.h>
 +#include <math.h>
 +static float foo = NAN;
 +      ]],
 +      [[
 +       if (isnan (foo))
 +        return 0;
 +       else
 +      return 1;
 +      ]]),
 +      [have_nan_default="yes"],
 +      [have_nan_default="no"]
 +    )
 +  )
 +  if test "x$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],
 +    AC_COMPILE_IFELSE(
 +      AC_LANG_PROGRAM(
 +      [[
 +#include <stdlib.h>
 +#define __USE_ISOC99 1
 +#include <math.h>
 +static float foo = NAN;
 +      ]],
 +      [[
 +       if (isnan (foo))
 +        return 0;
 +       else
 +      return 1;
 +      ]]),
 +      [have_nan_isoc="yes"],
 +      [have_nan_isoc="no"]
 +    )
 +  )
 +  if test "x$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],
 +    AC_RUN_IFELSE(
 +      AC_LANG_PROGRAM(
 +      [[
 +#include <stdlib.h>
 +#include <math.h>
 +#ifdef NAN
 +# undef NAN
 +#endif
 +#define NAN (0.0 / 0.0)
 +#ifndef isnan
 +# define isnan(f) ((f) != (f))
 +#endif
 +static float foo = NAN;
 +      ]],
 +      [[
 +       if (isnan (foo))
 +        return 0;
 +       else
 +      return 1;
 +      ]]),
 +      [have_nan_zero="yes"],
 +      [have_nan_zero="no"]
 +    )
 +  )
 +  if test "x$have_nan_zero" = "xyes"
 +  then
 +    nan_type="zero"
 +  fi
 +fi
  
 -# For traffic module
 -AC_CHECK_FUNCS(getifaddrs)
 +if test "x$nan_type" = "xdefault"; then
 +  AC_DEFINE(NAN_STATIC_DEFAULT, 1,
 +    [Define if NAN is defined by default and can initialize static variables.])
 +else if test "x$nan_type" = "xisoc99"; then
 +  AC_DEFINE(NAN_STATIC_ISOC, 1,
 +    [Define if NAN is defined by __USE_ISOC99 and can initialize static variables.])
 +else if test "x$nan_type" = "xzero"; then
 +  AC_DEFINE(NAN_ZERO_ZERO, 1,
 +    [Define if NAN can be defined as (0.0 / 0.0)])
 +else
 +  AC_MSG_ERROR([Didn't find out how to statically initialize variables to NAN. Sorry.])
 +fi; fi; fi
  
  # For mount interface
  #AC_CHECK_FUNCS(getfsent getvfsent)
@@@ -657,14 -531,20 +657,14 @@@ AC_CHECK_MEMBERS([struct udphdr.dest, s
  #endif
  ])
  
 -AC_MSG_CHECKING([for kernel type ($host_os)])
 -case $host_os in
 -      *linux*)
 -      AC_DEFINE([KERNEL_LINUX], 1, [True if program is to be compiled for a Linux kernel])
 -      ac_system="Linux"
 -      ;;
 -      *solaris*)
 -      AC_DEFINE([KERNEL_SOLARIS], 1, [True if program is to be compiled for a Solaris kernel])
 -      ac_system="Solaris"
 -      ;;
 -      *)
 -      ac_system="unknown"
 -esac
 -AC_MSG_RESULT([$ac_system])
 +AC_CHECK_MEMBERS([kstat_io_t.nwritten, kstat_io_t.writes, kstat_io_t.nwrites, kstat_io_t.wtime],
 +      [],
 +      [],
 +      [
 +#if HAVE_KSTAT_H
 +# include <kstat.h>
 +#endif
 +      ])
  
  with_libresolv="yes"
  AC_CHECK_LIB(resolv, res_search,
@@@ -679,57 -559,35 +679,57 @@@ m4_divert_once([HELP_WITH], 
  collectd additional packages:])
  
  # AC_ARG_WITH (package, help-string, [action-if-given], [action-if-not-given])
 +librrd_cflags=""
 +librrd_ldflags=""
 +librrd_threadsafe="yes"
  AC_ARG_WITH(rrdtool, [AS_HELP_STRING([--with-rrdtool@<:@=PREFIX@:>@], [Path to rrdtool.])],
  [     if test "x$withval" != "xno" && test "x$withval" != "xyes"
        then
 -              LDFLAGS="$LDFLAGS -L$withval/lib"
 -              CPPFLAGS="$CPPFLAGS -I$withval/include"
 +              librrd_cflags="-I$withval/include"
 +              librrd_ldflags="-L$withval/lib"
                with_rrdtool="yes"
        fi
  ], [with_rrdtool="yes"])
  if test "x$with_rrdtool" = "xyes"
  then
 -      AC_CHECK_LIB(rrd, rrd_update,
 -      [
 -              AC_DEFINE(HAVE_LIBRRD, 1, [Define to 1 if you have the rrd library (-lrrd).])
 -      ],
 -      [with_rrdtool="no (librrd not found)"], [-lm])
 +      SAVE_CFLAGS="$CFLAGS"
 +      SAVE_LDFLAGS="$LDFLAGS"
 +
 +      CFLAGS="$CFLAGS $librrd_cflags"
 +      LDFLAGS="$LDFLAGS $librrd_ldflags"
 +
 +      AC_CHECK_HEADERS(rrd.h,, [with_rrdtool="no (rrd.h not found)"])
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +      LDFLAGS="$SAVE_LDFLAGS"
  fi
  if test "x$with_rrdtool" = "xyes"
  then
 -      AC_CHECK_HEADERS(rrd.h,, [with_rrdtool="no (rrd.h not found)"])
 +      AC_CHECK_LIB(rrd_th, rrd_update_r,
 +      [with_rrdtool="yes"
 +       librrd_ldflags="$librrd_ldflags -lrrd_th -lm"
 +      ],
 +      [librrd_threadsafe="no"
 +       AC_CHECK_LIB(rrd, rrd_update,
 +       [with_rrdtool="yes"
 +        librrd_ldflags="$librrd_ldflags -lrrd -lm"
 +       ],
 +       [with_rrdtool="no (symbol 'rrd_update' not found)"],
 +       [-lm])
 +      ]
 +      [-lm])
  fi
  if test "x$with_rrdtool" = "xyes"
  then
 -      collect_rrdtool=1
 -else
 -      collect_rrdtool=0
 +      BUILD_WITH_LIBRRD_CFLAGS="$librrd_cflags"
 +      BUILD_WITH_LIBRRD_LDFLAGS="$librrd_ldflags"
 +      AC_SUBST(BUILD_WITH_LIBRRD_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBRRD_LDFLAGS)
 +fi
 +if test "x$librrd_threadsafe" = "xyes"
 +then
 +      AC_DEFINE(HAVE_THREADSAFE_LIBRRD, 1, [Define to 1 if you have the threadsafe rrd library (-lrrd_th).])
  fi
 -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(libpthread, [AS_HELP_STRING([--with-libpthread=@<:@=PREFIX@:>@], [Path to libpthread.])],
  [     if test "x$withval" != "xno" -a "x$withval" != "xyes"
@@@ -762,7 -620,7 +762,7 @@@ AC_DEFINE_UNQUOTED(HAVE_LIBPTHREAD, [$c
        [Wether or not to use pthread (POSIX threads) library])
  AM_CONDITIONAL(BUILD_WITH_LIBPTHREAD, test "x$with_libpthread" = "xyes")
  
 -if test "$ac_system" = "Solaris"
 +if test "x$ac_system" = "xSolaris"
  then
        with_kstat="yes"
        with_devinfo="yes"
@@@ -790,71 -648,70 +790,71 @@@ AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, t
  
  ### BEGIN of check for libcurl ###
  with_curl_config="curl-config"
 -with_curl_prefix=0
 +with_curl_cflags=""
  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 if test "x$withval" = "xyes"
 +      then
 +              with_libcurl="yes"
        else
 +              if test -f "$withval" && test -x "$withval"
 +              then
 +                      with_curl_config="$withval"
 +                      with_libcurl="yes"
 +              else if test -x "$withval/bin/curl-config"
 +              then
 +                      with_curl_config="$withval/bin/curl-config"
 +                      with_libcurl="yes"
 +              fi; fi
                with_libcurl="yes"
 -      fi
 +      fi; fi
  ],
  [
        with_libcurl="yes"
  ])
  if test "x$with_libcurl" = "xyes"
  then
 -      with_curl_libs=`$with_curl_config --libs 2>/dev/null`
 +      with_curl_cflags=`$with_curl_config --cflags 2>/dev/null`
        curl_config_status=$?
  
        if test $curl_config_status -ne 0
        then
 -              with_libcurl="no"
 +              with_libcurl="no ($with_curl_config failed)"
        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])
 +              SAVE_CFLAGS=$CFLAGS
 +              CFLAGS="$CFLAGS $with_curl_cflags"
 +
 +              AC_CHECK_HEADERS(curl/curl.h, [], [with_libcurl="no (curl/curl.h not found)"], [])
 +
 +              CFLAGS="$SAVE_CFLAGS"
        fi
  fi
 -if test "x$with_libcurl" = "xyes" -a $with_curl_prefix -ne 0
 +if test "x$with_libcurl" = "xyes"
  then
 -      with_curl_prefix=`$with_curl_config --libs 2>/dev/null`
 +      with_curl_libs=`$with_curl_config --libs 2>/dev/null`
        curl_config_status=$?
  
        if test $curl_config_status -ne 0
        then
 -              with_libcurl="no"
 +              with_libcurl="no ($with_curl_config failed)"
        else
 -              if test -d "$with_curl_prefix/include"
 -              then
 -                      CPPFLAGS="$CPPFLAGS -I$with_curl_prefix/include"
 -              fi
 +              AC_CHECK_LIB(curl, curl_easy_init,
 +               [with_libcurl="yes"],
 +               [with_libcurl="no (symbol 'curl_easy_init' not found)"],
 +               [$with_curl_libs])
        fi
  fi
 -
 -with_libcurl_numeric=0
  if test "x$with_libcurl" = "xyes"
  then
 -      with_libcurl_numeric=1
 +      BUILD_WITH_LIBCURL_CFLAGS="$with_curl_cflags"
 +      BUILD_WITH_LIBCURL_LIBS="$with_curl_libs"
 +      AC_SUBST(BUILD_WITH_LIBCURL_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBCURL_LIBS)
  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 ###
  
@@@ -935,7 -792,7 +935,7 @@@ AC_ARG_WITH(lm-sensors, [AS_HELP_STRING
        then
                with_lm_sensors="yes"
        else
 -              with_lm_sensors="no"
 +              with_lm_sensors="no (Linux only library)"
        fi
  ])
  if test "x$with_lm_sensors" = "xyes"
@@@ -964,119 -821,42 +964,119 @@@ AC_DEFINE_UNQUOTED(COLLECT_LM_SENSORS, 
        [Wether or not to use sensors library])
  AM_CONDITIONAL(BUILD_WITH_LM_SENSORS, test "x$with_lm_sensors" = "xyes")
  
 +with_mysql_config="mysql_config"
 +with_mysql_cflags=""
 +with_mysql_libs=""
  AC_ARG_WITH(libmysql, [AS_HELP_STRING([--with-libmysql@<:@=PREFIX@:>@], [Path to libmysql.])],
  [
 -      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      if test "x$withval" = "xno"
 +      then
 +              with_libmysql="no"
 +      else if test "x$withval" = "xyes"
        then
 -              LDFLAGS="$LDFLAGS -L$withval/lib"
 -              CPPFLAGS="$CPPFLAGS -I$withval/include"
                with_libmysql="yes"
 -      fi
 +      else
 +              if test -f "$withval" && test -x "$withval";
 +              then
 +                      with_mysql_config="$withval"
 +              else if test -x "$withval/bin/mysql_config"
 +              then
 +                      with_mysql_config="$withval/bin/mysql_config"
 +              fi; fi
 +              with_libmysql="yes"
 +      fi; fi
  ],
  [
        with_libmysql="yes"
  ])
  if test "x$with_libmysql" = "xyes"
  then
 -      AC_CHECK_LIB(mysqlclient, mysql_init,
 -      [
 -              AC_DEFINE(HAVE_LIBMYSQLCLIENT, 1, [Define to 1 if you have the mysqlclient library (-lmysqlclient).])
 -      ], [with_libmysql="no (libmysql not found)"])
 +      with_mysql_cflags=`$with_mysql_config --cflags 2>/dev/null`
 +      mysql_config_status=$?
 +
 +      if test $mysql_config_status -ne 0
 +      then
 +              with_libmysql="no"
 +      else
 +              SAVE_CFLAGS=$CFLAGS
 +              CFLAGS="$CFLAGS $with_mysql_cflags"
 +
 +              AC_CHECK_HEADERS(mysql/mysql.h, [], [with_libmysql="no (mysql/mysql.h not found)"], [])
 +
 +              CFLAGS="$SAVE_CFLAGS"
 +      fi
  fi
  if test "x$with_libmysql" = "xyes"
  then
 -      AC_CHECK_HEADERS(mysql/mysql.h,
 -      [
 -              AC_DEFINE(HAVE_MYSQL_MYSQL_H, 1, [Define to 1 if you have the <mysql/mysql.h> header file.])
 -      ], [with_libmysql="no (mysql/mysql.h not found)"])
 +      with_mysql_libs=`$with_mysql_config --libs 2>/dev/null`
 +      mysql_config_status=$?
 +
 +      if test $mysql_config_status -ne 0
 +      then
 +              with_libmysql="no"
 +      else
 +              AC_CHECK_LIB(mysqlclient, mysql_init,
 +               [with_libmysql="yes"],
 +               [with_libmysql="no (symbol 'mysql_init' not found)"],
 +               [$with_mysql_libs])
 +      fi
  fi
  if test "x$with_libmysql" = "xyes"
  then
 -      collect_libmysql=1
 -else
 -      collect_libmysql=0
 +      BUILD_WITH_LIBMYSQL_CFLAGS="$with_mysql_cflags"
 +      BUILD_WITH_LIBMYSQL_LIBS="$with_mysql_libs"
 +      AC_SUBST(BUILD_WITH_LIBMYSQL_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBMYSQL_LIBS)
  fi
 -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_own_liboconfig="no"
 +liboconfig_LDFLAGS="$LDFLAGS"
 +liboconfig_CPPFLAGS="$CPPFLAGS"
 +AC_ARG_WITH(liboconfig, [AS_HELP_STRING([--with-liboconfig@<:@=PREFIX@:>@], [Path to liboconfig.])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              if test -d "$withval/lib"
 +              then
 +                      liboconfig_LDFLAGS="$LDFLAGS -L$withval/lib"
 +              fi
 +              if test -d "$withval/include"
 +              then
 +                      liboconfig_CPPFLAGS="$CPPFLAGS -I$withval/include"
 +              fi
 +      fi
 +      if test "x$withval" = "xno"
 +      then
 +              AC_MSG_ERROR("liboconfig is required")
 +      fi
 +],
 +[
 +      with_liboconfig="yes"
 +])
 +
 +save_LDFLAGS="$LDFLAGS"
 +save_CPPFLAGS="$CPPFLAGS"
 +LDFLAGS="$liboconfig_LDFLAGS"
 +CPPFLAGS="$liboconfig_CPPFLAGS"
 +AC_CHECK_LIB(oconfig, oconfig_parse_fh,
 +[
 +      with_liboconfig="yes"
 +      with_own_liboconfig="no"
 +],
 +[
 +      with_liboconfig="yes"
 +      with_own_liboconfig="yes"
 +      LDFLAGS="$save_LDFLAGS"
 +      CPPFLAGS="$save_CPPFLAGS"
 +])
 +
 +AM_CONDITIONAL(BUILD_WITH_OWN_LIBOCONFIG, test "x$with_own_liboconfig" = "xyes")
 +if test "x$with_own_liboconfig" = "xyes"
 +then
 +      with_liboconfig="yes (shipped version)"
 +fi
 +
  #with_liboping="yes"
  with_own_liboping="no"
  liboping_LDFLAGS="$LDFLAGS"
@@@ -1125,6 -905,10 +1125,6 @@@ the
  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.])],
  [
@@@ -1162,416 -946,41 +1162,416 @@@ AC_DEFINE_UNQUOTED(COLLECT_LIBPCAP, [$c
        [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
 -AC_ARG_WITH(step, [AS_HELP_STRING([--with-step=SECONDS], [Interval in which plugins are queried.])],
 +perl_interpreter="perl"
 +AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])],
  [
 -      if test "x$withval" != "xno" -a "x$withval" != "xyes"
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              LDFLAGS="$LDFLAGS -L$withval/lib"
 +              CPPFLAGS="$CPPFLAGS -I$withval/include"
 +              perl_interpreter="$withval/bin/perl"
 +              with_libperl="yes"
 +      fi
 +],
 +[
 +      with_libperl="yes"
 +])
 +
 +AC_SUBST(PERL, "$perl_interpreter")
 +
 +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`
 +  CFLAGS="$CFLAGS $PERL_CFLAGS"
 +  LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
 +
 +  AC_CACHE_CHECK([for libperl],
 +    [have_libperl],
 +    AC_LINK_IFELSE(
 +      AC_LANG_PROGRAM(
 +      [[
 +#include <EXTERN.h>
 +#include <perl.h>
 +#include <XSUB.h>
 +      ]],
 +      [[
 +       PerlInterpreter *perl = NULL;
 +       Perl_load_module (perl, PERL_LOADMOD_NOIMPORT,
 +                       newSVpv ("Collectd::Plugin::FooBar", 24),
 +                       Nullsv);
 +      ]]),
 +      [have_libperl="yes"],
 +      [have_libperl="no"]
 +    )
 +  )
 +
 +  if test "x$have_libperl" = "xyes"
 +  then
 +        AC_DEFINE(HAVE_LIBPERL, 1, [Define if libperl is present and usable.])
 +        AC_SUBST(PERL_CFLAGS)
 +        AC_SUBST(PERL_LDFLAGS)
 +  else
 +        with_libperl="no"
 +  fi
 +
 +  CFLAGS=$SAVE_CFLAGS
 +  LDFLAGS=$SAVE_LDFLAGS
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes")
 +
 +AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              LDFLAGS="$LDFLAGS -L$withval/lib"
 +              CPPFLAGS="$CPPFLAGS -I$withval/include"
 +              with_libiptc="yes"
 +      fi
 +],
 +[
 +      if test "x$ac_system" = "xLinux"
        then
 -              declare -i tmp_collectd_step="$withval"
 -              if test $tmp_collectd_step -gt 0
 +              with_libiptc="yes"
 +      else
 +              with_libiptc="no (Linux only)"
 +      fi
 +])
 +if test "x$with_libiptc" = "xyes"
 +then
 +      AC_CHECK_LIB(iptc, iptc_init,
 +      [
 +              AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).])
 +      ], [with_libiptc="no (libiptc not found)"])
 +fi
 +if test "x$with_libiptc" = "xyes"
 +then
 +      AC_CHECK_HEADERS(libiptc/libiptc.h,
 +      [
 +              AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the <libiptc/libiptc.h> header file.])
 +      ], [with_libiptc="no (libiptc/libiptc.h not found)"])
 +fi
 +if test "x$with_libiptc" = "xyes"
 +then
 +      collect_libiptc=1
 +else
 +      collect_libiptc=0
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes")
 +
 +with_snmp_config="net-snmp-config"
 +with_snmp_cflags=""
 +with_snmp_libs=""
 +AC_ARG_WITH(libnetsnmp, [AS_HELP_STRING([--with-libnetsnmp@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])],
 +[
 +      if test "x$withval" = "xno"
 +      then
 +              with_libnetsnmp="no"
 +      else if "x$withval" = "xyes"
 +      then
 +              with_libnetsnmp="yes"
 +      else
 +              if test -x "$withval"
                then
 -                      collectd_step=$tmp_collectd_step
 -                      let "collectd_heartbeat=$collectd_step*2"
 +                      with_snmp_config="$withval"
 +                      with_libnetsnmp="yes"
 +              else
 +                      with_snmp_config="$withval/bin/net-snmp-config"
 +                      with_libnetsnmp="yes"
                fi
 +      fi; fi
 +],
 +[with_libnetsnmp="yes"])
 +if test "x$with_libnetsnmp" = "xyes"
 +then
 +      with_snmp_cflags=`$with_snmp_config --cflags 2>/dev/null`
 +      snmp_config_status=$?
 +
 +      if test $snmp_config_status -ne 0
 +      then
 +              with_libnetsnmp="no ($with_snmp_config failed)"
 +      else
 +              SAVE_CFLAGS=$CFLAGS
 +              CFLAGS="$CFLAGS $with_snmp_cflags"
 +              
 +              AC_CHECK_HEADERS(net-snmp/net-snmp-config.h, [], [with_libnetsnmp="no (net-snmp/net-snmp-config.h not found)"])
 +
 +              CFLAGS="$SAVE_CFLAGS"
 +      fi
 +fi
 +if test "x$with_libnetsnmp" = "xyes"
 +then
 +      with_snmp_libs=`$with_snmp_config --libs 2>/dev/null`
 +      snmp_config_status=$?
 +
 +      if test $snmp_config_status -ne 0
 +      then
 +              with_libnetsnmp="no ($with_snmp_config failed)"
 +      else
 +              AC_CHECK_LIB(netsnmp, init_snmp,
 +              [with_libnetsnmp="yes"],
 +              [with_libnetsnmp="no (libnetsnmp not found)"],
 +              [$with_snmp_libs])
        fi
 -], [])
 -AC_ARG_WITH(heartbeat, [AS_HELP_STRING([--with-heartbeat=SECONDS], [Heartbeat of the DS in generated RRD files.])],
 +fi
 +if test "x$with_libnetsnmp" = "xyes"
 +then
 +      BUILD_WITH_LIBSNMP_CFLAGS="$with_snmp_cflags"
 +      BUILD_WITH_LIBSNMP_LIBS="$with_snmp_libs"
 +      AC_SUBST(BUILD_WITH_LIBSNMP_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBSNMP_LIBS)
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBNETSNMP, test "x$with_libnetsnmp" = "xyes")
 +
 +with_upsclient_config="libupsclient-config"
 +with_upsclient_cflags=""
 +with_upsclient_libs=""
 +AC_ARG_WITH(libupsclient, [AS_HELP_STRING([--with-libupsclient@<:@=PREFIX@:>@], [Path to libupsclient.])],
  [
 -      if test "x$withval" != "xno" -a "x$withval" != "xyes"
 +      if test "x$withval" = "xno"
        then
 -              declare -i tmp_collectd_heartbeat="$withval"
 -              if test $tmp_collectd_heartbeat -gt 0
 +              with_libupsclient="no"
 +      else
 +              if test "x$withval" != "xyes"
                then
 -                      collectd_heartbeat=$tmp_collectd_heartbeat
 +                      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="yes"
 +])
 +if test "x$with_libupsclient" = "xyes"
 +then
 +      with_upsclient_cflags=`$with_upsclient_config --cflags 2>/dev/null`
 +      upsclient_config_status=$?
 +
 +      if test $upsclient_config_status -ne 0
 +      then
 +              with_libupsclient="no ($with_upsclient_config failed)"
 +      fi
 +fi
 +if test "x$with_libupsclient" = "xyes"
 +then
 +      SAVE_CFLAGS="$CFLAGS"
 +      CFLAGS="$CFLAGS $with_upsclient_cflags"
 +
 +      AC_CHECK_HEADERS(upsclient.h, [], [with_libupsclient="no (upsclient.h not found)"])
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +fi
 +if test "x$with_libupsclient" = "xyes"
 +then
 +      with_upsclient_libs=`$with_upsclient_config --libs 2>/dev/null`
 +      upsclient_config_status=$?
 +
 +      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])
 +fi
 +if test "x$with_libupsclient" = "xyes"
 +then
 +      AC_CHECK_TYPES([UPSCONN_t, UPSCONN], [], [], 
 +[#include <stdlib.h>
 +#include <stdio.h>
 +#include <upsclient.h>])
 +fi
 +AM_CONDITIONAL(BUILD_WITH_LIBUPSCLIENT, test "x$with_libupsclient" = "xyes")
 +
 +### BEGIN of check for 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" -a "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")
 +### END of check for libxmms ###
  
 -if test $collectd_step -ne 10
 +with_libnetlink_cflags=""
 +with_libnetlink_libs="-lnetlink"
 +AC_ARG_WITH(libnetlink, [AS_HELP_STRING([--with-libnetlink@<:@=PREFIX@:>@], [Path to libnetlink.])],
 +[
 + echo "libnetlink: withval = $withval"
 + if test "x$withval" = "xyes"
 + then
 +       with_libnetlink="yes"
 + else if test "x$withval" = "xno"
 + then
 +       with_libnetlink="no"
 + else
 +       if test -d "$withval/include"
 +       then
 +               with_libnetlink_cflags="-I$withval/include"
 +               with_libnetlink_libs="-L$withval/lib -lnetlink"
 +               with_libnetlink="yes"
 +       else
 +               AC_MSG_ERROR("no such directory: $withval/include")
 +       fi
 + fi; fi
 +],
 +[
 + if test "x$ac_system" = "xLinux"
 + then
 +       with_libnetlink="yes"
 + else
 +       with_libnetlink="no (Linux only library)"
 + fi
 +])
 +if test "x$with_libnetlink" = "xyes"
 +then
 +      SAVE_CFLAGS=$CFLAGS
 +      CFLAGS="$CFLAGS $with_libnetlink_cflags"
 +
 +      with_libnetlink="no (libnetlink.h not found)"
 +
 +      AC_CHECK_HEADERS(libnetlink.h iproute/libnetlink.h linux/libnetlink.h,
 +      [
 +       with_libnetlink="yes"
 +       break
 +      ], [],
 +[#include <stdio.h>
 +#include <sys/types.h>
 +#include <asm/types.h>
 +#include <sys/socket.h>
 +#include <linux/netlink.h>
 +#include <linux/rtnetlink.h>])
 +      AC_CHECK_HEADERS(linux/gen_stats.h linux/pkt_sched.h, [], [],
 +[#include <stdio.h>
 +#include <sys/types.h>
 +#include <asm/types.h>
 +#include <sys/socket.h>])
 +
 +      AC_COMPILE_IFELSE(
 +[#include <stdio.h>
 +#include <sys/types.h>
 +#include <asm/types.h>
 +#include <sys/socket.h>
 +#include <linux/netlink.h>
 +#include <linux/rtnetlink.h>
 +
 +int main (void)
 +{
 +      int retval = TCA_STATS2;
 +      return (retval);
 +}],
 +      [AC_DEFINE([HAVE_TCA_STATS2], 1, [True if the enum-member TCA_STATS2 exists])]
 +      []);
 +
 +      AC_COMPILE_IFELSE(
 +[#include <stdio.h>
 +#include <sys/types.h>
 +#include <asm/types.h>
 +#include <sys/socket.h>
 +#include <linux/netlink.h>
 +#include <linux/rtnetlink.h>
 +
 +int main (void)
 +{
 +      int retval = TCA_STATS;
 +      return (retval);
 +}],
 +      [AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])]
 +      []);
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +fi
 +if test "x$with_libnetlink" = "xyes"
  then
 -      AC_DEFINE_UNQUOTED(COLLECTD_STEP, "$collectd_step", [Interval in which plugins are queried.])
 +      AC_CHECK_LIB(netlink, rtnl_open,
 +                   [with_libnetlink="yes"],
 +                   [with_libnetlink="no (symbol 'rtnl_open' not found)"],
 +                   [$with_libnetlink_libs])
  fi
 -if test $collectd_heartbeat -ne 25
 +if test "x$with_libnetlink" = "xyes"
  then
 -      AC_DEFINE_UNQUOTED(COLLECTD_HEARTBEAT, "$collectd_heartbeat", [Interval in which plugins are queried.])
 +      BUILD_WITH_LIBNETLINK_CFLAGS="$with_libnetlink_cflags"
 +      BUILD_WITH_LIBNETLINK_LIBS="$with_libnetlink_libs"
 +      AC_SUBST(BUILD_WITH_LIBNETLINK_CFLAGS)
 +      AC_SUBST(BUILD_WITH_LIBNETLINK_LIBS)
  fi
 +AM_CONDITIONAL(BUILD_WITH_LIBNETLINK, test "x$with_libnetlink" = "xyes")
  
  # Check for enabled/disabled features
  #
        ]dnl
  )# AC_COLLECTD(name, enable/disable, info-text, feature/module)
  
 +# AC_PLUGIN(name, default, info)
 +# ------------------------------------------------------------
 +dnl
 +AC_DEFUN(
 +  [AC_PLUGIN],
 +  [
 +    enable_plugin="no"
 +    AC_ARG_ENABLE([$1], AC_HELP_STRING([--enable-$1], [$3]),
 +    [
 +     if test "x$enableval" = "xyes"
 +     then
 +           enable_plugin="yes"
 +     else
 +           enable_plugin="no"
 +     fi
 +    ],
 +    [
 +     if test "x$2" = "xyes"
 +     then
 +           enable_plugin="yes"
 +     else
 +           enable_plugin="no"
 +     fi
 +    ])
 +    if test "x$enable_plugin" = "xyes"
 +    then
 +          AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.])
 +    fi
 +    AM_CONDITIONAL([BUILD_PLUGIN_]my_toupper([$1]), test "x$enable_plugin" = "xyes")
 +    enable_$1="$enable_plugin"
 +  ]
 +)# AC_PLUGIN(name, default, info)
 +
  m4_divert_once([HELP_ENABLE], [
  collectd features:])
 +# FIXME: Remove these calls to `AC_COLLECTD' and then remove that macro.
  AC_COLLECTD([debug],     [enable],  [feature], [debugging])
  AC_COLLECTD([daemon],    [disable], [feature], [daemon mode])
  AC_COLLECTD([getifaddrs],[enable],  [feature], [getifaddrs under Linux])
  
 +plugin_battery="no"
 +plugin_cpu="no"
 +plugin_cpufreq="no"
 +plugin_df="no"
 +plugin_disk="no"
 +plugin_entropy="no"
 +plugin_interface="no"
 +plugin_ipvs="no"
 +plugin_irq="no"
 +plugin_load="no"
 +plugin_memory="no"
 +plugin_multimeter="no"
 +plugin_nfs="no"
 +plugin_processes="no"
 +plugin_serial="no"
 +plugin_swap="no"
 +plugin_tape="no"
 +plugin_tcpconns="no"
 +plugin_users="no"
 +plugin_vserver="no"
 +plugin_wireless="no"
 +
 +# Linux
 +if test "x$ac_system" = "xLinux"
 +then
 +      plugin_battery="yes"
 +      plugin_cpu="yes"
 +      plugin_cpufreq="yes"
 +      plugin_disk="yes"
 +      plugin_entropy="yes"
 +      plugin_interface="yes"
 +      plugin_irq="yes"
 +      plugin_load="yes"
 +      plugin_memory="yes"
 +      plugin_nfs="yes"
 +      plugin_processes="yes"
 +      plugin_serial="yes"
 +      plugin_swap="yes"
 +      plugin_tcpconns="yes"
 +      plugin_vserver="yes"
 +      plugin_wireless="yes"
 +
 +      if test "x$have_net_ip_vs_h" = "xyes" -o "x$have_ip_vs_h" = "xyes"
 +      then
 +              plugin_ipvs="yes"
 +      fi
 +fi
 +
 +# Mac OS X devices
 +if test "x$with_libiokit" = "xyes"
 +then
 +      plugin_battery="yes"
 +      plugin_disk="yes"
 +fi
 +
 +# Solaris
 +if test "x$with_devinfo$with_kstat" = "xyesyes"
 +then
 +      plugin_cpu="yes"
 +      plugin_disk="yes"
 +      plugin_interface="yes"
 +      plugin_memory="yes"
 +      plugin_swap="yes"
 +      plugin_tape="yes"
 +fi
 +
 +# libstatgrab
 +if test "x$with_libstatgrab" = "xyes"
 +then
 +      plugin_interface="yes"
 +      plugin_load="yes"
 +      plugin_memory="yes"
 +      plugin_swap="yes"
 +fi
 +
 +if test "x$have_processor_info" = "xyes"
 +then
 +      plugin_cpu="yes"
 +fi
 +if test "x$have_sysctlbyname" = "xyes"
 +then
 +      plugin_cpu="yes"
 +      plugin_memory="yes"
 +      plugin_tcpconns="yes"
 +fi
 +
 +if test "x$have_statfs" = "xyes"
 +then
 +      plugin_df="yes"
 +fi
 +if test "x$have_statvfs" = "xyes"
 +then
 +      plugin_df="yes"
 +fi
 +
 +if test "x$have_getifaddrs" = "xyes"
 +then
 +      plugin_interface="yes"
 +fi
 +
 +if test "x$have_getloadavg" = "xyes"
 +then
 +      plugin_load="yes"
 +fi
 +
 +# Mac OS X memory interface
 +if test "x$have_host_statistics" = "xyes"
 +then
 +      plugin_memory="yes"
 +fi
 +
 +if test "x$have_termios_h" = "xyes"
 +then
 +      plugin_multimeter="yes"
 +fi
 +
 +if test "x$have_thread_info" = "xyes"
 +then
 +      plugin_processes="yes"
 +fi
 +
 +if test "x$with_libkvm" = "xyes"
 +then
 +      plugin_swap="yes"
 +fi
 +
 +if test "x$have_getutent" = "xyes"
 +then
 +      plugin_users="yes"
 +fi
 +if test "x$have_getutxent" = "xyes"
 +then
 +      plugin_users="yes"
 +fi
 +
 +# FIXME: sysctl for swap plugin
 +
  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([mbmon],     [disable], [module], [motherboard monitor 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([nginx],     [disable], [module], [nginx 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])
 -AC_COLLECTD([serial],    [disable], [module], [serial statistics])
 -AC_COLLECTD([swap],      [disable], [module], [swap statistics])
 -AC_COLLECTD([tape],      [disable], [module], [tape statistics])
 -AC_COLLECTD([traffic],   [disable], [module], [system traffic statistics])
 -AC_COLLECTD([users],     [disable], [module], [user count statistics])
 -AC_COLLECTD([vserver],   [disable], [module], [vserver statistics])
 -AC_COLLECTD([wireless],  [disable], [module], [wireless link statistics])
 -
 -AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libconfig/Makefile src/liboping/Makefile)
 +collectd plugins:])
 +
 +AC_PLUGIN([apache],      [$with_libcurl],      [Apache httpd statistics])
 +AC_PLUGIN([apcups],      [yes],                [Statistics of UPSes by APC])
 +AC_PLUGIN([apple_sensors], [$with_libiokit],   [Apple's hardware sensors])
 +AC_PLUGIN([battery],     [$plugin_battery],    [Battery statistics])
 +AC_PLUGIN([cpu],         [$plugin_cpu],        [CPU usage statistics])
 +AC_PLUGIN([cpufreq],     [$plugin_cpufreq],    [CPU frequency statistics])
 +AC_PLUGIN([csv],         [yes],                [CSV output plugin])
 +AC_PLUGIN([df],          [$plugin_df],         [Filesystem usage statistics])
 +AC_PLUGIN([disk],        [$plugin_disk],       [Disk usage statistics])
 +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([hddtemp],     [yes],                [Query hddtempd])
 +AC_PLUGIN([interface],   [$plugin_interface],  [Interface traffic 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([load],        [$plugin_load],       [System load])
 +AC_PLUGIN([logfile],     [yes],                [File logging plugin])
 +AC_PLUGIN([mbmon],       [yes],                [Query mbmond])
 +AC_PLUGIN([memory],      [$plugin_memory],     [Memory usage])
 +AC_PLUGIN([multimeter],  [$plugin_multimeter], [Read multimeter values])
 +AC_PLUGIN([mysql],       [$with_libmysql],     [MySQL statistics])
 +AC_PLUGIN([netlink],     [$with_libnetlink],   [Enhanced Linux network statistics])
 +AC_PLUGIN([network],     [yes],                [Network communication plugin])
 +AC_PLUGIN([nfs],         [$plugin_nfs],        [NFS statistics])
 +AC_PLUGIN([ntpd],        [yes],                [NTPd statistics])
 +AC_PLUGIN([nut],         [$with_libupsclient], [Network UPS tools statistics])
 +AC_PLUGIN([perl],        [$with_libperl],      [Embed a Perl interpreter])
 +AC_PLUGIN([ping],        [$with_liboping],     [Network latency statistics])
 +AC_PLUGIN([processes],   [$plugin_processes],  [Process statistics])
 +AC_PLUGIN([rrdtool],     [$with_rrdtool],      [RRDTool output plugin])
 +AC_PLUGIN([sensors],     [$with_lm_sensors],   [lm_sensors statistics])
 +AC_PLUGIN([serial],      [$plugin_serial],     [serial port traffic])
 +AC_PLUGIN([snmp],        [$with_libnetsnmp],   [SNMP querying plugin])
 +AC_PLUGIN([swap],        [$plugin_swap],       [Swap usage statistics])
 +AC_PLUGIN([syslog],      [$have_syslog],       [Syslog logging plugin])
 +AC_PLUGIN([tape],        [$plugin_tape],       [Tape drive statistics])
 +AC_PLUGIN([tcpconns],    [$plugin_tcpconns],   [TCP connection statistics])
 +AC_PLUGIN([unixsock],    [yes],                [Unixsock communication plugin])
 +AC_PLUGIN([users],       [$plugin_users],      [User statistics])
 +AC_PLUGIN([vserver],     [$plugin_vserver],    [Linux VServer statistics])
 +AC_PLUGIN([wireless],    [$plugin_wireless],   [Wireless statistics])
 +AC_PLUGIN([xmms],        [$with_libxmms],      [XMMS statistics])
 +
 +dnl ip_vs.h
 +if test "x$ac_system" = "xLinux" -a "x$have_net_ip_vs_h$have_ip_vs_h" = "xnono"
 +then
 +      enable_ipvs="$enable_ipvs (ip_vs.h not found)"
 +fi
 +
 +dnl Perl bindings
 +AC_ARG_WITH(perl-bindings, [AS_HELP_STRING([--with-perl-bindings@<:@=OPTIONS@:>@], [Options passed to "perl Makefile.PL".])],
 +[
 +      if test "x$withval" != "xno" && test "x$withval" != "xyes"
 +      then
 +              PERL_BINDINGS_OPTIONS="$withval"
 +              with_perl_bindings="yes"
 +      fi
 +],
 +[
 +      PERL_BINDINGS_OPTIONS=""
 +      with_perl_bindings="yes"
 +])
 +if test "x$with_perl_bindings" = "xyes"
 +then
 +      PERL_BINDINGS="perl"
 +else
 +      PERL_BINDINGS=""
 +fi
 +AC_SUBST(PERL_BINDINGS)
 +AC_SUBST(PERL_BINDINGS_OPTIONS)
 +
 +AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/liboconfig/Makefile src/liboping/Makefile bindings/Makefile)
 +
 +if test "x$with_liboping" = "xyes" -a "x$with_own_liboping" = "xyes"
 +then
 +      with_liboping="yes (shipped version)"
 +fi
 +
 +if test "x$with_libperl" = "xyes"
 +then
 +      with_libperl="yes (version `$perl_interpreter -MConfig -e 'print $Config{version};'`)"
 +else
 +      enable_perl="no (needs libperl)"
 +fi
 +
 +if test "x$with_perl_bindings" = "xyes" -a "x$PERL_BINDINGS_OPTIONS" != "x"
 +then
 +      with_perl_bindings="yes ($PERL_BINDINGS_OPTIONS)"
 +fi
  
  cat <<EOF;
  
@@@ -1915,29 -1092,20 +1915,29 @@@ Configuration
    Libraries:
      libcurl . . . . . . $with_libcurl
      libiokit  . . . . . $with_libiokit
 -    liboping  . . . . . $with_liboping
 -    librrd  . . . . . . $with_rrdtool
 -    lm_sensors  . . . . $with_lm_sensors
 -    libstatgrab . . . . $with_libstatgrab
 +    libiptc . . . . . . $with_libiptc
      libkstat  . . . . . $with_kstat
 +    libkvm  . . . . . . $with_libkvm
      libmysql  . . . . . $with_libmysql
 +    libnetlink  . . . . $with_libnetlink
 +    libnetsnmp  . . . . $with_libnetsnmp
 +    liboconfig  . . . . $with_liboconfig
 +    liboping  . . . . . $with_liboping
      libpcap . . . . . . $with_libpcap
 +    libperl . . . . . . $with_libperl
      libpthread  . . . . $with_libpthread
 +    librrd  . . . . . . $with_rrdtool
 +    libsensors  . . . . $with_lm_sensors
 +    libstatgrab . . . . $with_libstatgrab
 +    libupsclient  . . . $with_libupsclient
 +    libxmms . . . . . . $with_libxmms
  
    Features:
 -    debug . . . . . . . $enable_debug
      daemon mode . . . . $enable_daemon
 -    step  . . . . . . . $collectd_step seconds
 -    heartbeat . . . . . $collectd_heartbeat seconds
 +    debug . . . . . . . $enable_debug
 +
 +  Bindings:
 +    perl  . . . . . . . $with_perl_bindings
  
    Modules:
      apache  . . . . . . $enable_apache
      battery . . . . . . $enable_battery
      cpu . . . . . . . . $enable_cpu
      cpufreq . . . . . . $enable_cpufreq
 +    csv . . . . . . . . $enable_csv
      df  . . . . . . . . $enable_df
      disk  . . . . . . . $enable_disk
      dns . . . . . . . . $enable_dns
      email . . . . . . . $enable_email
 +    entropy . . . . . . $enable_entropy
 +    exec  . . . . . . . $enable_exec
      hddtemp . . . . . . $enable_hddtemp
 +    interface . . . . . $enable_interface
 +    iptables  . . . . . $enable_iptables
 +    ipvs  . . . . . . . $enable_ipvs
 +    irq . . . . . . . . $enable_irq
      load  . . . . . . . $enable_load
 +    logfile . . . . . . $enable_logfile
      mbmon . . . . . . . $enable_mbmon
      memory  . . . . . . $enable_memory
      multimeter  . . . . $enable_multimeter
      mysql . . . . . . . $enable_mysql
 +    netlink . . . . . . $enable_netlink
 +    network . . . . . . $enable_network
      nfs . . . . . . . . $enable_nfs
+     nginx . . . . . . . $enable_nginx
      ntpd  . . . . . . . $enable_ntpd
 +    nut . . . . . . . . $enable_nut
 +    perl  . . . . . . . $enable_perl
      ping  . . . . . . . $enable_ping
      processes . . . . . $enable_processes
      sensors . . . . . . $enable_sensors
      serial  . . . . . . $enable_serial
 +    snmp  . . . . . . . $enable_snmp
      swap  . . . . . . . $enable_swap
 +    syslog  . . . . . . $enable_syslog
      tape  . . . . . . . $enable_tape
 -    traffic . . . . . . $enable_traffic
 +    tcpconns  . . . . . $enable_tcpconns
 +    unixsock  . . . . . $enable_unixsock
      users . . . . . . . $enable_users
      vserver . . . . . . $enable_vserver
      wireless  . . . . . $enable_wireless
 +    xmms  . . . . . . . $enable_xmms
  
  EOF
diff --combined src/Makefile.am
@@@ -1,7 -1,4 +1,7 @@@
 -SUBDIRS = libconfig
 +SUBDIRS =
 +if BUILD_WITH_OWN_LIBOCONFIG
 +SUBDIRS += liboconfig
 +endif
  if BUILD_WITH_OWN_LIBOPING
  SUBDIRS += liboping
  endif
@@@ -11,29 -8,31 +11,29 @@@ AM_CFLAGS = -Wall -Werro
  endif
  
  sbin_PROGRAMS = collectd
 +bin_PROGRAMS = collectd-nagios
  
  collectd_SOURCES = collectd.c collectd.h \
 -                 utils_debug.c utils_debug.h \
 +                 utils_avltree.c utils_avltree.h \
                   utils_mount.c utils_mount.h \
 +                 utils_llist.c utils_llist.h \
                   utils_ignorelist.c utils_ignorelist.h \
                   common.c common.h \
 -                 network.c network.h \
                   plugin.c plugin.h \
 -                 configfile.c configfile.h
 +                 configfile.c configfile.h \
 +                 types_list.c types_list.h
  collectd_CPPFLAGS = $(LTDLINCL)
 +collectd_CPPFLAGS += -DPREFIX='"${prefix}"'
  collectd_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"'
 +collectd_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
  collectd_CPPFLAGS += -DPKGLOCALSTATEDIR='"${localstatedir}/lib/${PACKAGE_NAME}"'
  if BUILD_FEATURE_DAEMON
  collectd_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"'
  endif
  collectd_CPPFLAGS += -DPLUGINDIR='"${pkglibdir}"'
 -if BUILD_FEATURE_DEBUG
 -collectd_CPPFLAGS += -DLOGFILE='"${localstatedir}/log/${PACKAGE_NAME}/collectd.log"'
 -endif
  
  # Link to these libraries..
  collectd_LDFLAGS = -export-dynamic
 -if BUILD_WITH_RRDTOOL
 -collectd_LDFLAGS += -lm -lrrd
 -endif
  if BUILD_WITH_LIBRT
  collectd_LDFLAGS += -lrt
  endif
@@@ -43,9 -42,6 +43,9 @@@ endi
  if BUILD_WITH_LIBRESOLV
  collectd_LDFLAGS += -lresolv
  endif
 +if BUILD_WITH_LIBPTHREAD
 +collectd_LDFLAGS += -lpthread
 +endif
  if BUILD_WITH_LIBKSTAT
  collectd_LDFLAGS += -lkstat
  endif
@@@ -64,38 -60,23 +64,38 @@@ collectd_LDFLAGS += -lstatgra
  endif
  
  
 -collectd_LDADD = $(LIBLTDL) libconfig/libconfig.la "-dlopen" self
 -collectd_DEPENDENCIES = $(LIBLTDL) libconfig/libconfig.la
 +collectd_LDADD =
 +collectd_DEPENDENCIES =
 +if BUILD_WITH_OWN_LIBOCONFIG
 +collectd_LDADD += $(LIBLTDL) liboconfig/liboconfig.la
 +collectd_DEPENDENCIES += $(LIBLTDL) liboconfig/liboconfig.la
 +else
 +collectd_LDFLAGS += -loconfig
 +endif
 +
 +collectd_nagios_SOURCES = collectd-nagios.c
 +collectd_nagios_LDFLAGS =
 +if BUILD_WITH_LIBSOCKET
 +collectd_nagios_LDFLAGS += -lsocket
 +endif
  
  pkglib_LTLIBRARIES = 
  
 -if BUILD_MODULE_APACHE
 +if BUILD_PLUGIN_APACHE
  pkglib_LTLIBRARIES += apache.la
  apache_la_SOURCES = apache.c
  apache_la_LDFLAGS = -module -avoid-version
 +apache_la_CFLAGS =
 +apache_la_LIBADD =
 +collectd_LDADD += "-dlopen" apache.la
  if BUILD_WITH_LIBCURL
 -apache_la_LDFLAGS += $(BUILD_WITH_LIBCURL_LIBS)
 +apache_la_CFLAGS += $(BUILD_WITH_LIBCURL_CFLAGS)
 +apache_la_LIBADD += $(BUILD_WITH_LIBCURL_LIBS)
  endif
 -collectd_LDADD += "-dlopen" apache.la
  collectd_DEPENDENCIES += apache.la
  endif
  
 -if BUILD_MODULE_APCUPS
 +if BUILD_PLUGIN_APCUPS
  pkglib_LTLIBRARIES += apcups.la
  apcups_la_SOURCES = apcups.c
  apcups_la_LDFLAGS = -module -avoid-version
@@@ -106,15 -87,18 +106,15 @@@ collectd_LDADD += "-dlopen" apcups.l
  collectd_DEPENDENCIES += apcups.la
  endif
  
 -if BUILD_MODULE_APPLE_SENSORS
 +if BUILD_PLUGIN_APPLE_SENSORS
  pkglib_LTLIBRARIES += apple_sensors.la
  apple_sensors_la_SOURCES = apple_sensors.c
 -apple_sensors_la_LDFLAGS = -module -avoid-version
 -if BUILD_WITH_LIBIOKIT
 -apple_sensors_la_LDFLAGS += -lIOKit
 -endif
 +apple_sensors_la_LDFLAGS = -module -avoid-version -lIOKit
  collectd_LDADD += "-dlopen" apple_sensors.la
  collectd_DEPENDENCIES += apple_sensors.la
  endif
  
 -if BUILD_MODULE_BATTERY
 +if BUILD_PLUGIN_BATTERY
  pkglib_LTLIBRARIES += battery.la
  battery_la_SOURCES = battery.c
  battery_la_LDFLAGS = -module -avoid-version
@@@ -125,7 -109,7 +125,7 @@@ collectd_LDADD += "-dlopen" battery.l
  collectd_DEPENDENCIES += battery.la
  endif
  
 -if BUILD_MODULE_CPU
 +if BUILD_PLUGIN_CPU
  pkglib_LTLIBRARIES += cpu.la
  cpu_la_SOURCES = cpu.c
  cpu_la_LDFLAGS = -module -avoid-version
@@@ -139,7 -123,7 +139,7 @@@ collectd_LDADD += "-dlopen" cpu.l
  collectd_DEPENDENCIES += cpu.la
  endif
  
 -if BUILD_MODULE_CPUFREQ
 +if BUILD_PLUGIN_CPUFREQ
  pkglib_LTLIBRARIES += cpufreq.la
  cpufreq_la_SOURCES = cpufreq.c
  cpufreq_la_LDFLAGS = -module -avoid-version
@@@ -147,15 -131,7 +147,15 @@@ collectd_LDADD += "-dlopen" cpufreq.l
  collectd_DEPENDENCIES += cpufreq.la
  endif
  
 -if BUILD_MODULE_DF
 +if BUILD_PLUGIN_CSV
 +pkglib_LTLIBRARIES += csv.la
 +csv_la_SOURCES = csv.c
 +csv_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" csv.la
 +collectd_DEPENDENCIES += csv.la
 +endif
 +
 +if BUILD_PLUGIN_DF
  pkglib_LTLIBRARIES += df.la
  df_la_SOURCES = df.c
  df_la_LDFLAGS = -module -avoid-version
@@@ -163,7 -139,7 +163,7 @@@ collectd_LDADD += "-dlopen" df.l
  collectd_DEPENDENCIES += df.la
  endif
  
 -if BUILD_MODULE_DISK
 +if BUILD_PLUGIN_DISK
  pkglib_LTLIBRARIES += disk.la
  disk_la_SOURCES = disk.c
  disk_la_LDFLAGS = -module -avoid-version
@@@ -180,15 -156,26 +180,15 @@@ collectd_LDADD += "-dlopen" disk.l
  collectd_DEPENDENCIES += disk.la
  endif
  
 -if BUILD_MODULE_DNS
 +if BUILD_PLUGIN_DNS
  pkglib_LTLIBRARIES += dns.la
 -dns_la_SOURCES = dns.c
 -if BUILD_WITH_LIBPCAP
 -if BUILD_WITH_LIBPTHREAD
 -dns_la_SOURCES += utils_dns.c utils_dns.h
 -endif
 -endif
 -dns_la_LDFLAGS = -module -avoid-version
 -if BUILD_WITH_LIBPCAP
 -dns_la_LDFLAGS += -lpcap
 -endif
 -if BUILD_WITH_LIBPTHREAD
 -dns_la_LDFLAGS += -lpthread
 -endif
 +dns_la_SOURCES = dns.c utils_dns.c utils_dns.h
 +dns_la_LDFLAGS = -module -avoid-version -lpcap -lpthread
  collectd_LDADD += "-dlopen" dns.la
  collectd_DEPENDENCIES += dns.la
  endif
  
 -if BUILD_MODULE_EMAIL
 +if BUILD_PLUGIN_EMAIL
  pkglib_LTLIBRARIES += email.la
  email_la_SOURCES = email.c
  email_la_LDFLAGS = -module -avoid-version
@@@ -199,26 -186,18 +199,26 @@@ collectd_LDADD += "-dlopen" email.l
  collectd_DEPENDENCIES += email.la
  endif
  
 -#if BUILD_MODULE_QUOTA
 -#pkglib_LTLIBRARIES += quota.la
 -#quota_la_SOURCES = quota_plugin.c quota_plugin.h
 -#quota_la_SOURCES += quota_fs.c quota_fs.h
 -#quota_la_SOURCES += quota_mnt.c quota_mnt.h
 -#quota_la_LDFLAGS = -module -avoid-version
 -#quota_la_CFLAGS = -Werror
 -#collectd_LDADD += "-dlopen" quota.la
 -#collectd_DEPENDENCIES += quota.la
 -#endif
 +if BUILD_PLUGIN_ENTROPY
 +pkglib_LTLIBRARIES += entropy.la
 +entropy_la_SOURCES = entropy.c
 +entropy_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" entropy.la
 +collectd_DEPENDENCIES += entropy.la
 +endif
  
 -if BUILD_MODULE_HDDTEMP
 +if BUILD_PLUGIN_EXEC
 +pkglib_LTLIBRARIES += exec.la
 +exec_la_SOURCES = exec.c utils_cmd_putval.c utils_cmd_putval.h
 +exec_la_LDFLAGS = -module -avoid-version
 +if BUILD_WITH_LIBPTHREAD
 +exec_la_LDFLAGS += -lpthread
 +endif
 +collectd_LDADD += "-dlopen" exec.la
 +collectd_DEPENDENCIES += exec.la
 +endif
 +
 +if BUILD_PLUGIN_HDDTEMP
  pkglib_LTLIBRARIES += hddtemp.la
  hddtemp_la_SOURCES = hddtemp.c
  hddtemp_la_LDFLAGS = -module -avoid-version
@@@ -229,54 -208,7 +229,54 @@@ collectd_LDADD += "-dlopen" hddtemp.l
  collectd_DEPENDENCIES += hddtemp.la
  endif
  
 -if BUILD_MODULE_LOAD
 +if BUILD_PLUGIN_INTERFACE
 +pkglib_LTLIBRARIES += interface.la
 +interface_la_SOURCES = interface.c
 +interface_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" interface.la
 +collectd_DEPENDENCIES += interface.la
 +if BUILD_WITH_LIBKSTAT
 +interface_la_LDFLAGS += -lkstat
 +endif
 +if BUILD_WITH_LIBDEVINFO
 +interface_la_LDFLAGS += -ldevinfo
 +endif
 +if BUILD_WITH_LIBSTATGRAB
 +if BUILD_WITH_LIBKVM
 +interface_la_LDFLAGS += -lkvm
 +endif
 +if BUILD_WITH_LIBDEVSTAT
 +interface_la_LDFLAGS += -ldevstat
 +endif
 +interface_la_LDFLAGS += -lstatgrab
 +endif
 +endif
 +
 +if BUILD_PLUGIN_IPTABLES
 +pkglib_LTLIBRARIES += iptables.la
 +iptables_la_SOURCES = iptables.c
 +iptables_la_LDFLAGS = -module -avoid-version -liptc
 +collectd_LDADD += "-dlopen" iptables.la
 +collectd_DEPENDENCIES += iptables.la
 +endif
 +
 +if BUILD_PLUGIN_IPVS
 +pkglib_LTLIBRARIES += ipvs.la
 +ipvs_la_SOURCES = ipvs.c
 +ipvs_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" ipvs.la
 +collectd_DEPENDENCIES += ipvs.la
 +endif
 +
 +if BUILD_PLUGIN_IRQ
 +pkglib_LTLIBRARIES += irq.la
 +irq_la_SOURCES = irq.c
 +irq_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" irq.la
 +collectd_DEPENDENCIES += irq.la
 +endif
 +
 +if BUILD_PLUGIN_LOAD
  pkglib_LTLIBRARIES += load.la
  load_la_SOURCES = load.c
  load_la_LDFLAGS = -module -avoid-version
@@@ -293,15 -225,7 +293,15 @@@ load_la_LDFLAGS += -lstatgra
  endif
  endif
  
 -if BUILD_MODULE_MBMON
 +if BUILD_PLUGIN_LOGFILE
 +pkglib_LTLIBRARIES += logfile.la
 +logfile_la_SOURCES = logfile.c
 +logfile_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" logfile.la
 +collectd_DEPENDENCIES += logfile.la
 +endif
 +
 +if BUILD_PLUGIN_MBMON
  pkglib_LTLIBRARIES += mbmon.la
  mbmon_la_SOURCES = mbmon.c
  mbmon_la_LDFLAGS = -module -avoid-version
@@@ -312,7 -236,7 +312,7 @@@ collectd_LDADD += "-dlopen" mbmon.l
  collectd_DEPENDENCIES += mbmon.la
  endif
  
 -if BUILD_MODULE_MEMORY
 +if BUILD_PLUGIN_MEMORY
  pkglib_LTLIBRARIES += memory.la
  memory_la_SOURCES = memory.c
  memory_la_LDFLAGS = -module -avoid-version
@@@ -335,7 -259,7 +335,7 @@@ memory_la_LDFLAGS += -lstatgra
  endif
  endif
  
 -if BUILD_MODULE_MULTIMETER
 +if BUILD_PLUGIN_MULTIMETER
  pkglib_LTLIBRARIES += multimeter.la
  multimeter_la_SOURCES = multimeter.c
  multimeter_la_LDFLAGS = -module -avoid-version
@@@ -343,45 -267,18 +343,45 @@@ collectd_LDADD += "-dlopen" multimeter.
  collectd_DEPENDENCIES += multimeter.la
  endif
  
 -if BUILD_MODULE_MYSQL
 +if BUILD_PLUGIN_MYSQL
  pkglib_LTLIBRARIES += mysql.la
  mysql_la_SOURCES = mysql.c
  mysql_la_LDFLAGS = -module -avoid-version
 +mysql_la_CFLAGS =
 +mysql_la_LIBADD =
 +collectd_LDADD += "-dlopen" mysql.la
  if BUILD_WITH_LIBMYSQL
 -mysql_la_LDFLAGS += -lmysqlclient
 +mysql_la_CFLAGS += $(BUILD_WITH_LIBMYSQL_CFLAGS)
 +mysql_la_LIBADD += $(BUILD_WITH_LIBMYSQL_LIBS)
  endif
 -collectd_LDADD += "-dlopen" mysql.la
  collectd_DEPENDENCIES += mysql.la
  endif
  
 -if BUILD_MODULE_NFS
 +if BUILD_PLUGIN_NETLINK
 +pkglib_LTLIBRARIES += netlink.la
 +netlink_la_SOURCES = netlink.c
 +netlink_la_LDFLAGS = -module -avoid-version
 +netlink_la_CFLAGS = $(BUILD_WITH_LIBNETLINK_CFLAGS)
 +netlink_la_LIBADD = $(BUILD_WITH_LIBNETLINK_LIBS)
 +collectd_LDADD += "-dlopen" netlink.la
 +collectd_DEPENDENCIES += netlink.la
 +endif
 +
 +if BUILD_PLUGIN_NETWORK
 +pkglib_LTLIBRARIES += network.la
 +network_la_SOURCES = network.c network.h
 +network_la_LDFLAGS = -module -avoid-version
 +if BUILD_WITH_LIBSOCKET
 +network_la_LDFLAGS += -lsocket
 +endif
 +if BUILD_WITH_LIBPTHREAD
 +network_la_LDFLAGS += -lpthread
 +endif
 +collectd_LDADD += "-dlopen" network.la
 +collectd_DEPENDENCIES += network.la
 +endif
 +
 +if BUILD_PLUGIN_NFS
  pkglib_LTLIBRARIES += nfs.la
  nfs_la_SOURCES = nfs.c
  nfs_la_LDFLAGS = -module -avoid-version
@@@ -389,7 -286,18 +389,18 @@@ collectd_LDADD += "-dlopen" nfs.l
  collectd_DEPENDENCIES += nfs.la
  endif
  
 -if BUILD_MODULE_NGINX
++if BUILD_PLUGIN_NGINX
+ pkglib_LTLIBRARIES += nginx.la
+ nginx_la_SOURCES = nginx.c
+ nginx_la_LDFLAGS = -module -avoid-version
+ if BUILD_WITH_LIBCURL
+ nginx_la_LDFLAGS += $(BUILD_WITH_LIBCURL_LIBS)
+ endif
+ collectd_LDADD += "-dlopen" nginx.la
+ collectd_DEPENDENCIES += nginx.la
+ endif
 -if BUILD_MODULE_NTPD
 +if BUILD_PLUGIN_NTPD
  pkglib_LTLIBRARIES += ntpd.la
  ntpd_la_SOURCES = ntpd.c
  ntpd_la_LDFLAGS = -module -avoid-version
@@@ -400,42 -308,23 +411,42 @@@ collectd_LDADD += "-dlopen" ntpd.l
  collectd_DEPENDENCIES += ntpd.la
  endif
  
 -if BUILD_MODULE_PING
 +if BUILD_PLUGIN_NUT
 +pkglib_LTLIBRARIES += nut.la
 +nut_la_SOURCES = nut.c
 +nut_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBUPSCLIENT_CFLAGS)
 +nut_la_LDFLAGS = -module -avoid-version -lpthread $(BUILD_WITH_LIBUPSCLIENT_LIBS)
 +collectd_LDADD += "-dlopen" nut.la
 +collectd_DEPENDENCIES += nut.la
 +endif
 +
 +if BUILD_PLUGIN_PERL
 +pkglib_LTLIBRARIES += perl.la
 +perl_la_SOURCES = perl.c
 +perl_la_CFLAGS  = $(AM_CFLAGS) \
 +                $(PERL_CFLAGS) \
 +                -DXS_VERSION=\"$(VERSION)\" -DVERSION=\"$(VERSION)\"
 +perl_la_LDFLAGS = -module -avoid-version \
 +                $(PERL_LDFLAGS)
 +collectd_LDADD += "-dlopen" perl.la
 +collectd_DEPENDENCIES += perl.la
 +endif
 +
 +if BUILD_PLUGIN_PING
  pkglib_LTLIBRARIES += ping.la
  ping_la_SOURCES = ping.c
  ping_la_LDFLAGS = -module -avoid-version
 -if BUILD_WITH_LIBOPING
  if BUILD_WITH_OWN_LIBOPING
  ping_la_LIBADD  = liboping/liboping.la
  ping_la_DEPENDENCIES = liboping/liboping.la
  else
  ping_la_LDFLAGS += -loping
  endif
 -endif
  collectd_LDADD += "-dlopen" ping.la
  collectd_DEPENDENCIES += ping.la
  endif
  
 -if BUILD_MODULE_PROCESSES
 +if BUILD_PLUGIN_PROCESSES
  pkglib_LTLIBRARIES += processes.la
  processes_la_SOURCES = processes.c
  processes_la_LDFLAGS = -module -avoid-version
@@@ -443,17 -332,7 +454,17 @@@ collectd_LDADD += "-dlopen" processes.l
  collectd_DEPENDENCIES += processes.la
  endif
  
 -if BUILD_MODULE_SENSORS
 +if BUILD_PLUGIN_RRDTOOL
 +pkglib_LTLIBRARIES += rrdtool.la
 +rrdtool_la_SOURCES = rrdtool.c
 +rrdtool_la_LDFLAGS = -module -avoid-version
 +rrdtool_la_CFLAGS = $(BUILD_WITH_LIBRRD_CFLAGS)
 +rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LDFLAGS)
 +collectd_LDADD += "-dlopen" rrdtool.la
 +collectd_DEPENDENCIES += rrdtool.la
 +endif
 +
 +if BUILD_PLUGIN_SENSORS
  pkglib_LTLIBRARIES += sensors.la
  sensors_la_SOURCES = sensors.c
  sensors_la_LDFLAGS = -module -avoid-version
@@@ -464,7 -343,7 +475,7 @@@ collectd_LDADD += "-dlopen" sensors.l
  collectd_DEPENDENCIES += sensors.la
  endif
  
 -if BUILD_MODULE_SERIAL
 +if BUILD_PLUGIN_SERIAL
  pkglib_LTLIBRARIES += serial.la
  serial_la_SOURCES = serial.c
  serial_la_LDFLAGS = -module -avoid-version
@@@ -472,24 -351,7 +483,24 @@@ collectd_LDADD += "-dlopen" serial.l
  collectd_DEPENDENCIES += serial.la
  endif
  
 -if BUILD_MODULE_SWAP
 +if BUILD_PLUGIN_SNMP
 +pkglib_LTLIBRARIES += snmp.la
 +snmp_la_SOURCES = snmp.c
 +snmp_la_LDFLAGS = -module -avoid-version
 +snmp_la_CFLAGS =
 +snmp_la_LIBADD =
 +if BUILD_WITH_LIBNETSNMP
 +snmp_la_CFLAGS += $(BUILD_WITH_LIBSNMP_CFLAGS)
 +snmp_la_LIBADD += $(BUILD_WITH_LIBSNMP_LIBS)
 +endif
 +if BUILD_WITH_LIBPTHREAD
 +snmp_la_LIBADD += -lpthread
 +endif
 +collectd_LDADD += "-dlopen" snmp.la
 +collectd_DEPENDENCIES += snmp.la
 +endif
 +
 +if BUILD_PLUGIN_SWAP
  pkglib_LTLIBRARIES += swap.la
  swap_la_SOURCES = swap.c
  swap_la_LDFLAGS = -module -avoid-version
@@@ -512,40 -374,44 +523,40 @@@ swap_la_LDFLAGS += -lstatgra
  endif
  endif
  
 -if BUILD_MODULE_TAPE
 +if BUILD_PLUGIN_SYSLOG
 +pkglib_LTLIBRARIES += syslog.la
 +syslog_la_SOURCES = syslog.c
 +syslog_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" syslog.la
 +collectd_DEPENDENCIES += syslog.la
 +endif
 +
 +if BUILD_PLUGIN_TAPE
  pkglib_LTLIBRARIES += tape.la
  tape_la_SOURCES = tape.c
 -tape_la_LDFLAGS = -module -avoid-version
 -if BUILD_WITH_LIBKSTAT
 -tape_la_LDFLAGS += -lkstat
 -endif
 -if BUILD_WITH_LIBDEVINFO
 -tape_la_LDFLAGS += -ldevinfo
 -endif
 +tape_la_LDFLAGS = -module -avoid-version -lkstat -ldevinfo
  collectd_LDADD += "-dlopen" tape.la
  collectd_DEPENDENCIES += tape.la
  endif
  
 -if BUILD_MODULE_TRAFFIC
 -pkglib_LTLIBRARIES += traffic.la
 -traffic_la_SOURCES = traffic.c
 -traffic_la_LDFLAGS = -module -avoid-version
 -collectd_LDADD += "-dlopen" traffic.la
 -collectd_DEPENDENCIES += traffic.la
 -if BUILD_WITH_LIBKSTAT
 -traffic_la_LDFLAGS += -lkstat
 -endif
 -if BUILD_WITH_LIBDEVINFO
 -traffic_la_LDFLAGS += -ldevinfo
 -endif
 -if BUILD_WITH_LIBSTATGRAB
 -if BUILD_WITH_LIBKVM
 -traffic_la_LDFLAGS += -lkvm
 -endif
 -if BUILD_WITH_LIBDEVSTAT
 -traffic_la_LDFLAGS += -ldevstat
 -endif
 -traffic_la_LDFLAGS += -lstatgrab
 +if BUILD_PLUGIN_TCPCONNS
 +pkglib_LTLIBRARIES += tcpconns.la
 +tcpconns_la_SOURCES = tcpconns.c
 +tcpconns_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" tcpconns.la
 +collectd_DEPENDENCIES += tcpconns.la
  endif
 +
 +if BUILD_PLUGIN_UNIXSOCK
 +pkglib_LTLIBRARIES += unixsock.la
 +unixsock_la_SOURCES = unixsock.c utils_cmd_putval.h utils_cmd_putval.c
 +unixsock_la_CPPFLAGS = -DLOCALSTATEDIR='"${localstatedir}"'
 +unixsock_la_LDFLAGS = -module -avoid-version -lpthread
 +collectd_LDADD += "-dlopen" unixsock.la
 +collectd_DEPENDENCIES += unixsock.la
  endif
  
 -if BUILD_MODULE_USERS
 +if BUILD_PLUGIN_USERS
  pkglib_LTLIBRARIES += users.la
  users_la_SOURCES = users.c
  users_la_LDFLAGS = -module -avoid-version
@@@ -553,7 -419,7 +564,7 @@@ collectd_LDADD += "-dlopen" users.l
  collectd_DEPENDENCIES += users.la
  endif
  
 -if BUILD_MODULE_VSERVER
 +if BUILD_PLUGIN_VSERVER
  pkglib_LTLIBRARIES += vserver.la
  vserver_la_SOURCES = vserver.c
  vserver_la_LDFLAGS = -module -avoid-version
@@@ -561,7 -427,7 +572,7 @@@ collectd_LDADD += "-dlopen" vserver.l
  collectd_DEPENDENCIES += vserver.la
  endif
  
 -if BUILD_MODULE_WIRELESS
 +if BUILD_PLUGIN_WIRELESS
  pkglib_LTLIBRARIES += wireless.la
  wireless_la_SOURCES = wireless.c
  wireless_la_LDFLAGS = -module -avoid-version
@@@ -569,33 -435,16 +580,33 @@@ collectd_LDADD += "-dlopen" wireless.l
  collectd_DEPENDENCIES += wireless.la
  endif
  
 -dist_man_MANS = collectd.1 collectd.conf.5
 +if BUILD_PLUGIN_XMMS
 +pkglib_LTLIBRARIES += xmms.la
 +xmms_la_SOURCES = xmms.c
 +xmms_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBXMMS_CFLAGS)
 +xmms_la_LDFLAGS = -module -avoid-version $(BUILD_WITH_LIBXMMS_LIBS)
 +collectd_LDADD += "-dlopen" xmms.la
 +collectd_DEPENDENCIES += xmms.la
 +endif
 +
 +
 +dist_man_MANS = collectd.1 collectd-nagios.1 collectd.conf.5 \
 +              collectd-email.5 collectd-exec.5 collectd-perl.5 \
 +              collectd-snmp.5 collectd-unixsock.5
 +
  #collectd_1_SOURCES = collectd.pod
  
 -#EXTRA_DIST = $(man_MANS)
 +EXTRA_DIST = types.db
 +
 +EXTRA_DIST += collectd-email.pod collectd-exec.pod collectd-nagios.pod \
 +      collectd-perl.pod collectd-snmp.pod collectd-unixsock.pod \
 +      collectd.conf.pod collectd.pod
  
  .pod.1:
 -      pod2man --release=$(VERSION) --center=$(PACKAGE) $< >$@
 +      pod2man --release=$(VERSION) --center=$(PACKAGE) $< >.pod2man.tmp 2>/dev/null && mv -f .pod2man.tmp $@ || true
  
  .pod.5:
 -      pod2man --section=5 --release=$(VERSION) --center=$(PACKAGE) $< >$@
 +      pod2man --section=5 --release=$(VERSION) --center=$(PACKAGE) $< >.pod2man.tmp 2>/dev/null && mv -f .pod2man.tmp $@ || true
  
  install-exec-hook:
        $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
                $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf.pkg-orig; \
        else \
                $(INSTALL) -m 0640 collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \
 -      fi
 +      fi; \
 +      cp -f $(srcdir)/types.db $(DESTDIR)$(pkglibdir)/;