зеркало из https://github.com/mozilla/gecko-dev.git
41 строка
879 B
Bash
41 строка
879 B
Bash
#!/usr/bin/env bash
|
|
# This file is used by build.sh to setup fuzzing.
|
|
|
|
set +e
|
|
|
|
# Default to clang if CC is not set.
|
|
if [ -z "$CC" ]; then
|
|
if ! command -v clang &> /dev/null 2>&1; then
|
|
echo "Fuzzing requires clang!"
|
|
exit 1
|
|
fi
|
|
export CC=clang
|
|
export CCC=clang++
|
|
export CXX=clang++
|
|
fi
|
|
|
|
gyp_params+=(-Dtest_build=1 -Dfuzz=1 -Dsign_libs=0)
|
|
|
|
# Add debug symbols even for opt builds.
|
|
nspr_params+=(--enable-debug-symbols)
|
|
|
|
if [ "$fuzz_oss" = 1 ]; then
|
|
gyp_params+=(-Dno_zdefs=1 -Dfuzz_oss=1)
|
|
else
|
|
enable_sanitizer asan
|
|
# Ubsan only builds on x64 for the moment.
|
|
if [ "$target_arch" = "x64" ]; then
|
|
enable_ubsan
|
|
fi
|
|
enable_sancov
|
|
fi
|
|
|
|
if [ "$fuzz_tls" = 1 ]; then
|
|
gyp_params+=(-Dfuzz_tls=1)
|
|
fi
|
|
|
|
if [ ! -f "/usr/lib/libFuzzingEngine.a" ]; then
|
|
echo "Cloning libFuzzer files ..."
|
|
run_verbose "$cwd"/fuzz/config/clone_libfuzzer.sh
|
|
fi
|