diff options
| author | 2019-05-09 09:27:40 -0700 | |
|---|---|---|
| committer | 2019-05-09 09:27:40 -0700 | |
| commit | 48fcec3d03037f1bd6cc2245d1615790c22c8f5c (patch) | |
| tree | ad9affc62ea55880df35fc620d762ada7e8e460b | |
| parent | 570df4b7b97df4282f1e5a4e515c56dc73c44ef5 (diff) | |
| parent | 11cd91dada4c6d789d1636ecdf51f3106bc10c4f (diff) | |
Merge "Fix dangling rules on aosp_cf_x86_phone"
am: 11cd91dada
Change-Id: Ic528bc1b80e697f8736727a78d376606cbf38d8f
| -rw-r--r-- | java/dexpreopt_bootjars.go | 14 | ||||
| -rw-r--r-- | java/dexpreopt_config.go | 27 |
2 files changed, 29 insertions, 12 deletions
diff --git a/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go index 092a1332e..f48428f46 100644 --- a/java/dexpreopt_bootjars.go +++ b/java/dexpreopt_bootjars.go @@ -56,6 +56,7 @@ type bootImageConfig struct { dexPaths android.WritablePaths dir android.OutputPath symbolsDir android.OutputPath + targets []android.Target images map[android.ArchType]android.OutputPath zip android.WritablePath } @@ -191,16 +192,9 @@ func buildBootImage(ctx android.SingletonContext, config bootImageConfig) *bootI var allFiles android.Paths if !global.DisablePreopt { - targets := ctx.Config().Targets[android.Android] - if ctx.Config().SecondArchIsTranslated() { - targets = targets[:1] - } - - for _, target := range targets { - if target.NativeBridge == android.NativeBridgeDisabled { - files := buildBootImageRuleForArch(ctx, image, target.Arch.ArchType, profile, missingDeps) - allFiles = append(allFiles, files.Paths()...) - } + for _, target := range image.targets { + files := buildBootImageRuleForArch(ctx, image, target.Arch.ArchType, profile, missingDeps) + allFiles = append(allFiles, files.Paths()...) } } diff --git a/java/dexpreopt_config.go b/java/dexpreopt_config.go index a0b1ea599..270fcb473 100644 --- a/java/dexpreopt_config.go +++ b/java/dexpreopt_config.go @@ -72,6 +72,23 @@ func systemServerClasspath(ctx android.PathContext) []string { 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 // first time it is called for any ctx.Config(), and returns the same slice for all future calls with the same // ctx.Config(). @@ -113,7 +130,9 @@ func defaultBootImageConfig(ctx android.PathContext) bootImageConfig { images := make(map[android.ArchType]android.OutputPath) 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, "system/framework", target.Arch.ArchType.String()).Join(ctx, "boot.art") } @@ -126,6 +145,7 @@ func defaultBootImageConfig(ctx android.PathContext) bootImageConfig { dir: dir, symbolsDir: symbolsDir, images: images, + targets: targets, zip: zip, } }).(bootImageConfig) @@ -168,7 +188,9 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig { symbolsDir := android.PathForOutput(ctx, ctx.Config().DeviceName(), "dex_apexjars_unstripped") 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, "system/framework", target.Arch.ArchType.String(), "apex.art") } @@ -180,6 +202,7 @@ func apexBootImageConfig(ctx android.PathContext) bootImageConfig { dexPaths: bootDexPaths, dir: dir, symbolsDir: symbolsDir, + targets: targets, images: images, } }).(bootImageConfig) |