aboutsummaryrefslogtreecommitdiff
path: root/fuzzer/build-fuzzer.sh
diff options
context:
space:
mode:
authorFelix Weinrank <weinrank@fh-muenster.de>2019-09-26 16:53:56 +0200
committerMichael Tüxen <tuexen@fh-muenster.de>2019-09-26 16:53:56 +0200
commit248221fb77a67e00d2775fcd026e7ea2a7a8b818 (patch)
tree14f767b92cee1fb426001c84df5aaa37e219f136 /fuzzer/build-fuzzer.sh
parentb07df88c8993722bf4197900bda4646c12ab2f99 (diff)
downloadusrsctp-248221fb77a67e00d2775fcd026e7ea2a7a8b818.tar.gz
Improve fuzzing utilities (#384)
Diffstat (limited to 'fuzzer/build-fuzzer.sh')
-rwxr-xr-xfuzzer/build-fuzzer.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/fuzzer/build-fuzzer.sh b/fuzzer/build-fuzzer.sh
new file mode 100755
index 00000000..f1880313
--- /dev/null
+++ b/fuzzer/build-fuzzer.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+set -e
+
+NPROC=1
+
+if [ "$(uname)" = "Linux" ]; then
+ NPROC=$(nproc)
+ CC=clang-9
+elif [ "$(uname)" = "Darwin" ]; then
+ NPROC=$(sysctl -n hw.ncpu)
+ CC=/usr/local/opt/llvm/bin/clang
+elif [ "$(uname)" = "FreeBSD" ]; then
+ NPROC=$(sysctl -n hw.ncpu)
+ CC=clang90
+else
+ echo "Error: $(uname) not supported, sorry!"
+ exit 1
+fi
+
+if ! [ -x "$(command -v $CC)" ]; then
+ echo "Error: $CC is not installed!" >&2
+ exit 1
+fi
+
+echo "OS :" $(uname)
+echo "CC :" $CC
+echo "NP :" $NPROC
+
+cmake -Dsctp_build_fuzzer=1 -Dsctp_build_programs=0 -Dsctp_invariants=1 -Dsctp_sanitizer_address=1 -DCMAKE_C_COMPILER="$CC" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
+make -j"$NPROC"