1#!/bin/bash -eu 2# Copyright 2018 Google Inc. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16################################################################################ 17 18autoreconf -fiv 19./configure --disable-docs --enable-shared=no --prefix="$WORK" 20make -j$(nproc) 21make install 22 23pushd $SRC 24mkdir -p exif_corpus 25find exif-samples -type f -name '*.jpg' -exec mv -n {} exif_corpus/ \; -o -name '*.tiff' -exec mv -n {} exif_corpus/ \; 26cp libexif/test/testdata/*.jpg exif_corpus 27zip -r "$WORK/exif_seed_corpus.zip" exif_corpus/ 28popd 29 30for fuzzer in $(find $SRC/ -name '*_fuzzer.cc'); do 31 fuzzer_basename=$(basename -s .cc $fuzzer) 32 $CXX $CXXFLAGS \ 33 -std=c++11 \ 34 -I"$WORK/include" \ 35 $fuzzer \ 36 -o $OUT/$fuzzer_basename \ 37 $LIB_FUZZING_ENGINE \ 38 "$WORK/lib/libexif.a" 39 cp $WORK/exif_seed_corpus.zip "${OUT}/${fuzzer_basename}_seed_corpus.zip" 40done 41