openwrt/package/libs/zlib/Makefile
Daniel Engberg 0dd439141d 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>
2018-01-02 17:11:12 +01:00

101 lines
2.5 KiB
Makefile

#
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=zlib
PKG_VERSION:=1.2.11
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/libpng http://www.zlib.net
PKG_HASH:=4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066
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
define Package/zlib
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library implementing the deflate compression method
URL:=http://www.zlib.net/
endef
define Package/zlib-dev
SECTION:=devel
CATEGORY:=Development
SUBMENU:=Libraries
DEPENDS:=zlib
TITLE:=Development files for the zlib library
endef
define Package/zlib/description
zlib is a lossless data-compression library.
This package includes the shared library.
endef
define Package/zlib-dev/description
zlib is a lossless data-compression library.
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
endif
define Build/InstallDev
mkdir -p $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/z{conf,lib}.h \
$(1)/usr/include/
mkdir -p $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.{a,so*} \
$(1)/usr/lib/
mkdir -p $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/zlib.pc \
$(1)/usr/lib/pkgconfig/
endef
# libz.so is needed for openssl (zlib-dynamic)
define Package/zlib/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.so $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.so.* $(1)/usr/lib/
endef
define Package/zlib-dev/install
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/zconf.h \
$(1)/usr/include/
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/zlib.h \
$(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libz.a $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/zlib.pc \
$(1)/usr/lib/pkgconfig/
endef
$(eval $(call BuildPackage,zlib))
$(eval $(call BuildPackage,zlib-dev))