aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2016-11-02 20:43:13 -0700
committerDan Willemsen <dwillemsen@google.com>2016-11-02 21:19:11 -0700
commit21ec49068f7be873e963dd8dc5cff610539540c5 (patch)
treec99797f9e04319a88c26d8bf189d740f63744dcd /cc
parenteb716e25590a50541c5c2b3be81ae0468ac35690 (diff)
downloadbuild_soong-21ec49068f7be873e963dd8dc5cff610539540c5.tar.gz
build_soong-21ec49068f7be873e963dd8dc5cff610539540c5.tar.bz2
build_soong-21ec49068f7be873e963dd8dc5cff610539540c5.zip
Add subdir to GenPath
We were emulating this for proto files, standardize it and make the other generators use it as well. Test: Compare out/soong/build.ninja before/after change Test: mmma -j system/tools/hidl Change-Id: I1888c7b981749060a398387bbb9b481270bf6d75
Diffstat (limited to 'cc')
-rw-r--r--cc/builder.go4
-rw-r--r--cc/gen.go10
-rw-r--r--cc/proto.go11
3 files changed, 10 insertions, 15 deletions
diff --git a/cc/builder.go b/cc/builder.go
index faa39d15..f795bba8 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -234,7 +234,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
}
for i, srcFile := range srcFiles {
- objFile := android.ObjPathWithExt(ctx, srcFile, subdir, "o")
+ objFile := android.ObjPathWithExt(ctx, subdir, srcFile, "o")
objFiles[i] = objFile
@@ -285,7 +285,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
})
if tidy {
- tidyFile := android.ObjPathWithExt(ctx, srcFile, subdir, "tidy")
+ tidyFile := android.ObjPathWithExt(ctx, subdir, srcFile, "tidy")
tidyFiles = append(tidyFiles, tidyFile)
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
diff --git a/cc/gen.go b/cc/gen.go
index 14518956..9d3a67cf 100644
--- a/cc/gen.go
+++ b/cc/gen.go
@@ -48,7 +48,7 @@ var (
)
func genYacc(ctx android.ModuleContext, yaccFile android.Path, outFile android.ModuleGenPath, yaccFlags string) (headerFile android.ModuleGenPath) {
- headerFile = android.GenPathWithExt(ctx, yaccFile, "h")
+ headerFile = android.GenPathWithExt(ctx, "yacc", yaccFile, "h")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: yacc,
@@ -80,19 +80,19 @@ func genSources(ctx android.ModuleContext, srcFiles android.Paths,
for i, srcFile := range srcFiles {
switch srcFile.Ext() {
case ".y":
- cFile := android.GenPathWithExt(ctx, srcFile, "c")
+ cFile := android.GenPathWithExt(ctx, "yacc", srcFile, "c")
srcFiles[i] = cFile
deps = append(deps, genYacc(ctx, srcFile, cFile, buildFlags.yaccFlags))
case ".yy":
- cppFile := android.GenPathWithExt(ctx, srcFile, "cpp")
+ cppFile := android.GenPathWithExt(ctx, "yacc", srcFile, "cpp")
srcFiles[i] = cppFile
deps = append(deps, genYacc(ctx, srcFile, cppFile, buildFlags.yaccFlags))
case ".l":
- cFile := android.GenPathWithExt(ctx, srcFile, "c")
+ cFile := android.GenPathWithExt(ctx, "lex", srcFile, "c")
srcFiles[i] = cFile
genLex(ctx, srcFile, cFile)
case ".ll":
- cppFile := android.GenPathWithExt(ctx, srcFile, "cpp")
+ cppFile := android.GenPathWithExt(ctx, "lex", srcFile, "cpp")
srcFiles[i] = cppFile
genLex(ctx, srcFile, cppFile)
case ".proto":
diff --git a/cc/proto.go b/cc/proto.go
index 3d3ca59f..51f54489 100644
--- a/cc/proto.go
+++ b/cc/proto.go
@@ -15,8 +15,6 @@
package cc
import (
- "strings"
-
"github.com/google/blueprint"
"android/soong/android"
@@ -46,17 +44,14 @@ var (
func genProto(ctx android.ModuleContext, protoFile android.Path,
protoFlags string) (android.ModuleGenPath, android.ModuleGenPath) {
- outDir := android.PathForModuleGen(ctx, "proto")
- baseName := strings.TrimSuffix(protoFile.Base(), protoFile.Ext())
-
- outFile := android.PathForModuleGen(ctx, "proto", ctx.ModuleDir(), baseName+".pb.cc")
- headerFile := android.PathForModuleGen(ctx, "proto", ctx.ModuleDir(), baseName+".pb.h")
+ outFile := android.GenPathWithExt(ctx, "proto", protoFile, "pb.cc")
+ headerFile := android.GenPathWithExt(ctx, "proto", protoFile, "pb.h")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: proto,
Outputs: android.WritablePaths{outFile, headerFile},
Input: protoFile,
Args: map[string]string{
- "outDir": outDir.String(),
+ "outDir": protoDir(ctx).String(),
"protoFlags": protoFlags,
},
})