Revert "Delete SyspropMutator"

This reverts commit 2db49e3269.

Reason for revert: Break aosp build on git_tm-dev-plus-aosp and downstream branches

Change-Id: I0a86bf5e1e1f2ddf71308250f9110a9608ac2d8d
Bug: 246355583
This commit is contained in:
Chung-Kai (Michael) Mei
2022-09-14 09:08:06 +00:00
parent 2db49e3269
commit 6a777b856f
5 changed files with 95 additions and 9 deletions

View File

@@ -51,6 +51,7 @@ func RegisterCCBuildComponents(ctx android.RegistrationContext) {
ctx.BottomUp("test_per_src", TestPerSrcMutator).Parallel()
ctx.BottomUp("version", versionMutator).Parallel()
ctx.BottomUp("begin", BeginMutator).Parallel()
ctx.BottomUp("sysprop_cc", SyspropMutator).Parallel()
})
ctx.PostDepsMutators(func(ctx android.RegisterMutatorsContext) {
@@ -2362,8 +2363,18 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
}
}
// sysprop_library has to support both C++ and Java. So sysprop_library internally creates one
// C++ implementation library and one Java implementation library. When a module links against
// sysprop_library, the C++ implementation library has to be linked. syspropImplLibraries is a
// map from sysprop_library to implementation library; it will be used in whole_static_libs,
// static_libs, and shared_libs.
syspropImplLibraries := syspropImplLibraries(actx.Config())
for _, lib := range deps.WholeStaticLibs {
depTag := libraryDependencyTag{Kind: staticLibraryDependency, wholeStatic: true, reexportFlags: true}
if impl, ok := syspropImplLibraries[lib]; ok {
lib = impl
}
lib = GetReplaceModuleName(lib, GetSnapshot(c, &snapshotInfo, actx).StaticLibs)
@@ -2381,6 +2392,10 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
depTag.excludeInApex = true
}
if impl, ok := syspropImplLibraries[lib]; ok {
lib = impl
}
lib = GetReplaceModuleName(lib, GetSnapshot(c, &snapshotInfo, actx).StaticLibs)
actx.AddVariationDependencies([]blueprint.Variation{
@@ -2410,6 +2425,10 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
depTag.excludeInApex = true
}
if impl, ok := syspropImplLibraries[lib]; ok {
lib = impl
}
name, version := StubsLibNameAndVersion(lib)
sharedLibNames = append(sharedLibNames, name)