[openwrt/openwrt] iproute2: avoid unneeded compiles to speed building

LEDE Commits lede-commits at lists.infradead.org
Thu Apr 22 15:12:03 BST 2021


ldir pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/3e3af1908c9487e85d5666c83551024b6ec446e2

commit 3e3af1908c9487e85d5666c83551024b6ec446e2
Author: Tony Ambardar <itugrok at yahoo.com>
AuthorDate: Sun Apr 18 03:09:44 2021 -0700

    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 <itugrok at yahoo.com>
---
 package/network/utils/iproute2/Makefile            |  3 ++-
 ...atch => 120-no_arpd_ifstat_rtacct_lnstat.patch} |  7 ++++++-
 ...netem.patch => 130-no_netem_tipc_dcb_man.patch} |  2 +-
 .../iproute2/patches/195-build_variant_ip_tc.patch | 22 ++++++++++++++++++++++
 4 files changed, 31 insertions(+), 3 deletions(-)

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_ifstat_rtacct_lnstat.patch
similarity index 56%
rename from package/network/utils/iproute2/patches/120-no_arpd.patch
rename to package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch
index 772398140b..bb6a8d0180 100644
--- a/package/network/utils/iproute2/patches/120-no_arpd.patch
+++ b/package/network/utils/iproute2/patches/120-no_arpd_ifstat_rtacct_lnstat.patch
@@ -1,6 +1,11 @@
 --- a/misc/Makefile
 +++ b/misc/Makefile
-@@ -6,9 +6,9 @@ TARGETS=ss nstat ifstat rtacct lnstat
+@@ -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
  
diff --git a/package/network/utils/iproute2/patches/130-no_netem.patch b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch
similarity index 84%
rename from package/network/utils/iproute2/patches/130-no_netem.patch
rename to package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch
index 7d2fa03945..e3faee0d8f 100644
--- a/package/network/utils/iproute2/patches/130-no_netem.patch
+++ b/package/network/utils/iproute2/patches/130-no_netem_tipc_dcb_man.patch
@@ -5,7 +5,7 @@
  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
++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 $@



More information about the lede-commits mailing list