]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: remove Action.Objpkg
authorRuss Cox <rsc@golang.org>
Sun, 16 Jul 2017 14:38:43 +0000 (08:38 -0600)
committerRuss Cox <rsc@golang.org>
Tue, 3 Oct 2017 19:56:19 +0000 (19:56 +0000)
This is an intermediate step toward not being able to predict
the final generated file name for a package build, so that
parent builds can refer directly to cache files.

Change-Id: I4dea5e8d8b80e6b995b3d9dc1d8c6f0ac9b88d72
Reviewed-on: https://go-review.googlesource.com/56285
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/go/internal/work/build.go

index 932626d060e42cfb41f534c465dda85c4e07f816..ef0824625a4830d82380d2b6992560c86f656602 100644 (file)
@@ -687,7 +687,6 @@ type Action struct {
        // Generated files, directories.
        Link   bool   // target is executable, not just package
        Objdir string // directory for intermediate objects
-       Objpkg string // the intermediate package .a file created during the action
        Target string // goal of the action: the created package or executable
 
        // Execution state.
@@ -898,7 +897,6 @@ func (b *Builder) action1(mode BuildMode, depMode BuildMode, p *load.Package, lo
                mode = ModeBuild
        }
        a.Objdir = b.NewObjdir()
-       a.Objpkg = a.Objdir + "_pkg_.a"
        a.Link = p.Name == "main" && !p.Internal.ForceLibrary
 
        switch mode {
@@ -931,7 +929,7 @@ func (b *Builder) action1(mode BuildMode, depMode BuildMode, p *load.Package, lo
 
        case ModeBuild:
                a.Func = (*Builder).build
-               a.Target = a.Objpkg
+               a.Target = a.Objdir + "_pkg_.a"
                a.Package.Internal.Pkgfile = a.Target
                if a.Link {
                        // An executable file. (This is the name of a temporary file.)
@@ -1416,7 +1414,8 @@ func (b *Builder) build(a *Action) (err error) {
        }
 
        // Compile Go.
-       ofile, out, err := BuildToolchain.gc(b, a.Package, a.Objpkg, objdir, icfg.Bytes(), len(sfiles) > 0, gofiles)
+       objpkg := objdir + "_pkg_.a"
+       ofile, out, err := BuildToolchain.gc(b, a.Package, objpkg, objdir, icfg.Bytes(), len(sfiles) > 0, gofiles)
        if len(out) > 0 {
                b.showOutput(a.Package.Dir, a.Package.ImportPath, b.processOutput(out))
                if err != nil {
@@ -1426,7 +1425,7 @@ func (b *Builder) build(a *Action) (err error) {
        if err != nil {
                return err
        }
-       if ofile != a.Objpkg {
+       if ofile != objpkg {
                objects = append(objects, ofile)
        }
 
@@ -1491,7 +1490,7 @@ func (b *Builder) build(a *Action) (err error) {
        // If the Go compiler wrote an archive and the package is entirely
        // Go sources, there is no pack to execute at all.
        if len(objects) > 0 {
-               if err := BuildToolchain.pack(b, a.Package, objdir, a.Objpkg, objects); err != nil {
+               if err := BuildToolchain.pack(b, a.Package, objdir, objpkg, objects); err != nil {
                        return err
                }
        }
@@ -1507,7 +1506,7 @@ func (b *Builder) build(a *Action) (err error) {
                // linker needs the whole dependency tree.
                all := ActionList(a)
                all = all[:len(all)-1] // drop a
-               if err := BuildToolchain.ld(b, a, a.Target, importcfg, all, a.Objpkg, objects); err != nil {
+               if err := BuildToolchain.ld(b, a, a.Target, importcfg, all, objpkg, objects); err != nil {
                        return err
                }
        }