Code

Merge branch 'sr/pf'
authorFlorian Forster <octo@collectd.org>
Sat, 17 Nov 2012 08:42:55 +0000 (09:42 +0100)
committerFlorian Forster <octo@collectd.org>
Sat, 17 Nov 2012 08:42:55 +0000 (09:42 +0100)
1  2 
configure.in
src/Makefile.am

diff --combined configure.in
index 7c4ec3a2da07f0ab5d091e32e99e2fced01d0cae,c5544c1219acf256fd90c48038ed5d3de04c3499..cd24f536c0328fbf0c28307fb9af5e0b76ad7d41
@@@ -535,6 -535,9 +535,9 @@@ AC_CHECK_HEADERS(netinet/if_ether.h, []
  
  AC_CHECK_HEADERS(netinet/ip_compat.h)
  
+ have_net_pfvar_h="no"
+ AC_CHECK_HEADERS(net/pfvar.h, [have_net_pfvar_h="yes"])
  # For the multimeter plugin
  have_termios_h="no"
  AC_CHECK_HEADERS(termios.h, [have_termios_h="yes"])
@@@ -1228,7 -1231,6 +1231,7 @@@ AC_CHECK_MEMBERS([struct kinfo_proc.ki_
                have_struct_kinfo_proc_freebsd="no"
        ],
        [
 +AC_INCLUDES_DEFAULT
  #include <kvm.h>
  #include <sys/param.h>
  #include <sys/sysctl.h>
@@@ -1245,7 -1247,6 +1248,7 @@@ AC_CHECK_MEMBERS([struct kinfo_proc.kp_
                have_struct_kinfo_proc_openbsd="no"
        ],
        [
 +AC_INCLUDES_DEFAULT
  #include <sys/param.h>
  #include <sys/sysctl.h>
  #include <kvm.h>
  # This could be in iptc or ip4tc
  if test "x$with_libiptc" = "xpkgconfig"
  then
 +      SAVE_LIBS="$LIBS"
        AC_SEARCH_LIBS(iptc_init, [iptc ip4tc],
                        [with_libiptc="pkgconfig"],
                        [with_libiptc="no"],
                        [$with_libiptc_libs])
 +      LIBS="$SAVE_LIBS"
  fi
  if test "x$with_libiptc" = "xpkgconfig"
  then
  #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([AC_LANG_PROGRAM(
 +                           [
 +                            #include <stdio.h>
 +                            #include <sys/types.h>
 +                            #include <asm/types.h>
 +                            #include <sys/socket.h>
 +                            #include <linux/netlink.h>
 +                            #include <linux/rtnetlink.h>
 +                            ], [
 +                                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>
  fi
  if test "x$with_libnetlink" = "xyes"
  then
 +      SAVE_CFLAGS="$CFLAGS"
 +      CFLAGS="$CFLAGS $with_libnetlink_cflags"
 +
 +      AC_CACHE_CHECK(
 +              [if function 'rtnl_dump_filter' expects five arguments],
 +              [c_cv_rtnl_dump_filter_five_args],
 +              AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
 +                              [
 +AC_INCLUDES_DEFAULT
 +#include <asm/types.h>
 +#include <sys/socket.h>
 +#if HAVE_LIBNETLINK_H
 +# include <libnetlink.h>
 +#elif HAVE_IPROUTE_LIBNETLINK_H
 +# include <iproute/libnetlink.h>
 +#elif HAVE_LINUX_LIBNETLINK_H
 +# include <linux/libnetlink.h>
 +#endif
 +                              ],
 +                              [
 +if (rtnl_dump_filter(NULL, NULL, NULL, NULL, NULL))
 +      return 1;
 +return 0;
 +                              ]
 +                      )],
 +                      [c_cv_rtnl_dump_filter_five_args="yes"],
 +                      [c_cv_rtnl_dump_filter_five_args="no"]
 +              )
 +      )
 +
 +      AC_CACHE_CHECK(
 +              [if function 'rtnl_dump_filter' expects three arguments],
 +              [c_cv_rtnl_dump_filter_three_args],
 +              AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
 +                              [
 +AC_INCLUDES_DEFAULT
 +#include <asm/types.h>
 +#include <sys/socket.h>
 +#if HAVE_LIBNETLINK_H
 +# include <libnetlink.h>
 +#elif HAVE_IPROUTE_LIBNETLINK_H
 +# include <iproute/libnetlink.h>
 +#elif HAVE_LINUX_LIBNETLINK_H
 +# include <linux/libnetlink.h>
 +#endif
 +                              ],
 +                              [
 +if (rtnl_dump_filter(NULL, NULL, NULL))
 +      return 1;
 +return 0;
 +                              ]
 +                      )],
 +                      [c_cv_rtnl_dump_filter_three_args="yes"],
 +                      [c_cv_rtnl_dump_filter_three_args="no"]
 +              )
 +      )
 +
 +      CFLAGS="$SAVE_CFLAGS"
 +
 +      if test "x$c_cv_rtnl_dump_filter_five_args" = "xyes"
 +      then
 +              AC_DEFINE(RTNL_DUMP_FILTER_FIVE_ARGS, 1,
 +                              [Define to 1 if function 'rtnl_dump_filter' expects five arguments.])
 +      fi
 +      if test "x$c_cv_rtnl_dump_filter_three_args" = "xyes"
 +      then
 +              AC_DEFINE(RTNL_DUMP_FILTER_THREE_ARGS, 1,
 +                              [Define to 1 if function 'rtnl_dump_filter' expects three arguments.])
 +      fi
 +
        BUILD_WITH_LIBNETLINK_CFLAGS="$with_libnetlink_cflags"
        BUILD_WITH_LIBNETLINK_LIBS="$with_libnetlink_libs"
        AC_SUBST(BUILD_WITH_LIBNETLINK_CFLAGS)
