Fix: sysprop module can't be used with whole_static_libs

When a sysprop module is listed in whole_static_libs, it is renamed to
"lib" + <module> to actually refer to the generated C++ library for the
sysprop module.

Test: m (sysprop_test amended)
Change-Id: I05eddb24433d444376787be567830929ef078159
This commit is contained in:
Jiyong Park
2019-02-25 22:14:17 +09:00
parent 56e0290551
commit 5d1598f746
2 changed files with 27 additions and 5 deletions

View File

@@ -1225,12 +1225,18 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
return
}
actx.AddVariationDependencies([]blueprint.Variation{
{Mutator: "link", Variation: "static"},
}, wholeStaticDepTag, deps.WholeStaticLibs...)
syspropImplLibraries := syspropImplLibraries(actx.Config())
for _, lib := range deps.WholeStaticLibs {
depTag := wholeStaticDepTag
if impl, ok := syspropImplLibraries[lib]; ok {
lib = impl
}
actx.AddVariationDependencies([]blueprint.Variation{
{Mutator: "link", Variation: "static"},
}, depTag, lib)
}
for _, lib := range deps.StaticLibs {
depTag := staticDepTag
if inList(lib, deps.ReexportStaticLibHeaders) {