Generate proto descriptor for trace protos.
This will be used to parse existing protos for field numbers when
generating protos from ftrace format files.
Bug: 77844626
Change-Id: Idb182753e0a53b6d3a63f7dd855842735663c8aa
diff --git a/gn/standalone/proto_library.gni b/gn/standalone/proto_library.gni
index 1401cc9..3005f78 100644
--- a/gn/standalone/proto_library.gni
+++ b/gn/standalone/proto_library.gni
@@ -38,6 +38,11 @@
generate_cc = invoker.generate_cc
}
+ generate_descriptor = ""
+ if (defined(invoker.generate_descriptor)) {
+ generate_descriptor = invoker.generate_descriptor
+ }
+
if (defined(invoker.generator_plugin_label)) {
plugin_host_label = invoker.generator_plugin_label + "($host_toolchain)"
plugin_path = get_label_info(plugin_host_label, "root_out_dir") + "/" +
@@ -67,6 +72,10 @@
protos = rebase_path(proto_sources, proto_in_dir)
protogens = []
+ if (generate_descriptor != "") {
+ protogens += [ "$root_gen_dir/" + generate_descriptor ]
+ }
+
foreach(proto, protos) {
proto_dir = get_path_info(proto, "dir")
proto_name = get_path_info(proto, "name")
@@ -115,6 +124,12 @@
rel_cc_out_dir,
]
}
+ if (generate_descriptor != "") {
+ args += [
+ "--descriptor_set_out",
+ rebase_path("$root_gen_dir/" + generate_descriptor, root_build_dir),
+ ]
+ }
if (generate_with_plugin) {
plugin_path_rebased = rebase_path(plugin_path, root_build_dir)