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