Merge changes from topic "soong-rust-install"

* changes:
  Move sh_binary module installation into Soong
  Move rust module installation into Soong
diff --git a/rust/androidmk.go b/rust/androidmk.go
index e429416..c51ba51 100644
--- a/rust/androidmk.go
+++ b/rust/androidmk.go
@@ -186,11 +186,7 @@
 	}
 
 	var unstrippedOutputFile android.OptionalPath
-	// Soong installation is only supported for host modules. Have Make
-	// installation trigger Soong installation.
-	if ctx.Target().Os.Class == android.Host {
-		ret.OutputFile = android.OptionalPathForPath(compiler.path)
-	} else if compiler.strippedOutputFile.Valid() {
+	if compiler.strippedOutputFile.Valid() {
 		unstrippedOutputFile = ret.OutputFile
 		ret.OutputFile = compiler.strippedOutputFile
 	}
diff --git a/rust/rust.go b/rust/rust.go
index c159e4a..a3702d8 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -1273,6 +1273,10 @@
 	return mod.InRecovery()
 }
 
+func (mod *Module) InstallBypassMake() bool {
+	return true
+}
+
 func linkPathFromFilePath(filepath android.Path) string {
 	return strings.Split(filepath.String(), filepath.Base())[0]
 }
diff --git a/sh/sh_binary.go b/sh/sh_binary.go
index b22a5b7..bf97b88 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -168,6 +168,10 @@
 
 var _ android.HostToolProvider = (*ShBinary)(nil)
 
+func (s *ShBinary) InstallBypassMake() bool {
+	return true
+}
+
 type ShTest struct {
 	ShBinary