mirror of
https://github.com/json-c/json-c.git
synced 2026-03-13 18:19:06 +08:00
Update the oss-fuzz build script to try to get it to work with cmake.
This commit is contained in:
@@ -15,16 +15,38 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
./autogen.sh
|
||||
./configure --enable-static --disable-shared
|
||||
make -j$(nproc) all
|
||||
ar rc json_c.a *.o
|
||||
# This should be run from the top of the json-c source tree.
|
||||
|
||||
cp $SRC/*.dict $OUT/
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DBUILD_SHARED_LIBS=OFF ..
|
||||
make -j$(nproc)
|
||||
|
||||
LIB=$(pwd)/libjson-c.a
|
||||
cd ..
|
||||
|
||||
# These seem to be set externally, but let's assign defaults to
|
||||
# make it possible to at least partially test this standalone.
|
||||
: ${SRC:=$(dirname "$0")}
|
||||
: ${OUT:=$SRC/out}
|
||||
: ${CXX:=gcc}
|
||||
: ${CXXFLAGS:=}
|
||||
|
||||
[ -d "$OUT" ] || mkdir "$OUT"
|
||||
cp $SRC/*.dict $OUT/.
|
||||
|
||||
# XXX this doesn't seem to make much sense, since $SRC is presumably
|
||||
# the "fuzz" directory, which is _inside_ the json-c repo, rather than
|
||||
# the other way around, but I'm just preserving existing behavior. -erh
|
||||
INCS=$SRC/json-c
|
||||
# Compat when testing standalone
|
||||
[ -e "${INCS}" ] || ln -s .. "${INCS}"
|
||||
|
||||
set -x
|
||||
set -v
|
||||
for f in $SRC/*_fuzzer.cc; do
|
||||
fuzzer=$(basename "$f" _fuzzer.cc)
|
||||
$CXX $CXXFLAGS -std=c++11 -I$SRC/json-c \
|
||||
$CXX $CXXFLAGS -std=c++11 -I$INCS \
|
||||
$SRC/${fuzzer}_fuzzer.cc -o $OUT/${fuzzer}_fuzzer \
|
||||
-lFuzzingEngine $SRC/json-c/json_c.a
|
||||
-lFuzzingEngine $LIB
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user