Fix defaults of BaseCompilerProperties
* Edition and Deny_warnings should not be set when constructing a BaseCompilerProperties, or the initialized values will reject values inherited from rust_defaults. * Use getEdition and getDenyWarnings to retrieve those properties with defaults from config. Bug: 141699953 Test: mm in rust projects Change-Id: Id1ae357caeaf656cd33732bf4e54920e206f4ead
This commit is contained in:
@@ -20,14 +20,20 @@ import (
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/rust/config"
|
||||
"github.com/google/blueprint/proptools"
|
||||
)
|
||||
|
||||
func getEdition(compiler *baseCompiler) string {
|
||||
return proptools.StringDefault(compiler.Properties.Edition, config.DefaultEdition)
|
||||
}
|
||||
|
||||
func getDenyWarnings(compiler *baseCompiler) bool {
|
||||
return BoolDefault(compiler.Properties.Deny_warnings, config.DefaultDenyWarnings)
|
||||
}
|
||||
|
||||
func NewBaseCompiler(dir, dir64 string) *baseCompiler {
|
||||
return &baseCompiler{
|
||||
Properties: BaseCompilerProperties{
|
||||
Edition: &config.DefaultEdition,
|
||||
Deny_warnings: config.DefaultDenyWarnings,
|
||||
},
|
||||
Properties: BaseCompilerProperties{},
|
||||
dir: dir,
|
||||
dir64: dir64,
|
||||
}
|
||||
@@ -113,12 +119,12 @@ func (compiler *baseCompiler) featuresToFlags(features []string) []string {
|
||||
|
||||
func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flags {
|
||||
|
||||
if Bool(compiler.Properties.Deny_warnings) {
|
||||
if getDenyWarnings(compiler) {
|
||||
flags.RustFlags = append(flags.RustFlags, "-D warnings")
|
||||
}
|
||||
flags.RustFlags = append(flags.RustFlags, compiler.Properties.Flags...)
|
||||
flags.RustFlags = append(flags.RustFlags, compiler.featuresToFlags(compiler.Properties.Features)...)
|
||||
flags.RustFlags = append(flags.RustFlags, "--edition="+*compiler.Properties.Edition)
|
||||
flags.RustFlags = append(flags.RustFlags, "--edition="+getEdition(compiler))
|
||||
flags.LinkFlags = append(flags.LinkFlags, compiler.Properties.Ld_flags...)
|
||||
flags.GlobalRustFlags = append(flags.GlobalRustFlags, config.GlobalRustFlags...)
|
||||
flags.GlobalRustFlags = append(flags.GlobalRustFlags, ctx.toolchain().ToolchainRustFlags())
|
||||
|
@@ -17,8 +17,6 @@ package config
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/google/blueprint/proptools"
|
||||
|
||||
"android/soong/android"
|
||||
_ "android/soong/cc/config"
|
||||
)
|
||||
@@ -35,7 +33,7 @@ var (
|
||||
"libtest",
|
||||
}
|
||||
|
||||
DefaultDenyWarnings = proptools.BoolPtr(true)
|
||||
DefaultDenyWarnings = true
|
||||
|
||||
GlobalRustFlags = []string{
|
||||
"--remap-path-prefix $$(pwd)=",
|
||||
|
Reference in New Issue
Block a user