mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 20:51:29 +00:00
* Update zlibng * Set cmake path more directly in zlibng to hopefully fix an issue with the build on drone * I'm dumb, missing / in path * Mackal helps with a dumb gitignore issue * Adding all the files, not sure what's ignoring them and im tired of looking * Some tweaks to zlibng build to hopefully get it to build properly. works on msvc now
117 lines
3.5 KiB
Makefile
117 lines
3.5 KiB
Makefile
# Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
|
|
# Copyright 2015, Daniel Axtens, IBM Corporation
|
|
# zlib license, see zlib.h
|
|
|
|
CC=
|
|
CFLAGS=
|
|
EXE=
|
|
SRCDIR=
|
|
SRCTOP=
|
|
LIBNAME=
|
|
TEST_LDFLAGS=-L.. ../$(LIBNAME).a
|
|
WITH_FUZZERS=
|
|
|
|
COMPATTESTS =
|
|
QEMU_RUN=
|
|
QEMU_VER:=$(shell command -v $(QEMU_RUN) --version 2> /dev/null)
|
|
|
|
all: oldtests cvetests $(COMPATTESTS) fuzzer ghtests
|
|
|
|
oldtests: #set by ../configure
|
|
check_cross_dep:
|
|
ifneq (,$(QEMU_RUN))
|
|
ifeq (,$(QEMU_VER))
|
|
$(error "You need QEMU to run tests on non-native platform")
|
|
endif
|
|
endif
|
|
|
|
ALL_SRC_FILES := $(wildcard ../*)
|
|
|
|
# Only check the fuzzer when it is a stand-alone executable.
|
|
ifneq (,$(LIB_FUZZING_ENGINE))
|
|
fuzzer:
|
|
else
|
|
ifeq (0,$(WITH_FUZZERS))
|
|
fuzzer:
|
|
else
|
|
fuzzer:
|
|
@${QEMU_RUN} ../checksum_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../compress_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../example_small_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../example_large_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../example_flush_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../example_dict_fuzzer$(EXE) $(ALL_SRC_FILES) && \
|
|
${QEMU_RUN} ../minigzip_fuzzer$(EXE) $(ALL_SRC_FILES)
|
|
endif
|
|
endif
|
|
|
|
teststatic: check_cross_dep
|
|
@TMPST=tmpst_$$$$; \
|
|
HELLOST=tmphellost_$$$$; \
|
|
if echo hello world | ${QEMU_RUN} ../minigzip$(EXE) > $$HELLOST && ${QEMU_RUN} ../minigzip$(EXE) -d < $$HELLOST && ${QEMU_RUN} ../example$(EXE) $$TMPST && ${QEMU_RUN} ../adler32_test$(EXE); then \
|
|
echo ' *** zlib test OK ***'; \
|
|
else \
|
|
echo ' *** zlib test FAILED ***'; exit 1; \
|
|
fi; \
|
|
rm -f $$TMPST $$HELLOST
|
|
|
|
testshared: check_cross_dep
|
|
@LD_LIBRARY_PATH=`pwd`/..:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
|
|
LD_LIBRARYN32_PATH=`pwd`/..:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
|
|
DYLD_LIBRARY_PATH=`pwd`/..:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
|
|
SHLIB_PATH=`pwd`/..:$(SHLIB_PATH) ; export SHLIB_PATH; \
|
|
TMPSH=tmpsh_$$$$; \
|
|
HELLOSH=tmphellosh_$$$$; \
|
|
if echo hello world | ${QEMU_RUN} ../minigzipsh$(EXE) > $$HELLOSH && ${QEMU_RUN} ../minigzipsh$(EXE) -d < $$HELLOSH && ${QEMU_RUN} ../examplesh$(EXE) $$TMPSH && ${QEMU_RUN} ../adler32_testsh$(EXE); then \
|
|
echo ' *** zlib shared test OK ***'; \
|
|
else \
|
|
echo ' *** zlib shared test FAILED ***'; exit 1; \
|
|
fi; \
|
|
rm -f $$TMPSH $$HELLOSH
|
|
|
|
cvetests: testCVEinputs
|
|
|
|
# Tests requiring zlib-ng to be built with --zlib-compat
|
|
compattests: testCVE-2003-0107
|
|
|
|
testCVEinputs: check_cross_dep
|
|
@EXE=$(EXE) QEMU_RUN="${QEMU_RUN}" $(SRCDIR)/testCVEinputs.sh
|
|
|
|
testCVE-2003-0107: CVE-2003-0107$(EXE) check_cross_dep
|
|
@if ${QEMU_RUN} ./CVE-2003-0107$(EXE); then \
|
|
echo ' *** zlib not vulnerable to CVE-2003-0107 ***'; \
|
|
else \
|
|
echo ' *** zlib VULNERABLE to CVE-2003-0107 ***'; exit 1; \
|
|
fi
|
|
|
|
CVE-2003-0107.o: $(SRCDIR)/CVE-2003-0107.c
|
|
$(CC) $(CFLAGS) -I.. -I$(SRCTOP) -c -o $@ $(SRCDIR)/CVE-2003-0107.c
|
|
|
|
CVE-2003-0107$(EXE): CVE-2003-0107.o
|
|
$(CC) $(CFLAGS) -o $@ CVE-2003-0107.o $(TEST_LDFLAGS)
|
|
|
|
.PHONY: ghtests
|
|
ghtests: testGH-361 testGH-364 testGH-751
|
|
|
|
.PHONY: testGH-361
|
|
testGH-361:
|
|
$(QEMU_RUN) ../minigzip$(EXE) -4 <$(SRCDIR)/GH-361/test.txt >/dev/null
|
|
|
|
switchlevels$(EXE): $(SRCDIR)/switchlevels.c
|
|
$(CC) $(CFLAGS) -I.. -I$(SRCTOP) -o $@ $< $(TEST_LDFLAGS)
|
|
|
|
.PHONY: testGH-364
|
|
testGH-364: switchlevels$(EXE)
|
|
$(QEMU_RUN) ./switchlevels$(EXE) 1 5 9 3 <$(SRCDIR)/GH-364/test.bin >/dev/null
|
|
|
|
.PHONY: testGH-751
|
|
testGH-751:
|
|
$(QEMU_RUN) ../minigzip$(EXE) <$(SRCDIR)/GH-751/test.txt | $(QEMU_RUN) ../minigzip$(EXE) -d >/dev/null
|
|
|
|
clean:
|
|
rm -f *.o *.gcda *.gcno *.gcov
|
|
rm -f CVE-2003-0107$(EXE) switchlevels$(EXE)
|
|
|
|
distclean:
|
|
rm -f Makefile
|