Port uses-shared library verification and dexpreopting to Soong
Ports 09f3b97f4b488cd3a7b7d72038b173575b02c162 (Add support for preopt with uses-libraries) from Make to Soong to support verifying and preopting shared libraries. This reapplies Id25f55f07a55120bebe2a9b32c094209efc85c8b with fixes for unbundled builds and builds with ALLOW_MISSING_DEPENDENCIES=true set. Bug: 132357300 Test: app_test.go Test: m checkbuild Change-Id: I964309a68ec4ed081f3f3154879c71048ecb5455
This commit is contained in:
@@ -29,6 +29,12 @@ type dexpreopter struct {
|
||||
isInstallable bool
|
||||
isPresignedPrebuilt bool
|
||||
|
||||
manifestFile android.Path
|
||||
usesLibs []string
|
||||
optionalUsesLibs []string
|
||||
enforceUsesLibs bool
|
||||
libraryPaths map[string]android.Path
|
||||
|
||||
builtInstalled string
|
||||
}
|
||||
|
||||
@@ -154,6 +160,7 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
|
||||
DexLocation: dexLocation,
|
||||
BuildPath: android.PathForModuleOut(ctx, "dexpreopt", ctx.ModuleName()+".jar").OutputPath,
|
||||
DexPath: dexJarFile,
|
||||
ManifestPath: d.manifestFile,
|
||||
UncompressedDex: d.uncompressedDex,
|
||||
HasApkLibraries: false,
|
||||
PreoptFlags: nil,
|
||||
@@ -161,10 +168,10 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
|
||||
ProfileClassListing: profileClassListing,
|
||||
ProfileIsTextListing: profileIsTextListing,
|
||||
|
||||
EnforceUsesLibraries: false,
|
||||
OptionalUsesLibraries: nil,
|
||||
UsesLibraries: nil,
|
||||
LibraryPaths: nil,
|
||||
EnforceUsesLibraries: d.enforceUsesLibs,
|
||||
PresentOptionalUsesLibraries: d.optionalUsesLibs,
|
||||
UsesLibraries: d.usesLibs,
|
||||
LibraryPaths: d.libraryPaths,
|
||||
|
||||
Archs: archs,
|
||||
DexPreoptImages: images,
|
||||
|
Reference in New Issue
Block a user