Create a bp2build converter for ndk_prebuilt_*_stl
This module type will be converted to a cc_prebuilt_* bazel target. It will provide 1. a prebuilt (.a/.so) file 2. headers (as -isystem) Test: added a bp2build unit test Bug: 298088835 Change-Id: Ib58cc7f6fde8f4ca34516f6f18a4c048a02a049a
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/cc"
|
||||
)
|
||||
|
||||
@@ -360,3 +361,52 @@ cc_prebuilt_library {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func TestPrebuiltNdkStlConversion(t *testing.T) {
|
||||
registerNdkStlModuleTypes := func(ctx android.RegistrationContext) {
|
||||
ctx.RegisterModuleType("ndk_prebuilt_static_stl", cc.NdkPrebuiltStaticStlFactory)
|
||||
ctx.RegisterModuleType("ndk_prebuilt_shared_stl", cc.NdkPrebuiltSharedStlFactory)
|
||||
}
|
||||
RunBp2BuildTestCase(t, registerNdkStlModuleTypes, Bp2buildTestCase{
|
||||
Description: "TODO",
|
||||
Blueprint: `
|
||||
ndk_prebuilt_static_stl {
|
||||
name: "ndk_libfoo_static",
|
||||
export_include_dirs: ["dir1", "dir2"],
|
||||
}
|
||||
ndk_prebuilt_shared_stl {
|
||||
name: "ndk_libfoo_shared",
|
||||
export_include_dirs: ["dir1", "dir2"],
|
||||
}`,
|
||||
ExpectedBazelTargets: []string{
|
||||
MakeBazelTarget("cc_prebuilt_library_static", "ndk_libfoo_static", AttrNameToString{
|
||||
"static_library": `select({
|
||||
"//build/bazel/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_static.a",
|
||||
"//build/bazel/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_static.a",
|
||||
"//build/bazel/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_static.a",
|
||||
"//build/bazel/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_static.a",
|
||||
"//build/bazel/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_static.a",
|
||||
"//conditions:default": None,
|
||||
})`,
|
||||
"export_system_includes": `[
|
||||
"dir1",
|
||||
"dir2",
|
||||
]`,
|
||||
}),
|
||||
MakeBazelTarget("cc_prebuilt_library_shared", "ndk_libfoo_shared", AttrNameToString{
|
||||
"shared_library": `select({
|
||||
"//build/bazel/platforms/os_arch:android_arm": "current/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libfoo_shared.so",
|
||||
"//build/bazel/platforms/os_arch:android_arm64": "current/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libfoo_shared.so",
|
||||
"//build/bazel/platforms/os_arch:android_riscv64": "current/sources/cxx-stl/llvm-libc++/libs/riscv64/libfoo_shared.so",
|
||||
"//build/bazel/platforms/os_arch:android_x86": "current/sources/cxx-stl/llvm-libc++/libs/x86/libfoo_shared.so",
|
||||
"//build/bazel/platforms/os_arch:android_x86_64": "current/sources/cxx-stl/llvm-libc++/libs/x86_64/libfoo_shared.so",
|
||||
"//conditions:default": None,
|
||||
})`,
|
||||
"export_system_includes": `[
|
||||
"dir1",
|
||||
"dir2",
|
||||
]`,
|
||||
}),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user