From bca17351438535d0a172ab69c4e174ffb62fd1e1 Mon Sep 17 00:00:00 2001 From: Armin Hasitzka Date: Fri, 13 Jul 2018 21:12:52 +0200 Subject: [Freetype] Update build process: (#1614) - Build the known target `ftfuzzer' with FreeType's new, dedicated testing repository. - Move most of the build logic regarding the fuzz targets to FreeType's repository. --- projects/freetype2/Dockerfile | 8 ++++---- projects/freetype2/build.sh | 23 ++++++++++------------- projects/freetype2/ftfuzzer.options | 2 -- 3 files changed, 14 insertions(+), 19 deletions(-) delete mode 100644 projects/freetype2/ftfuzzer.options (limited to 'projects') diff --git a/projects/freetype2/Dockerfile b/projects/freetype2/Dockerfile index 5248606c..ccce5b5d 100644 --- a/projects/freetype2/Dockerfile +++ b/projects/freetype2/Dockerfile @@ -16,13 +16,13 @@ FROM gcr.io/oss-fuzz-base/base-builder MAINTAINER mike.aizatsky@gmail.com -RUN apt-get update && apt-get install -y make autoconf libtool libarchive-dev +RUN apt-get update && apt-get install -y autoconf cmake libarchive-dev libtool make # Get some files for the seed corpus ADD https://github.com/adobe-fonts/adobe-variable-font-prototype/releases/download/1.001/AdobeVFPrototype.otf $SRC/font-corpus/ RUN git clone https://github.com/unicode-org/text-rendering-tests.git && cp text-rendering-tests/fonts/* $SRC/font-corpus -RUN git clone --depth 1 https://github.com/cherusker/freetype2-testing.git && find freetype2-testing/fuzzing/corpora/legacy -type f -exec cp {} $SRC/font-corpus \; -RUN git clone --depth 1 git://git.sv.nongnu.org/freetype/freetype2.git -WORKDIR freetype2 +RUN git clone --depth 1 https://github.com/cherusker/freetype2-testing.git +WORKDIR freetype2-testing + COPY build.sh *.options $SRC/ diff --git a/projects/freetype2/build.sh b/projects/freetype2/build.sh index df7b393f..6ed16410 100755 --- a/projects/freetype2/build.sh +++ b/projects/freetype2/build.sh @@ -16,18 +16,15 @@ # ################################################################################ -./autogen.sh -sync -./configure -make -j$(nproc) clean -make -j$(nproc) all +# Tell CMake what fuzzing engine to link: +export CMAKE_FUZZING_ENGINE="-lFuzzingEngine" -$CXX $CXXFLAGS -std=c++11 \ - -I./include -I. \ - ./src/tools/ftfuzzer/ftfuzzer.cc -o $OUT/ftfuzzer \ - ./objs/*.o -lFuzzingEngine \ - /usr/lib/x86_64-linux-gnu/libarchive.a \ - ./objs/.libs/libfreetype.a +bash "fuzzing/scripts/build-fuzzers.sh" +bash "fuzzing/scripts/prepare-oss-fuzz.sh" -zip -j $OUT/ftfuzzer_seed_corpus.zip $SRC/font-corpus/* -cp $SRC/*.options $OUT/ +# Rename the `legacy' target to `ftfuzzer' for historical reasons: +for f in "${OUT}/legacy"*; do + mv "${f}" "${f/legacy/ftfuzzer}" +done + +zip -ju "${OUT}/ftfuzzer_seed_corpus.zip" "${SRC}/font-corpus/"* diff --git a/projects/freetype2/ftfuzzer.options b/projects/freetype2/ftfuzzer.options deleted file mode 100644 index dc40b73d..00000000 --- a/projects/freetype2/ftfuzzer.options +++ /dev/null @@ -1,2 +0,0 @@ -[libfuzzer] -max_len = 30000 -- cgit v1.2.3