Use aidl_library in cc libraries
Introduce aidl.libs prop on cc libraries to pass in aidl_library. The goal is to eventually disallow aidl.include_dirs (a pattern for passing aidl headers dir for aidl compilation) and enforce aidl headers to be explicitly specified in Android.bp. Bug: 278704136 Test: go test Change-Id: Ia78bc11dfa12f47d2d1bb90dc65372ddb17f7e14
This commit is contained in:
@@ -120,6 +120,9 @@ type BaseCompilerProperties struct {
|
||||
Lex *LexProperties
|
||||
|
||||
Aidl struct {
|
||||
// List of aidl_library modules
|
||||
Libs []string
|
||||
|
||||
// list of directories that will be added to the aidl include paths.
|
||||
Include_dirs []string
|
||||
|
||||
@@ -272,6 +275,7 @@ func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps {
|
||||
deps.GeneratedSources = append(deps.GeneratedSources, compiler.Properties.Generated_sources...)
|
||||
deps.GeneratedSources = removeListFromList(deps.GeneratedSources, compiler.Properties.Exclude_generated_sources)
|
||||
deps.GeneratedHeaders = append(deps.GeneratedHeaders, compiler.Properties.Generated_headers...)
|
||||
deps.AidlLibs = append(deps.AidlLibs, compiler.Properties.Aidl.Libs...)
|
||||
|
||||
android.ProtoDeps(ctx, &compiler.Proto)
|
||||
if compiler.hasSrcExt(".proto") {
|
||||
@@ -561,7 +565,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
|
||||
"-I"+android.PathForModuleGen(ctx, "yacc", ctx.ModuleDir()).String())
|
||||
}
|
||||
|
||||
if compiler.hasSrcExt(".aidl") {
|
||||
if compiler.hasAidl(deps) {
|
||||
flags.aidlFlags = append(flags.aidlFlags, compiler.Properties.Aidl.Flags...)
|
||||
if len(compiler.Properties.Aidl.Local_include_dirs) > 0 {
|
||||
localAidlIncludeDirs := android.PathsForModuleSrc(ctx, compiler.Properties.Aidl.Local_include_dirs)
|
||||
@@ -572,6 +576,14 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
|
||||
flags.aidlFlags = append(flags.aidlFlags, includeDirsToFlags(rootAidlIncludeDirs))
|
||||
}
|
||||
|
||||
var rootAidlIncludeDirs android.Paths
|
||||
for _, aidlLibraryInfo := range deps.AidlLibraryInfos {
|
||||
rootAidlIncludeDirs = append(rootAidlIncludeDirs, aidlLibraryInfo.IncludeDirs.ToList()...)
|
||||
}
|
||||
if len(rootAidlIncludeDirs) > 0 {
|
||||
flags.aidlFlags = append(flags.aidlFlags, includeDirsToFlags(rootAidlIncludeDirs))
|
||||
}
|
||||
|
||||
if proptools.BoolDefault(compiler.Properties.Aidl.Generate_traces, true) {
|
||||
flags.aidlFlags = append(flags.aidlFlags, "-t")
|
||||
}
|
||||
@@ -660,6 +672,10 @@ func ndkPathDeps(ctx ModuleContext) android.Paths {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (compiler *baseCompiler) hasAidl(deps PathDeps) bool {
|
||||
return len(deps.AidlLibraryInfos) > 0 || compiler.hasSrcExt(".aidl")
|
||||
}
|
||||
|
||||
func (compiler *baseCompiler) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
|
||||
pathDeps := deps.GeneratedDeps
|
||||
pathDeps = append(pathDeps, ndkPathDeps(ctx)...)
|
||||
@@ -668,7 +684,7 @@ func (compiler *baseCompiler) compile(ctx ModuleContext, flags Flags, deps PathD
|
||||
|
||||
srcs := append(android.Paths(nil), compiler.srcsBeforeGen...)
|
||||
|
||||
srcs, genDeps, info := genSources(ctx, srcs, buildFlags)
|
||||
srcs, genDeps, info := genSources(ctx, deps.AidlLibraryInfos, srcs, buildFlags)
|
||||
pathDeps = append(pathDeps, genDeps...)
|
||||
|
||||
compiler.pathDeps = pathDeps
|
||||
|
Reference in New Issue
Block a user