mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 14:02:21 +02:00
zstd: Add patch to fix MinGW builds
Adds a patch to fix the make files to work correctly when building for MinGW (From OE-Core rev: 5eb716501c57de18b505265a19ccf754dcf1a83c) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
0ea02c5283
commit
eccefdff6a
193
meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch
Normal file
193
meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch
Normal file
@@ -0,0 +1,193 @@
|
||||
From ab9a34c92eec815ef214470c927ddbe2e950e7e5 Mon Sep 17 00:00:00 2001
|
||||
From: Joshua Watt <JPEWhacker@gmail.com>
|
||||
Date: Wed, 26 May 2021 09:15:40 -0500
|
||||
Subject: [PATCH] MinGW Build Fixes
|
||||
|
||||
Fixes building on MinGW by
|
||||
1) Exporting the OS variable so that it is visible to sub-make
|
||||
invocations
|
||||
2) Fixing the extension handling so that make correctly identifies when
|
||||
targets need to be rebuilt. Without the correct handling, make would
|
||||
rebuild the executable targets when running `make install` because
|
||||
it couldn't find them with the correct extension.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/facebook/zstd/pull/2685]
|
||||
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
|
||||
---
|
||||
Makefile | 1 +
|
||||
programs/Makefile | 74 +++++++++++++++++++++++------------------------
|
||||
2 files changed, 38 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index c1908f0a..f9ce9504 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -29,6 +29,7 @@ VOID = /dev/null
|
||||
# fail on other tested distros (ubuntu, debian) even
|
||||
# without manually specifying the TARGET_SYSTEM.
|
||||
TARGET_SYSTEM ?= $(OS)
|
||||
+export OS
|
||||
|
||||
ifneq (,$(filter Windows%,$(TARGET_SYSTEM)))
|
||||
EXT =.exe
|
||||
diff --git a/programs/Makefile b/programs/Makefile
|
||||
index 599fb02f..79b45c83 100644
|
||||
--- a/programs/Makefile
|
||||
+++ b/programs/Makefile
|
||||
@@ -209,37 +209,37 @@ SET_CACHE_DIRECTORY = \
|
||||
|
||||
|
||||
.PHONY: all
|
||||
-all: zstd
|
||||
+all: zstd$(EXT)
|
||||
|
||||
.PHONY: allVariants
|
||||
-allVariants: zstd zstd-compress zstd-decompress zstd-small zstd-nolegacy zstd-dictBuilder
|
||||
+allVariants: zstd$(EXT) zstd-compress$(EXT) zstd-decompress$(EXT) zstd-small$(EXT) zstd-nolegacy$(EXT) zstd-dictBuilder$(EXT)
|
||||
|
||||
.PHONY: zstd # must always be run
|
||||
-zstd : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP)
|
||||
-zstd : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD)
|
||||
-zstd : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD)
|
||||
-zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
||||
+zstd$(EXT) : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP)
|
||||
+zstd$(EXT) : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD)
|
||||
+zstd$(EXT) : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD)
|
||||
+zstd$(EXT) : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
||||
ifneq (,$(filter Windows%,$(OS)))
|
||||
-zstd : $(RES_FILE)
|
||||
+zstd$(EXT) : $(RES_FILE)
|
||||
endif
|
||||
|
||||
ifndef BUILD_DIR
|
||||
# generate BUILD_DIR from flags
|
||||
|
||||
-zstd:
|
||||
+zstd$(EXT):
|
||||
$(SET_CACHE_DIRECTORY)
|
||||
|
||||
else
|
||||
# BUILD_DIR is defined
|
||||
|
||||
ZSTD_OBJ := $(addprefix $(BUILD_DIR)/, $(ZSTD_ALL_OBJ))
|
||||
-$(BUILD_DIR)/zstd : $(ZSTD_OBJ)
|
||||
+$(BUILD_DIR)/zstd$(EXT) : $(ZSTD_OBJ)
|
||||
@echo "$(THREAD_MSG)"
|
||||
@echo "$(ZLIB_MSG)"
|
||||
@echo "$(LZMA_MSG)"
|
||||
@echo "$(LZ4_MSG)"
|
||||
@echo LINK $@
|
||||
- $(CC) $(FLAGS) $^ $(LDLIBS) -o $@$(EXT)
|
||||
+ $(CC) $(FLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
ifeq ($(HAVE_HASH),1)
|
||||
SRCBIN_HASH = $(shell cat $(BUILD_DIR)/zstd 2> $(VOID) | $(HASH) | cut -f 1 -d " ")
|
||||
@@ -249,7 +249,7 @@ else
|
||||
BIN_ISDIFFERENT = 1
|
||||
endif
|
||||
|
||||
-zstd : $(BUILD_DIR)/zstd
|
||||
+zstd$(EXT) : $(BUILD_DIR)/zstd$(EXT)
|
||||
if [ $(BIN_ISDIFFERENT) -eq 1 ]; then \
|
||||
cp -f $< $@; \
|
||||
echo zstd build completed; \
|
||||
@@ -263,46 +263,46 @@ endif # BUILD_DIR
|
||||
.PHONY: zstd-release
|
||||
zstd-release: DEBUGFLAGS := -DBACKTRACE_ENABLE=0
|
||||
zstd-release: DEBUGFLAGS_LD :=
|
||||
-zstd-release: zstd
|
||||
+zstd-release: zstd$(EXT)
|
||||
|
||||
-zstd32 : CPPFLAGS += $(THREAD_CPP)
|
||||
-zstd32 : LDFLAGS += $(THREAD_LD)
|
||||
-zstd32 : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
||||
+zstd32$(EXT) : CPPFLAGS += $(THREAD_CPP)
|
||||
+zstd32$(EXT) : LDFLAGS += $(THREAD_LD)
|
||||
+zstd32$(EXT) : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
||||
ifneq (,$(filter Windows%,$(OS)))
|
||||
-zstd32 : $(RES32_FILE)
|
||||
+zstd32$(EXT) : $(RES32_FILE)
|
||||
endif
|
||||
-zstd32 : $(ZSTDLIB_FULL_SRC) $(ZSTD_CLI_SRC)
|
||||
- $(CC) -m32 $(FLAGS) $^ -o $@$(EXT)
|
||||
+zstd32$(EXT) : $(ZSTDLIB_FULL_SRC) $(ZSTD_CLI_SRC)
|
||||
+ $(CC) -m32 $(FLAGS) $^ -o $@
|
||||
|
||||
## zstd-nolegacy: same scope as zstd, with just support of legacy formats removed
|
||||
-zstd-nolegacy : LDFLAGS += $(THREAD_LD) $(ZLIBLD) $(LZMALD) $(LZ4LD) $(DEBUGFLAGS_LD)
|
||||
-zstd-nolegacy : $(ZSTDLIB_CORE_SRC) $(ZDICT_SRC) $(ZSTD_CLI_OBJ)
|
||||
- $(CC) $(FLAGS) $^ -o $@$(EXT) $(LDFLAGS)
|
||||
+zstd-nolegacy$(EXT) : LDFLAGS += $(THREAD_LD) $(ZLIBLD) $(LZMALD) $(LZ4LD) $(DEBUGFLAGS_LD)
|
||||
+zstd-nolegacy$(EXT) : $(ZSTDLIB_CORE_SRC) $(ZDICT_SRC) $(ZSTD_CLI_OBJ)
|
||||
+ $(CC) $(FLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
.PHONY: zstd-nomt
|
||||
zstd-nomt : THREAD_CPP :=
|
||||
zstd-nomt : THREAD_LD :=
|
||||
zstd-nomt : THREAD_MSG := - multi-threading disabled
|
||||
-zstd-nomt : zstd
|
||||
+zstd-nomt : zstd$(EXT)
|
||||
|
||||
.PHONY: zstd-nogz
|
||||
zstd-nogz : ZLIBCPP :=
|
||||
zstd-nogz : ZLIBLD :=
|
||||
zstd-nogz : ZLIB_MSG := - gzip support is disabled
|
||||
-zstd-nogz : zstd
|
||||
+zstd-nogz : zstd$(EXT)
|
||||
|
||||
.PHONY: zstd-noxz
|
||||
zstd-noxz : LZMACPP :=
|
||||
zstd-noxz : LZMALD :=
|
||||
zstd-noxz : LZMA_MSG := - xz/lzma support is disabled
|
||||
-zstd-noxz : zstd
|
||||
+zstd-noxz : zstd$(EXT)
|
||||
|
||||
## zstd-dll: zstd executable linked to dynamic library libzstd (must have same version)
|
||||
.PHONY: zstd-dll
|
||||
zstd-dll : LDFLAGS+= -L$(ZSTDDIR)
|
||||
zstd-dll : LDLIBS += -lzstd
|
||||
zstd-dll : ZSTDLIB_LOCAL_SRC = xxhash.c
|
||||
-zstd-dll : zstd
|
||||
+zstd-dll : zstd$(EXT)
|
||||
|
||||
|
||||
## zstd-pgo: zstd executable optimized with PGO.
|
||||
@@ -321,23 +321,23 @@ zstd-pgo :
|
||||
$(MAKE) zstd MOREFLAGS=-fprofile-use
|
||||
|
||||
## zstd-small: minimal target, supporting only zstd compression and decompression. no bench. no legacy. no other format.
|
||||
-zstd-small: CFLAGS = -Os -s
|
||||
-zstd-frugal zstd-small: $(ZSTDLIB_CORE_SRC) zstdcli.c util.c timefn.c fileio.c
|
||||
- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOTRACE $^ -o $@$(EXT)
|
||||
+zstd-small$(EXT): CFLAGS = -Os -s
|
||||
+zstd-frugal$(EXT) zstd-small$(EXT): $(ZSTDLIB_CORE_SRC) zstdcli.c util.c timefn.c fileio.c
|
||||
+ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOTRACE $^ -o $@
|
||||
|
||||
-zstd-decompress: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_DECOMPRESS_C) zstdcli.c util.c timefn.c fileio.c
|
||||
- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOCOMPRESS -DZSTD_NOTRACE $^ -o $@$(EXT)
|
||||
+zstd-decompress$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_DECOMPRESS_C) zstdcli.c util.c timefn.c fileio.c
|
||||
+ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOCOMPRESS -DZSTD_NOTRACE $^ -o $@
|
||||
|
||||
-zstd-compress: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) zstdcli.c util.c timefn.c fileio.c
|
||||
- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NODECOMPRESS -DZSTD_NOTRACE $^ -o $@$(EXT)
|
||||
+zstd-compress$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) zstdcli.c util.c timefn.c fileio.c
|
||||
+ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NODECOMPRESS -DZSTD_NOTRACE $^ -o $@
|
||||
|
||||
## zstd-dictBuilder: executable supporting dictionary creation and compression (only)
|
||||
-zstd-dictBuilder: CPPFLAGS += -DZSTD_NOBENCH -DZSTD_NODECOMPRESS -DZSTD_NOTRACE
|
||||
-zstd-dictBuilder: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) $(ZDICT_SRC) zstdcli.c util.c timefn.c fileio.c dibio.c
|
||||
- $(CC) $(FLAGS) $^ -o $@$(EXT)
|
||||
+zstd-dictBuilder$(EXT): CPPFLAGS += -DZSTD_NOBENCH -DZSTD_NODECOMPRESS -DZSTD_NOTRACE
|
||||
+zstd-dictBuilder$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) $(ZDICT_SRC) zstdcli.c util.c timefn.c fileio.c dibio.c
|
||||
+ $(CC) $(FLAGS) $^ -o $@
|
||||
|
||||
-zstdmt: zstd
|
||||
- ln -sf zstd zstdmt
|
||||
+zstdmt$(EXT): zstd$(EXT)
|
||||
+ ln -sf zstd$(EXT) zstdmt$(EXT)
|
||||
|
||||
.PHONY: generate_res
|
||||
generate_res: $(RES64_FILE) $(RES32_FILE)
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
|
||||
|
||||
SRC_URI = "git://github.com/facebook/zstd.git;branch=release \
|
||||
file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \
|
||||
file://0001-MinGW-Build-Fixes.patch \
|
||||
"
|
||||
|
||||
SRCREV = "a488ba114ec17ea1054b9057c26a046fc122b3b6"
|
||||
|
||||
Reference in New Issue
Block a user