From 24d1a4562b36ecfcd7a6b3b843921d553332a0f0 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Mon, 3 Apr 2017 21:09:37 -0700 Subject: Move libFuzzer build to Makefile Now the only thing fuzz_setup.sh does is installing new clang; if system clang supports -fsanitize-coverage then fuzz_setup.sh is not required. --- Makefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 75528fe..edc3c42 100644 --- a/Makefile +++ b/Makefile @@ -86,9 +86,14 @@ build/pugixml-%: .FORCE | $(RELEASE) $(EXECUTABLE): $(OBJECTS) $(CXX) $(OBJECTS) $(LDFLAGS) -o $@ -$(BUILD)/fuzz_%: tests/fuzz_%.cpp src/pugixml.cpp +build/libFuzzer.o: + svn co http://llvm.org/svn/llvm-project/llvm/trunk/lib/Fuzzer build/Fuzzer + ls build/Fuzzer/*.cpp | xargs printf '#include "%s"\n' >build/libFuzzer.cpp + clang++ build/libFuzzer.cpp -c -g -O2 -fno-omit-frame-pointer -std=c++11 -I . -o build/libFuzzer.o + +$(BUILD)/fuzz_%: tests/fuzz_%.cpp src/pugixml.cpp build/libFuzzer.o @mkdir -p $(BUILD) - clang++ $(CXXFLAGS) -fsanitize=address -fsanitize-coverage=trace-pc-guard $^ libFuzzer.a -o $@ + clang++ $(CXXFLAGS) -fsanitize=address -fsanitize-coverage=trace-pc-guard $^ -o $@ $(BUILD)/%.o: % @mkdir -p $(dir $@) -- cgit v1.2.3