Support .rs and .fs files in cc_* module srcs lists

Translate .rs and .fs files to .cpp files using llvm-rs-cc.

Test: builds
Change-Id: I242cea0d09c9985730a512cec7705c3f1479f4ed
diff --git a/cc/gen.go b/cc/gen.go
index 808a681..353c43d 100644
--- a/cc/gen.go
+++ b/cc/gen.go
@@ -105,6 +105,8 @@
 
 	var deps android.Paths
 
+	var rsFiles android.Paths
+
 	for i, srcFile := range srcFiles {
 		switch srcFile.Ext() {
 		case ".y":
@@ -131,8 +133,16 @@
 			cppFile := android.GenPathWithExt(ctx, "aidl", srcFile, "cpp")
 			srcFiles[i] = cppFile
 			deps = append(deps, genAidl(ctx, srcFile, cppFile, buildFlags.aidlFlags)...)
+		case ".rs", ".fs":
+			cppFile := rsGeneratedCppFile(ctx, srcFile)
+			rsFiles = append(rsFiles, srcFiles[i])
+			srcFiles[i] = cppFile
 		}
 	}
 
+	if len(rsFiles) > 0 {
+		deps = append(deps, rsGenerateCpp(ctx, rsFiles, buildFlags.rsFlags)...)
+	}
+
 	return srcFiles, deps
 }