aboutsummaryrefslogtreecommitdiffstats
path: root/cc/gen.go
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-05-01 17:37:24 -0700
committerColin Cross <ccross@android.com>2017-05-05 18:22:30 -0700
commit2a252bef50fc3f0426c55c7524bb193b9afabc4a (patch)
treeedcaad7ed94518574cff5bd0dfa87fc2cc2131b7 /cc/gen.go
parent7e0eaf15b9eec975e45f9e5a27294a0bf0ef9beb (diff)
downloadbuild_soong-2a252bef50fc3f0426c55c7524bb193b9afabc4a.tar.gz
build_soong-2a252bef50fc3f0426c55c7524bb193b9afabc4a.tar.bz2
build_soong-2a252bef50fc3f0426c55c7524bb193b9afabc4a.zip
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
Diffstat (limited to 'cc/gen.go')
-rw-r--r--cc/gen.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/cc/gen.go b/cc/gen.go
index 808a6818..353c43d8 100644
--- a/cc/gen.go
+++ b/cc/gen.go
@@ -105,6 +105,8 @@ func genSources(ctx android.ModuleContext, srcFiles android.Paths,
var deps android.Paths
+ var rsFiles android.Paths
+
for i, srcFile := range srcFiles {
switch srcFile.Ext() {
case ".y":
@@ -131,8 +133,16 @@ func genSources(ctx android.ModuleContext, srcFiles android.Paths,
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
}