mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
338b463e1e
Changes: * Improved CRC-32 performance on recent x86 CPUs by adding VPCLMULQDQ-accelerated implementations using 256-bit and 512-bit vectors. * Improved Adler-32 performance on recent x86 CPUs by adding VNNI-accelerated implementations using 256-bit and 512-bit vectors. * Improved CRC-32 and Adler-32 performance on short inputs. * Optimized the portable implementation of Adler-32. * Added some basic optimizations for RISC-V. * Dropped support for gcc versions older than v4.9 (released in 2014) and clang versions older than v3.9 (released in 2016). * Dropped support for CRC-32 acceleration on 32-bit ARM using the ARMv8 pmull or crc32 instructions. This code only worked on CPUs that also have a 64-bit mode, and it was already disabled on many compiler versions due to compiler limitations. CRC-32 acceleration remains fully supported on 64-bit ARM. Signed-off-by: Robert Marko <robimarko@gmail.com>
40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
#
|
|
# Copyright (C) 2022 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:=libdeflate
|
|
PKG_VERSION:=1.20
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/ebiggers/libdeflate/releases/download/v$(PKG_VERSION)
|
|
PKG_HASH:=c52cf0239fd644d71c9e88613dd7431a5306ebee1280c5791c71ca264869250a
|
|
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
DECOMPRESS_CMD:=$(STAGING_DIR_HOST)/bin/gzip -dc $(DL_DIR)/$(PKG_SOURCE) |
|
|
|
|
define Host/Compile
|
|
$(HOSTCC_NOCACHE) $(HOST_CFLAGS) $(HOST_LDFLAGS) \
|
|
$(HOST_BUILD_DIR)/lib/*{,/*}.c \
|
|
$(HOST_BUILD_DIR)/programs/{gzip,prog_util,tgetopt}.c \
|
|
-o $(HOST_BUILD_DIR)/libdeflate-gzip
|
|
endef
|
|
|
|
define Host/Install
|
|
$(INSTALL_BIN) $(HOST_BUILD_DIR)/libdeflate-gzip $(STAGING_DIR_HOST)/bin/
|
|
$(LN) libdeflate-gzip $(STAGING_DIR_HOST)/bin/libdeflate-gunzip
|
|
endef
|
|
|
|
define Host/Uninstall
|
|
$(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gzip
|
|
$(RM) $(STAGING_DIR_HOST)/bin/libdeflate-gunzip
|
|
$(call Host/Uninstall/Default)
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|