Merge "[Rust] Remove unused variables and deduplicate."

This commit is contained in:
Ivan Lozano 2020-06-17 12:28:06 +00:00 committed by Gerrit Code Review
commit d825990336
6 changed files with 24 additions and 45 deletions

View file

@ -24,9 +24,6 @@ func init() {
} }
type BinaryCompilerProperties struct { type BinaryCompilerProperties struct {
// path to the main source file that contains the program entry point (e.g. src/main.rs)
Srcs []string `android:"path,arch_variant"`
// passes -C prefer-dynamic to rustc, which tells it to dynamically link the stdlib // passes -C prefer-dynamic to rustc, which tells it to dynamically link the stdlib
// (assuming it has no dylib dependencies already) // (assuming it has no dylib dependencies already)
Prefer_dynamic *bool Prefer_dynamic *bool
@ -35,10 +32,7 @@ type BinaryCompilerProperties struct {
type binaryDecorator struct { type binaryDecorator struct {
*baseCompiler *baseCompiler
Properties BinaryCompilerProperties Properties BinaryCompilerProperties
distFile android.OptionalPath
coverageOutputZipFile android.OptionalPath
unstrippedOutputFile android.Path
} }
var _ compiler = (*binaryDecorator)(nil) var _ compiler = (*binaryDecorator)(nil)
@ -112,7 +106,7 @@ func (binary *binaryDecorator) nativeCoverage() bool {
func (binary *binaryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) android.Path { func (binary *binaryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) android.Path {
fileName := binary.getStem(ctx) + ctx.toolchain().ExecutableSuffix() fileName := binary.getStem(ctx) + ctx.toolchain().ExecutableSuffix()
srcPath := srcPathFromModuleSrcs(ctx, binary.Properties.Srcs) srcPath := srcPathFromModuleSrcs(ctx, binary.baseCompiler.Properties.Srcs)
outputFile := android.PathForModuleOut(ctx, fileName) outputFile := android.PathForModuleOut(ctx, fileName)
binary.unstrippedOutputFile = outputFile binary.unstrippedOutputFile = outputFile

View file

@ -53,6 +53,9 @@ const (
) )
type BaseCompilerProperties struct { type BaseCompilerProperties struct {
// path to the source file that is the main entry point of the program (e.g. main.rs or lib.rs)
Srcs []string `android:"path,arch_variant"`
// whether to pass "-D warnings" to rustc. Defaults to true. // whether to pass "-D warnings" to rustc. Defaults to true.
Deny_warnings *bool Deny_warnings *bool
@ -100,17 +103,10 @@ type BaseCompilerProperties struct {
} }
type baseCompiler struct { type baseCompiler struct {
Properties BaseCompilerProperties Properties BaseCompilerProperties
pathDeps android.Paths depFlags []string
rustFlagsDeps android.Paths linkDirs []string
linkFlagsDeps android.Paths coverageFile android.Path //rustc generates a single gcno file
flags string
linkFlags string
depFlags []string
linkDirs []string
edition string
src android.Path //rustc takes a single src file
coverageFile android.Path //rustc generates a single gcno file
// Install related // Install related
dir string dir string
@ -119,6 +115,10 @@ type baseCompiler struct {
relative string relative string
path android.InstallPath path android.InstallPath
location installLocation location installLocation
coverageOutputZipFile android.OptionalPath
unstrippedOutputFile android.Path
distFile android.OptionalPath
} }
func (compiler *baseCompiler) coverageOutputZipPath() android.OptionalPath { func (compiler *baseCompiler) coverageOutputZipPath() android.OptionalPath {

View file

@ -45,9 +45,6 @@ type LibraryCompilerProperties struct {
Shared VariantLibraryProperties `android:"arch_variant"` Shared VariantLibraryProperties `android:"arch_variant"`
Static VariantLibraryProperties `android:"arch_variant"` Static VariantLibraryProperties `android:"arch_variant"`
// path to the source file that is the main entry point of the program (e.g. src/lib.rs)
Srcs []string `android:"path,arch_variant"`
// path to include directories to pass to cc_* modules, only relevant for static/shared variants. // path to include directories to pass to cc_* modules, only relevant for static/shared variants.
Include_dirs []string `android:"path,arch_variant"` Include_dirs []string `android:"path,arch_variant"`
} }
@ -75,12 +72,9 @@ type LibraryMutatedProperties struct {
type libraryDecorator struct { type libraryDecorator struct {
*baseCompiler *baseCompiler
Properties LibraryCompilerProperties Properties LibraryCompilerProperties
MutatedProperties LibraryMutatedProperties MutatedProperties LibraryMutatedProperties
distFile android.OptionalPath includeDirs android.Paths
coverageOutputZipFile android.OptionalPath
unstrippedOutputFile android.Path
includeDirs android.Paths
} }
type libraryInterface interface { type libraryInterface interface {
@ -350,7 +344,7 @@ func (library *libraryDecorator) compilerFlags(ctx ModuleContext, flags Flags) F
func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) android.Path { func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) android.Path {
var outputFile android.WritablePath var outputFile android.WritablePath
srcPath := srcPathFromModuleSrcs(ctx, library.Properties.Srcs) srcPath := srcPathFromModuleSrcs(ctx, library.baseCompiler.Properties.Srcs)
flags.RustFlags = append(flags.RustFlags, deps.depFlags...) flags.RustFlags = append(flags.RustFlags, deps.depFlags...)

View file

@ -23,20 +23,12 @@ func init() {
} }
type ProcMacroCompilerProperties struct { type ProcMacroCompilerProperties struct {
// path to the source file that is the main entry point of the program (e.g. src/lib.rs)
Srcs []string `android:"path,arch_variant"`
// set name of the procMacro
Stem *string `android:"arch_variant"`
Suffix *string `android:"arch_variant"`
} }
type procMacroDecorator struct { type procMacroDecorator struct {
*baseCompiler *baseCompiler
Properties ProcMacroCompilerProperties Properties ProcMacroCompilerProperties
distFile android.OptionalPath
unstrippedOutputFile android.Path
} }
type procMacroInterface interface { type procMacroInterface interface {
@ -70,7 +62,7 @@ func (procMacro *procMacroDecorator) compile(ctx ModuleContext, flags Flags, dep
fileName := procMacro.getStem(ctx) + ctx.toolchain().ProcMacroSuffix() fileName := procMacro.getStem(ctx) + ctx.toolchain().ProcMacroSuffix()
outputFile := android.PathForModuleOut(ctx, fileName) outputFile := android.PathForModuleOut(ctx, fileName)
srcPath := srcPathFromModuleSrcs(ctx, procMacro.Properties.Srcs) srcPath := srcPathFromModuleSrcs(ctx, procMacro.baseCompiler.Properties.Srcs)
procMacro.unstrippedOutputFile = outputFile procMacro.unstrippedOutputFile = outputFile

View file

@ -114,7 +114,7 @@ func appendLibraryAndDeps(ctx android.SingletonContext, project *rustProjectJson
return cInfo.ID, crateName, true return cInfo.ID, crateName, true
} }
crate := rustProjectCrate{Deps: make([]rustProjectDep, 0), Cfgs: make([]string, 0)} crate := rustProjectCrate{Deps: make([]rustProjectDep, 0), Cfgs: make([]string, 0)}
src := rustLib.Properties.Srcs[0] src := rustLib.baseCompiler.Properties.Srcs[0]
crate.RootModule = path.Join(ctx.ModuleDir(rModule), src) crate.RootModule = path.Join(ctx.ModuleDir(rModule), src)
crate.Edition = getEdition(rustLib.baseCompiler) crate.Edition = getEdition(rustLib.baseCompiler)

View file

@ -45,11 +45,10 @@ func init() {
} }
type Flags struct { type Flags struct {
GlobalRustFlags []string // Flags that apply globally to rust GlobalRustFlags []string // Flags that apply globally to rust
GlobalLinkFlags []string // Flags that apply globally to linker GlobalLinkFlags []string // Flags that apply globally to linker
RustFlags []string // Flags that apply to rust RustFlags []string // Flags that apply to rust
LinkFlags []string // Flags that apply to linker LinkFlags []string // Flags that apply to linker
RustFlagsDeps android.Paths // Files depended on by compiler flags
Toolchain config.Toolchain Toolchain config.Toolchain
Coverage bool Coverage bool
} }