summaryrefslogtreecommitdiff
path: root/tests/fuzzers/build_google_oss_fuzzers.sh
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2017-07-03 14:14:03 +0200
committerEven Rouault <even.rouault@spatialys.com>2017-07-03 15:42:35 +0200
commit1a8eac6a90ca61f3703f9b97afc2ec4918f0ab55 (patch)
treeae24b880ef0ccc90196d214765f388bb6fb9e7fb /tests/fuzzers/build_google_oss_fuzzers.sh
parentc308de39edc1697efbd5c10dc4852a58f9b86558 (diff)
Add tests/fuzzers for OSS Fuzz (#965)
Diffstat (limited to 'tests/fuzzers/build_google_oss_fuzzers.sh')
-rwxr-xr-xtests/fuzzers/build_google_oss_fuzzers.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/fuzzers/build_google_oss_fuzzers.sh b/tests/fuzzers/build_google_oss_fuzzers.sh
new file mode 100755
index 00000000..88bda556
--- /dev/null
+++ b/tests/fuzzers/build_google_oss_fuzzers.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+set -e
+
+if [ "$SRC" == "" ]; then
+ echo "SRC env var not defined"
+ exit 1
+fi
+
+if [ "$OUT" == "" ]; then
+ echo "OUT env var not defined"
+ exit 1
+fi
+
+if [ "$CXX" == "" ]; then
+ echo "CXX env var not defined"
+ exit 1
+fi
+
+SRC_DIR=$(dirname $0)/../..
+
+build_fuzzer()
+{
+ fuzzerName=$1
+ sourceFilename=$2
+ shift
+ shift
+ echo "Building fuzzer $fuzzerName"
+ $CXX $CXXFLAGS -std=c++11 -I$SRC_DIR/src/lib/openjp2 -I$SRC_DIR/build/src/lib/openjp2 \
+ $sourceFilename $* -o $OUT/$fuzzerName \
+ -lFuzzingEngine $SRC_DIR/build/bin/libopenjp2.a -lm -lpthread
+}
+
+fuzzerFiles=$(dirname $0)/*.cpp
+for F in $fuzzerFiles; do
+ fuzzerName=$(basename $F .cpp)
+ build_fuzzer $fuzzerName $F
+done
+