shadowsocks-libev: size optimizations
authorDeng Qingfang <redacted>
Fri, 7 Jun 2019 17:10:26 +0000 (01:10 +0800)
committerYousong Zhou <redacted>
Mon, 10 Jun 2019 12:31:10 +0000 (20:31 +0800)
Use link-time optimization and --gc-sections --as-needed ldflags
Reduces ipk size by 20%

Remove unnecessary dependencies

Signed-off-by: Deng Qingfang <redacted>
net/shadowsocks-libev/Makefile

index 0374e7ece5abfb506e1887f9430f66741484422a..da9992d503843b7f6517943d7073a09050bf0255 100644 (file)
@@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
 #
 PKG_NAME:=shadowsocks-libev
 PKG_VERSION:=3.2.5
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
@@ -29,6 +29,7 @@ PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_USE_MIPS16:=0
 PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=c-ares pcre
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -56,7 +57,7 @@ define Package/shadowsocks-libev/Default
     SUBMENU:=Web Servers/Proxies
     TITLE:=shadowsocks-libev $(1)
     URL:=https://github.com/shadowsocks/shadowsocks-libev
-    DEPENDS:=+libcares +libev +libmbedtls +libpcre +libpthread +libsodium +shadowsocks-libev-config +zlib
+    DEPENDS:=+libev +libmbedtls +libpthread +libsodium +shadowsocks-libev-config $(DEPENDS_$(1))
   endef
 
   define Package/shadowsocks-libev-$(1)/install
@@ -66,6 +67,9 @@ define Package/shadowsocks-libev/Default
 
 endef
 
+DEPENDS_ss-local = +libpcre
+DEPENDS_ss-server = +libcares +libpcre
+
 SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
 define shadowsocks-libev/templates
   $(foreach component,$(SHADOWSOCKS_COMPONENTS),
@@ -118,6 +122,9 @@ CONFIGURE_ARGS += \
        --disable-assert \
        --disable-ssp \
 
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
 $(eval $(call BuildPackage,shadowsocks-libev-config))
 $(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
 $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
git clone https://git.99rst.org/PROJECT