Loading cc/builder.go +9 −6 Original line number Diff line number Diff line Loading @@ -283,16 +283,19 @@ var ( "cFlags") ) func PwdPrefix() string { // Darwin doesn't have /proc if runtime.GOOS != "darwin" { return "PWD=/proc/self/cwd" } return "" } func init() { // We run gcc/clang with PWD=/proc/self/cwd to remove $TOP from the // debug output. That way two builds in two different directories will // create the same output. if runtime.GOOS != "darwin" { pctx.StaticVariable("relPwd", "PWD=/proc/self/cwd") } else { // Darwin doesn't have /proc pctx.StaticVariable("relPwd", "") } pctx.StaticVariable("relPwd", PwdPrefix()) pctx.HostBinToolVariable("SoongZipCmd", "soong_zip") pctx.Import("android/soong/remoteexec") Loading rust/builder.go +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "github.com/google/blueprint/pathtools" "android/soong/android" "android/soong/cc" ) var ( Loading Loading @@ -161,11 +162,17 @@ func transformSrctoCrate(ctx android.ModuleContext, main android.Path, deps Path if flags.Coverage { var gcnoFile android.WritablePath // Provide consistency with cc gcda output, see cc/builder.go init() profileEmitArg := strings.TrimPrefix("PWD=", cc.PwdPrefix()) + "/" if outputFile.Ext() != "" { gcnoFile = android.PathForModuleOut(ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcno")) rustcFlags = append(rustcFlags, "-Z profile-emit="+profileEmitArg+android.PathForModuleOut( ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcda")).String()) } else { gcnoFile = android.PathForModuleOut(ctx, outputFile.Base()+".gcno") rustcFlags = append(rustcFlags, "-Z profile-emit="+profileEmitArg+android.PathForModuleOut( ctx, outputFile.Base()+".gcda").String()) } implicitOutputs = append(implicitOutputs, gcnoFile) Loading Loading
cc/builder.go +9 −6 Original line number Diff line number Diff line Loading @@ -283,16 +283,19 @@ var ( "cFlags") ) func PwdPrefix() string { // Darwin doesn't have /proc if runtime.GOOS != "darwin" { return "PWD=/proc/self/cwd" } return "" } func init() { // We run gcc/clang with PWD=/proc/self/cwd to remove $TOP from the // debug output. That way two builds in two different directories will // create the same output. if runtime.GOOS != "darwin" { pctx.StaticVariable("relPwd", "PWD=/proc/self/cwd") } else { // Darwin doesn't have /proc pctx.StaticVariable("relPwd", "") } pctx.StaticVariable("relPwd", PwdPrefix()) pctx.HostBinToolVariable("SoongZipCmd", "soong_zip") pctx.Import("android/soong/remoteexec") Loading
rust/builder.go +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "github.com/google/blueprint/pathtools" "android/soong/android" "android/soong/cc" ) var ( Loading Loading @@ -161,11 +162,17 @@ func transformSrctoCrate(ctx android.ModuleContext, main android.Path, deps Path if flags.Coverage { var gcnoFile android.WritablePath // Provide consistency with cc gcda output, see cc/builder.go init() profileEmitArg := strings.TrimPrefix("PWD=", cc.PwdPrefix()) + "/" if outputFile.Ext() != "" { gcnoFile = android.PathForModuleOut(ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcno")) rustcFlags = append(rustcFlags, "-Z profile-emit="+profileEmitArg+android.PathForModuleOut( ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcda")).String()) } else { gcnoFile = android.PathForModuleOut(ctx, outputFile.Base()+".gcno") rustcFlags = append(rustcFlags, "-Z profile-emit="+profileEmitArg+android.PathForModuleOut( ctx, outputFile.Base()+".gcda").String()) } implicitOutputs = append(implicitOutputs, gcnoFile) Loading