Merge "[Rust] Remove unused variables and deduplicate."
This commit is contained in:
commit
d825990336
6 changed files with 24 additions and 45 deletions
|
@ -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
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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...)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue