diff options
Diffstat (limited to 'android/proto.go')
-rw-r--r-- | android/proto.go | 19 |
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"` } |