blob: e5bed0843de969c8c77596cbee84a8011141b195 [file] [log] [blame]
Harish Mahendrakar5f3bd1e2019-08-26 12:59:38 -07001#!/bin/bash -eu
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15################################################################################
16# Ensure SRC and WORK are set
17test "${SRC}" != "" || exit 1
18test "${WORK}" != "" || exit 1
19test "${OUT}" != "" || exit 1
20
21# Build libavc
22build_dir=$WORK/build
23rm -rf ${build_dir}
24mkdir -p ${build_dir}
25pushd ${build_dir}
26
27cmake $SRC/libavc
28make -j$(nproc)
29popd
30
31# build fuzzers
32$CXX $CXXFLAGS -std=c++11 \
33 -I$SRC/libavc \
34 -I$SRC/libavc/common \
35 -I$SRC/libavc/decoder \
36 -I${build_dir} \
37 -Wl,--start-group \
38 $LIB_FUZZING_ENGINE \
39 $SRC/libavc/fuzzer/avc_dec_fuzzer.cpp -o $OUT/avc_dec_fuzzer \
40 ${build_dir}/libavcdec.a \
41 -Wl,--end-group
42
43cp $SRC/avc_dec_fuzzer_seed_corpus.zip $OUT/avc_dec_fuzzer_seed_corpus.zip
44cp $SRC/libavc/fuzzer/avc_dec_fuzzer.dict $OUT/avcdec_fuzzer.dict