Merge "Only depend on a single file for generated headers"
This commit is contained in:
4
cc/cc.go
4
cc/cc.go
@@ -1138,13 +1138,13 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
|||||||
case genHeaderDepTag, genHeaderExportDepTag:
|
case genHeaderDepTag, genHeaderExportDepTag:
|
||||||
if genRule, ok := dep.(genrule.SourceFileGenerator); ok {
|
if genRule, ok := dep.(genrule.SourceFileGenerator); ok {
|
||||||
depPaths.GeneratedHeaders = append(depPaths.GeneratedHeaders,
|
depPaths.GeneratedHeaders = append(depPaths.GeneratedHeaders,
|
||||||
genRule.GeneratedSourceFiles()...)
|
genRule.GeneratedDeps()...)
|
||||||
flags := includeDirsToFlags(genRule.GeneratedHeaderDirs())
|
flags := includeDirsToFlags(genRule.GeneratedHeaderDirs())
|
||||||
depPaths.Flags = append(depPaths.Flags, flags)
|
depPaths.Flags = append(depPaths.Flags, flags)
|
||||||
if depTag == genHeaderExportDepTag {
|
if depTag == genHeaderExportDepTag {
|
||||||
depPaths.ReexportedFlags = append(depPaths.ReexportedFlags, flags)
|
depPaths.ReexportedFlags = append(depPaths.ReexportedFlags, flags)
|
||||||
depPaths.ReexportedFlagsDeps = append(depPaths.ReexportedFlagsDeps,
|
depPaths.ReexportedFlagsDeps = append(depPaths.ReexportedFlagsDeps,
|
||||||
genRule.GeneratedSourceFiles()...)
|
genRule.GeneratedDeps()...)
|
||||||
// Add these re-exported flags to help header-abi-dumper to infer the abi exported by a library.
|
// Add these re-exported flags to help header-abi-dumper to infer the abi exported by a library.
|
||||||
c.sabi.Properties.ReexportedIncludeFlags = append(c.sabi.Properties.ReexportedIncludeFlags, flags)
|
c.sabi.Properties.ReexportedIncludeFlags = append(c.sabi.Properties.ReexportedIncludeFlags, flags)
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@ func init() {
|
|||||||
type SourceFileGenerator interface {
|
type SourceFileGenerator interface {
|
||||||
GeneratedSourceFiles() android.Paths
|
GeneratedSourceFiles() android.Paths
|
||||||
GeneratedHeaderDirs() android.Paths
|
GeneratedHeaderDirs() android.Paths
|
||||||
|
GeneratedDeps() android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
type HostToolProvider interface {
|
type HostToolProvider interface {
|
||||||
@@ -107,6 +108,7 @@ type Module struct {
|
|||||||
exportedIncludeDirs android.Paths
|
exportedIncludeDirs android.Paths
|
||||||
|
|
||||||
outputFiles android.Paths
|
outputFiles android.Paths
|
||||||
|
outputDeps android.Paths
|
||||||
}
|
}
|
||||||
|
|
||||||
type taskFunc func(ctx android.ModuleContext, rawCommand string, srcFiles android.Paths) generateTask
|
type taskFunc func(ctx android.ModuleContext, rawCommand string, srcFiles android.Paths) generateTask
|
||||||
@@ -130,6 +132,10 @@ func (g *Module) GeneratedHeaderDirs() android.Paths {
|
|||||||
return g.exportedIncludeDirs
|
return g.exportedIncludeDirs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (g *Module) GeneratedDeps() android.Paths {
|
||||||
|
return g.outputDeps
|
||||||
|
}
|
||||||
|
|
||||||
func (g *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
func (g *Module) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||||
android.ExtractSourcesDeps(ctx, g.properties.Srcs)
|
android.ExtractSourcesDeps(ctx, g.properties.Srcs)
|
||||||
android.ExtractSourcesDeps(ctx, g.properties.Tool_files)
|
android.ExtractSourcesDeps(ctx, g.properties.Tool_files)
|
||||||
@@ -334,6 +340,7 @@ func (g *Module) generateSourceFile(ctx android.ModuleContext, task generateTask
|
|||||||
for _, outputFile := range task.out {
|
for _, outputFile := range task.out {
|
||||||
g.outputFiles = append(g.outputFiles, outputFile)
|
g.outputFiles = append(g.outputFiles, outputFile)
|
||||||
}
|
}
|
||||||
|
g.outputDeps = append(g.outputDeps, task.out[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
func generatorFactory(taskGenerator taskFunc, props ...interface{}) *Module {
|
func generatorFactory(taskGenerator taskFunc, props ...interface{}) *Module {
|
||||||
|
Reference in New Issue
Block a user