Generate boot images for host from prebuilts
Previously, when building from prebuilts boot no rules were created to produce the boot image files for the host, i.e. the OS on which the build was running. That caused problems with checkbuilds. No rules were produced as there was no host variant of a prebuilt apex to provide them. This change restructures the code to allow the prebuilt bootclasspath fragment to build the host variants of the files from the dex files provided by the prebuilt APEX. The generated files will not be the same as they would be if built from source as there is no boot image profile to use but it should be sufficient to satisfy the checkbuild target and allow for host side testing. Bug: 192575099 Test: m SOONG_CONFIG_art_module_source_build=false droid dist checkbuild Change-Id: I6af00f19bb71aa18dd462f5eac6aa38e3e721023
This commit is contained in:
@@ -702,7 +702,16 @@ func (b *BootclasspathFragmentModule) generateBootImageBuildActions(ctx android.
|
||||
|
||||
// Build a profile for the image config and then use that to build the boot image.
|
||||
profile := bootImageProfileRule(ctx, imageConfig)
|
||||
return buildBootImage(ctx, imageConfig, profile)
|
||||
|
||||
// Build boot image files for the host variants.
|
||||
buildBootImageVariantsForBuildOs(ctx, imageConfig, profile)
|
||||
|
||||
// Build boot image files for the android variants.
|
||||
androidBootImageFilesByArch := buildBootImageVariantsForAndroidOs(ctx, imageConfig, profile)
|
||||
|
||||
// Return the boot image files for the android variants for inclusion in an APEX and to be zipped
|
||||
// up for the dist.
|
||||
return androidBootImageFilesByArch
|
||||
}
|
||||
|
||||
// Collect information for opening IDE project files in java/jdeps.go.
|
||||
@@ -973,6 +982,12 @@ func (module *prebuiltBootclasspathFragmentModule) produceBootImageFiles(ctx and
|
||||
}
|
||||
}
|
||||
|
||||
// Build the boot image files for the host variants. These are built from the dex files provided
|
||||
// by the contents of this module as prebuilt versions of the host boot image files are not
|
||||
// available, i.e. there is no host specific prebuilt apex containing them. This has to be built
|
||||
// without a profile as the prebuilt modules do not provide a profile.
|
||||
buildBootImageVariantsForBuildOs(ctx, imageConfig, nil)
|
||||
|
||||
return files
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user