From: Florian Forster Date: Thu, 17 Sep 2009 07:36:35 +0000 (+0200) Subject: Build system: Further improve libiptc handling. X-Git-Tag: collectd-4.7.4~12 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=af0dd163e5e9ea9de922aba0b71f76d8d921724f;p=collectd.git Build system: Further improve libiptc handling. Only check for “iptc_handle_t” and “ip6tc_handle_t” if using a system-wide version of libiptc. If we use the shipped version, we *know* it provides these types. --- diff --git a/configure.in b/configure.in index 9f26be3b..092fbd02 100644 --- a/configure.in +++ b/configure.in @@ -1449,16 +1449,21 @@ AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to l with_libiptc="no (Linux only)" fi ]) -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" +SAVE_CPPFLAGS="$CPPFLAGS" +SAVE_LDFLAGS="$LDFLAGS" +CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS" +LDFLAGS="$LDFLAGS $LIBIPTC_LDFLAGS" +if test "x$with_libiptc" = "xyes" then - AC_CHECK_LIB(iptc, iptc_init, + AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [], [ - AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).]) + with_libiptc="no (Linux iptables headers not found)" + with_own_libiptc="no" ], [ - with_libiptc="yes" - with_own_libiptc="yes" +#include "$srcdir/src/owniptc/ipt_kernel_headers.h" ]) + fi if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then @@ -1471,27 +1476,8 @@ then with_own_libiptc="yes" ]) fi -if test "x$with_libiptc" = "xyes" -then - SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS" - - AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [], - [ - with_libiptc="no (Linux iptables headers not found - check KERNEL_DIR)" - with_own_libiptc="no" - ], - [ -#include "$srcdir/src/owniptc/ipt_kernel_headers.h" - ]) - - CPPFLAGS="$SAVE_CPPFLAGS" -fi -if test "x$with_libiptc" = "xyes" +if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then - SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS" - AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [], [ #if OWN_LIBIPTC @@ -1502,8 +1488,17 @@ then # include #endif ]) - - CPPFLAGS="$SAVE_CPPFLAGS" +fi +if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" +then + AC_CHECK_LIB(iptc, iptc_init, + [ + AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).]) + ], + [ + with_libiptc="yes" + with_own_libiptc="yes" + ]) fi AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes") AM_CONDITIONAL(BUILD_WITH_OWN_LIBIPTC, test "x$with_own_libiptc" = "xyes") @@ -1518,6 +1513,8 @@ if test "x$with_own_libiptc" = "xyes" then AC_DEFINE(OWN_LIBIPTC, 1, [Define to 1 if we use the shipped iptc library.]) fi +CPPFLAGS="$SAVE_CPPFLAGS" +LDFLAGS="$SAVE_LDFLAGS" # }}} # --with-java {{{ diff --git a/src/iptables.c b/src/iptables.c index 69cd39c4..aa53074a 100644 --- a/src/iptables.c +++ b/src/iptables.c @@ -34,10 +34,13 @@ #if OWN_LIBIPTC # include "owniptc/libiptc.h" # include "owniptc/libip6tc.h" -#else + +# define HAVE_IPTC_HANDLE_T 1 +# define HAVE_IP6TC_HANDLE_T 1 + +#else /* if !OWN_LIBIPTC */ # include # include -#endif /* * iptc_handle_t was available before libiptc was officially available as a @@ -51,12 +54,13 @@ * this is somewhat hacky, I didn't find better way to solve that :-/ * -tokkee */ -#ifndef HAVE_IPTC_HANDLE_T +# ifndef HAVE_IPTC_HANDLE_T typedef struct iptc_handle iptc_handle_t; -#endif -#ifndef HAVE_IP6TC_HANDLE_T +# endif +# ifndef HAVE_IP6TC_HANDLE_T typedef struct ip6tc_handle ip6tc_handle_t; -#endif +# endif +#endif /* !OWN_LIBIPTC */ /* * (Module-)Global variables