Merge branch 'collectd-4.3'
authorFlorian Forster <octo@noris.net>
Tue, 29 Apr 2008 15:42:07 +0000 (17:42 +0200)
committerFlorian Forster <octo@noris.net>
Tue, 29 Apr 2008 15:42:07 +0000 (17:42 +0200)
1  2 
configure.in
src/Makefile.am

diff --combined configure.in
@@@ -373,68 -373,6 +373,68 @@@ AC_CHECK_FUNCS(gettimeofday select strd
  
  AC_FUNC_STRERROR_R
  
 +AC_CACHE_CHECK([for strtok_r],
 +  [have_strtok_r_default],
 +  AC_LINK_IFELSE(
 +    AC_LANG_PROGRAM(
 +    [[[[
 +#include <stdlib.h>
 +#include <stdio.h>
 +#include <string.h>
 +    ]]]],
 +    [[[[
 +      char buffer[] = "foo,bar,baz";
 +      char *token;
 +      char *dummy;
 +      char *saveptr;
 +
 +      dummy = buffer;
 +      saveptr = NULL;
 +      while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
 +      {
 +      dummy = NULL;
 +        printf ("token = %s;\n", token);
 +      }
 +    ]]]]),
 +    [have_strtok_r_default="yes"],
 +    [have_strtok_r_default="no"]
 +  )
 +)
 +
 +if test "x$have_strtok_r_default" = "xno"
 +then
 +  SAVE_CFLAGS="$CFLAGS"
 +  CFLAGS="$CFLAGS -D_REENTRANT=1"
 +
 +  AC_CACHE_CHECK([if strtok_r needs _REENTRANT],
 +    [have_strtok_r_reentrant],
 +    AC_LINK_IFELSE(
 +      AC_LANG_PROGRAM(
 +      [[[[
 +#include <stdlib.h>
 +#include <stdio.h>
 +#include <string.h>
 +      ]]]],
 +      [[[[
 +        char buffer[] = "foo,bar,baz";
 +        char *token;
 +        char *dummy;
 +        char *saveptr;
 +
 +        dummy = buffer;
 +        saveptr = NULL;
 +        while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
 +        {
 +        dummy = NULL;
 +          printf ("token = %s;\n", token);
 +        }
 +      ]]]]),
 +      [have_strtok_r_reentrant="yes"],
 +      [AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
 +    )
 +  )
 +fi
 +
  AC_CHECK_FUNCS(getpwnam_r getgrnam_r setgroups regcomp regerror regexec regfree)
  
  socket_needs_socket="no"
@@@ -874,6 -812,9 +874,9 @@@ AC_CHECK_MEMBERS([kstat_io_t.nwritten, 
  #endif
        ])
  
+ #
+ # Checks for libraries begin here
+ #
  with_libresolv="yes"
  AC_CHECK_LIB(resolv, res_search,
  [
@@@ -1105,12 -1046,14 +1108,14 @@@ AC_CHECK_LIB(IOKit, IOServiceGetMatchin
  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_cflags=""
+ with_libstatgrab_ldflags=""
  AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [Path to libstatgrab.])],
  [
        if test "x$withval" != "xno" -a "x$withval" != "xyes"
        then
-               LDFLAGS="$LDFLAGS -L$withval/lib"
-               CPPFLAGS="$CPPFLAGS -I$withval/include"
+               with_libstatgrab_cflags="-I$withval/include"
+               with_libstatgrab_ldflags="-L$withval/lib"
                with_libstatgrab="yes"
        else
                with_libstatgrab="$withval"
                with_libstatgrab="no"
        fi
  ])
- if test "x$with_libstatgrab" = "xyes"
+ with_libstatgrab_pkg_config="yes"
+ if test "x$with_libstatgrab" = "xyes" \
+   && test "x$PKG_CONFIG" != "x"
+ then
+   AC_MSG_CHECKING([pkg-config for libstatgrab])
+   temp_result="found"
+   $PKG_CONFIG --exists libstatgrab 2>/dev/null
+   if test "$?" != "0"
+   then
+     with_libstatgrab_pkg_config="no"
+     temp_result="not found"
+   fi
+   AC_MSG_RESULT([$temp_result])
+ else
+   AC_MSG_NOTICE([pkg-config not available, trying to guess flags for the statgrab library.])
+   with_libstatgrab_pkg_config="no"
+   with_libstatgrab_ldflags="$with_libstatgrab_ldflags -lstatgrab"
+ fi
+ if test "x$with_libstatgrab" = "xyes" \
+   && test "x$with_libstatgrab_pkg_config" = "xyes" \
+   && test "x$with_libstatgrab_cflags" = "x"
  then
-       AC_CHECK_LIB(statgrab, sg_init, [with_libstatgrab="yes"], [with_libstatgrab="no (libstatgrab not found)"])
+   AC_MSG_CHECKING([for libstatgrab CFLAGS])
+   temp_result="`$PKG_CONFIG --cflags libstatgrab`"
+   if test "$?" = "0"
+   then
+     with_libstatgrab_cflags="$temp_result"
+   else
+     with_libstatgrab="no ($PKG_CONFIG --cflags libstatgrab failed)"
+     temp_result="$PKG_CONFIG --cflags libstatgrab failed"
+   fi
+   AC_MSG_RESULT([$temp_result])
  fi
- if test "x$with_libstatgrab" = "xyes"
+ if test "x$with_libstatgrab" = "xyes" \
+   && test "x$with_libstatgrab_pkg_config" = "xyes" \
+   && test "x$with_libstatgrab_ldflags" = "x"
  then
-       AC_CHECK_HEADERS(statgrab.h,,    [with_libstatgrab="no (statgrab.h not found)"])
+   AC_MSG_CHECKING([for libstatgrab LDFLAGS])
+   temp_result="`$PKG_CONFIG --libs libstatgrab`"
+   if test "$?" = "0"
+   then
+     with_libstatgrab_ldflags="$temp_result"
+   else
+     with_libstatgrab="no ($PKG_CONFIG --libs libstatgrab failed)"
+     temp_result="$PKG_CONFIG --libs libstatgrab failed"
+   fi
+   AC_MSG_RESULT([$temp_result])
  fi
  if test "x$with_libstatgrab" = "xyes"
  then
-       AC_CHECK_LIB(devstat, getdevs, [with_libdevstat="yes"], [with_libdevstat="no"])
+   SAVE_CPPFLAGS="$CPPFLAGS"
+   CPPFLAGS="$CPPFLAGS $with_libstatgrab_cflags"
+   AC_CHECK_HEADERS(statgrab.h,
+                  [with_libstatgrab="yes"],
+                  [with_libstatgrab="no (statgrab.h not found)"])
+   CPPFLAGS="$SAVE_CPPFLAGS"
  fi
  if test "x$with_libstatgrab" = "xyes"
  then
-       collect_libstatgrab=1
- else
-       collect_libstatgrab=0
+   SAVE_CFLAGS="$CFLAGS"
+   SAVE_LDFLAGS="$LDFLAGS"
+   CFLAGS="$CFLAGS $with_libstatgrab_cflags"
+   LDFLAGS="$LDFLAGS $with_libstatgrab_ldflags"
+   AC_CHECK_LIB(statgrab, sg_init,
+              [with_libstatgrab="yes"],
+              [with_libstatgrab="no (symbol sg_init not found)"])
+   CFLAGS="$SAVE_CFLAGS"
+   LDFLAGS="$SAVE_LDFLAGS"
  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")
+ if test "x$with_libstatgrab" = "xyes"
+ then
+   BUILD_WITH_LIBSTATGRAB_CFLAGS="$with_libstatgrab_cflags"
+   BUILD_WITH_LIBSTATGRAB_LDFLAGS="$with_libstatgrab_ldflags"
+   AC_SUBST(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+   AC_SUBST(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+ fi
  
  AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_libkvm="yes"], [with_libkvm="no"])
  if test "x$with_libkvm" = "xyes"
  fi
  AM_CONDITIONAL(BUILD_WITH_LIBNETLINK, test "x$with_libnetlink" = "xyes")
  
 +with_libopenipmipthread="yes"
 +with_libopenipmipthread_cflags=""
 +with_libopenipmipthread_libs=""
 +
 +AC_MSG_CHECKING([for pkg-config])
 +temp_result="no"
 +if test "x$PKG_CONFIG" = "x"
 +then
 +      with_libopenipmipthread="no"
 +      temp_result="no"
 +else
 +      temp_result="$PKG_CONFIG"
 +fi
 +AC_MSG_RESULT([$temp_result])
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      AC_MSG_CHECKING([for libOpenIPMIpthread])
 +      $PKG_CONFIG --exists OpenIPMIpthread 2>/dev/null
 +      if test "$?" != "0"
 +      then
 +              with_libopenipmipthread="no ($PKG_CONFIG doesn't know OpenIPMIpthread)"
 +      fi
 +      AC_MSG_RESULT([$with_libopenipmipthread])
 +fi
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      AC_MSG_CHECKING([for libOpenIPMIpthread CFLAGS])
 +      temp_result="`$PKG_CONFIG --cflags OpenIPMIpthread`"
 +      if test "$?" = "0"
 +      then
 +              with_libopenipmipthread_cflags="$temp_result"
 +      else
 +              with_libopenipmipthread="no ($PKG_CONFIG --cflags OpenIPMIpthread failed)"
 +              temp_result="$PKG_CONFIG --cflags OpenIPMIpthread failed"
 +      fi
 +      AC_MSG_RESULT([$temp_result])
 +fi
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      AC_MSG_CHECKING([for libOpenIPMIpthread LDFLAGS])
 +      temp_result="`$PKG_CONFIG --libs OpenIPMIpthread`"
 +      if test "$?" = "0"
 +      then
 +              with_libopenipmipthread_ldflags="$temp_result"
 +      else
 +              with_libopenipmipthread="no ($PKG_CONFIG --libs OpenIPMIpthread failed)"
 +              temp_result="$PKG_CONFIG --libs OpenIPMIpthread failed"
 +      fi
 +      AC_MSG_RESULT([$temp_result])
 +fi
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      SAVE_CPPFLAGS="$CPPFLAGS"
 +      CPPFLAGS="$CPPFLAGS $with_libopenipmipthread_cflags"
 +
 +      AC_CHECK_HEADERS(OpenIPMI/ipmi_smi.h,
 +                       [with_libopenipmipthread="yes"],
 +                       [with_libopenipmipthread="no (OpenIPMI/ipmi_smi.h not found)"],
 +[#include <OpenIPMI/ipmiif.h>
 +#include <OpenIPMI/ipmi_err.h>
 +#include <OpenIPMI/ipmi_posix.h>
 +#include <OpenIPMI/ipmi_conn.h>
 +])
 +
 +      CPPFLAGS="$SAVE_CPPFLAGS"
 +fi
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      BUILD_WITH_OPENIPMI_CFLAGS="$with_libopenipmipthread_cflags"
 +      BUILD_WITH_OPENIPMI_LIBS="$with_libopenipmipthread_ldflags"
 +      AC_SUBST(BUILD_WITH_OPENIPMI_CFLAGS)
 +      AC_SUBST(BUILD_WITH_OPENIPMI_LIBS)
 +fi
 +
  dnl Check for libvirt and libxml2 libraries.
  with_libxml2="no (pkg-config isn't available)"
  with_libxml2_cflags=""
@@@ -1961,6 -1890,7 +2031,6 @@@ with_libxml2_ldflags="
  with_libvirt="no (pkg-config isn't available)"
  with_libvirt_cflags=""
  with_libvirt_ldflags=""
 -PKG_PROG_PKG_CONFIG
  if test "x$PKG_CONFIG" != "x"
  then
        pkg-config --exists 'libxml-2.0' 2>/dev/null
  if test "x$with_libxml2" = "xyes"
  then
        SAVE_CFLAGS="$CFLAGS"
-       SAVE_LD_FLAGS="$LDFLAGS"
+       SAVE_LDFLAGS="$LDFLAGS"
  
        CFLAGS="$CFLAGS $with_libxml2_cflags"
        LDFLAGS="$LDFLAGS $with_libxml2_ldflags"
  if test "x$with_libvirt" = "xyes"
  then
        SAVE_CFLAGS="$CFLAGS"
-       SAVE_LD_FLAGS="$LDFLAGS"
+       SAVE_LDFLAGS="$LDFLAGS"
  
        CFLAGS="$CFLAGS $with_libvirt_cflags"
        LDFLAGS="$LDFLAGS $with_libvirt_ldflags"
@@@ -2175,7 -2105,6 +2245,7 @@@ AC_COLLECTD([debug],     [enable],  [fe
  AC_COLLECTD([daemon],    [disable], [feature], [daemon mode])
  AC_COLLECTD([getifaddrs],[enable],  [feature], [getifaddrs under Linux])
  
 +plugin_ascent="no"
  plugin_battery="no"
  plugin_cpu="no"
  plugin_cpufreq="no"
@@@ -2183,7 -2112,6 +2253,7 @@@ plugin_df="no
  plugin_disk="no"
  plugin_entropy="no"
  plugin_interface="no"
 +plugin_ipmi="no"
  plugin_ipvs="no"
  plugin_irq="no"
  plugin_libvirt="no"
@@@ -2198,7 -2126,6 +2268,7 @@@ plugin_swap="no
  plugin_tape="no"
  plugin_tcpconns="no"
  plugin_users="no"
 +plugin_vmem="no"
  plugin_vserver="no"
  plugin_wireless="no"
  
@@@ -2219,7 -2146,6 +2289,7 @@@ the
        plugin_serial="yes"
        plugin_swap="yes"
        plugin_tcpconns="yes"
 +      plugin_vmem="yes"
        plugin_vserver="yes"
        plugin_wireless="yes"
  
        plugin_swap="yes"
  fi
  
 +if test "x$with_libcurl" = "xyes" && test "x$with_libxml2" = "xyes"
 +then
 +      plugin_ascent="yes"
 +fi
 +
 +if test "x$with_libopenipmipthread" = "xyes"
 +then
 +      plugin_ipmi="yes"
 +fi
 +
  if test "x$have_processor_info" = "xyes"
  then
        plugin_cpu="yes"
@@@ -2344,7 -2260,6 +2414,7 @@@ 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([ascent],      [$plugin_ascent],     [AscentEmu player statistics])
  AC_PLUGIN([battery],     [$plugin_battery],    [Battery statistics])
  AC_PLUGIN([cpu],         [$plugin_cpu],        [CPU usage statistics])
  AC_PLUGIN([cpufreq],     [$plugin_cpufreq],    [CPU frequency statistics])
@@@ -2358,7 -2273,6 +2428,7 @@@ AC_PLUGIN([exec],        [yes]
  AC_PLUGIN([hddtemp],     [yes],                [Query hddtempd])
  AC_PLUGIN([interface],   [$plugin_interface],  [Interface traffic statistics])
  AC_PLUGIN([iptables],    [$with_libiptc],      [IPTables rule counters])
 +AC_PLUGIN([ipmi],        [$plugin_ipmi],       [IPMI sensor statistics])
  AC_PLUGIN([ipvs],        [$plugin_ipvs],       [IPVS connection statistics])
  AC_PLUGIN([irq],         [$plugin_irq],        [IRQ statistics])
  AC_PLUGIN([libvirt],     [$plugin_libvirt],    [Virtual machine statistics])
@@@ -2377,7 -2291,6 +2447,7 @@@ AC_PLUGIN([ntpd],        [yes]
  AC_PLUGIN([nut],         [$with_libupsclient], [Network UPS tools statistics])
  AC_PLUGIN([perl],        [$plugin_perl],       [Embed a Perl interpreter])
  AC_PLUGIN([ping],        [$with_liboping],     [Network latency statistics])
 +AC_PLUGIN([powerdns],    [yes],                [PowerDNS 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])
@@@ -2385,14 -2298,11 +2455,14 @@@ AC_PLUGIN([serial],      [$plugin_seria
  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([tail],        [yes],                [Parsing of logfiles])
  AC_PLUGIN([tape],        [$plugin_tape],       [Tape drive statistics])
  AC_PLUGIN([tcpconns],    [$plugin_tcpconns],   [TCP connection statistics])
 +AC_PLUGIN([teamspeak2],  [yes],                [TeamSpeak2 server statistics])
  AC_PLUGIN([unixsock],    [yes],                [Unixsock communication plugin])
  AC_PLUGIN([users],       [$plugin_users],      [User statistics])
  AC_PLUGIN([uuid],        [yes],                [UUID as hostname plugin])
 +AC_PLUGIN([vmem],        [$plugin_vmem],       [Virtual memory statistics])
  AC_PLUGIN([vserver],     [$plugin_vserver],    [Linux VServer statistics])
  AC_PLUGIN([wireless],    [$plugin_wireless],   [Wireless statistics])
  AC_PLUGIN([xmms],        [$with_libxmms],      [XMMS statistics])
@@@ -2465,7 -2375,6 +2535,7 @@@ Configuration
      libnetlink  . . . . $with_libnetlink
      libnetsnmp  . . . . $with_libnetsnmp
      liboconfig  . . . . $with_liboconfig
 +    libopenipmi . . . . $with_libopenipmipthread
      liboping  . . . . . $with_liboping
      libpcap . . . . . . $with_libpcap
      libperl . . . . . . $with_libperl
      apache  . . . . . . $enable_apache
      apcups  . . . . . . $enable_apcups
      apple_sensors . . . $enable_apple_sensors
 +    ascent  . . . . . . $enable_ascent
      battery . . . . . . $enable_battery
      cpu . . . . . . . . $enable_cpu
      cpufreq . . . . . . $enable_cpufreq
      hddtemp . . . . . . $enable_hddtemp
      interface . . . . . $enable_interface
      iptables  . . . . . $enable_iptables
 +    ipmi  . . . . . . . $enable_ipmi
      ipvs  . . . . . . . $enable_ipvs
      irq . . . . . . . . $enable_irq
      libvirt . . . . . . $enable_libvirt
      nut . . . . . . . . $enable_nut
      perl  . . . . . . . $enable_perl
      ping  . . . . . . . $enable_ping
 +    powerdns  . . . . . $enable_powerdns
      processes . . . . . $enable_processes
      rrdtool . . . . . . $enable_rrdtool
      sensors . . . . . . $enable_sensors
      snmp  . . . . . . . $enable_snmp
      swap  . . . . . . . $enable_swap
      syslog  . . . . . . $enable_syslog
 +    tail  . . . . . . . $enable_tail
      tape  . . . . . . . $enable_tape
      tcpconns  . . . . . $enable_tcpconns
 +    teamspeak2  . . . . $enable_teamspeak2
      unixsock  . . . . . $enable_unixsock
      users . . . . . . . $enable_users
      uuid  . . . . . . . $enable_uuid
 +    vmem  . . . . . . . $enable_vmem
      vserver . . . . . . $enable_vserver
      wireless  . . . . . $enable_wireless
      xmms  . . . . . . . $enable_xmms
diff --combined src/Makefile.am
@@@ -30,54 -30,48 +30,51 @@@ collectd_SOURCES = collectd.c collectd.
                   utils_cache.c utils_cache.h \
                   utils_ignorelist.c utils_ignorelist.h \
                   utils_llist.c utils_llist.h \
 +                 utils_tail_match.c utils_tail_match.h \
 +                 utils_match.c utils_match.h \
                   utils_mount.c utils_mount.h \
 +                 utils_tail.c utils_tail.h \
                   utils_threshold.c utils_threshold.h \
                   types_list.c types_list.h
- collectd_CPPFLAGS = $(LTDLINCL)
- collectd_CPPFLAGS += $(AM_CPPFLAGS)
  
- # Link to these libraries..
+ collectd_CPPFLAGS =  $(AM_CPPFLAGS) $(LTDLINCL)
+ collectd_CFLAGS =
  collectd_LDFLAGS = -export-dynamic
+ collectd_LDADD =
+ collectd_DEPENDENCIES =
+ # Link to these libraries..
  if BUILD_WITH_LIBRT
- collectd_LDFLAGS += -lrt
+ collectd_LDADD += -lrt
  endif
  if BUILD_WITH_LIBSOCKET
- collectd_LDFLAGS += -lsocket
+ collectd_LDADD += -lsocket
  endif
  if BUILD_WITH_LIBRESOLV
- collectd_LDFLAGS += -lresolv
+ collectd_LDADD += -lresolv
  endif
  if BUILD_WITH_LIBPTHREAD
- collectd_LDFLAGS += -lpthread
+ collectd_LDADD += -lpthread
  endif
  if BUILD_WITH_LIBKSTAT
- collectd_LDFLAGS += -lkstat
+ collectd_LDADD += -lkstat
  endif
  if BUILD_WITH_LIBDEVINFO
- collectd_LDFLAGS += -ldevinfo
+ collectd_LDADD += -ldevinfo
  endif
  
+ # The daemon needs to call sg_init, so we need to link it against libstatgrab,
+ # too. -octo
  if BUILD_WITH_LIBSTATGRAB
- if BUILD_WITH_LIBKVM
- collectd_LDFLAGS += -lkvm
- endif
- if BUILD_WITH_LIBDEVSTAT
- collectd_LDFLAGS += -ldevstat
- endif
- collectd_LDFLAGS += -lstatgrab
+ collectd_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ collectd_LDADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
  endif
  
- 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
+ collectd_LDADD += -loconfig
  endif
  
  collectdmon_SOURCES = collectdmon.c
@@@ -124,16 -118,6 +121,16 @@@ collectd_LDADD += "-dlopen" apple_senso
  collectd_DEPENDENCIES += apple_sensors.la
  endif
  
 +if BUILD_PLUGIN_ASCENT
 +pkglib_LTLIBRARIES += ascent.la
 +ascent_la_SOURCES = ascent.c
 +ascent_la_LDFLAGS = -module -avoid-version
 +ascent_la_CFLAGS = $(BUILD_WITH_LIBCURL_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS)
 +ascent_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBXML2_LIBS)
 +collectd_LDADD += "-dlopen" apache.la
 +collectd_DEPENDENCIES += ascent.la
 +endif
 +
  if BUILD_PLUGIN_BATTERY
  pkglib_LTLIBRARIES += battery.la
  battery_la_SOURCES = battery.c
@@@ -254,25 -238,23 +251,23 @@@ endi
  if BUILD_PLUGIN_INTERFACE
  pkglib_LTLIBRARIES += interface.la
  interface_la_SOURCES = interface.c
+ interface_la_CFLAGS =
  interface_la_LDFLAGS = -module -avoid-version
+ interface_la_LIBADD =
  collectd_LDADD += "-dlopen" interface.la
  collectd_DEPENDENCIES += interface.la
+ if BUILD_WITH_LIBSTATGRAB
+ interface_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+ else
  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
+ endif # BUILD_WITH_LIBDEVINFO
+ endif # !BUILD_WITH_LIBSTATGRAB
+ endif # BUILD_PLUGIN_INTERFACE
  
  if BUILD_PLUGIN_IPTABLES
  pkglib_LTLIBRARIES += iptables.la
@@@ -282,16 -264,6 +277,16 @@@ collectd_LDADD += "-dlopen" iptables.l
  collectd_DEPENDENCIES += iptables.la
  endif
  
 +if BUILD_PLUGIN_IPMI
 +pkglib_LTLIBRARIES += ipmi.la
 +ipmi_la_SOURCES = ipmi.c
 +ipmi_la_CFLAGS = $(BUILD_WITH_OPENIPMI_CFLAGS)
 +ipmi_la_LDFLAGS = -module -avoid-version
 +ipmi_la_LIBADD = $(BUILD_WITH_OPENIPMI_LIBS)
 +collectd_LDADD += "-dlopen" ipmi.la
 +collectd_DEPENDENCIES += ipmi.la
 +endif
 +
  if BUILD_PLUGIN_IPVS
  pkglib_LTLIBRARIES += ipvs.la
  ipvs_la_SOURCES = ipvs.c
@@@ -321,19 -293,16 +316,16 @@@ endi
  if BUILD_PLUGIN_LOAD
  pkglib_LTLIBRARIES += load.la
  load_la_SOURCES = load.c
+ load_la_CFLAGS =
  load_la_LDFLAGS = -module -avoid-version
+ load_la_LIBADD =
  collectd_LDADD += "-dlopen" load.la
  collectd_DEPENDENCIES += load.la
  if BUILD_WITH_LIBSTATGRAB
- if BUILD_WITH_LIBKVM
- load_la_LDFLAGS += -lkvm
- endif
- if BUILD_WITH_LIBDEVSTAT
- load_la_LDFLAGS += -ldevstat
- endif
- load_la_LDFLAGS += -lstatgrab
- endif
- endif
+ load_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ load_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+ endif # BUILD_WITH_LIBSTATGRAB
+ endif # BUILD_PLUGIN_LOAD
  
  if BUILD_PLUGIN_LOGFILE
  pkglib_LTLIBRARIES += logfile.la
@@@ -370,23 -339,20 +362,20 @@@ endi
  if BUILD_PLUGIN_MEMORY
  pkglib_LTLIBRARIES += memory.la
  memory_la_SOURCES = memory.c
+ memory_la_CFLAGS =
  memory_la_LDFLAGS = -module -avoid-version
+ memory_la_LIBADD =
  collectd_LDADD += "-dlopen" memory.la
  collectd_DEPENDENCIES += memory.la
  if BUILD_WITH_LIBKSTAT
- memory_la_LDFLAGS += -lkstat
+ memory_la_LIBADD += -lkstat
  endif
  if BUILD_WITH_LIBDEVINFO
- memory_la_LDFLAGS += -ldevinfo
+ memory_la_LIBADD += -ldevinfo
  endif
  if BUILD_WITH_LIBSTATGRAB
- if BUILD_WITH_LIBKVM
- memory_la_LDFLAGS += -lkvm
- endif
- if BUILD_WITH_LIBDEVSTAT
- memory_la_LDFLAGS += -ldevstat
- endif
- memory_la_LDFLAGS += -lstatgrab
+ memory_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ memory_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
  endif
  endif
  
@@@ -504,14 -470,6 +493,14 @@@ collectd_LDADD += "-dlopen" ping.l
  collectd_DEPENDENCIES += ping.la
  endif
  
 +if BUILD_PLUGIN_POWERDNS
 +pkglib_LTLIBRARIES += powerdns.la
 +powerdns_la_SOURCES = powerdns.c
 +powerdns_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" powerdns.la
 +collectd_DEPENDENCIES += powerdns.la
 +endif
 +
  if BUILD_PLUGIN_PROCESSES
  pkglib_LTLIBRARIES += processes.la
  processes_la_SOURCES = processes.c
@@@ -568,23 -526,23 +557,23 @@@ endi
  if BUILD_PLUGIN_SWAP
  pkglib_LTLIBRARIES += swap.la
  swap_la_SOURCES = swap.c
+ swap_la_CFLAGS =
  swap_la_LDFLAGS = -module -avoid-version
+ swap_la_LIBADD =
  collectd_LDADD += "-dlopen" swap.la
  collectd_DEPENDENCIES += swap.la
  if BUILD_WITH_LIBKSTAT
- swap_la_LDFLAGS += -lkstat
+ swap_la_LIBADD += -lkstat
  endif
  if BUILD_WITH_LIBDEVINFO
- swap_la_LDFLAGS += -ldevinfo
+ swap_la_LIBADD += -ldevinfo
  endif
  if BUILD_WITH_LIBKVM
- swap_la_LDFLAGS += -lkvm
+ swap_la_LIBADD += -lkvm
  endif
  if BUILD_WITH_LIBSTATGRAB
- if BUILD_WITH_LIBDEVSTAT
- swap_la_LDFLAGS += -ldevstat
- endif
- swap_la_LDFLAGS += -lstatgrab
+ swap_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ swap_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
  endif
  endif
  
@@@ -596,14 -554,6 +585,14 @@@ collectd_LDADD += "-dlopen" syslog.l
  collectd_DEPENDENCIES += syslog.la
  endif
  
 +if BUILD_PLUGIN_TAIL
 +pkglib_LTLIBRARIES += tail.la
 +tail_la_SOURCES = tail.c
 +tail_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" tail.la
 +collectd_DEPENDENCIES += tail.la
 +endif
 +
  if BUILD_PLUGIN_TAPE
  pkglib_LTLIBRARIES += tape.la
  tape_la_SOURCES = tape.c
@@@ -620,22 -570,9 +609,22 @@@ collectd_LDADD += "-dlopen" tcpconns.l
  collectd_DEPENDENCIES += tcpconns.la
  endif
  
 +if BUILD_PLUGIN_TEAMSPEAK2
 +pkglib_LTLIBRARIES += teamspeak2.la
 +teamspeak2_la_SOURCES = teamspeak2.c
 +teamspeak2_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" teamspeak2.la
 +collectd_DEPENDENCIES += teamspeak2.la
 +endif
 +
  if BUILD_PLUGIN_UNIXSOCK
  pkglib_LTLIBRARIES += unixsock.la
 -unixsock_la_SOURCES = unixsock.c utils_cmd_putval.h utils_cmd_putval.c utils_cmd_putnotif.h utils_cmd_putnotif.c
 +unixsock_la_SOURCES = unixsock.c \
 +                    utils_cmd_flush.h utils_cmd_flush.c \
 +                    utils_cmd_getval.h utils_cmd_getval.c \
 +                    utils_cmd_listval.h utils_cmd_listval.c \
 +                    utils_cmd_putval.h utils_cmd_putval.c \
 +                    utils_cmd_putnotif.h utils_cmd_putnotif.c
  unixsock_la_LDFLAGS = -module -avoid-version -lpthread
  collectd_LDADD += "-dlopen" unixsock.la
  collectd_DEPENDENCIES += unixsock.la
@@@ -659,14 -596,6 +648,14 @@@ collectd_LDADD += "-dlopen" uuid.l
  collectd_DEPENDENCIES += uuid.la
  endif
  
 +if BUILD_PLUGIN_VMEM
 +pkglib_LTLIBRARIES += vmem.la
 +vmem_la_SOURCES = vmem.c
 +vmem_la_LDFLAGS = -module -avoid-version
 +collectd_LDADD += "-dlopen" vmem.la
 +collectd_DEPENDENCIES += vmem.la
 +endif
 +
  if BUILD_PLUGIN_VSERVER
  pkglib_LTLIBRARIES += vserver.la
  vserver_la_SOURCES = vserver.c