Add support for .proto files
.proto files are translated to .pb.cc and .pb.h files, which are then
compiled normally.
Bug: 32286026
Test: mmma -j system/extras/perfprofd
Change-Id: I538071424d667aacf35b4b8bfebe217f5f092726
diff --git a/cc/library.go b/cc/library.go
index d3d142e..99a9b48 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -55,6 +55,11 @@
// rename host libraries to prevent overlap with system installed libraries
Unique_host_soname *bool
+ Proto struct {
+ // export headers generated from .proto sources
+ Export_proto_headers bool
+ }
+
VariantName string `blueprint:"mutated"`
// Build a static variant
@@ -473,6 +478,16 @@
library.reexportFlags(deps.ReexportedFlags)
library.reexportDeps(deps.ReexportedFlagsDeps)
+ if library.baseCompiler.hasProto() {
+ if library.Properties.Proto.Export_proto_headers {
+ library.reexportFlags([]string{
+ "-I" + protoSubDir(ctx).String(),
+ "-I" + protoDir(ctx).String(),
+ })
+ library.reexportDeps(library.baseCompiler.deps) // TODO: restrict to proto deps
+ }
+ }
+
return out
}