Merge pull request #2438 from facebook/makej
try to keep libzstd.a "as is" once created
This commit is contained in:
@@ -31,9 +31,9 @@ jobs:
|
|||||||
command: |
|
command: |
|
||||||
make gnu90build; make clean
|
make gnu90build; make clean
|
||||||
make gnu99build; make clean
|
make gnu99build; make clean
|
||||||
make ppc64build; make clean
|
make ppc64build V=1; make clean
|
||||||
make ppcbuild ; make clean
|
make ppcbuild V=1; make clean
|
||||||
make armbuild ; make clean
|
make armbuild V=1; make clean
|
||||||
make -C tests test-legacy test-longmatch; make clean
|
make -C tests test-legacy test-longmatch; make clean
|
||||||
make -C lib libzstd-nomt; make clean
|
make -C lib libzstd-nomt; make clean
|
||||||
# This step is only run on release tags.
|
# This step is only run on release tags.
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ jobs:
|
|||||||
make gcc8install
|
make gcc8install
|
||||||
CC=gcc-8 CFLAGS="-Werror" make -j all
|
CC=gcc-8 CFLAGS="-Werror" make -j all
|
||||||
make clean
|
make clean
|
||||||
CC=gcc-8 make -j uasan-test-zstd </dev/null
|
CC=gcc-8 make -j uasan-test-zstd </dev/null V=1
|
||||||
|
|
||||||
gcc-6-asan-ubsan-testzstd-32bit:
|
gcc-6-asan-ubsan-testzstd-32bit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -85,17 +85,15 @@ jobs:
|
|||||||
make clean
|
make clean
|
||||||
CC=gcc-6 make -j uasan-test-zstd32
|
CC=gcc-6 make -j uasan-test-zstd32
|
||||||
|
|
||||||
clang-38-msan-testzstd:
|
clang-msan-testzstd:
|
||||||
runs-on: ubuntu-16.04 # fails on 18.04
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: clang-3.8 + MSan + Test Zstd
|
- name: clang + MSan + Test Zstd
|
||||||
run: |
|
run: |
|
||||||
# make clang38install (doesn't work)
|
|
||||||
sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main"
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install clang-3.8
|
sudo apt-get install clang
|
||||||
CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
|
CC=clang make msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0 V=1
|
||||||
|
|
||||||
# Note : external libraries must be turned off when using MSAN tests,
|
# Note : external libraries must be turned off when using MSAN tests,
|
||||||
# because they are not msan-instrumented,
|
# because they are not msan-instrumented,
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ allmost: allzstd zlibwrapper
|
|||||||
|
|
||||||
# skip zwrapper, can't build that on alternate architectures without the proper zlib installed
|
# skip zwrapper, can't build that on alternate architectures without the proper zlib installed
|
||||||
.PHONY: allzstd
|
.PHONY: allzstd
|
||||||
allzstd: lib-all
|
allzstd: lib
|
||||||
$(Q)$(MAKE) -C $(PRGDIR) all
|
$(Q)$(MAKE) -C $(PRGDIR) all
|
||||||
$(Q)$(MAKE) -C $(TESTDIR) all
|
$(Q)$(MAKE) -C $(TESTDIR) all
|
||||||
|
|
||||||
@@ -57,9 +57,8 @@ all32:
|
|||||||
$(MAKE) -C $(PRGDIR) zstd32
|
$(MAKE) -C $(PRGDIR) zstd32
|
||||||
$(MAKE) -C $(TESTDIR) all32
|
$(MAKE) -C $(TESTDIR) all32
|
||||||
|
|
||||||
.PHONY: lib lib-release libzstd.a
|
.PHONY: lib lib-release
|
||||||
lib-all : lib
|
lib lib-release :
|
||||||
lib lib-release lib-all :
|
|
||||||
$(Q)$(MAKE) -C $(ZSTDDIR) $@
|
$(Q)$(MAKE) -C $(ZSTDDIR) $@
|
||||||
|
|
||||||
.PHONY: zstd zstd-release
|
.PHONY: zstd zstd-release
|
||||||
@@ -225,10 +224,10 @@ aarch64build: clean
|
|||||||
CC=aarch64-linux-gnu-gcc CFLAGS="-Werror" $(MAKE) allzstd
|
CC=aarch64-linux-gnu-gcc CFLAGS="-Werror" $(MAKE) allzstd
|
||||||
|
|
||||||
ppcbuild: clean
|
ppcbuild: clean
|
||||||
CC=powerpc-linux-gnu-gcc CFLAGS="-m32 -Wno-attributes -Werror" $(MAKE) allzstd
|
CC=powerpc-linux-gnu-gcc CFLAGS="-m32 -Wno-attributes -Werror" $(MAKE) -j allzstd
|
||||||
|
|
||||||
ppc64build: clean
|
ppc64build: clean
|
||||||
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allzstd
|
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) -j allzstd
|
||||||
|
|
||||||
armfuzz: clean
|
armfuzz: clean
|
||||||
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest
|
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,7 @@
|
|||||||
- COMPILER: "clang"
|
- COMPILER: "clang"
|
||||||
HOST: "mingw"
|
HOST: "mingw"
|
||||||
PLATFORM: "x64"
|
PLATFORM: "x64"
|
||||||
SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make allzstd"
|
SCRIPT: "MOREFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make -j allzstd V=1"
|
||||||
BUILD: "true"
|
BUILD: "true"
|
||||||
|
|
||||||
- COMPILER: "gcc"
|
- COMPILER: "gcc"
|
||||||
@@ -204,7 +204,7 @@
|
|||||||
- COMPILER: "clang"
|
- COMPILER: "clang"
|
||||||
HOST: "mingw"
|
HOST: "mingw"
|
||||||
PLATFORM: "x64"
|
PLATFORM: "x64"
|
||||||
SCRIPT: "CFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make -j allzstd"
|
SCRIPT: "CFLAGS='--target=x86_64-w64-mingw32 -Werror -Wconversion -Wno-sign-conversion' make -j allzstd V=1"
|
||||||
|
|
||||||
- COMPILER: "visual"
|
- COMPILER: "visual"
|
||||||
HOST: "visual"
|
HOST: "visual"
|
||||||
|
|||||||
+5
-5
@@ -215,13 +215,10 @@ SET_CACHE_DIRECTORY = \
|
|||||||
LDFLAGS="$(LDFLAGS)"
|
LDFLAGS="$(LDFLAGS)"
|
||||||
|
|
||||||
|
|
||||||
.PHONY: lib-all all clean install uninstall
|
.PHONY: all
|
||||||
|
|
||||||
# alias
|
|
||||||
lib-all: all
|
|
||||||
|
|
||||||
all: lib
|
all: lib
|
||||||
|
|
||||||
|
|
||||||
.PHONY: libzstd.a # must be run every time
|
.PHONY: libzstd.a # must be run every time
|
||||||
|
|
||||||
ifndef BUILD_DIR
|
ifndef BUILD_DIR
|
||||||
@@ -339,6 +336,7 @@ libzstd-nomt: $(ZSTD_NOMT_FILES)
|
|||||||
@echo files : $(ZSTD_NOMT_FILES)
|
@echo files : $(ZSTD_NOMT_FILES)
|
||||||
$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
|
$(CC) $(FLAGS) $^ $(LDFLAGS) $(SONAME_FLAGS) -o $@
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r *.dSYM # macOS-specific
|
$(RM) -r *.dSYM # macOS-specific
|
||||||
$(RM) core *.o *.a *.gcda *.$(SHARED_EXT) *.$(SHARED_EXT).* libzstd.pc
|
$(RM) core *.o *.a *.gcda *.$(SHARED_EXT) *.$(SHARED_EXT).* libzstd.pc
|
||||||
@@ -407,6 +405,7 @@ libzstd.pc: libzstd.pc.in
|
|||||||
-e 's|@VERSION@|$(VERSION)|' \
|
-e 's|@VERSION@|$(VERSION)|' \
|
||||||
$< >$@
|
$< >$@
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
install: install-pc install-static install-shared install-includes
|
install: install-pc install-static install-shared install-includes
|
||||||
@echo zstd static and shared library installed
|
@echo zstd static and shared library installed
|
||||||
|
|
||||||
@@ -437,6 +436,7 @@ install-includes:
|
|||||||
$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
|
$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
|
||||||
$(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)
|
$(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)
|
||||||
|
|
||||||
|
.PHONY: uninstall
|
||||||
uninstall:
|
uninstall:
|
||||||
$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
|
$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
|
||||||
$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
|
$(RM) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
|
||||||
|
|||||||
+9
-5
@@ -61,8 +61,10 @@ DEBUGFLAGS+=-Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
|
|||||||
-Wstrict-prototypes -Wundef -Wpointer-arith \
|
-Wstrict-prototypes -Wundef -Wpointer-arith \
|
||||||
-Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
|
-Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
|
||||||
-Wredundant-decls -Wmissing-prototypes -Wc++-compat
|
-Wredundant-decls -Wmissing-prototypes -Wc++-compat
|
||||||
CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS)
|
CFLAGS += $(DEBUGFLAGS)
|
||||||
FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
|
CPPFLAGS += $(MOREFLAGS)
|
||||||
|
LDFLAGS += $(MOREFLAGS)
|
||||||
|
FLAGS = $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
|
||||||
|
|
||||||
ZSTDLIB_COMMON := $(ZSTDDIR)/common
|
ZSTDLIB_COMMON := $(ZSTDDIR)/common
|
||||||
ZSTDLIB_COMPRESS := $(ZSTDDIR)/compress
|
ZSTDLIB_COMPRESS := $(ZSTDDIR)/compress
|
||||||
@@ -196,7 +198,8 @@ SET_CACHE_DIRECTORY = \
|
|||||||
BUILD_DIR=obj/$(HASH_DIR) \
|
BUILD_DIR=obj/$(HASH_DIR) \
|
||||||
CPPFLAGS="$(CPPFLAGS)" \
|
CPPFLAGS="$(CPPFLAGS)" \
|
||||||
CFLAGS="$(CFLAGS)" \
|
CFLAGS="$(CFLAGS)" \
|
||||||
LDFLAGS="$(LDFLAGS)"
|
LDFLAGS="$(LDFLAGS)" \
|
||||||
|
LDLIBS="$(LDLIBS)"
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
@@ -207,7 +210,8 @@ allVariants: zstd zstd-compress zstd-decompress zstd-small zstd-nolegacy zstd-di
|
|||||||
|
|
||||||
.PHONY: zstd # must always be run
|
.PHONY: zstd # must always be run
|
||||||
zstd : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP)
|
zstd : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP)
|
||||||
zstd : LDFLAGS += $(THREAD_LD) $(ZLIBLD) $(LZMALD) $(LZ4LD) $(DEBUGFLAGS_LD)
|
zstd : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD)
|
||||||
|
zstd : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD)
|
||||||
zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
|
||||||
ifneq (,$(filter Windows%,$(OS)))
|
ifneq (,$(filter Windows%,$(OS)))
|
||||||
zstd : $(RES_FILE)
|
zstd : $(RES_FILE)
|
||||||
@@ -229,7 +233,7 @@ $(BUILD_DIR)/zstd : $(ZSTD_OBJ)
|
|||||||
@echo "$(LZMA_MSG)"
|
@echo "$(LZMA_MSG)"
|
||||||
@echo "$(LZ4_MSG)"
|
@echo "$(LZ4_MSG)"
|
||||||
@echo LINK $@
|
@echo LINK $@
|
||||||
$(CC) $(FLAGS) $^ -o $@$(EXT) $(LDFLAGS)
|
$(CC) $(FLAGS) $^ $(LDLIBS) -o $@$(EXT)
|
||||||
|
|
||||||
ifeq ($(HAVE_HASH),1)
|
ifeq ($(HAVE_HASH),1)
|
||||||
SRCBIN_HASH = $(shell cat $(BUILD_DIR)/zstd 2> $(VOID) | $(HASH) | cut -f 1 -d " ")
|
SRCBIN_HASH = $(shell cat $(BUILD_DIR)/zstd 2> $(VOID) | $(HASH) | cut -f 1 -d " ")
|
||||||
|
|||||||
+4
-5
@@ -38,8 +38,8 @@ CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
|
|||||||
-Wstrict-prototypes -Wundef \
|
-Wstrict-prototypes -Wundef \
|
||||||
-Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
|
-Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings \
|
||||||
-Wredundant-decls -Wmissing-prototypes
|
-Wredundant-decls -Wmissing-prototypes
|
||||||
CFLAGS += $(DEBUGFLAGS) $(MOREFLAGS)
|
CFLAGS += $(DEBUGFLAGS)
|
||||||
FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
|
CPPFLAGS += $(MOREFLAGS)
|
||||||
|
|
||||||
|
|
||||||
ZSTDCOMMON_FILES := $(ZSTDDIR)/common/*.c
|
ZSTDCOMMON_FILES := $(ZSTDDIR)/common/*.c
|
||||||
@@ -107,7 +107,6 @@ libzstd :
|
|||||||
%-dll : libzstd
|
%-dll : libzstd
|
||||||
%-dll : LDFLAGS += -L$(ZSTDDIR) -lzstd
|
%-dll : LDFLAGS += -L$(ZSTDDIR) -lzstd
|
||||||
|
|
||||||
.PHONY: $(ZSTDDIR)/libzstd.a
|
|
||||||
$(ZSTDDIR)/libzstd.a :
|
$(ZSTDDIR)/libzstd.a :
|
||||||
$(MAKE) -C $(ZSTDDIR) libzstd.a
|
$(MAKE) -C $(ZSTDDIR) libzstd.a
|
||||||
|
|
||||||
@@ -146,7 +145,7 @@ fullbench-lib : $(PRGDIR)/datagen.c $(PRGDIR)/util.c $(PRGDIR)/timefn.c $(PRGDIR
|
|||||||
# note : broken : requires symbols unavailable from dynamic library
|
# note : broken : requires symbols unavailable from dynamic library
|
||||||
fullbench-dll: $(PRGDIR)/datagen.c $(PRGDIR)/util.c $(PRGDIR)/benchfn.c $(PRGDIR)/timefn.c fullbench.c
|
fullbench-dll: $(PRGDIR)/datagen.c $(PRGDIR)/util.c $(PRGDIR)/benchfn.c $(PRGDIR)/timefn.c fullbench.c
|
||||||
# $(CC) $(FLAGS) $(filter %.c,$^) -o $@$(EXT) -DZSTD_DLL_IMPORT=1 $(ZSTDDIR)/dll/libzstd.dll
|
# $(CC) $(FLAGS) $(filter %.c,$^) -o $@$(EXT) -DZSTD_DLL_IMPORT=1 $(ZSTDDIR)/dll/libzstd.dll
|
||||||
$(CC) $(FLAGS) $(filter %.c,$^) -o $@$(EXT)
|
$(LINK.c) $^ $(LDLIBS) -o $@$(EXT)
|
||||||
|
|
||||||
fuzzer : CPPFLAGS += $(MULTITHREAD_CPP)
|
fuzzer : CPPFLAGS += $(MULTITHREAD_CPP)
|
||||||
fuzzer : LDFLAGS += $(MULTITHREAD_LD)
|
fuzzer : LDFLAGS += $(MULTITHREAD_LD)
|
||||||
@@ -165,7 +164,7 @@ zbufftest zbufftest32 zbufftest-dll : CPPFLAGS += -I$(ZSTDDIR)/deprecated
|
|||||||
zbufftest zbufftest32 zbufftest-dll : CFLAGS += -Wno-deprecated-declarations # required to silence deprecation warnings
|
zbufftest zbufftest32 zbufftest-dll : CFLAGS += -Wno-deprecated-declarations # required to silence deprecation warnings
|
||||||
zbufftest32 : CFLAGS += -m32
|
zbufftest32 : CFLAGS += -m32
|
||||||
zbufftest zbufftest32 : $(ZSTD_OBJECTS) $(ZBUFF_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c $(PRGDIR)/datagen.c zbufftest.c
|
zbufftest zbufftest32 : $(ZSTD_OBJECTS) $(ZBUFF_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c $(PRGDIR)/datagen.c zbufftest.c
|
||||||
$(CC) $(FLAGS) $^ -o $@$(EXT)
|
$(LINK.c) $^ -o $@$(EXT)
|
||||||
|
|
||||||
zbufftest-dll : $(ZSTDDIR)/common/xxhash.c $(PRGDIR)/util.c $(PRGDIR)/timefn.c $(PRGDIR)/datagen.c zbufftest.c
|
zbufftest-dll : $(ZSTDDIR)/common/xxhash.c $(PRGDIR)/util.c $(PRGDIR)/timefn.c $(PRGDIR)/datagen.c zbufftest.c
|
||||||
$(CC) $(CPPFLAGS) $(CFLAGS) $(filter %.c,$^) $(LDFLAGS) -o $@$(EXT)
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(filter %.c,$^) $(LDFLAGS) -o $@$(EXT)
|
||||||
|
|||||||
Reference in New Issue
Block a user