aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Engberg <daniel.engberg.lists@pyret.net>2017-09-05 19:31:10 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2018-01-02 17:11:12 +0100
commit0dd439141da0fc1a7938ee06f7be3924c73ba716 (patch)
tree6925867e448ad5804a77fe05786fbc6aaf7acadb
parent3acecba5209984e43397bc0eaa96822ccacb5712 (diff)
downloadupstream-0dd439141da0fc1a7938ee06f7be3924c73ba716.tar.gz
upstream-0dd439141da0fc1a7938ee06f7be3924c73ba716.tar.bz2
upstream-0dd439141da0fc1a7938ee06f7be3924c73ba716.zip
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@pyret.net>
-rw-r--r--package/libs/zlib/Config.in11
-rw-r--r--package/libs/zlib/Makefile10
2 files changed, 21 insertions, 0 deletions
diff --git a/package/libs/zlib/Config.in b/package/libs/zlib/Config.in
new file mode 100644
index 0000000000..64b835e77a
--- /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 3602e629cf..2650faa139 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