1*6dbdd20aSAndroid Build Coastguard Worker#!/bin/bash 2*6dbdd20aSAndroid Build Coastguard Worker 3*6dbdd20aSAndroid Build Coastguard Workerset -euo pipefail 4*6dbdd20aSAndroid Build Coastguard Worker 5*6dbdd20aSAndroid Build Coastguard Worker$SRC/perfetto/tools/install-build-deps 6*6dbdd20aSAndroid Build Coastguard Worker 7*6dbdd20aSAndroid Build Coastguard Workermkdir -p $WORK/build 8*6dbdd20aSAndroid Build Coastguard Worker 9*6dbdd20aSAndroid Build Coastguard Worker# sanitize=vptr needs RTTI, which we do not compile with. 10*6dbdd20aSAndroid Build Coastguard WorkerCXXFLAGS="$CXXFLAGS -fno-sanitize=vptr" 11*6dbdd20aSAndroid Build Coastguard Worker 12*6dbdd20aSAndroid Build Coastguard WorkerGN_ARGS="is_clang=true is_debug=false is_fuzzer=true use_libfuzzer=false \ 13*6dbdd20aSAndroid Build Coastguard Workerlink_fuzzer=\"-lFuzzingEngine\" is_hermetic_clang=false \ 14*6dbdd20aSAndroid Build Coastguard Workeruse_custom_libcxx=false is_cross_compiling=true \ 15*6dbdd20aSAndroid Build Coastguard Workerextra_target_cflags=\"$CFLAGS -Wno-implicit-int-float-conversion\" \ 16*6dbdd20aSAndroid Build Coastguard Workerextra_target_cxxflags=\"$CXXFLAGS\" extra_target_ldflags=\"$CXXFLAGS\" \ 17*6dbdd20aSAndroid Build Coastguard Workeris_system_compiler=true cc=\"$CC\" cxx=\"$CXX\" linker=\"gold\"" 18*6dbdd20aSAndroid Build Coastguard Worker 19*6dbdd20aSAndroid Build Coastguard Workerif [ "$SANITIZER" = "address" ]; then 20*6dbdd20aSAndroid Build Coastguard Worker GN_ARGS="$GN_ARGS is_asan=true"; 21*6dbdd20aSAndroid Build Coastguard Workerfi; 22*6dbdd20aSAndroid Build Coastguard Worker 23*6dbdd20aSAndroid Build Coastguard WorkerOUTDIR=$WORK/build 24*6dbdd20aSAndroid Build Coastguard Worker$SRC/perfetto/tools/gn gen "$OUTDIR" --args="${GN_ARGS}" --check 25*6dbdd20aSAndroid Build Coastguard Worker 26*6dbdd20aSAndroid Build Coastguard Worker$SRC/perfetto/tools/ninja -C $WORK/build fuzzers -v 27*6dbdd20aSAndroid Build Coastguard Workercp $WORK/build/*fuzzer $OUT 28*6dbdd20aSAndroid Build Coastguard Workermkdir -p $OUT/src/traced/probes/ftrace/test/data 29*6dbdd20aSAndroid Build Coastguard Workercp -a $SRC/perfetto/src/traced/probes/ftrace/test/data/synthetic \ 30*6dbdd20aSAndroid Build Coastguard Worker $OUT/src/traced/probes/ftrace/test/data 31*6dbdd20aSAndroid Build Coastguard Worker 32*6dbdd20aSAndroid Build Coastguard Workerif [ "$SANITIZER" = "undefined" ]; then 33*6dbdd20aSAndroid Build Coastguard Worker rm $OUT/trace_processor_fuzzer 34*6dbdd20aSAndroid Build Coastguard Workerfi; 35