From 3e3af1908c9487e85d5666c83551024b6ec446e2 Mon Sep 17 00:00:00 2001 From: Tony Ambardar Date: Sun, 18 Apr 2021 03:09:44 -0700 Subject: iproute2: avoid unneeded compiles to speed building Skip building Makefile targets that aren't packaged: tipc, dcb, ifstat, rtacct, lnstat, and man. Also, only compile targets needed for the current build variant i.e. don't compile 'tc' when building an 'ip' variant and vice versa. These changes reduce typical build times by over 30%: $ make package/iproute2/clean && time make -j8 package/iproute2/compile (old) ... real 2m24.985s user 3m12.537s sys 0m26.677s (new) ... real 1m36.945s user 2m8.734s sys 0m20.046s Signed-off-by: Tony Ambardar --- package/network/utils/iproute2/Makefile | 3 ++- .../utils/iproute2/patches/120-no_arpd.patch | 15 --------------- .../patches/120-no_arpd_ifstat_rtacct_lnstat.patch | 20 ++++++++++++++++++++ .../utils/iproute2/patches/130-no_netem.patch | 11 ----------- .../patches/130-no_netem_tipc_dcb_man.patch | 11 +++++++++++ .../iproute2/patches/195-build_variant_ip_tc.patch | 22 ++++++++++++++++++++++ 6 files changed, 55 insertions(+), 27 deletions(-) delete mode 100644 package/network/utils/iproute2/patches/120-no_arpd.patch create mode 100644 package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch delete mode 100644 package/network/utils/iproute2/patches/130-no_netem.patch create mode 100644 package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch create mode 100644 package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch (limited to 'package/network') diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index d7a7b3ed0f..54165636c7 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 PKG_VERSION:=5.11.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 @@ -153,6 +153,7 @@ MAKE_FLAGS += \ KERNEL_INCLUDE="$(LINUX_DIR)/user_headers/include" \ SHARED_LIBS=$(SHARED_LIBS) \ IP_CONFIG_TINY=$(IP_CONFIG_TINY) \ + BUILD_VARIANT=$(BUILD_VARIANT) \ LIBBPF_FORCE=$(LIBBPF_FORCE) \ HAVE_ELF=$(HAVE_ELF) \ HAVE_MNL=$(HAVE_MNL) \ diff --git a/package/network/utils/iproute2/patches/120-no_arpd.patch b/package/network/utils/iproute2/patches/120-no_arpd.patch deleted file mode 100644 index 772398140b..0000000000 --- a/package/network/utils/iproute2/patches/120-no_arpd.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/misc/Makefile -+++ b/misc/Makefile -@@ -6,9 +6,9 @@ TARGETS=ss nstat ifstat rtacct lnstat - - include ../config.mk - --ifeq ($(HAVE_BERKELEY_DB),y) -- TARGETS += arpd --endif -+#ifeq ($(HAVE_BERKELEY_DB),y) -+# TARGETS += arpd -+#endif - - all: $(TARGETS) - diff --git a/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch b/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch new file mode 100644 index 0000000000..bb6a8d0180 --- /dev/null +++ b/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch @@ -0,0 +1,20 @@ +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -2,13 +2,13 @@ + SSOBJ=ss.o ssfilter_check.o ssfilter.tab.o + LNSTATOBJ=lnstat.o lnstat_util.o + +-TARGETS=ss nstat ifstat rtacct lnstat ++TARGETS=ss nstat + + include ../config.mk + +-ifeq ($(HAVE_BERKELEY_DB),y) +- TARGETS += arpd +-endif ++#ifeq ($(HAVE_BERKELEY_DB),y) ++# TARGETS += arpd ++#endif + + all: $(TARGETS) + diff --git a/package/network/utils/iproute2/patches/130-no_netem.patch b/package/network/utils/iproute2/patches/130-no_netem.patch deleted file mode 100644 index 7d2fa03945..0000000000 --- a/package/network/utils/iproute2/patches/130-no_netem.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -55,7 +55,7 @@ WFLAGS += -Wmissing-declarations -Wold-s - CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) - YACCFLAGS = -d -t -v - --SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man -+SUBDIRS=lib ip tc bridge misc genl tipc devlink rdma dcb man - - LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a - LDLIBS += $(LIBNETLINK) diff --git a/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch new file mode 100644 index 0000000000..e3faee0d8f --- /dev/null +++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -55,7 +55,7 @@ WFLAGS += -Wmissing-declarations -Wold-s + CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) + YACCFLAGS = -d -t -v + +-SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man ++SUBDIRS=lib ip tc bridge misc genl devlink rdma + + LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a + LDLIBS += $(LIBNETLINK) diff --git a/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch new file mode 100644 index 0000000000..13418662ee --- /dev/null +++ b/package/network/utils/iproute2/patches/195-build_variant_ip_tc.patch @@ -0,0 +1,22 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -26,7 +26,7 @@ STATIC_SYM_SOURCES:=$(filter-out $(STATI + + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=ifcfg rtpr routel routef +-TARGETS=ip rtmon ++TARGETS=$(findstring ip,$(BUILD_VARIANT)) rtmon + + all: $(TARGETS) $(SCRIPTS) + +--- a/tc/Makefile ++++ b/tc/Makefile +@@ -141,7 +141,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc + $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ + + +-all: tc $(TCSO) ++all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) + + tc: $(TCOBJ) $(LIBNETLINK) libtc.a + $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ -- cgit v1.2.3