Merge "Add shared_libs to vendor and recovery targets." am: c51ffaf1f2
am: fd845abe2a
Change-Id: Idf6fae21d0cd79dfb0976acb3ef3afc75ffae93d
This commit is contained in:
@@ -894,9 +894,7 @@ func TestVndkUseVndkExtError(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
// The pattern should be "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\""
|
testCcError(t, "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\"", `
|
||||||
// but target.vendor.shared_libs has not been supported yet.
|
|
||||||
testCcError(t, "unrecognized property \"target.vendor.shared_libs\"", `
|
|
||||||
cc_library {
|
cc_library {
|
||||||
name: "libvndk",
|
name: "libvndk",
|
||||||
vendor_available: true,
|
vendor_available: true,
|
||||||
@@ -965,9 +963,7 @@ func TestVndkUseVndkExtError(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
// The pattern should be "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\""
|
testCcError(t, "module \".*\" variant \".*\": \\(.*\\) should not link to \".*\"", `
|
||||||
// but target.vendor.shared_libs has not been supported yet.
|
|
||||||
testCcError(t, "unrecognized property \"target.vendor.shared_libs\"", `
|
|
||||||
cc_library {
|
cc_library {
|
||||||
name: "libvndk_sp",
|
name: "libvndk_sp",
|
||||||
vendor_available: true,
|
vendor_available: true,
|
||||||
|
10
cc/linker.go
10
cc/linker.go
@@ -99,6 +99,10 @@ type BaseLinkerProperties struct {
|
|||||||
|
|
||||||
Target struct {
|
Target struct {
|
||||||
Vendor 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
|
// list of shared libs that should not be used to build the vendor variant
|
||||||
// of the C/C++ module.
|
// of the C/C++ module.
|
||||||
Exclude_shared_libs []string
|
Exclude_shared_libs []string
|
||||||
@@ -116,6 +120,10 @@ type BaseLinkerProperties struct {
|
|||||||
Exclude_runtime_libs []string
|
Exclude_runtime_libs []string
|
||||||
}
|
}
|
||||||
Recovery struct {
|
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
|
// list of shared libs that should not be used to build
|
||||||
// the recovery variant of the C/C++ module.
|
// the recovery variant of the C/C++ module.
|
||||||
Exclude_shared_libs []string
|
Exclude_shared_libs []string
|
||||||
@@ -200,6 +208,7 @@ func (linker *baseLinker) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ctx.useVndk() {
|
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.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Vendor.Exclude_shared_libs)
|
||||||
deps.ReexportSharedLibHeaders = removeListFromList(deps.ReexportSharedLibHeaders, 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)
|
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() {
|
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.SharedLibs = removeListFromList(deps.SharedLibs, linker.Properties.Target.Recovery.Exclude_shared_libs)
|
||||||
deps.ReexportSharedLibHeaders = removeListFromList(deps.ReexportSharedLibHeaders, 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)
|
deps.StaticLibs = removeListFromList(deps.StaticLibs, linker.Properties.Target.Recovery.Exclude_static_libs)
|
||||||
|
Reference in New Issue
Block a user