summaryrefslogtreecommitdiff
path: root/rust/rust.go
diff options
context:
space:
mode:
author Ivan Lozano <ivanlozano@google.com> 2021-01-08 16:51:30 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-01-08 16:51:30 +0000
commit65f7312db00d66e35eb48c9335ca81ffbf5aecc1 (patch)
tree5dad4d8f63e3ca3865bc6d02b7299722602e591a /rust/rust.go
parentc089a5f2496bd781ae8f1cb20f141c44424b25da (diff)
parent3968d8f6780b33ab26c7f9ec06e2fdb6c0f7d26f (diff)
Merge "Refactor CC to prep for Rust sanitizable modules."
Diffstat (limited to 'rust/rust.go')
-rw-r--r--rust/rust.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 105384676..1fa97af96 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -106,6 +106,42 @@ type Module struct {
hideApexVariantFromMake bool
}
+func (mod *Module) Header() bool {
+ //TODO: If Rust libraries provide header variants, this needs to be updated.
+ return false
+}
+
+func (mod *Module) SetPreventInstall() {
+ mod.Properties.PreventInstall = true
+}
+
+// Returns true if the module is "vendor" variant. Usually these modules are installed in /vendor
+func (mod *Module) InVendor() bool {
+ return mod.Properties.ImageVariationPrefix == cc.VendorVariationPrefix
+}
+
+func (mod *Module) SetHideFromMake() {
+ mod.Properties.HideFromMake = true
+}
+
+func (mod *Module) SanitizePropDefined() bool {
+ return false
+}
+
+func (mod *Module) IsDependencyRoot() bool {
+ if mod.compiler != nil {
+ return mod.compiler.isDependencyRoot()
+ }
+ panic("IsDependencyRoot called on a non-compiler Rust module")
+}
+
+func (mod *Module) IsPrebuilt() bool {
+ if _, ok := mod.compiler.(*prebuiltLibraryDecorator); ok {
+ return true
+ }
+ return false
+}
+
func (mod *Module) OutputFiles(tag string) (android.Paths, error) {
switch tag {
case "":
@@ -281,6 +317,7 @@ type compiler interface {
SetDisabled()
stdLinkage(ctx *depsContext) RustLinkage
+ isDependencyRoot() bool
}
type exportedFlagsProducer interface {