package/ebtables: disable for musl toolchains
authorRomain Naour <romain.naour@openwide.fr>
Wed, 11 Nov 2015 18:01:17 +0000 (19:01 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 13 Nov 2015 21:41:46 +0000 (22:41 +0100)
ebtabes fail to build with a musl based toolchain due to several errors.
Most of them has been fixed by [1] and [2] but it's not enought because
useful_functions.c fail to build due to mixed usespace and kernel headers
usage [3].

In file included from [...]/sysroot/usr/include/netinet/ether.h:8:0,
                 from useful_functions.c:28:
[...]/sysroot/usr/include/netinet/if_ether.h:96:8: error: redefinition of ‘struct ethhdr’
 struct ethhdr {
        ^
In file included from include/linux/netfilter_bridge.h:8:0,
                 from include/linux/netfilter_bridge/ebtables.h:17,
                 from include/ebtables_u.h:27,
                 from useful_functions.c:25:
include/linux/if_ether.h:119:8: note: originally defined here
 struct ethhdr {
        ^
Makefile:78: recipe for target 'useful_functions.o' failed

Fixes:
http://autobuild.buildroot.net/results/75c/75cc79ae2a2d05ad27198f1b745c8bef37c3a87d/build-end.log

[1] http://git.netfilter.org/ebtables/commit/?id=f8079671326e9fd079391d24911a9a8a77f1d6fd
[2] http://git.netfilter.org/ebtables/commit/?id=4488ba7aa2bb612a624c68957f464fc0ee786e05
[3] http://wiki.musl-libc.org/wiki/FAQ#Q:_why_am_i_getting_.22error:_redefinition_of_struct_ethhdr.2Ftcphdr.2Fetc.22_.3F

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ebtables/Config.in

index 3f7566a6072934432f01317e16af3706c857a586..fa123b196e37a9b743a0f5afd7c7c81bf6ddca46 100644 (file)
@@ -1,7 +1,12 @@
 config BR2_PACKAGE_EBTABLES
        bool "ebtables"
+       depends on !BR2_TOOLCHAIN_USES_MUSL # mixes userspace and kernel headers
        depends on BR2_USE_MMU # fork()
        help
          Ethernet bridge frame table administration
 
          http://ebtables.netfilter.org/
+
+comment "ebtables needs a glibc or uClibc toolchain"
+       depends on BR2_TOOLCHAIN_USES_MUSL
+       depends on BR2_USE_MMU