diff options
author | Martin Stjernholm <mast@google.com> | 2020-03-10 22:37:59 +0000 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2020-05-06 08:17:10 +0100 |
commit | fcb99e07fcef950541b6165ae1816df2c4d83efc (patch) | |
tree | a19017b67926aeac9c8b7734cc7327a8f4f30d50 /sdk | |
parent | 39978527ce84a4cc82651e9d12efec7a630dfef4 (diff) | |
download | build_soong-fcb99e07fcef950541b6165ae1816df2c4d83efc.tar.gz build_soong-fcb99e07fcef950541b6165ae1816df2c4d83efc.tar.bz2 build_soong-fcb99e07fcef950541b6165ae1816df2c4d83efc.zip |
Add SDK member support for cc_object.
Test: m nothing
Test: Add
sdk {
name: "runtime-module-sdk",
native_shared_libs: [
"libc",
"libdl",
"libm",
"ld-android",
],
native_objects: [
"crtbegin_dynamic",
"crtbegin_static",
"crtend_android",
],
}
to bionic/apex/Android.bp. Then:
build/soong/scripts/build-aml-prebuilts.sh runtime-module-sdk
Take the generated runtime-module-sdk-current.zip and unzip into a
master-art tree without bionic/, edit the generated Android.bp to
extend cc_prebuilt_* modules with:
nocrt: true,
stl: "none",
system_shared_libs: [],
apex_available: ["//apex_available:anyapex"],
recovery_available: true,
vendor_available: true,
ramdisk_available: true,
Then "m com.android.art.debug". This passes Soong but fails in the
build step because more members are required.
Bug: 148934017
Merged-In: I2ab8f6aadb1440b325697cae4a8ed761c62d15d2
Change-Id: I2ab8f6aadb1440b325697cae4a8ed761c62d15d2
(cherry picked from commit cd07bce43756d5246e07d079a4a24040981f54ff)
Diffstat (limited to 'sdk')
-rw-r--r-- | sdk/cc_sdk_test.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index 0a4e16d9..ca40afd0 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -225,6 +225,63 @@ func TestSdkWithCc(t *testing.T) { `) } +func TestSnapshotWithObject(t *testing.T) { + result := testSdkWithCc(t, ` + sdk { + name: "mysdk", + native_objects: ["crtobj"], + } + + cc_object { + name: "crtobj", + stl: "none", + } + `) + + result.CheckSnapshot("mysdk", "", + checkAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +cc_prebuilt_object { + name: "mysdk_crtobj@current", + sdk_member_name: "crtobj", + stl: "none", + arch: { + arm64: { + srcs: ["arm64/lib/crtobj.o"], + }, + arm: { + srcs: ["arm/lib/crtobj.o"], + }, + }, +} + +cc_prebuilt_object { + name: "crtobj", + prefer: false, + stl: "none", + arch: { + arm64: { + srcs: ["arm64/lib/crtobj.o"], + }, + arm: { + srcs: ["arm/lib/crtobj.o"], + }, + }, +} + +sdk_snapshot { + name: "mysdk@current", + native_objects: ["mysdk_crtobj@current"], +} +`), + checkAllCopyRules(` +.intermediates/crtobj/android_arm64_armv8-a/crtobj.o -> arm64/lib/crtobj.o +.intermediates/crtobj/android_arm_armv7-a-neon/crtobj.o -> arm/lib/crtobj.o +`), + ) +} + func TestSnapshotWithCcDuplicateHeaders(t *testing.T) { result := testSdkWithCc(t, ` sdk { |