diff options
author | Dan Willemsen <dwillemsen@google.com> | 2016-11-02 20:43:13 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2016-11-02 21:19:11 -0700 |
commit | 21ec49068f7be873e963dd8dc5cff610539540c5 (patch) | |
tree | c99797f9e04319a88c26d8bf189d740f63744dcd /cc | |
parent | eb716e25590a50541c5c2b3be81ae0468ac35690 (diff) | |
download | build_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.go | 4 | ||||
-rw-r--r-- | cc/gen.go | 10 | ||||
-rw-r--r-- | cc/proto.go | 11 |
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{ @@ -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, }, }) |