Add shared_libs to vendor and recovery targets.

Prerequisite for https://android-review.googlesource.com/815573.

Test: Built system/core/libunwindstack with https://android-review.googlesource.com/815573
Bug: 118374951
Change-Id: I6dd7ba1416f34291792c8ac5cf74048753f3e2f6
This commit is contained in:
Martin Stjernholm 2018-11-06 16:12:13 +00:00
parent 8a89f21746
commit ef449fe62e
2 changed files with 12 additions and 6 deletions

View file

@ -894,9 +894,7 @@ func TestVndkUseVndkExtError(t *testing.T) {
}
`)
// The pattern should be "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\""
// but target.vendor.shared_libs has not been supported yet.
testCcError(t, "unrecognized property \"target.vendor.shared_libs\"", `
testCcError(t, "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\"", `
cc_library {
name: "libvndk",
vendor_available: true,
@ -965,9 +963,7 @@ func TestVndkUseVndkExtError(t *testing.T) {
}
`)
// The pattern should be "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\""
// but target.vendor.shared_libs has not been supported yet.
testCcError(t, "unrecognized property \"target.vendor.shared_libs\"", `
testCcError(t, "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\"", `
cc_library {
name: "libvndk_sp",
vendor_available: true,

View file

@ -99,6 +99,10 @@ type BaseLinkerProperties struct {
Target struct {
Vendor struct {
// list of shared libs that only should be used to build the vendor
// variant of the C/C++ module.
Shared_libs []string
// list of shared libs that should not be used to build the vendor variant
// of the C/C++ module.
Exclude_shared_libs []string
@ -116,6 +120,10 @@ type BaseLinkerProperties struct {
Exclude_runtime_libs []string
}
Recovery struct {
// list of shared libs that only should be used to build the recovery
// variant of the C/C++ module.
Shared_libs []string
// list of shared libs that should not be used to build
// the recovery variant of the C/C++ module.
Exclude_shared_libs []string
@ -200,6 +208,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
}
if ctx.useVndk() {
deps.SharedLibs = append(deps.SharedLibs, linker.Properties.Target.Vendor.Shared_libs...)
deps.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Vendor.Exclude_shared_libs)
deps.ReexportSharedLibHeaders = removeListFromList(deps.ReexportSharedLibHeaders, linker.Properties.Target.Vendor.Exclude_shared_libs)
deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Target.Vendor.Exclude_static_libs)
@ -210,6 +219,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
}
if ctx.inRecovery() {
deps.SharedLibs = append(deps.SharedLibs, linker.Properties.Target.Recovery.Shared_libs...)
deps.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Recovery.Exclude_shared_libs)
deps.ReexportSharedLibHeaders = removeListFromList(deps.ReexportSharedLibHeaders, linker.Properties.Target.Recovery.Exclude_shared_libs)
deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs)