diff options
Diffstat (limited to 'cc/compiler.go')
-rw-r--r-- | cc/compiler.go | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/cc/compiler.go b/cc/compiler.go index 32d98e4a..0184ee9f 100644 --- a/cc/compiler.go +++ b/cc/compiler.go @@ -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 { |