diff --git a/.travis.yml b/.travis.yml index 81773ae5..d421eb98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,8 @@ matrix: - libc6-dev-armel-cross - linux-libc-dev-armel-cross - binfmt-support + - qemu + - qemu-user-static - os: linux sudo: required env: PLATFORM="Ubuntu 12.04" CMD="make -C programs test32" @@ -72,9 +74,12 @@ matrix: - ubuntu-toolchain-r-test packages: - gcc-multilib + - gcc-4.8-multilib-powerpc-linux-gnu - gcc-5-multilib - gcc-6-multilib + - binfmt-support - qemu-system-ppc + - qemu-user-static - gcc-powerpc-linux-gnu # OS X Mavericks - os: osx diff --git a/programs/Makefile b/programs/Makefile index a51d438b..f5efd083 100644 --- a/programs/Makefile +++ b/programs/Makefile @@ -54,10 +54,12 @@ FLAGS = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) ZSTDCOMMON_FILES := $(ZSTDDIR)/common/*.c ZSTDCOMP_FILES := $(ZSTDDIR)/compress/zstd_compress.c $(ZSTDDIR)/compress/fse_compress.c $(ZSTDDIR)/compress/huf_compress.c -ZSTDDECOMP_FILES := $(ZSTDDIR)/decompress/zstd_decompress.o $(ZSTDDIR)/decompress/huf_decompress.c +ZSTDDECOMP_FILES := $(ZSTDDIR)/decompress/huf_decompress.c ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES) ZBUFF_FILES := $(ZSTDDIR)/compress/zbuff_compress.c $(ZSTDDIR)/decompress/zbuff_decompress.c ZDICT_FILES := $(ZSTDDIR)/dictBuilder/*.c +ZSTDDECOMP_O = $(ZSTDDIR)/decompress/zstd_decompress.o +ZSTDDECOMP32_O = $(ZSTDDIR)/decompress/zstd_decompress32.o ifeq ($(ZSTD_LEGACY_SUPPORT), 0) CPPFLAGS += -DZSTD_LEGACY_SUPPORT=0 @@ -86,21 +88,25 @@ ZSTDRTTEST= --test-large-data default: zstd -all: zstd fullbench fuzzer zbufftest paramgrill datagen +all: zstd fullbench fuzzer zbufftest zstreamtest paramgrill datagen -all32: CFLAGS += -m32 -all32: EXT := 32$(EXT) -all32: cleano32 all +all32: cleano32 zstd32 fullbench32 fuzzer32 zbufftest32 zstreamtest32 -$(ZSTDDIR)/decompress/zstd_decompress.o: CFLAGS += $(ALIGN_LOOP) -zstd : $(ZSTD_FILES) $(ZSTDLEGACY_FILES) $(ZDICT_FILES) \ +$(ZSTDDECOMP_O): $(ZSTDDIR)/decompress/zstd_decompress.c + $(CC) $(ALIGN_LOOP) $(FLAGS) $^ -c -o $@ + +$(ZSTDDECOMP32_O): $(ZSTDDIR)/decompress/zstd_decompress.c + $(CC) -m32 $(ALIGN_LOOP) $(FLAGS) $^ -c -o $@ + +zstd : $(ZSTDDECOMP_O) $(ZSTD_FILES) $(ZSTDLEGACY_FILES) $(ZDICT_FILES) \ zstdcli.c fileio.c bench.c datagen.c dibio.c $(CC) $(FLAGS) -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) $^ -o $@$(EXT) -zstd32: CFLAGS += -m32 -zstd32: EXT := 32$(EXT) -zstd32: zstd +zstd32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) $(ZSTDLEGACY_FILES) $(ZDICT_FILES) \ + zstdcli.c fileio.c bench.c datagen.c dibio.c + $(CC) -m32 $(FLAGS) -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) $^ -o $@$(EXT) + zstd_nolegacy : $(MAKE) zstd ZSTD_LEGACY_SUPPORT=0 @@ -130,34 +136,31 @@ zstd-decompress: $(ZSTDCOMMON_FILES) $(ZSTDDECOMP_FILES) \ zstd-small: clean CFLAGS="-Os -s" $(MAKE) zstd-frugal -fullbench : $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c fullbench.c +fullbench : $(ZSTDDECOMP_O) $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c fullbench.c $(CC) $(FLAGS) $^ -o $@$(EXT) -fullbench32 : CFLAGS += -m32 -fullbench32 : EXT := 32$(EXT) -fullbench32 : fullbench +fullbench32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c fullbench.c + $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) fuzzer : CPPFLAGS += -I$(ZSTDDIR)/dictBuilder -fuzzer : $(ZSTD_FILES) $(ZDICT_FILES) datagen.c fuzzer.c +fuzzer : $(ZSTDDECOMP_O) $(ZSTD_FILES) $(ZDICT_FILES) datagen.c fuzzer.c $(CC) $(FLAGS) $^ -o $@$(EXT) -fuzzer32 : CFLAGS += -m32 -fuzzer32 : EXT := 32$(EXT) -fuzzer32 : fuzzer +fuzzer32 : CPPFLAGS += -I$(ZSTDDIR)/dictBuilder +fuzzer32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) $(ZDICT_FILES) datagen.c fuzzer.c + $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) -zbufftest : $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c zbufftest.c +zbufftest : $(ZSTDDECOMP_O) $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c zbufftest.c $(CC) $(FLAGS) $^ -o $@$(EXT) -zbufftest32 : CFLAGS += -m32 -zbufftest32 : EXT := 32$(EXT) -zbufftest32 : zbufftest +zbufftest32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) $(ZBUFF_FILES) datagen.c zbufftest.c + $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) -zstreamtest : $(ZSTD_FILES) datagen.c zstreamtest.c +zstreamtest : $(ZSTDDECOMP_O) $(ZSTD_FILES) datagen.c zstreamtest.c $(CC) $(FLAGS) $^ -o $@$(EXT) -zstreamtest32 : CFLAGS += -m32 -zstreamtest32 : EXT := 32$(EXT) -zstreamtest32 : zstreamtest +zstreamtest32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) datagen.c zstreamtest.c + $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) paramgrill : $(ZSTD_FILES) datagen.c paramgrill.c $(CC) $(FLAGS) $^ -lm -o $@$(EXT)