Merge "Fix dangling rules on aosp_cf_x86_phone"
This commit is contained in:
@@ -56,6 +56,7 @@ type bootImageConfig struct {
|
|||||||
dexPaths android.WritablePaths
|
dexPaths android.WritablePaths
|
||||||
dir android.OutputPath
|
dir android.OutputPath
|
||||||
symbolsDir android.OutputPath
|
symbolsDir android.OutputPath
|
||||||
|
targets []android.Target
|
||||||
images map[android.ArchType]android.OutputPath
|
images map[android.ArchType]android.OutputPath
|
||||||
zip android.WritablePath
|
zip android.WritablePath
|
||||||
}
|
}
|
||||||
@@ -191,16 +192,9 @@ func buildBootImage(ctx android.SingletonContext, config bootImageConfig) *bootI
|
|||||||
var allFiles android.Paths
|
var allFiles android.Paths
|
||||||
|
|
||||||
if !global.DisablePreopt {
|
if !global.DisablePreopt {
|
||||||
targets := ctx.Config().Targets[android.Android]
|
for _, target := range image.targets {
|
||||||
if ctx.Config().SecondArchIsTranslated() {
|
files := buildBootImageRuleForArch(ctx, image, target.Arch.ArchType, profile, missingDeps)
|
||||||
targets = targets[:1]
|
allFiles = append(allFiles, files.Paths()...)
|
||||||
}
|
|
||||||
|
|
||||||
for _, target := range targets {
|
|
||||||
if target.NativeBridge == android.NativeBridgeDisabled {
|
|
||||||
files := buildBootImageRuleForArch(ctx, image, target.Arch.ArchType, profile, missingDeps)
|
|
||||||
allFiles = append(allFiles, files.Paths()...)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -72,6 +72,23 @@ func systemServerClasspath(ctx android.PathContext) []string {
|
|||||||
|
|
||||||
var systemServerClasspathKey = android.NewOnceKey("systemServerClasspath")
|
var systemServerClasspathKey = android.NewOnceKey("systemServerClasspath")
|
||||||
|
|
||||||
|
// dexpreoptTargets returns the list of targets that are relevant to dexpreopting, which excludes architectures
|
||||||
|
// supported through native bridge.
|
||||||
|
func dexpreoptTargets(ctx android.PathContext) []android.Target {
|
||||||
|
var targets []android.Target
|
||||||
|
for i, target := range ctx.Config().Targets[android.Android] {
|
||||||
|
if ctx.Config().SecondArchIsTranslated() && i > 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
if target.NativeBridge == android.NativeBridgeDisabled {
|
||||||
|
targets = append(targets, target)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return targets
|
||||||
|
}
|
||||||
|
|
||||||
// defaultBootImageConfig returns the bootImageConfig that will be used to dexpreopt modules. It is computed once the
|
// defaultBootImageConfig returns the bootImageConfig that will be used to dexpreopt modules. It is computed once the
|
||||||
// first time it is called for any ctx.Config(), and returns the same slice for all future calls with the same
|
// first time it is called for any ctx.Config(), and returns the same slice for all future calls with the same
|
||||||
// ctx.Config().
|
// ctx.Config().
|
||||||
@@ -113,7 +130,9 @@ func defaultBootImageConfig(ctx android.PathContext) bootImageConfig {
|
|||||||
images := make(map[android.ArchType]android.OutputPath)
|
images := make(map[android.ArchType]android.OutputPath)
|
||||||
zip := dir.Join(ctx, "boot.zip")
|
zip := dir.Join(ctx, "boot.zip")
|
||||||
|
|
||||||
for _, target := range ctx.Config().Targets[android.Android] {
|
targets := dexpreoptTargets(ctx)
|
||||||
|
|
||||||
|
for _, target := range targets {
|
||||||
images[target.Arch.ArchType] = dir.Join(ctx,
|
images[target.Arch.ArchType] = dir.Join(ctx,
|
||||||
"system/framework", target.Arch.ArchType.String()).Join(ctx, "boot.art")
|
"system/framework", target.Arch.ArchType.String()).Join(ctx, "boot.art")
|
||||||
}
|
}
|
||||||
@@ -126,6 +145,7 @@ func defaultBootImageConfig(ctx android.PathContext) bootImageConfig {
|
|||||||
dir: dir,
|
dir: dir,
|
||||||
symbolsDir: symbolsDir,
|
symbolsDir: symbolsDir,
|
||||||
images: images,
|
images: images,
|
||||||
|
targets: targets,
|
||||||
zip: zip,
|
zip: zip,
|
||||||
}
|
}
|
||||||
}).(bootImageConfig)
|
}).(bootImageConfig)
|
||||||
@@ -168,7 +188,9 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig {
|
|||||||
symbolsDir := android.PathForOutput(ctx, ctx.Config().DeviceName(), "dex_apexjars_unstripped")
|
symbolsDir := android.PathForOutput(ctx, ctx.Config().DeviceName(), "dex_apexjars_unstripped")
|
||||||
images := make(map[android.ArchType]android.OutputPath)
|
images := make(map[android.ArchType]android.OutputPath)
|
||||||
|
|
||||||
for _, target := range ctx.Config().Targets[android.Android] {
|
targets := dexpreoptTargets(ctx)
|
||||||
|
|
||||||
|
for _, target := range targets {
|
||||||
images[target.Arch.ArchType] = dir.Join(ctx,
|
images[target.Arch.ArchType] = dir.Join(ctx,
|
||||||
"system/framework", target.Arch.ArchType.String(), "apex.art")
|
"system/framework", target.Arch.ArchType.String(), "apex.art")
|
||||||
}
|
}
|
||||||
@@ -180,6 +202,7 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig {
|
|||||||
dexPaths: bootDexPaths,
|
dexPaths: bootDexPaths,
|
||||||
dir: dir,
|
dir: dir,
|
||||||
symbolsDir: symbolsDir,
|
symbolsDir: symbolsDir,
|
||||||
|
targets: targets,
|
||||||
images: images,
|
images: images,
|
||||||
}
|
}
|
||||||
}).(bootImageConfig)
|
}).(bootImageConfig)
|
||||||
|
Reference in New Issue
Block a user