@@@ -2985,7 -2915,7 +2988,7 @@@ AM_CONDITIONAL(BUILD_WITH_LIBPCAP, tes
  perl_interpreter="perl"
  AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])],
  [
 -      if test -x "$withval"
 +      if test -f "$withval" && test -x "$withval"
        then
                perl_interpreter="$withval"
                with_libperl="yes"
@@@ -4133,7 -4063,7 +4136,7 @@@ AC_ARG_WITH(libvarnish, [AS_HELP_STRING
        then
                AC_MSG_NOTICE([Not checking for libvarnish: Manually configured])
                with_libvarnish_cflags="-I$withval/include"
 -              with_libvarnish_libs="-L$withval/lib -lvarnish -lvarnishcompat -lvarnishapi"
 +              with_libvarnish_libs="-L$withval/lib -lvarnishapi"
                with_libvarnish="yes"
        fi; fi; fi
  ],
  if test "x$with_perfstat" = "xyes"
  then
        plugin_cpu="yes"
 +      plugin_contextswitch="yes"
        plugin_disk="yes"
        plugin_memory="yes"
        plugin_swap="yes"
        plugin_interface="yes"
        plugin_load="yes"
 +      plugin_uptime="yes"
  fi
  
  if test "x$with_procinfo" = "xyes"
@@@ -4852,7 -4780,6 +4855,7 @@@ AC_ARG_ENABLE([all-plugins]
  
  m4_divert_once([HELP_ENABLE], [])
  
 +AC_PLUGIN([aggregation], [yes],                [Aggregation plugin])
  AC_PLUGIN([amqp],        [$with_librabbitmq],  [AMQP output plugin])
  AC_PLUGIN([apache],      [$with_libcurl],      [Apache httpd statistics])
  AC_PLUGIN([apcups],      [yes],                [Statistics of UPSes by APC])
@@@ -4919,6 -4846,7 +4922,7 @@@ AC_PLUGIN([onewire],     [$with_libowca
  AC_PLUGIN([openvpn],     [yes],                [OpenVPN client statistics])
  AC_PLUGIN([oracle],      [$with_oracle],       [Oracle plugin])
  AC_PLUGIN([perl],        [$plugin_perl],       [Embed a Perl interpreter])
+ AC_PLUGIN([pf],          [$have_net_pfvar_h],  [BSD packet filter (PF) statistics])
  # FIXME: Check for libevent, too.
  AC_PLUGIN([pinba],       [$have_protoc_c],     [Pinba statistics])
  AC_PLUGIN([ping],        [$with_liboping],     [Network latency statistics])
@@@ -5102,7 -5030,7 +5106,7 @@@ AC_SUBST(LCC_VERSION_PATCH
  AC_SUBST(LCC_VERSION_EXTRA)
  AC_SUBST(LCC_VERSION_STRING)
  
 -AC_CONFIG_FILES(src/libcollectdclient/lcc_features.h)
 +AC_CONFIG_FILES(src/libcollectdclient/collectd/lcc_features.h)
  
  AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile)
  
@@@ -5185,7 -5113,6 +5189,7 @@@ Configuration
      perl  . . . . . . . . $with_perl_bindings
  
    Modules:
 +    aggregation . . . . . $enable_aggregation
      amqp    . . . . . . . $enable_amqp
      apache  . . . . . . . $enable_apache
      apcups  . . . . . . . $enable_apcups
      openvpn . . . . . . . $enable_openvpn
      oracle  . . . . . . . $enable_oracle
      perl  . . . . . . . . $enable_perl
+     pf  . . . . . . . . . $enable_pf
      pinba . . . . . . . . $enable_pinba
      ping  . . . . . . . . $enable_ping
      postgresql  . . . . . $enable_postgresql
diff --combined src/Makefile.am
index 3532e7b2d63875f21babd0d4bc309b234d40c8c7,fb94c7616c0cd7892b01f13643fe7bdd4f327cac..26c2355e50a0aead892ddc9fb3bc10156dc05a54
@@@ -18,7 -18,7 +18,7 @@@ AM_CPPFLAGS += -DPLUGINDIR='"${pkglibdi
  AM_CPPFLAGS += -DPKGDATADIR='"${pkgdatadir}"'
  
  sbin_PROGRAMS = collectd collectdmon
 -bin_PROGRAMS = collectd-nagios collectdctl
 +bin_PROGRAMS = collectd-nagios collectdctl collectd-tg
  
  collectd_SOURCES = collectd.c collectd.h \
                   common.c common.h \
@@@ -113,34 -113,12 +113,34 @@@ endi
  collectdctl_LDADD += libcollectdclient/libcollectdclient.la
  collectdctl_DEPENDENCIES = libcollectdclient/libcollectdclient.la
  
 +collectd_tg_SOURCES = collectd-tg.c \
 +                    utils_heap.c utils_heap.h
 +collectd_tg_LDADD =
 +if BUILD_WITH_LIBSOCKET
 +collectd_tg_LDADD += -lsocket
 +endif
 +if BUILD_AIX
 +collectd_tg_LDADD += -lm
 +endif
 +collectd_tg_LDADD += libcollectdclient/libcollectdclient.la
 +collectd_tg_DEPENDENCIES = libcollectdclient/libcollectdclient.la
 +
  
  pkglib_LTLIBRARIES = 
  
  BUILT_SOURCES = 
  CLEANFILES = 
  
 +if BUILD_PLUGIN_AGGREGATION
 +pkglib_LTLIBRARIES += aggregation.la
 +aggregation_la_SOURCES = aggregation.c \
 +                         utils_vl_lookup.c utils_vl_lookup.h
 +aggregation_la_LDFLAGS = -module -avoid-version
 +aggregation_la_LIBADD =
 +collectd_LDADD += "-dlopen" aggregation.la
 +collectd_DEPENDENCIES += aggregation.la
 +endif
 +
  if BUILD_PLUGIN_AMQP
  pkglib_LTLIBRARIES += amqp.la
  amqp_la_SOURCES = amqp.c \
@@@ -235,10 -213,6 +235,10 @@@ if BUILD_PLUGIN_CONTEXTSWITC
  pkglib_LTLIBRARIES += contextswitch.la
  contextswitch_la_SOURCES = contextswitch.c
  contextswitch_la_LDFLAGS = -module -avoid-version
 +contextswitch_la_LIBADD =
 +if BUILD_WITH_PERFSTAT
 +contextswitch_la_LIBADD += -lperfstat
 +endif
  collectd_LDADD += "-dlopen" contextswitch.la
  collectd_DEPENDENCIES += contextswitch.la
  endif
@@@ -888,6 -862,14 +888,14 @@@ collectd_LDADD += "-dlopen" perl.l
  collectd_DEPENDENCIES += perl.la
  endif
  
+ if BUILD_PLUGIN_PF
+ pkglib_LTLIBRARIES += pf.la
+ pf_la_SOURCES = pf.c
+ pf_la_LDFLAGS = -module -avoid-version
+ collectd_LDADD += "-dlopen" pf.la
+ collectd_DEPENDENCIES += pf.la
+ endif
  if BUILD_PLUGIN_PINBA
  BUILT_SOURCES += pinba.pb-c.c pinba.pb-c.h
  CLEANFILES += pinba.pb-c.c pinba.pb-c.h
@@@ -1218,9 -1200,6 +1226,9 @@@ uptime_la_LIBADD 
  if BUILD_WITH_LIBKSTAT
  uptime_la_LIBADD += -lkstat
  endif
 +if BUILD_WITH_PERFSTAT
 +uptime_la_LIBADD += -lperfstat
 +endif
  collectd_LDADD += "-dlopen" uptime.la
  collectd_DEPENDENCIES += uptime.la
  endif
@@@ -1348,8 -1327,6 +1356,8 @@@ collectd_LDADD += "-dlopen" zfs_arc.l
  collectd_DEPENDENCIES += zfs_arc.la
  endif
  
 +BUILT_SOURCES += $(dist_man_MANS)
 +
  dist_man_MANS = collectd.1 \
                collectd.conf.5 \
                collectd-email.5 \
@@@ -1416,21 -1393,3 +1424,21 @@@ install-exec-hook
        $(INSTALL) -m 0644 $(srcdir)/types.db $(DESTDIR)$(pkgdatadir)/types.db;
        $(INSTALL) -m 0644 $(srcdir)/postgresql_default.conf \
                $(DESTDIR)$(pkgdatadir)/postgresql_default.conf;
 +
 +uninstall-hook:
 +      rm -f $(DESTDIR)$(pkgdatadir)/types.db;
 +      rm -f $(DESTDIR)$(sysconfdir)/collectd.conf
 +      rm -f $(DESTDIR)$(pkgdatadir)/postgresql_default.conf;
 +
 +if BUILD_FEATURE_DEBUG
 +bin_PROGRAMS += utils_vl_lookup_test
 +utils_vl_lookup_test_SOURCES = utils_vl_lookup_test.c \
 +                               utils_vl_lookup.h utils_vl_lookup.c \
 +                               utils_avltree.c utils_avltree.h \
 +                               common.h
 +
 +utils_vl_lookup_test_CPPFLAGS =  $(AM_CPPFLAGS) $(LTDLINCL) -DBUILD_TEST=1
 +utils_vl_lookup_test_CFLAGS = $(AM_CFLAGS)
 +utils_vl_lookup_test_LDFLAGS = -export-dynamic
 +utils_vl_lookup_test_LDADD =
 +endif