tools: zstd: update to 1.5.7 master
authorShiji Yang <yangshiji66@qq.com>
Fri, 21 Feb 2025 13:12:23 +0000 (21:12 +0800)
committerRobert Marko <robimarko@gmail.com>
Sat, 22 Feb 2025 19:30:00 +0000 (20:30 +0100)
This new version has some performance enhancements.

Changelog:
https://github.com/facebook/zstd/releases/tag/v1.5.7

Upstreamed patch:
001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch[1]

[1] https://github.com/facebook/zstd/commit/f1f1ae369a4cefd3474b3528e8d1847b18750605

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/18064
Signed-off-by: Robert Marko <robimarko@gmail.com>
tools/zstd/Makefile
tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch [deleted file]

index e1d36c59cfbe87a2ddf7af4a037875ef0117f5be..88a961f323efc45e7ed026120e6f97fabd6a6dad 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zstd
-PKG_VERSION:=1.5.6
+PKG_VERSION:=1.5.7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/facebook/zstd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1
+PKG_HASH:=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
diff --git a/tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch b/tools/zstd/patches/001-Provide-variant-pkg-config-file-for-multi-threaded-s.patch
deleted file mode 100644 (file)
index 1bbcaf4..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-From f1f1ae369a4cefd3474b3528e8d1847b18750605 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Sat, 6 Apr 2024 14:41:54 +0200
-Subject: [PATCH] Provide variant pkg-config file for multi-threaded static lib
-
-Multi-threaded static library require -pthread to correctly link and works.
-The pkg-config we provide tho only works with dynamic multi-threaded library
-and won't provide the correct libs and cflags values if lib-mt is used.
-
-To handle this, introduce an env variable MT to permit advanced user to
-install and generate a correct pkg-config file for lib-mt or detect if
-lib-mt target is called.
-
-With MT env set on calling make install-pc, libzstd.pc.in is a
-pkg-config file for a multi-threaded static library.
-
-On calling make lib-mt, a libzstd.pc is generated for a multi-threaded
-static library as it's what asked by the user by forcing it.
-
-libzstd.pc is changed to PHONY to force regeneration of it on calling
-lib targets or install-pc to handle case where the same directory is
-used for mixed compilation.
-
-This was notice while migrating from meson to make build system where
-meson generates a correct .pc file while make doesn't.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- lib/Makefile      | 20 +++++++++++++++++++-
- lib/README.md     |  4 ++++
- lib/libzstd.pc.in |  4 ++--
- 3 files changed, 25 insertions(+), 3 deletions(-)
-
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -63,6 +63,8 @@ CPPFLAGS_DYNLIB  += -DZSTD_MULTITHREAD #
- LDFLAGS_DYNLIB   += -pthread
- CPPFLAGS_STATICLIB +=                  # static library build defaults to single-threaded
-+# pkg-config Libs.private points to LDFLAGS_DYNLIB
-+PCLIB := $(LDFLAGS_DYNLIB)
- ifeq ($(findstring GCC,$(CCVER)),GCC)
- decompress/zstd_decompress_block.o : CFLAGS+=-fno-tree-vectorize
-@@ -186,12 +188,15 @@ lib : libzstd.a libzstd
- %-mt : CPPFLAGS_DYNLIB  := -DZSTD_MULTITHREAD
- %-mt : CPPFLAGS_STATICLIB := -DZSTD_MULTITHREAD
- %-mt : LDFLAGS_DYNLIB   := -pthread
-+%-mt : PCLIB :=
-+%-mt : PCMTLIB := $(LDFLAGS_DYNLIB)
- %-mt : %
-       @echo multi-threaded build completed
- %-nomt : CPPFLAGS_DYNLIB  :=
- %-nomt : LDFLAGS_DYNLIB   :=
- %-nomt : CPPFLAGS_STATICLIB :=
-+%-nomt : PCLIB :=
- %-nomt : %
-       @echo single-threaded build completed
-@@ -292,6 +297,14 @@ PCLIBPREFIX := $(if $(findstring $(LIBDI
- # to PREFIX, rather than as a resolved value.
- PCEXEC_PREFIX := $(if $(HAS_EXPLICIT_EXEC_PREFIX),$(EXEC_PREFIX),$${prefix})
-+
-+ifneq ($(MT),)
-+  PCLIB :=
-+  PCMTLIB := $(LDFLAGS_DYNLIB)
-+else
-+  PCLIB := $(LDFLAGS_DYNLIB)
-+endif
-+
- ifneq (,$(filter $(UNAME),FreeBSD NetBSD DragonFly))
-   PKGCONFIGDIR ?= $(PREFIX)/libdata/pkgconfig
- else
-@@ -308,6 +321,10 @@ INSTALL_PROGRAM ?= $(INSTALL)
- INSTALL_DATA    ?= $(INSTALL) -m 644
-+# pkg-config library define.
-+# For static single-threaded library declare -pthread in Libs.private
-+# For static multi-threaded library declare -pthread in Libs and Cflags
-+.PHONY: libzstd.pc
- libzstd.pc: libzstd.pc.in
-       @echo creating pkgconfig
-       @sed \
-@@ -316,7 +333,8 @@ libzstd.pc: libzstd.pc.in
-               -e 's|@INCLUDEDIR@|$(PCINCPREFIX)$(PCINCDIR)|' \
-               -e 's|@LIBDIR@|$(PCLIBPREFIX)$(PCLIBDIR)|' \
-               -e 's|@VERSION@|$(VERSION)|' \
--              -e 's|@LIBS_PRIVATE@|$(LDFLAGS_DYNLIB)|' \
-+              -e 's|@LIBS_MT@|$(PCMTLIB)|' \
-+              -e 's|@LIBS_PRIVATE@|$(PCLIB)|' \
-               $< >$@
- .PHONY: install
---- a/lib/README.md
-+++ b/lib/README.md
-@@ -27,12 +27,16 @@ Enabling multithreading requires 2 condi
- For convenience, we provide a build target to generate multi and single threaded libraries:
- - Force enable multithreading on both dynamic and static libraries by appending `-mt` to the target, e.g. `make lib-mt`.
-+  Note that the `.pc` generated on calling `make lib-mt` will already include the require Libs and Cflags.
- - Force disable multithreading on both dynamic and static libraries by appending `-nomt` to the target, e.g. `make lib-nomt`.
- - By default, as mentioned before, dynamic library is multithreaded, and static library is single-threaded, e.g. `make lib`.
- When linking a POSIX program with a multithreaded version of `libzstd`,
- note that it's necessary to invoke the `-pthread` flag during link stage.
-+The `.pc` generated from `make install` or `make install-pc` always assume a single-threaded static library
-+is compiled. To correctly generate a `.pc` for the multi-threaded static library, set `MT=1` as ENV variable.
-+
- Multithreading capabilities are exposed
- via the [advanced API defined in `lib/zstd.h`](https://github.com/facebook/zstd/blob/v1.4.3/lib/zstd.h#L351).
---- a/lib/libzstd.pc.in
-+++ b/lib/libzstd.pc.in
-@@ -11,6 +11,6 @@ Name: zstd
- Description: fast lossless compression algorithm library
- URL: https://facebook.github.io/zstd/
- Version: @VERSION@
--Libs: -L${libdir} -lzstd
-+Libs: -L${libdir} -lzstd @LIBS_MT@
- Libs.private: @LIBS_PRIVATE@
--Cflags: -I${includedir}
-+Cflags: -I${includedir} @LIBS_MT@