iptables: fix build without ipv6 support in toolchain

Patch by Steffen Schulz <sf@cbg.dyndns.org>, closes #233.
This commit is contained in:
Peter Korsgaard 2009-03-30 18:41:53 +00:00
parent eee376bc8e
commit 4e5ecadd22
2 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,70 @@
Make ipv6 support optional. Patch by Steffen Schulz <sf@cbg.dyndns.org>
Submitted upstream as http://bugzilla.netfilter.org/show_bug.cgi?id=588
diff -ru iptables-1.4.2/configure.ac iptables-1.4.2_patched/configure.ac
--- iptables-1.4.2/configure.ac 2009-03-29 15:49:24.764299587 +0000
+++ iptables-1.4.2_patched/configure.ac 2009-03-29 15:38:29.082512186 +0000
@@ -37,6 +37,9 @@
[enable_devel="$enableval"], [enable_devel="yes"])
AC_ARG_ENABLE([libipq],
AS_HELP_STRING([--enable-libipq], [Build and install libipq]))
+AC_ARG_ENABLE([ipv6],
+ AS_HELP_STRING([--enable-ipv6], [Build and install ip6tables]),
+ [enable_ipv6="$enableval"], [enable_ipv6="yes"])
AC_ARG_WITH([pkgconfigdir], AS_HELP_STRING([--with-pkgconfigdir=PATH],
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
[pkgconfigdir="$withval"], [pkgconfigdir='${libdir}/pkgconfig'])
@@ -53,6 +56,7 @@
AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = "yes"])
AM_CONDITIONAL([ENABLE_DEVEL], [test "$enable_devel" = "yes"])
AM_CONDITIONAL([ENABLE_LIBIPQ], [test "$enable_libipq" = "yes"])
+AM_CONDITIONAL([ENABLE_IPV6], [test "$enable_ipv6" == "yes"])
regular_CFLAGS="-D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 \
-D_REENTRANT -Wall -Waggregate-return -Wmissing-declarations \
Only in iptables-1.4.2: configure.ac.orig
Only in iptables-1.4.2: configure.ac.rej
diff -ru iptables-1.4.2/Makefile.am iptables-1.4.2_patched/Makefile.am
--- iptables-1.4.2/Makefile.am 2008-10-08 16:31:58.000000000 +0000
+++ iptables-1.4.2_patched/Makefile.am 2009-03-29 15:38:29.082512186 +0000
@@ -80,11 +80,17 @@
endif
if ENABLE_STATIC
-sbin_PROGRAMS += iptables-static ip6tables-static
+sbin_PROGRAMS += iptables-static
+if ENABLE_IPV6
+sbin_PROGRAMS += ip6tables-static
+endif
+
endif
if ENABLE_SHARED
-sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save \
- ip6tables ip6tables-multi ip6tables-restore ip6tables-save
+sbin_PROGRAMS += iptables iptables-multi iptables-restore iptables-save
+if ENABLE_IPV6
+sbin_PROGRAMS += ip6tables ip6tables-multi ip6tables-restore ip6tables-save
+endif
endif
iptables.8: ${srcdir}/iptables.8.in extensions/matches4.man extensions/targets4.man
diff -ru iptables-1.4.2/xtables.c iptables-1.4.2_patched/xtables.c
--- iptables-1.4.2/xtables.c 2008-10-08 16:31:58.000000000 +0000
+++ iptables-1.4.2_patched/xtables.c 2009-03-29 15:38:29.082512186 +0000
@@ -964,6 +964,8 @@
}
}
+#ifdef ENABLE_IPV6
+
const char *ip6addr_to_numeric(const struct in6_addr *addrp)
{
/* 0000:0000:0000:0000:0000:000.000.000.000
@@ -1189,6 +1191,7 @@
}
}
}
+#endif
void save_string(const char *value)
{

View File

@ -8,6 +8,10 @@ IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2
IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables
IPTABLES_CONF_OPT = --libexecdir=/usr/lib
ifneq ($(BR2_INET_IPV6),y)
IPTABLES_CONF_OPT += --enable-ipv6=no
endif
IPTABLES_INSTALL_TARGET = YES
IPTABLES_AUTORECONF = YES