aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorTony Ambardar <itugrok@yahoo.com>2018-11-23 23:56:24 -0800
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2019-02-11 20:18:48 +0000
commitbc86da377cf78edbf7e830a81b6ebf400f281467 (patch)
tree88d16ec8ebf8ac70339cfde401b4bf67a277d989 /package
parent43e14a2f9e8b49ec73490eccb5c08209fffbe7ce (diff)
downloadupstream-bc86da377cf78edbf7e830a81b6ebf400f281467.tar.gz
upstream-bc86da377cf78edbf7e830a81b6ebf400f281467.tar.bz2
upstream-bc86da377cf78edbf7e830a81b6ebf400f281467.zip
iproute2: simplify Makefile, patches and fix feature detection
Compile-based feature detection (e.g. xtables, ipset support) was broken due to silent compilation errors in the configure script, caused by a Makefile variable KERNEL_INCLUDE referring to kernel build headers. Use userspace headers by setting the same "user_headers" kernel include path as used for the iptables build. Remove redundant or unused Build/Configure definitions from package Makefile, including KERNEL_INCLUDE, LIBC_INCLUDE and DBM includes. Don't pass LDFLAGS within MAKE_FLAGS as this interferes with LDFLAGS in tc/Makefile and masks a link parameter ("-Wl,-export-dynamic"). Instead, use standard TARGET_LDFLAGS. Replace EXTRA_CCOPTS in MAKE_FLAGS with cleaner TARGET_CPPFLAGS, and also drop now unneeded patch 150-extra-ccopts.patch. Enable defining XT_LIB_DIR from Makefile, needed to set the iptables modules directory to something other than /lib/xtables, and also add libxtables dependency. Both are needed with working xtables detection. Note that libxtables is also pulled in by iptables, firewall or luci, so this change has no size impact in most cases. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Diffstat (limited to 'package')
-rw-r--r--package/network/utils/iproute2/Makefile14
-rw-r--r--package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch12
-rw-r--r--package/network/utils/iproute2/patches/150-extra-ccopts.patch11
3 files changed, 17 insertions, 20 deletions
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index 188b5150ff..e7fa6e479d 100644
--- a/package/network/utils/iproute2/Makefile
+++ b/package/network/utils/iproute2/Makefile
@@ -54,7 +54,7 @@ endef
define Package/tc
$(call Package/iproute2/Default)
TITLE:=Traffic control utility
- DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libelf
+ DEPENDS:=+kmod-sched-core +libxtables +libelf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
endef
define Package/genl
@@ -106,25 +106,21 @@ ifdef CONFIG_PACKAGE_rdma
endif
define Build/Configure
- $(SED) "s,-I/usr/include/db3,," $(PKG_BUILD_DIR)/Makefile
- $(SED) "s,^KERNEL_INCLUDE.*,KERNEL_INCLUDE=$(LINUX_DIR)/include," \
- $(PKG_BUILD_DIR)/Makefile
- $(SED) "s,^LIBC_INCLUDE.*,LIBC_INCLUDE=$(STAGING_DIR)/include," \
- $(PKG_BUILD_DIR)/Makefile
echo "static const char SNAPSHOT[] = \"$(PKG_VERSION)-$(PKG_RELEASE)-openwrt\";" \
> $(PKG_BUILD_DIR)/include/SNAPSHOT.h
endef
TARGET_CFLAGS += -ffunction-sections -fdata-sections
+TARGET_LDFLAGS += -Wl,--gc-sections
+TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
MAKE_FLAGS += \
- EXTRA_CCOPTS="-I$(STAGING_DIR)/usr/include/libnl-tiny" \
- KERNEL_INCLUDE="$(LINUX_DIR)/include" \
+ KERNEL_INCLUDE="$(LINUX_DIR)/user_headers/include" \
SHARED_LIBS="" \
- LDFLAGS="$(TARGET_LDFLAGS) -Wl,--gc-sections" \
IP_CONFIG_TINY=$(IP_CONFIG_TINY) \
HAVE_MNL=$(HAVE_MNL) \
IPT_LIB_DIR=/usr/lib/iptables \
+ XT_LIB_DIR=/usr/lib/iptables \
FPIC="$(FPIC)"
define Build/Compile
diff --git a/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch b/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch
new file mode 100644
index 0000000000..6795be74bf
--- /dev/null
+++ b/package/network/utils/iproute2/patches/115-add-config-xtlibdir.patch
@@ -0,0 +1,12 @@
+--- a/tc/Makefile
++++ b/tc/Makefile
+@@ -120,6 +120,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR
+ ifneq ($(IPT_LIB_DIR),)
+ CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
+ endif
++ifneq ($(XT_LIB_DIR),)
++ CFLAGS += -DXT_LIB_DIR=\"$(XT_LIB_DIR)\"
++endif
+
+ YACC := bison
+ LEX := flex
diff --git a/package/network/utils/iproute2/patches/150-extra-ccopts.patch b/package/network/utils/iproute2/patches/150-extra-ccopts.patch
deleted file mode 100644
index d036ba703c..0000000000
--- a/package/network/utils/iproute2/patches/150-extra-ccopts.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -54,7 +54,7 @@ HOSTCC ?= $(CC)
- DEFINES += -D_GNU_SOURCE
- # Turn on transparent support for LFS
- DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
--CCOPTS = -O2
-+CCOPTS = -O2 $(EXTRA_CCOPTS)
- WFLAGS := -Wall -Wstrict-prototypes -Wmissing-prototypes
- WFLAGS += -Wmissing-declarations -Wold-style-definition -Wformat=2
-