Add bp2build converter for rust_ffi_static
Test: go test
Change-Id: Ibf0bb2687073f8650da4ca27c1f57e68a93025d4
diff --git a/rust/library.go b/rust/library.go
index 2d5113b..18bf0a0 100644
--- a/rust/library.go
+++ b/rust/library.go
@@ -801,6 +801,10 @@
}
type rustLibraryAttributes struct {
+ commonLibraryAttrs
+}
+
+type commonLibraryAttrs struct {
Srcs bazel.LabelListAttribute
Compile_data bazel.LabelListAttribute
Crate_name bazel.StringAttribute
@@ -811,7 +815,7 @@
Proc_macro_deps bazel.LabelListAttribute
}
-func libraryBp2build(ctx android.Bp2buildMutatorContext, m *Module) {
+func commonLibraryAttrsBp2build(ctx android.Bp2buildMutatorContext, m *Module) *commonLibraryAttrs {
lib := m.compiler.(*libraryDecorator)
srcs, compileData := srcsAndCompileDataAttrs(ctx, *lib.baseCompiler)
@@ -835,7 +839,7 @@
rustcFLags = append(rustcFLags, fmt.Sprintf("--cfg=%s", cfg))
}
- attrs := &rustLibraryAttributes{
+ return &commonLibraryAttrs{
Srcs: bazel.MakeLabelListAttribute(
srcs,
),
@@ -865,6 +869,9 @@
},
}
+}
+
+func libraryBp2build(ctx android.Bp2buildMutatorContext, m *Module) {
ctx.CreateBazelTargetModule(
bazel.BazelTargetModuleProperties{
Rule_class: "rust_library",
@@ -873,7 +880,7 @@
android.CommonAttributes{
Name: m.Name(),
},
- attrs,
+ commonLibraryAttrsBp2build(ctx, m),
)
}
@@ -946,3 +953,30 @@
return &name
}
+
+type ffiStaticAttributes struct {
+ commonLibraryAttrs
+ Export_includes bazel.StringListAttribute
+}
+
+func ffiStaticBp2build(ctx android.Bp2buildMutatorContext, m *Module) {
+ lib := m.compiler.(*libraryDecorator)
+
+ attrs := &ffiStaticAttributes{
+ Export_includes: bazel.StringListAttribute{
+ Value: lib.Properties.Include_dirs,
+ },
+ commonLibraryAttrs: *commonLibraryAttrsBp2build(ctx, m),
+ }
+
+ ctx.CreateBazelTargetModule(
+ bazel.BazelTargetModuleProperties{
+ Rule_class: "rust_ffi_static",
+ Bzl_load_location: "//build/bazel/rules/rust:rust_ffi_static.bzl",
+ },
+ android.CommonAttributes{
+ Name: m.Name(),
+ },
+ attrs,
+ )
+}