• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/json-c/fuzz/build.sh

  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 
 18 # This should be run from the top of the json-c source tree.
 19 
 20 mkdir build
 21 cd build
 22 cmake -DBUILD_SHARED_LIBS=OFF ..
 23 make -j$(nproc)
 24 
 25 LIB=$(pwd)/libjson-c.a
 26 cd ..
 27 
 28 # These seem to be set externally, but let's assign defaults to
 29 # make it possible to at least partially test this standalone.
 30 : ${SRC:=$(dirname "$0")}
 31 : ${OUT:=$SRC/out}
 32 : ${CXX:=gcc}
 33 : ${CXXFLAGS:=}
 34 
 35 [ -d "$OUT" ] || mkdir "$OUT"
 36 cp $SRC/*.dict $OUT/.
 37 
 38 # XXX this doesn't seem to make much sense, since $SRC is presumably
 39 # the "fuzz" directory, which is _inside_ the json-c repo, rather than
 40 # the other way around, but I'm just preserving existing behavior. -erh
 41 INCS=$SRC/json-c
 42 # Compat when testing standalone
 43 [ -e "${INCS}" ] || ln -s .. "${INCS}"
 44 
 45 set -x
 46 set -v
 47 for f in $SRC/*_fuzzer.cc; do
 48     fuzzer=$(basename "$f" _fuzzer.cc)
 49     $CXX $CXXFLAGS -std=c++11 -I$INCS \
 50          $SRC/${fuzzer}_fuzzer.cc -o $OUT/${fuzzer}_fuzzer \
 51          -lFuzzingEngine $LIB
 52 done

This page was automatically generated by LXR 0.3.1.  •  OpenWrt