summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/conntrack-tools/conntrack-tools.mk16
1 files changed, 14 insertions, 2 deletions
diff --git a/package/conntrack-tools/conntrack-tools.mk b/package/conntrack-tools/conntrack-tools.mk
index eac5841168..728758789c 100644
--- a/package/conntrack-tools/conntrack-tools.mk
+++ b/package/conntrack-tools/conntrack-tools.mk
@@ -13,10 +13,22 @@ CONNTRACK_TOOLS_DEPENDENCIES = host-pkgconf \
CONNTRACK_TOOLS_LICENSE = GPLv2+
CONNTRACK_TOOLS_LICENSE_FILES = COPYING
+CONNTRACK_TOOLS_CFLAGS = $(TARGET_CFLAGS)
+
+# Some of conntrack-tools source files include both linux/in.h (via
+# linux/netfilter.h for kernel headers >= 4.2) and netinet/in.h, which
+# causes some symbol conflicts when musl is used. Defining __GLIBC__
+# works around that issue since the kernel headers are prepared to
+# avoid redefinition of certain symbols when they see __GLIBC__.
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
+CONNTRACK_TOOLS_CFLAGS += -D__GLIBC__
+endif
+
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
-CONNTRACK_TOOLS_CONF_ENV += \
- CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`"
+CONNTRACK_TOOLS_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`
CONNTRACK_TOOLS_DEPENDENCIES += libtirpc host-pkgconf
endif
+CONNTRACK_TOOLS_CONF_ENV = CFLAGS="$(CONNTRACK_TOOLS_CFLAGS)"
+
$(eval $(autotools-package))
OpenPOWER on IntegriCloud