X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=c08a61a717e03913a9a02730a8b7271080ad52b7;hb=111064d7154cd6a5a781fb9c13cd9829c95ec7d9;hp=415ddd71c138f450f4759e4e327656f6c1c84b06;hpb=5a4daa815531077fdf8b3e425b92f88fa0abb42a;p=collectd.git diff --git a/configure.in b/configure.in index 415ddd71..c08a61a7 100644 --- a/configure.in +++ b/configure.in @@ -1467,29 +1467,32 @@ SAVE_CPPFLAGS="$CPPFLAGS" SAVE_LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS" LDFLAGS="$LDFLAGS $LIBIPTC_LDFLAGS" -if test "x$with_libiptc" = "xyes" +# check whether the header file for libiptc is available. +if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then - AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [], + AC_CHECK_HEADERS(libiptc/libiptc.h, [ - with_libiptc="no (Linux iptables headers not found)" - with_own_libiptc="no" + AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the header file.]) ], [ -#include "$srcdir/src/owniptc/ipt_kernel_headers.h" + with_libiptc="yes" + with_own_libiptc="yes" ]) - fi if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then - AC_CHECK_HEADERS(libiptc/libiptc.h, + AC_CHECK_HEADERS(libiptc/libip6tc.h, [ - AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the header file.]) + AC_DEFINE(HAVE_LIBIPTC_LIBIP6TC_H, 1, [Define to 1 if you have the header file.]) ], [ with_libiptc="yes" with_own_libiptc="yes" ]) fi +# If the header file is available, check for the required type declaractions. +# They may be missing in old versions of libiptc. In that case, they will be +# declared in the iptables plugin. if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [], @@ -1503,6 +1506,7 @@ then #endif ]) fi +# Check for the iptc_init symbol in the library. if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" then AC_CHECK_LIB(iptc, iptc_init, @@ -1514,6 +1518,19 @@ then with_own_libiptc="yes" ]) fi +# The system wide version failed for some reason. Check if we have the required +# headers to build the shipped version. +if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xyes" +then + AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h linux/netfilter/x_tables.h, [], + [ + with_libiptc="no (Linux iptables headers not found)" + with_own_libiptc="no" + ], + [ +#include "$srcdir/src/owniptc/ipt_kernel_headers.h" + ]) +fi AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes") AM_CONDITIONAL(BUILD_WITH_OWN_LIBIPTC, test "x$with_own_libiptc" = "xyes") if test "x$with_libiptc" = "xyes"