xref: /aosp_15_r20/external/perfetto/tools/run_ftrace_proto_gen (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker#!/bin/bash
2*6dbdd20aSAndroid Build Coastguard Worker
3*6dbdd20aSAndroid Build Coastguard Worker# This script generates .proto files for ftrace events from the /format files
4*6dbdd20aSAndroid Build Coastguard Worker# in src/traced/probes/ftrace/test/data/*/events/.
5*6dbdd20aSAndroid Build Coastguard Worker# Only the events in the event_list are translated.
6*6dbdd20aSAndroid Build Coastguard Worker
7*6dbdd20aSAndroid Build Coastguard WorkerDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8*6dbdd20aSAndroid Build Coastguard Workerif [ "$BUILDDIR" == "" ]; then
9*6dbdd20aSAndroid Build Coastguard Worker  BUILDDIR="$DIR/../out/ftrace_proto_gen_build"
10*6dbdd20aSAndroid Build Coastguard Worker  "$DIR/gn" gen "$BUILDDIR" --args="is_debug=false"
11*6dbdd20aSAndroid Build Coastguard Workerelse
12*6dbdd20aSAndroid Build Coastguard Worker  BUILDDIR="$(realpath $BUILDDIR)"
13*6dbdd20aSAndroid Build Coastguard Worker  if [ ! -d "$BUILDDIR" ]; then
14*6dbdd20aSAndroid Build Coastguard Worker    echo "Directory does not exist: $BUILDDIR"
15*6dbdd20aSAndroid Build Coastguard Worker    exit 1
16*6dbdd20aSAndroid Build Coastguard Worker  fi
17*6dbdd20aSAndroid Build Coastguard Workerfi
18*6dbdd20aSAndroid Build Coastguard Worker
19*6dbdd20aSAndroid Build Coastguard WorkerDESCRIPTOR='gen/protos/perfetto/trace/ftrace/ftrace.descriptor'
20*6dbdd20aSAndroid Build Coastguard Worker"$DIR/ninja" -C "$BUILDDIR" ftrace_proto_gen $DESCRIPTOR
21*6dbdd20aSAndroid Build Coastguard Worker
22*6dbdd20aSAndroid Build Coastguard Worker# FIXME(fmayer): make ftrace_proto_gen independent of cwd.
23*6dbdd20aSAndroid Build Coastguard Workercd "$DIR/.."
24*6dbdd20aSAndroid Build Coastguard Worker
25*6dbdd20aSAndroid Build Coastguard Worker"$BUILDDIR/ftrace_proto_gen" \
26*6dbdd20aSAndroid Build Coastguard Worker  --event_list "$DIR/../src/tools/ftrace_proto_gen/event_list" \
27*6dbdd20aSAndroid Build Coastguard Worker  --output_dir "$DIR/../protos/perfetto/trace/ftrace/" \
28*6dbdd20aSAndroid Build Coastguard Worker  --proto_descriptor "$BUILDDIR/$DESCRIPTOR" \
29*6dbdd20aSAndroid Build Coastguard Worker  --update_build_files \
30*6dbdd20aSAndroid Build Coastguard Worker  "$@" \
31*6dbdd20aSAndroid Build Coastguard Worker  "$DIR"/../src/traced/probes/ftrace/test/data/*/events/
32