From 043a6f45dbab10267d0bb81ec5ad9a313669ec35 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Tue, 19 Aug 2008 09:42:15 +0200 Subject: [PATCH] build system: Check for `kvm_nlist'. Build the tcpconns plugin if it exists. --- configure.in | 13 +++++++++++++ src/Makefile.am | 2 +- src/tcpconns.c | 24 +++++++++++++----------- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/configure.in b/configure.in index dc3e4ede..e63ee213 100644 --- a/configure.in +++ b/configure.in @@ -1251,6 +1251,14 @@ then fi AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETSWAPINFO, test "x$with_kvm_getswapinfo" = "xyes") +AC_CHECK_LIB(kvm, kvm_nlist, [with_kvm_nlist="yes"], [with_kvm_nlist="no"]) +if test "x$with_kvm_nlist" = "xyes" +then + AC_DEFINE(HAVE_LIBKVM_NLIST, 1, + [Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)]) +fi +AM_CONDITIONAL(BUILD_WITH_LIBKVM_NLIST, test "x$with_kvm_nlist" = "xyes") + with_sensors_cflags="" with_sensors_ldflags="" AC_ARG_WITH(lm-sensors, [AS_HELP_STRING([--with-lm-sensors@<:@=PREFIX@:>@], [Path to lm_sensors.])], @@ -2639,6 +2647,11 @@ then plugin_swap="yes" fi +if test "x$with_kvm_nlist" = "xyes" +then + plugin_tcpconns="yes" +fi + if test "x$have_getutent" = "xyes" then plugin_users="yes" diff --git a/src/Makefile.am b/src/Makefile.am index 25d30473..55770f0f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -686,7 +686,7 @@ tcpconns_la_LDFLAGS = -module -avoid-version tcpconns_la_LIBADD = collectd_LDADD += "-dlopen" tcpconns.la collectd_DEPENDENCIES += tcpconns.la -if BUILD_WITH_LIBKVM +if BUILD_WITH_LIBKVM_NLIST tcpconns_la_LIBADD += -lkvm endif endif diff --git a/src/tcpconns.c b/src/tcpconns.c index d53cb5aa..d39a6c32 100644 --- a/src/tcpconns.c +++ b/src/tcpconns.c @@ -20,7 +20,8 @@ **/ /** - * Code within `__OpenBSD__' blocks is provided under the following license: + * Code within `HAVE_LIBKVM_NLIST' blocks is provided under the following + * license: * * $collectd: parts of tcpconns.c, 2008/08/08 03:48:30 Michael Stapelberg $ * $OpenBSD: inet.c,v 1.100 2007/06/19 05:28:30 ray Exp $ @@ -58,7 +59,7 @@ #include "common.h" #include "plugin.h" -#if !KERNEL_LINUX && !HAVE_SYSCTLBYNAME && !__OpenBSD__ +#if !KERNEL_LINUX && !HAVE_SYSCTLBYNAME && !HAVE_LIBKVM_NLIST # error "No applicable input method." #endif @@ -94,7 +95,8 @@ # include /* #endif HAVE_SYSCTLBYNAME */ -#elif __OpenBSD__ +/* This is for OpenBSD and possibly NetBSD. */ +#elif HAVE_LIBKVM_NLIST # include # include # include @@ -109,7 +111,7 @@ # include # include # include -#endif /* __OpenBSD__ */ +#endif /* HAVE_LIBKVM_NLIST */ #if KERNEL_LINUX static const char *tcp_state[] = @@ -154,7 +156,7 @@ static const char *tcp_state[] = # define TCP_STATE_MAX 10 /* #endif HAVE_SYSCTLBYNAME */ -#elif __OpenBSD__ +#elif HAVE_LIBKVM_NLIST static const char *tcp_state[] = { "CLOSED", @@ -177,7 +179,7 @@ struct inpcbtable *inpcbtable_ptr = NULL; # define TCP_STATE_LISTEN 1 # define TCP_STATE_MIN 1 # define TCP_STATE_MAX 10 -#endif /* __OpenBSD__ */ +#endif /* HAVE_LIBKVM_NLIST */ #define PORT_COLLECT_LOCAL 0x01 #define PORT_COLLECT_REMOTE 0x02 @@ -439,8 +441,8 @@ static int conn_read_file (const char *file) #elif HAVE_SYSCTLBYNAME /* #endif HAVE_SYSCTLBYNAME */ -#elif __OpenBSD__ -#endif /* __OpenBSD__ */ +#elif HAVE_LIBKVM_NLIST +#endif /* HAVE_LIBKVM_NLIST */ static int conn_config (const char *key, const char *value) { @@ -596,7 +598,7 @@ static int conn_read (void) } /* int conn_read */ /* #endif HAVE_SYSCTLBYNAME */ -#elif __OpenBSD__ +#elif HAVE_LIBKVM_NLIST static int kread (u_long addr, void *buf, int size) { int status; @@ -694,7 +696,7 @@ static int conn_read (void) return (0); } -#endif /* __OpenBSD__ */ +#endif /* HAVE_LIBKVM_NLIST */ void module_register (void) { @@ -704,7 +706,7 @@ void module_register (void) plugin_register_init ("tcpconns", conn_init); #elif HAVE_SYSCTLBYNAME /* no initialization */ -#elif __OpenBSD__ +#elif HAVE_LIBKVM_NLIST plugin_register_init ("tcpconns", conn_init); #endif plugin_register_read ("tcpconns", conn_read); -- 2.11.0