script: make test-travis
before_install:
- sudo apt-get update -qq
+ - sudo apt-get install -qq gcc-arm-linux-gnueabi
- sudo apt-get install -qq clang
- sudo apt-get install -qq g++-multilib
- sudo apt-get install -qq gcc-multilib
- ZSTD_TRAVIS_CI_ENV=test-all
- ZSTD_TRAVIS_CI_ENV=clangtest
- ZSTD_TRAVIS_CI_ENV=gpptest
+ - ZSTD_TRAVIS_CI_ENV=armtest
matrix:
fast_finish: true
gpptest: clean
$(MAKE) all CC=g++ CFLAGS="-O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
+armtest: clean
+ cd $(ZSTDDIR); $(MAKE) -e all CC=arm-linux-gnueabi-gcc MOREFLAGS="-Werror"
+ cd $(PRGDIR); $(MAKE) -e CC=arm-linux-gnueabi-gcc CPPFLAGS="-Werror"
+
+sanitize: clean
+ $(MAKE) test CC=clang CPPFLAGS="-g -fsanitize=undefined" FUZZER_TIME="-T1mn" NB_LOOPS=-i1
endif
DESTDIR?=
PREFIX ?= /usr
CFLAGS ?= -O3
-CFLAGS += -I. -std=c99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prototypes
+CFLAGS += -std=c99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prototypes
+LDFLAGS = -I.
+FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MOREFLAGS)
LIBDIR ?= $(PREFIX)/lib
INCLUDEDIR=$(PREFIX)/include
libzstd: zstd.c
@echo compiling static library
- @$(CC) $(CPPFLAGS) $(CFLAGS) -c $^
+ @$(CC) $(FLAGS) -c $^
@$(AR) rcs libzstd.a zstd.o
@echo compiling dynamic library $(LIBVER)
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared $^ -fPIC $(SONAME_FLAGS) -o $@.$(SHARED_EXT_VER)
+ @$(CC) $(FLAGS) -shared $^ -fPIC $(SONAME_FLAGS) -o $@.$(SHARED_EXT_VER)
@echo creating versioned links
@ln -sf $@.$(SHARED_EXT_VER) $@.$(SHARED_EXT_MAJOR)
@ln -sf $@.$(SHARED_EXT_VER) $@.$(SHARED_EXT)
test-all: test test32
test-zstd: zstd datagen
- ./datagen | ./zstd -v | ./zstd -d > $(VOID)
- ./datagen -g256MB | ./zstd -v | ./zstd -d > $(VOID)
- ./datagen -g6GB | ./zstd -vq | ./zstd -d > $(VOID)
+ ./datagen | ./zstd -v | ./zstd -d > $(VOID)
+ ./datagen -g256MB | ./zstd -v | ./zstd -d > $(VOID)
+ ./datagen -g6GB -P99 | ./zstd -vq | ./zstd -d > $(VOID)
test-zstd32: zstd32 datagen
- ./datagen | ./zstd32 -v | ./zstd32 -d > $(VOID)
- ./datagen -g256MB | ./zstd32 -v | ./zstd32 -d > $(VOID)
- ./datagen -g6GB | ./zstd32 -vq | ./zstd32 -d > $(VOID)
+ ./datagen | ./zstd32 -v | ./zstd32 -d > $(VOID)
+ ./datagen -g256MB | ./zstd32 -v | ./zstd32 -d > $(VOID)
+ ./datagen -g6GB -P99 | ./zstd32 -vq | ./zstd32 -d > $(VOID)
test-fullbench: fullbench datagen
./fullbench -i1