From 44461298dc0a287ba6da166db6bf49865b79e2b9 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Tue, 16 Jan 2018 20:53:25 +0100 Subject: [PATCH] Split the build_fuzzers script in two script. --- .travis/build_fuzzers.sh | 34 ++++++++-------------------------- Magick++/fuzz/build_fuzzers.sh | 23 +++++++++++++++++++++++ 2 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 Magick++/fuzz/build_fuzzers.sh diff --git a/.travis/build_fuzzers.sh b/.travis/build_fuzzers.sh index 19fe853df..7788c4312 100755 --- a/.travis/build_fuzzers.sh +++ b/.travis/build_fuzzers.sh @@ -1,28 +1,10 @@ -#!/bin/bash +#!/bin/bash -eu -set -e -set -x +MAGICK_COMPILER=$CC +MAGICK_COMPILER_FLAGS="-DBUILD_TRAVIS=1" +MAGICK_INCLUDE="appdir/usr/include/ImageMagick-7" +MAGICK_SRC="Magick++/fuzz" +MAGICK_LIBS="-Lappdir/usr/lib -lz -lpng -lfontconfig -lxcb -lX11 -lXext -lbz2 -ljpeg -ljbig -lIlmImf -ldjvulibre -ltiff -llqr-1 -lwmf -lwmflite -lraqm -lxml2 -llzma -llcms2 -lpthread -lfreetype -lMagick++-7.Q16 -lMagickWand-7.Q16 -lMagickCore-7.Q16" +MAGICK_OUTPUT="Magick++/fuzz" -MAGICKINCLUDE="appdir/usr/include/ImageMagick-7" -MAGICKFUZZERLIBS="-Lappdir/usr/lib -lz -lpng -lfontconfig -lxcb -lX11 -lXext -lbz2 -ljpeg -ljbig -lIlmImf -ldjvulibre -ltiff -llqr-1 -lwmf -lwmflite -lraqm -lxml2 -llzma -llcms2 -lpthread -lfreetype -lMagick++-7.Q16 -lMagickWand-7.Q16 -lMagickCore-7.Q16" - -$CC -std=c++11 -I$MAGICKINCLUDE "Magick++/fuzz/encoder_list.cc" \ - -o "encoder_list" \ - -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DBUILD_TRAVIS=1 $MAGICKFUZZERLIBS - -for f in Magick++/fuzz/*_fuzzer.cc; do - fuzzer=$(basename "$f" _fuzzer.cc) - # encoder_fuzzer is special - if [ "$fuzzer" = "encoder" ]; then - continue - fi - $CC -std=c++11 -I$MAGICKINCLUDE \ - "$f" -o "${fuzzer}_fuzzer" \ - -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DBUILD_TRAVIS=1 $MAGICKFUZZERLIBS -done - -# Build one encoder to confirm it works -$CC -std=c++11 -I$MAGICKINCLUDE \ - "Magick++/fuzz/encoder_fuzzer.cc" -o "encoder_wmf_fuzzer" \ - -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -DBUILD_TRAVIS=1 \ - "-DFUZZ_IMAGEMAGICK_ENCODER=WMF" $MAGICKFUZZERLIBS +. $MAGICK_SRC/build_fuzzers.sh \ No newline at end of file diff --git a/Magick++/fuzz/build_fuzzers.sh b/Magick++/fuzz/build_fuzzers.sh new file mode 100644 index 000000000..9764019b2 --- /dev/null +++ b/Magick++/fuzz/build_fuzzers.sh @@ -0,0 +1,23 @@ +#!/bin/bash -eu + +MAGICK_COMPILER_FLAGS="$MAGICK_COMPILER_FLAGS -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16" + +$MAGICK_COMPILER $MAGICK_COMPILER_FLAGS -std=c++11 -I$MAGICK_INCLUDE "$MAGICK_SRC/encoder_list.cc" \ + -o "$MAGICK_SRC/encoder_list" $MAGICK_LIBS + +for f in $MAGICK_SRC/*_fuzzer.cc; do + fuzzer=$(basename "$f" _fuzzer.cc) + # encoder_fuzzer is special + if [ "$fuzzer" = "encoder" ]; then + continue + fi + $MAGICK_COMPILER $MAGICK_COMPILER_FLAGS -std=c++11 -I$MAGICK_INCLUDE \ + "$f" -o "$MAGICK_OUTPUT/${fuzzer}_fuzzer" $MAGICK_LIBS +done + +for encoder in $("$MAGICK_SRC/encoder_list"); do + encoder_flags="-DFUZZ_IMAGEMAGICK_ENCODER=$encoder" + $MAGICK_COMPILER $MAGICK_COMPILER_FLAGS -std=c++11 -I$MAGICK_INCLUDE \ + "$MAGICK_SRC/encoder_fuzzer.cc" -o "$MAGICK_OUTPUT/encoder_${encoder,,}_fuzzer" \ + $encoder_flags $MAGICK_LIBS +done \ No newline at end of file -- 2.40.0