diff options
| author | 2020-06-18 14:34:14 +0000 | |
|---|---|---|
| committer | 2020-06-18 14:34:14 +0000 | |
| commit | 1a1e1f882f648fe2a872a6ad6766555fdae90c3b (patch) | |
| tree | 3d3aeedc062eecf269f45a6e2aaa8928b4bac133 | |
| parent | 977dc2281f8f851ddab50a2c60065bb2529200a2 (diff) | |
| parent | 47ed352227b526fd366d1cd9a829357a23794958 (diff) | |
Merge "Propagate unique_host_soname to cc_library prebuilts."
| -rw-r--r-- | cc/library_sdk_member.go | 8 | ||||
| -rw-r--r-- | sdk/cc_sdk_test.go | 80 |
2 files changed, 88 insertions, 0 deletions
diff --git a/cc/library_sdk_member.go b/cc/library_sdk_member.go index a7a1de251..441030251 100644 --- a/cc/library_sdk_member.go +++ b/cc/library_sdk_member.go @@ -124,6 +124,14 @@ func (mt *librarySdkMemberType) AddPrebuiltModule(ctx android.SdkMemberContext, if stl != nil { pbm.AddProperty("stl", proptools.String(stl)) } + + if lib, ok := ccModule.linker.(*libraryDecorator); ok { + uhs := lib.Properties.Unique_host_soname + if uhs != nil { + pbm.AddProperty("unique_host_soname", proptools.Bool(uhs)) + } + } + return pbm } diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index 4a090814d..123fe7069 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -1976,3 +1976,83 @@ sdk_snapshot { } `)) } + +func TestUniqueHostSoname(t *testing.T) { + // b/145598135 - Generating host snapshots for anything other than linux is not supported. + SkipIfNotLinux(t) + + result := testSdkWithCc(t, ` + sdk { + name: "mysdk", + host_supported: true, + native_shared_libs: ["mylib"], + } + + cc_library { + name: "mylib", + host_supported: true, + unique_host_soname: true, + } + `) + + result.CheckSnapshot("mysdk", "", + checkAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +cc_prebuilt_library_shared { + name: "mysdk_mylib@current", + sdk_member_name: "mylib", + host_supported: true, + installable: false, + unique_host_soname: true, + target: { + android_arm64: { + srcs: ["android/arm64/lib/mylib.so"], + }, + android_arm: { + srcs: ["android/arm/lib/mylib.so"], + }, + linux_glibc_x86_64: { + srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], + }, + linux_glibc_x86: { + srcs: ["linux_glibc/x86/lib/mylib-host.so"], + }, + }, +} + +cc_prebuilt_library_shared { + name: "mylib", + prefer: false, + host_supported: true, + unique_host_soname: true, + target: { + android_arm64: { + srcs: ["android/arm64/lib/mylib.so"], + }, + android_arm: { + srcs: ["android/arm/lib/mylib.so"], + }, + linux_glibc_x86_64: { + srcs: ["linux_glibc/x86_64/lib/mylib-host.so"], + }, + linux_glibc_x86: { + srcs: ["linux_glibc/x86/lib/mylib-host.so"], + }, + }, +} + +sdk_snapshot { + name: "mysdk@current", + host_supported: true, + native_shared_libs: ["mysdk_mylib@current"], +} +`), + checkAllCopyRules(` +.intermediates/mylib/android_arm64_armv8-a_shared/mylib.so -> android/arm64/lib/mylib.so +.intermediates/mylib/android_arm_armv7-a-neon_shared/mylib.so -> android/arm/lib/mylib.so +.intermediates/mylib/linux_glibc_x86_64_shared/mylib-host.so -> linux_glibc/x86_64/lib/mylib-host.so +.intermediates/mylib/linux_glibc_x86_shared/mylib-host.so -> linux_glibc/x86/lib/mylib-host.so +`), + ) +} |