Merge "rust: Only allow bindgen to produce rlibs." am: a8ea3ff66e am: 968197389a

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2165697

Change-Id: I4105599d763489aaedf91567ac4c0f6a7df15473
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Matthew Maurer
2022-08-01 21:31:12 +00:00
committed by Automerger Merge Worker
3 changed files with 14 additions and 3 deletions

View File

@@ -299,7 +299,15 @@ func NewRustBindgen(hod android.HostOrDeviceSupported) (*Module, *bindgenDecorat
ClangProperties: cc.RustBindgenClangProperties{},
}
module := NewSourceProviderModule(hod, bindgen, false)
module := NewSourceProviderModule(hod, bindgen, false, true)
android.AddLoadHook(module, func(ctx android.LoadHookContext) {
type stub_props struct {
Visibility []string
}
props := &stub_props{[]string{":__subpackages__"}}
ctx.PrependProperties(props)
})
return module, bindgen
}

View File

@@ -238,7 +238,7 @@ func NewRustProtobuf(hod android.HostOrDeviceSupported) (*Module, *protobufDecor
Properties: ProtobufProperties{},
}
module := NewSourceProviderModule(hod, protobuf, false)
module := NewSourceProviderModule(hod, protobuf, false, false)
return module, protobuf
}

View File

@@ -65,9 +65,12 @@ func NewSourceProvider() *BaseSourceProvider {
}
}
func NewSourceProviderModule(hod android.HostOrDeviceSupported, sourceProvider SourceProvider, enableLints bool) *Module {
func NewSourceProviderModule(hod android.HostOrDeviceSupported, sourceProvider SourceProvider, enableLints bool, rlibOnly bool) *Module {
_, library := NewRustLibrary(hod)
library.BuildOnlyRust()
if rlibOnly {
library.BuildOnlyRlib()
}
library.sourceProvider = sourceProvider
module := newModule(hod, android.MultilibBoth)