Andrew Geissler | c723b72 | 2021-01-08 16:14:09 -0600 | [diff] [blame] | 1 | From 8d01b0753162681dcdbb7cf56f1e393c261e3eb0 Mon Sep 17 00:00:00 2001 |
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
| 3 | Date: Wed, 23 Dec 2020 19:14:32 +0100 |
| 4 | Subject: [PATCH] Makefile: sort all wildcard file list expansions |
| 5 | |
| 6 | Otherwise the order is non-deterministic and breaks |
| 7 | reproducible builds. |
| 8 | |
| 9 | Upstream-Status: Pending |
| 10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
| 11 | --- |
| 12 | programs/Makefile | 10 +++++----- |
| 13 | tests/Makefile | 4 ++-- |
| 14 | tests/fuzz/Makefile | 2 +- |
| 15 | 3 files changed, 8 insertions(+), 8 deletions(-) |
| 16 | |
| 17 | diff --git a/programs/Makefile b/programs/Makefile |
| 18 | index 8641d0ee..26fee45f 100644 |
| 19 | --- a/programs/Makefile |
| 20 | +++ b/programs/Makefile |
| 21 | @@ -72,11 +72,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy |
| 22 | |
| 23 | vpath %.c $(ZSTDLIB_COMMON) $(ZSTDLIB_COMPRESS) $(ZSTDLIB_DECOMPRESS) $(ZDICT_DIR) $(ZSTDLEGACY_DIR) |
| 24 | |
| 25 | -ZSTDLIB_COMMON_C := $(wildcard $(ZSTDLIB_COMMON)/*.c) |
| 26 | -ZSTDLIB_COMPRESS_C := $(wildcard $(ZSTDLIB_COMPRESS)/*.c) |
| 27 | -ZSTDLIB_DECOMPRESS_C := $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c) |
| 28 | +ZSTDLIB_COMMON_C := $(sort $(wildcard $(ZSTDLIB_COMMON)/*.c)) |
| 29 | +ZSTDLIB_COMPRESS_C := $(sort $(wildcard $(ZSTDLIB_COMPRESS)/*.c)) |
| 30 | +ZSTDLIB_DECOMPRESS_C := $(sort $(wildcard $(ZSTDLIB_DECOMPRESS)/*.c)) |
| 31 | ZSTDLIB_CORE_SRC := $(ZSTDLIB_DECOMPRESS_C) $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) |
| 32 | -ZDICT_SRC := $(wildcard $(ZDICT_DIR)/*.c) |
| 33 | +ZDICT_SRC := $(sort $(wildcard $(ZDICT_DIR)/*.c)) |
| 34 | |
| 35 | ZSTD_LEGACY_SUPPORT ?= 5 |
| 36 | ZSTDLEGACY_SRC := |
| 37 | @@ -91,7 +91,7 @@ ZSTDLIB_FULL_SRC = $(sort $(ZSTDLIB_CORE_SRC) $(ZSTDLEGACY_SRC) $(ZDICT_SRC)) |
| 38 | ZSTDLIB_LOCAL_SRC := $(notdir $(ZSTDLIB_FULL_SRC)) |
| 39 | ZSTDLIB_LOCAL_OBJ := $(ZSTDLIB_LOCAL_SRC:.c=.o) |
| 40 | |
| 41 | -ZSTD_CLI_SRC := $(wildcard *.c) |
| 42 | +ZSTD_CLI_SRC := $(sort $(wildcard *.c)) |
| 43 | ZSTD_CLI_OBJ := $(ZSTD_CLI_SRC:.c=.o) |
| 44 | |
| 45 | ZSTD_ALL_SRC := $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC) |
| 46 | diff --git a/tests/Makefile b/tests/Makefile |
| 47 | index 42bc353c..5f5654f0 100644 |
| 48 | --- a/tests/Makefile |
| 49 | +++ b/tests/Makefile |
| 50 | @@ -49,7 +49,7 @@ ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES) |
| 51 | ZBUFF_FILES := $(ZSTDDIR)/deprecated/*.c |
| 52 | ZDICT_FILES := $(ZSTDDIR)/dictBuilder/*.c |
| 53 | |
| 54 | -ZSTD_F1 := $(wildcard $(ZSTD_FILES)) |
| 55 | +ZSTD_F1 := $(sort $(wildcard $(ZSTD_FILES))) |
| 56 | ZSTD_OBJ1 := $(subst $(ZSTDDIR)/common/,zstdm_,$(ZSTD_F1)) |
| 57 | ZSTD_OBJ2 := $(subst $(ZSTDDIR)/compress/,zstdc_,$(ZSTD_OBJ1)) |
| 58 | ZSTD_OBJ3 := $(subst $(ZSTDDIR)/decompress/,zstdd_,$(ZSTD_OBJ2)) |
| 59 | @@ -212,7 +212,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c |
| 60 | invalidDictionaries : $(ZSTD_OBJECTS) invalidDictionaries.c |
| 61 | |
| 62 | legacy : CPPFLAGS += -I$(ZSTDDIR)/legacy -DZSTD_LEGACY_SUPPORT=4 |
| 63 | -legacy : $(ZSTD_FILES) $(wildcard $(ZSTDDIR)/legacy/*.c) legacy.c |
| 64 | +legacy : $(ZSTD_FILES) $(sort $(wildcard $(ZSTDDIR)/legacy/*.c)) legacy.c |
| 65 | |
| 66 | decodecorpus : LDLIBS += -lm |
| 67 | decodecorpus : $(filter-out zstdc_zstd_compress.o, $(ZSTD_OBJECTS)) $(ZDICT_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c decodecorpus.c |
| 68 | diff --git a/tests/fuzz/Makefile b/tests/fuzz/Makefile |
| 69 | index 36232a8c..574fe877 100644 |
| 70 | --- a/tests/fuzz/Makefile |
| 71 | +++ b/tests/fuzz/Makefile |
| 72 | @@ -58,7 +58,7 @@ FUZZ_SRC := \ |
| 73 | $(ZSTDCOMP_SRC) \ |
| 74 | $(ZSTDDICT_SRC) \ |
| 75 | $(ZSTDLEGACY_SRC) |
| 76 | -FUZZ_SRC := $(wildcard $(FUZZ_SRC)) |
| 77 | +FUZZ_SRC := $(sort $(wildcard $(FUZZ_SRC))) |
| 78 | |
| 79 | FUZZ_D_OBJ1 := $(subst $(ZSTDDIR)/common/,d_lib_common_,$(FUZZ_SRC)) |
| 80 | FUZZ_D_OBJ2 := $(subst $(ZSTDDIR)/compress/,d_lib_compress_,$(FUZZ_D_OBJ1)) |