[source] package/libs/zlib: Add option for O3 optimization

LEDE Commits lede-commits at lists.infradead.org
Tue Jan 2 08:11:26 PST 2018


hauke pushed a commit to source.git, branch master:
https://git.lede-project.org/0dd439141da0fc1a7938ee06f7be3924c73ba716

commit 0dd439141da0fc1a7938ee06f7be3924c73ba716
Author: Daniel Engberg <daniel.engberg.lists at pyret.net>
AuthorDate: Tue Sep 5 19:31:10 2017 +0200

    package/libs/zlib: Add option for O3 optimization
    
    Add option to use O3 optimization as not all devices have
    space constraints. This option is default using GCC in upstream
    but isn't in the CMake makefile for some reason.
    
    Source: https://github.com/madler/zlib/blob/master/configure#L170
    
    Signed-off-by: Daniel Engberg <daniel.engberg.lists at pyret.net>
---
 package/libs/zlib/Config.in | 11 +++++++++++
 package/libs/zlib/Makefile  | 10 ++++++++++
 2 files changed, 21 insertions(+)

diff --git a/package/libs/zlib/Config.in b/package/libs/zlib/Config.in
new file mode 100644
index 0000000..64b835e
--- /dev/null
+++ b/package/libs/zlib/Config.in
@@ -0,0 +1,11 @@
+menu "Configuration"
+	depends on PACKAGE_zlib
+
+config ZLIB_OPTIMIZE_SPEED
+	bool "Optimize for speed"
+	help
+		This enables additional optimization and 
+		increases performance considerably at 
+		the expense of binary size.
+
+endmenu
diff --git a/package/libs/zlib/Makefile b/package/libs/zlib/Makefile
index 3602e62..2650faa 100644
--- a/package/libs/zlib/Makefile
+++ b/package/libs/zlib/Makefile
@@ -19,6 +19,8 @@ PKG_LICENSE:=Zlib
 PKG_LICENSE_FILES:=README
 PKG_CPE_ID:=cpe:/a:gnu:zlib
 
+PKG_CONFIG_DEPENDS:= CONFIG_ZLIB_OPTIMIZE_SPEED
+
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 
@@ -47,8 +49,16 @@ define Package/zlib-dev/description
  This package includes the development support files.
 endef
 
+define Package/zlib/config
+	source "$(SOURCE)/Config.in"
+endef
+
 TARGET_CFLAGS += $(FPIC)
 
+ifeq ($(CONFIG_ZLIB_OPTIMIZE_SPEED),y)
+	TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) -O3
+endif
+
 ifneq ($(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)),)
 	CMAKE_OPTIONS += \
 		-DARMv8=ON



More information about the lede-commits mailing list