add crate_root property to rust modules
The crate_root property will be used to specify the entry point for a rustc compilation. This will allow the srcs property to be used to collect all src inputs to rustc rather than just the entry point. Bug: 286077158 Test: m libnum_traits Change-Id: I1a167182305dcc11cc927d562ceed622153111d3
This commit is contained in:
@@ -73,6 +73,15 @@ type BaseCompilerProperties struct {
|
||||
// If no source file is defined, a single generated source module can be defined to be used as the main source.
|
||||
Srcs []string `android:"path,arch_variant"`
|
||||
|
||||
// Entry point that is passed to rustc to begin the compilation. E.g. main.rs or lib.rs.
|
||||
// When this property is set,
|
||||
// * sandboxing is enabled for this module, and
|
||||
// * the srcs attribute is interpreted as a list of all source files potentially
|
||||
// used in compilation, including the entrypoint, and
|
||||
// * compile_data can be used to add additional files used in compilation that
|
||||
// not directly used as source files.
|
||||
Crate_root *string `android:"path,arch_variant"`
|
||||
|
||||
// name of the lint set that should be used to validate this module.
|
||||
//
|
||||
// Possible values are "default" (for using a sensible set of lints
|
||||
@@ -511,6 +520,8 @@ func srcPathFromModuleSrcs(ctx ModuleContext, srcs []string) (android.Path, andr
|
||||
ctx.PropertyErrorf("srcs", "only a single generated source module can be defined without a main source file.")
|
||||
}
|
||||
|
||||
// TODO: b/297264540 - once all modules are sandboxed, we need to select the proper
|
||||
// entry point file from Srcs rather than taking the first one
|
||||
paths := android.PathsForModuleSrc(ctx, srcs)
|
||||
return paths[srcIndex], paths[1:]
|
||||
}
|
||||
|
Reference in New Issue
Block a user