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
This commit is contained in:
@@ -100,6 +100,7 @@ func NewBaseCompiler() *baseCompiler {
|
||||
|
||||
type baseCompiler struct {
|
||||
Properties BaseCompilerProperties
|
||||
Proto ProtoProperties
|
||||
deps android.Paths
|
||||
}
|
||||
|
||||
@@ -123,6 +124,10 @@ func (compiler *baseCompiler) compilerDeps(ctx BaseModuleContext, deps Deps) Dep
|
||||
deps.GeneratedSources = append(deps.GeneratedSources, compiler.Properties.Generated_sources...)
|
||||
deps.GeneratedHeaders = append(deps.GeneratedHeaders, compiler.Properties.Generated_headers...)
|
||||
|
||||
if compiler.hasProto() {
|
||||
deps = protoDeps(ctx, deps, &compiler.Proto)
|
||||
}
|
||||
|
||||
return deps
|
||||
}
|
||||
|
||||
@@ -160,11 +165,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
|
||||
"${config.CommonNativehelperInclude}")
|
||||
}
|
||||
|
||||
flags.GlobalFlags = append(flags.GlobalFlags, []string{
|
||||
"-I" + android.PathForModuleSrc(ctx).String(),
|
||||
"-I" + android.PathForModuleOut(ctx).String(),
|
||||
"-I" + android.PathForModuleGen(ctx).String(),
|
||||
}...)
|
||||
flags.GlobalFlags = append(flags.GlobalFlags, "-I"+android.PathForModuleSrc(ctx).String())
|
||||
}
|
||||
|
||||
if ctx.sdk() {
|
||||
@@ -321,9 +322,23 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
|
||||
flags.CFlags = append(flags.CFlags, "-DANDROID_STRICT")
|
||||
}
|
||||
|
||||
if compiler.hasProto() {
|
||||
flags = protoFlags(ctx, flags, &compiler.Proto)
|
||||
}
|
||||
|
||||
return flags
|
||||
}
|
||||
|
||||
func (compiler *baseCompiler) hasProto() bool {
|
||||
for _, src := range compiler.Properties.Srcs {
|
||||
if filepath.Ext(src) == ".proto" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
var gnuToCReplacer = strings.NewReplacer("gnu", "c")
|
||||
|
||||
func ndkPathDeps(ctx ModuleContext) android.Paths {
|
||||
|
Reference in New Issue
Block a user