blob: b5ffb95b7138f135797c76538cffb09f7ead8ab6 [file] [log] [blame]
Andrew Geissler95ac1b82021-03-31 14:34:31 -05001From 986c7917aef632745cb3388a86a2f62347d5a0a5 Mon Sep 17 00:00:00 2001
Andrew Geisslerd1e89492021-02-12 15:35:20 -06002From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 23 Dec 2020 19:14:32 +0100
4Subject: [PATCH] Makefile: sort all wildcard file list expansions
5
6Otherwise the order is non-deterministic and breaks
7reproducible builds.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Andrew Geissler95ac1b82021-03-31 14:34:31 -050011
Andrew Geisslerd1e89492021-02-12 15:35:20 -060012---
13 programs/Makefile | 10 +++++-----
14 tests/Makefile | 4 ++--
15 tests/fuzz/Makefile | 2 +-
16 3 files changed, 8 insertions(+), 8 deletions(-)
17
18diff --git a/programs/Makefile b/programs/Makefile
Andrew Geissler95ac1b82021-03-31 14:34:31 -050019index 936f3c80..b8200fae 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -060020--- a/programs/Makefile
21+++ b/programs/Makefile
Andrew Geissler95ac1b82021-03-31 14:34:31 -050022@@ -74,11 +74,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy
Andrew Geisslerd1e89492021-02-12 15:35:20 -060023
24 vpath %.c $(ZSTDLIB_COMMON) $(ZSTDLIB_COMPRESS) $(ZSTDLIB_DECOMPRESS) $(ZDICT_DIR) $(ZSTDLEGACY_DIR)
25
26-ZSTDLIB_COMMON_C := $(wildcard $(ZSTDLIB_COMMON)/*.c)
27-ZSTDLIB_COMPRESS_C := $(wildcard $(ZSTDLIB_COMPRESS)/*.c)
28-ZSTDLIB_DECOMPRESS_C := $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c)
29+ZSTDLIB_COMMON_C := $(sort $(wildcard $(ZSTDLIB_COMMON)/*.c))
30+ZSTDLIB_COMPRESS_C := $(sort $(wildcard $(ZSTDLIB_COMPRESS)/*.c))
31+ZSTDLIB_DECOMPRESS_C := $(sort $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c))
32 ZSTDLIB_CORE_SRC := $(ZSTDLIB_DECOMPRESS_C) $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C)
33-ZDICT_SRC := $(wildcard $(ZDICT_DIR)/*.c)
34+ZDICT_SRC := $(sort $(wildcard $(ZDICT_DIR)/*.c))
35
36 ZSTD_LEGACY_SUPPORT ?= 5
37 ZSTDLEGACY_SRC :=
Andrew Geissler95ac1b82021-03-31 14:34:31 -050038@@ -93,7 +93,7 @@ ZSTDLIB_FULL_SRC = $(sort $(ZSTDLIB_CORE_SRC) $(ZSTDLEGACY_SRC) $(ZDICT_SRC))
39 ZSTDLIB_LOCAL_SRC = $(notdir $(ZSTDLIB_FULL_SRC))
Andrew Geisslerd1e89492021-02-12 15:35:20 -060040 ZSTDLIB_LOCAL_OBJ := $(ZSTDLIB_LOCAL_SRC:.c=.o)
41
42-ZSTD_CLI_SRC := $(wildcard *.c)
43+ZSTD_CLI_SRC := $(sort $(wildcard *.c))
44 ZSTD_CLI_OBJ := $(ZSTD_CLI_SRC:.c=.o)
45
Andrew Geissler95ac1b82021-03-31 14:34:31 -050046 ZSTD_ALL_SRC = $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC)
Andrew Geisslerd1e89492021-02-12 15:35:20 -060047diff --git a/tests/Makefile b/tests/Makefile
Andrew Geissler95ac1b82021-03-31 14:34:31 -050048index f0605057..74a90b0f 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -060049--- a/tests/Makefile
50+++ b/tests/Makefile
51@@ -49,7 +49,7 @@ ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES)
52 ZBUFF_FILES := $(ZSTDDIR)/deprecated/*.c
53 ZDICT_FILES := $(ZSTDDIR)/dictBuilder/*.c
54
55-ZSTD_F1 := $(wildcard $(ZSTD_FILES))
56+ZSTD_F1 := $(sort $(wildcard $(ZSTD_FILES)))
57 ZSTD_OBJ1 := $(subst $(ZSTDDIR)/common/,zstdm_,$(ZSTD_F1))
58 ZSTD_OBJ2 := $(subst $(ZSTDDIR)/compress/,zstdc_,$(ZSTD_OBJ1))
59 ZSTD_OBJ3 := $(subst $(ZSTDDIR)/decompress/,zstdd_,$(ZSTD_OBJ2))
Andrew Geissler95ac1b82021-03-31 14:34:31 -050060@@ -211,7 +211,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060061 invalidDictionaries : $(ZSTD_OBJECTS) invalidDictionaries.c
62
63 legacy : CPPFLAGS += -I$(ZSTDDIR)/legacy -DZSTD_LEGACY_SUPPORT=4
64-legacy : $(ZSTD_FILES) $(wildcard $(ZSTDDIR)/legacy/*.c) legacy.c
65+legacy : $(ZSTD_FILES) $(sort $(wildcard $(ZSTDDIR)/legacy/*.c)) legacy.c
66
67 decodecorpus : LDLIBS += -lm
68 decodecorpus : $(filter-out zstdc_zstd_compress.o, $(ZSTD_OBJECTS)) $(ZDICT_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c decodecorpus.c
69diff --git a/tests/fuzz/Makefile b/tests/fuzz/Makefile
Andrew Geissler95ac1b82021-03-31 14:34:31 -050070index f3a561de..68a29ef0 100644
Andrew Geisslerd1e89492021-02-12 15:35:20 -060071--- a/tests/fuzz/Makefile
72+++ b/tests/fuzz/Makefile
73@@ -58,7 +58,7 @@ FUZZ_SRC := \
74 $(ZSTDCOMP_SRC) \
75 $(ZSTDDICT_SRC) \
76 $(ZSTDLEGACY_SRC)
77-FUZZ_SRC := $(wildcard $(FUZZ_SRC))
78+FUZZ_SRC := $(sort $(wildcard $(FUZZ_SRC)))
79
80 FUZZ_D_OBJ1 := $(subst $(ZSTDDIR)/common/,d_lib_common_,$(FUZZ_SRC))
81 FUZZ_D_OBJ2 := $(subst $(ZSTDDIR)/compress/,d_lib_compress_,$(FUZZ_D_OBJ1))