Remove configurable values from providers
Providers are data exported from one module to another.
Configurable properties are the collection of all possible values of a
property, to be resolved under the module's configuration.
If you export a configurable from one module to another and then resolve
it there, it will be evaluated with the wrong configuration.
Bug: 394967253
Test: m nothing
Change-Id: I934b08538bcc3267b3ec44925591f16a1c59292c
diff --git a/rust/rust.go b/rust/rust.go
index 7880dee..2b1b454 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -1202,10 +1202,11 @@
// Define the linker info if compiler != nil because Rust currently
// does compilation and linking in one step. If this changes in the future,
// move this as appropriate.
+ baseCompilerProps := mod.compiler.baseCompilerProps()
ccInfo.LinkerInfo = &cc.LinkerInfo{
- WholeStaticLibs: mod.compiler.baseCompilerProps().Whole_static_libs,
- StaticLibs: mod.compiler.baseCompilerProps().Static_libs,
- SharedLibs: mod.compiler.baseCompilerProps().Shared_libs,
+ WholeStaticLibs: baseCompilerProps.Whole_static_libs.GetOrDefault(ctx, nil),
+ StaticLibs: baseCompilerProps.Static_libs.GetOrDefault(ctx, nil),
+ SharedLibs: baseCompilerProps.Shared_libs.GetOrDefault(ctx, nil),
}
android.SetProvider(ctx, cc.CcInfoProvider, ccInfo)