[OpenWrt-Devel] [PATCH 1/2] tools: add zstd

Rosen Penev rosenp at gmail.com
Sun May 17 15:24:55 EDT 2020



> On May 13, 2020, at 12:21 PM, Matthias Schiffer <mschiffer at universe-factory.net> wrote:
> 
> Signed-off-by: Matthias Schiffer <mschiffer at universe-factory.net>
> ---
> tools/zstd/Makefile                           | 20 ++++++
> ...re-portable-header-prefix-usage-1987.patch | 61 +++++++++++++++++++
> 2 files changed, 81 insertions(+)
> create mode 100644 tools/zstd/Makefile
> create mode 100644 tools/zstd/patches/0001-build-issue-More-portable-header-prefix-usage-1987.patch
> 
> diff --git a/tools/zstd/Makefile b/tools/zstd/Makefile
> new file mode 100644
> index 000000000000..dc0bf8ffaff8
> --- /dev/null
> +++ b/tools/zstd/Makefile
> @@ -0,0 +1,20 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=zstd
> +PKG_VERSION:=1.4.4
> +
> +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
> +PKG_SOURCE_URL:=@GITHUB/facebook/zstd/releases/download/v$(PKG_VERSION)
> +PKG_HASH:=a364f5162c7d1a455cc915e8e3cf5f4bd8b75d09bc0f53965b0c9ca1383c52c8
> +
> +PKG_LICENSE:=BSD-3-Clause
> +PKG_LICENSE_FILES:=LICENSE
> +PKG_CPE_ID:=cpe:/a:facebook:zstandard
> +
> +HOST_BUILD_PARALLEL:=1
> +
> +include $(INCLUDE_DIR)/host-build.mk
CMake is also available with zests under the contrib section. Both are supported.
> +
> +HOST_MAKE_FLAGS = PREFIX=$(HOST_BUILD_PREFIX)
> +
> +$(eval $(call HostBuild))
> diff --git a/tools/zstd/patches/0001-build-issue-More-portable-header-prefix-usage-1987.patch b/tools/zstd/patches/0001-build-issue-More-portable-header-prefix-usage-1987.patch
> new file mode 100644
> index 000000000000..6d743aa38552
> --- /dev/null
> +++ b/tools/zstd/patches/0001-build-issue-More-portable-header-prefix-usage-1987.patch
> @@ -0,0 +1,61 @@
> +From 06a57cf57e3c4e887cadcf688e3081154f3f6db4 Mon Sep 17 00:00:00 2001
> +Message-Id: <06a57cf57e3c4e887cadcf688e3081154f3f6db4.1589392463.git.mschiffer at universe-factory.net>
> +From: Bimba Shrestha <bimbashrestha at fb.com>
> +Date: Thu, 6 Feb 2020 14:10:51 -0800
> +Subject: [PATCH] [build-issue] More portable header prefix usage (#) (#1987)
> +
> +* make 4.3 build issue fix
> +
> +* Changing header name and adding comment
> +---
> + programs/Makefile | 11 +++++++----
> + 1 file changed, 7 insertions(+), 4 deletions(-)
> +
> +diff --git a/programs/Makefile b/programs/Makefile
> +index b75314a83f43..a9ee3cb5311b 100644
> +--- a/programs/Makefile
> ++++ b/programs/Makefile
> +@@ -94,9 +94,12 @@ endif
> + 
> + VOID = /dev/null
> + 
> ++# Make 4.3 doesn't support '\#' anymore (https://lwn.net/Articles/810071/)
> ++NUM_SYMBOL := \#
> ++
> + # thread detection
> + NO_THREAD_MSG := ==> no threads, building without multithreading support
> +-HAVE_PTHREAD := $(shell printf '\#include <pthread.h>\nint main(void) { return 0; }' > have_pthread.c && $(CC) $(FLAGS) -o have_pthread$(EXT) have_pthread.c -pthread 2> $(VOID) && rm have_pthread$(EXT) && echo 1 || echo 0; rm have_pthread.c)
> ++HAVE_PTHREAD := $(shell printf '$(NUM_SYMBOL)include <pthread.h>\nint main(void) { return 0; }' > have_pthread.c && $(CC) $(FLAGS) -o have_pthread$(EXT) have_pthread.c -pthread 2> $(VOID) && rm have_pthread$(EXT) && echo 1 || echo 0; rm have_pthread.c)
> + HAVE_THREAD := $(shell [ "$(HAVE_PTHREAD)" -eq "1" -o -n "$(filter Windows%,$(OS))" ] && echo 1 || echo 0)
> + ifeq ($(HAVE_THREAD), 1)
> + THREAD_MSG := ==> building with threading support
> +@@ -108,7 +111,7 @@ endif
> + 
> + # zlib detection
> + NO_ZLIB_MSG := ==> no zlib, building zstd without .gz support
> +-HAVE_ZLIB := $(shell printf '\#include <zlib.h>\nint main(void) { return 0; }' > have_zlib.c && $(CC) $(FLAGS) -o have_zlib$(EXT) have_zlib.c -lz 2> $(VOID) && rm have_zlib$(EXT) && echo 1 || echo 0; rm have_zlib.c)
> ++HAVE_ZLIB := $(shell printf '$(NUM_SYMBOL)include <zlib.h>\nint main(void) { return 0; }' > have_zlib.c && $(CC) $(FLAGS) -o have_zlib$(EXT) have_zlib.c -lz 2> $(VOID) && rm have_zlib$(EXT) && echo 1 || echo 0; rm have_zlib.c)
> + ifeq ($(HAVE_ZLIB), 1)
> + ZLIB_MSG := ==> building zstd with .gz compression support
> + ZLIBCPP = -DZSTD_GZCOMPRESS -DZSTD_GZDECOMPRESS
> +@@ -119,7 +122,7 @@ endif
> + 
> + # lzma detection
> + NO_LZMA_MSG := ==> no liblzma, building zstd without .xz/.lzma support
> +-HAVE_LZMA := $(shell printf '\#include <lzma.h>\nint main(void) { return 0; }' > have_lzma.c && $(CC) $(FLAGS) -o have_lzma$(EXT) have_lzma.c -llzma 2> $(VOID) && rm have_lzma$(EXT) && echo 1 || echo 0; rm have_lzma.c)
> ++HAVE_LZMA := $(shell printf '$(NUM_SYMBOL)include <lzma.h>\nint main(void) { return 0; }' > have_lzma.c && $(CC) $(FLAGS) -o have_lzma$(EXT) have_lzma.c -llzma 2> $(VOID) && rm have_lzma$(EXT) && echo 1 || echo 0; rm have_lzma.c)
> + ifeq ($(HAVE_LZMA), 1)
> + LZMA_MSG := ==> building zstd with .xz/.lzma compression support
> + LZMACPP = -DZSTD_LZMACOMPRESS -DZSTD_LZMADECOMPRESS
> +@@ -130,7 +133,7 @@ endif
> + 
> + # lz4 detection
> + NO_LZ4_MSG := ==> no liblz4, building zstd without .lz4 support
> +-HAVE_LZ4 := $(shell printf '\#include <lz4frame.h>\n\#include <lz4.h>\nint main(void) { return 0; }' > have_lz4.c && $(CC) $(FLAGS) -o have_lz4$(EXT) have_lz4.c -llz4 2> $(VOID) && rm have_lz4$(EXT) && echo 1 || echo 0; rm have_lz4.c)
> ++HAVE_LZ4 := $(shell printf '$(NUM_SYMBOL)include <lz4frame.h>\n\#include <lz4.h>\nint main(void) { return 0; }' > have_lz4.c && $(CC) $(FLAGS) -o have_lz4$(EXT) have_lz4.c -llz4 2> $(VOID) && rm have_lz4$(EXT) && echo 1 || echo 0; rm have_lz4.c)
> + ifeq ($(HAVE_LZ4), 1)
> + LZ4_MSG := ==> building zstd with .lz4 compression support
> + LZ4CPP = -DZSTD_LZ4COMPRESS -DZSTD_LZ4DECOMPRESS
> +-- 
> +2.26.2
> +
> -- 
> 2.26.2
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list