diff options
author | Ramy Medhat <abdelaal@google.com> | 2020-05-19 13:43:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-19 13:43:06 +0000 |
commit | 9adb15e4d38f1e0e87aed592879a3d0888971bc0 (patch) | |
tree | 4501902b3efbbf8fe8d67c2c96bf30937ecb08cd /cc | |
parent | 13b041d6eaeb5ed335bb98d6859c6e7f2be6c564 (diff) | |
parent | 459c6b25e5092b6bc785d2eabbba29ff4ef8d592 (diff) | |
download | build_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.tar.gz build_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.tar.bz2 build_soong-9adb15e4d38f1e0e87aed592879a3d0888971bc0.zip |
Merge "Add implicit outputs to link actions Bug: b/154733231" into rvc-dev
Diffstat (limited to 'cc')
-rw-r--r-- | cc/builder.go | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/cc/builder.go b/cc/builder.go index d8e90b61..476f16ae 100644 --- a/cc/builder.go +++ b/cc/builder.go @@ -77,10 +77,10 @@ var ( ExecStrategy: "${config.RECXXLinksExecStrategy}", Inputs: []string{"${out}.rsp"}, RSPFile: "${out}.rsp", - OutputFiles: []string{"${out}"}, + OutputFiles: []string{"${out}", "$implicitOutputs"}, ToolchainInputs: []string{"$ldCmd"}, Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXLinksPool}"}, - }, []string{"ldCmd", "crtBegin", "libFlags", "crtEnd", "ldFlags", "extraLibFlags"}, nil) + }, []string{"ldCmd", "crtBegin", "libFlags", "crtEnd", "ldFlags", "extraLibFlags"}, []string{"implicitOutputs"}) partialLd, partialLdRE = remoteexec.StaticRules(pctx, "partialLd", blueprint.RuleParams{ @@ -91,10 +91,10 @@ var ( }, &remoteexec.REParams{ Labels: map[string]string{"type": "link", "tool": "clang"}, ExecStrategy: "${config.RECXXLinksExecStrategy}", Inputs: []string{"$inCommaList"}, - OutputFiles: []string{"${out}"}, + OutputFiles: []string{"${out}", "$implicitOutputs"}, ToolchainInputs: []string{"$ldCmd"}, Platform: map[string]string{remoteexec.PoolKey: "${config.RECXXLinksPool}"}, - }, []string{"ldCmd", "ldFlags"}, []string{"inCommaList"}) + }, []string{"ldCmd", "ldFlags"}, []string{"inCommaList", "implicitOutputs"}) ar = pctx.AndroidStaticRule("ar", blueprint.RuleParams{ @@ -672,8 +672,17 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext, } rule := ld + args := map[string]string{ + "ldCmd": ldCmd, + "crtBegin": crtBegin.String(), + "libFlags": strings.Join(libFlagsList, " "), + "extraLibFlags": flags.extraLibFlags, + "ldFlags": flags.globalLdFlags + " " + flags.localLdFlags, + "crtEnd": crtEnd.String(), + } if ctx.Config().IsEnvTrue("RBE_CXX_LINKS") { rule = ldRE + args["implicitOutputs"] = strings.Join(implicitOutputs.Strings(), ",") } ctx.Build(pctx, android.BuildParams{ @@ -683,14 +692,7 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext, ImplicitOutputs: implicitOutputs, Inputs: objFiles, Implicits: deps, - Args: map[string]string{ - "ldCmd": ldCmd, - "crtBegin": crtBegin.String(), - "libFlags": strings.Join(libFlagsList, " "), - "extraLibFlags": flags.extraLibFlags, - "ldFlags": flags.globalLdFlags + " " + flags.localLdFlags, - "crtEnd": crtEnd.String(), - }, + Args: args, }) } |