package/libs/zlib: Add ARM and NEON optimizations
[openwrt/openwrt.git] / package / libs / zlib / Makefile
index 2abb3c4e751a29b6d73265f1ee6af5b400574190..3602e629cf4a9ec2029acd8adb49a782e69f1fc2 100644 (file)
@@ -1,5 +1,5 @@
-# 
-# Copyright (C) 2006-2012 OpenWrt.org
+#
+# Copyright (C) 2006-2013 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,17 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zlib
-PKG_VERSION:=1.2.7
-PKG_RELEASE:=1
+PKG_VERSION:=1.2.11
+PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.zlib.net @SF/libpng
-PKG_MD5SUM:=2ab442d169156f34c379c968f3f482dd
+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:=Zlib
 PKG_LICENSE_FILES:=README
+PKG_CPE_ID:=cpe:/a:gnu:zlib
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/zlib
   SECTION:=libs
@@ -27,29 +29,31 @@ define Package/zlib
   URL:=http://www.zlib.net/
 endef
 
-define Build/Configure
-       (cd $(PKG_BUILD_DIR); \
-               $(TARGET_CONFIGURE_OPTS) \
-               LDSHARED="$(TARGET_CC) -shared -Wl,-soname,libz.so.1" \
-               CFLAGS="$(TARGET_CFLAGS) $(FPIC)" \
-               ./configure \
-                       --prefix=/usr \
-                       --shared \
-                       --uname=Linux \
-       );
+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 Build/Compile
-       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
-               $(TARGET_CONFIGURE_OPTS) \
-               CFLAGS="$(TARGET_CFLAGS)" \
-               libz.a libz.so.$(PKG_VERSION)
-       mkdir -p $(PKG_INSTALL_DIR)
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               install
+define Package/zlib-dev/description
+ zlib is a lossless data-compression library.
+ This package includes the development support files.
 endef
 
+TARGET_CFLAGS += $(FPIC)
+
+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 \
@@ -58,7 +62,7 @@ define Build/InstallDev
        $(CP)   $(PKG_INSTALL_DIR)/usr/lib/libz.{a,so*} \
                $(1)/usr/lib/
        mkdir -p $(1)/usr/lib/pkgconfig
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/zlib.pc \
+       $(CP)   $(PKG_INSTALL_DIR)/usr/share/pkgconfig/zlib.pc \
                $(1)/usr/lib/pkgconfig/
 endef
 
@@ -69,4 +73,18 @@ define Package/zlib/install
        $(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))