aboutsummaryrefslogtreecommitdiffstats
path: root/android/proto.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/proto.go')
-rw-r--r--android/proto.go19
1 files changed, 17 insertions, 2 deletions
diff --git a/android/proto.go b/android/proto.go
index 0cf7c26e..801837e0 100644
--- a/android/proto.go
+++ b/android/proto.go
@@ -23,8 +23,7 @@ package android
// generate the source.
func ProtoFlags(ctx ModuleContext, p *ProtoProperties) []string {
- // -I . must come first, it affects where protoc places the output files.
- protoFlags := []string{"-I ."}
+ protoFlags := []string{}
if len(p.Proto.Local_include_dirs) > 0 {
localProtoIncludeDirs := PathsForModuleSrc(ctx, p.Proto.Local_include_dirs)
@@ -38,6 +37,13 @@ func ProtoFlags(ctx ModuleContext, p *ProtoProperties) []string {
return protoFlags
}
+func ProtoCanonicalPathFromRoot(ctx ModuleContext, p *ProtoProperties) bool {
+ if p.Proto.Canonical_path_from_root == nil {
+ return true
+ }
+ return *p.Proto.Canonical_path_from_root
+}
+
// ProtoDir returns the module's "gen/proto" directory
func ProtoDir(ctx ModuleContext) ModuleGenPath {
return PathForModuleGen(ctx, "proto")
@@ -59,5 +65,14 @@ type ProtoProperties struct {
// list of directories relative to the bp file that will
// be added to the protoc include paths.
Local_include_dirs []string
+
+ // whether to identify the proto files from the root of the
+ // source tree (the original method in Android, useful for
+ // android-specific protos), or relative from where they were
+ // specified (useful for external/third party protos).
+ //
+ // This defaults to true today, but is expected to default to
+ // false in the future.
+ Canonical_path_from_root *bool
} `android:"arch_variant"`
}