summaryrefslogtreecommitdiff
path: root/rust/compiler.go
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2023-09-08 00:10:18 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-09-08 00:10:18 +0000
commit9abcf649a7cc75aeeb2cc1931b852c35302fe16c (patch)
treeca802ce21d2aefb0512b0e14f4b53610cd83d9ac /rust/compiler.go
parent509ca8dfaf51ff58d8d331a160a5cfe4584352c4 (diff)
parent1f9bb26656b10a367e862270cdcdfba8214e522a (diff)
Merge changes from topics "rulebuilder-ninja-vars", "rustc_prebuilt_build_tool" into main
* changes: allow Ninja variables in RuleBuilder API add crate_root property to rust modules add rust_toolchain_rustc_prebuilt module type
Diffstat (limited to 'rust/compiler.go')
-rw-r--r--rust/compiler.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/compiler.go b/rust/compiler.go
index e6a7a9356..d6c52e8d4 100644
--- a/rust/compiler.go
+++ b/rust/compiler.go
@@ -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:]
}