Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(5)

Unified Diff: src/pkg/go/build/build.go

Issue 4620045: code review 4620045: go/build: clean ups (Closed)
Patch Set: diff -r cf1155385bb7 https://go.googlecode.com/hg/ Created 13 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/pkg/go/build/build.go
===================================================================
--- a/src/pkg/go/build/build.go
+++ b/src/pkg/go/build/build.go
@@ -48,10 +48,9 @@
if len(info.CgoFiles) > 0 {
cgoFiles := b.abss(info.CgoFiles...)
s.addInput(cgoFiles...)
- outInter, outGo, outObj := b.cgo(cgoFiles)
+ outGo, outObj := b.cgo(cgoFiles)
gofiles = append(gofiles, outGo...)
ofiles = append(ofiles, outObj...)
- s.addIntermediate(outInter...)
s.addIntermediate(outGo...)
s.addIntermediate(outObj...)
}
@@ -71,7 +70,7 @@
s.addInput(sfile)
b.asm(ofile, sfile)
ofiles = append(ofiles, ofile)
- s.addIntermediate(sfile, ofile)
+ s.addIntermediate(ofile)
}
if len(ofiles) == 0 {
@@ -158,6 +157,7 @@
// Clean removes the Script's Intermediate files.
// It tries to remove every file and returns the first error it encounters.
func (s *Script) Clean() (err os.Error) {
+ // Reverse order so that directories get removed after the files they contain.
for i := len(s.Intermediate) - 1; i >= 0; i-- {
if e := os.Remove(s.Intermediate[i]); err == nil {
err = e
@@ -169,6 +169,7 @@
// Clean removes the Script's Intermediate and Output files.
// It tries to remove every file and returns the first error it encounters.
func (s *Script) Nuke() (err os.Error) {
+ // Reverse order so that directories get removed after the files they contain.
for i := len(s.Output) - 1; i >= 0; i-- {
if e := os.Remove(s.Output[i]); err == nil {
err = e
@@ -337,7 +338,7 @@
return append([]string{"gcc", m, "-I", b.path, "-g", "-fPIC", "-O2"}, args...)
}
-func (b *build) cgo(cgofiles []string) (outInter, outGo, outObj []string) {
+func (b *build) cgo(cgofiles []string) (outGo, outObj []string) {
// cgo
// TODO(adg): CGOPKGPATH
// TODO(adg): CGO_FLAGS
@@ -359,8 +360,8 @@
})
outGo = append(outGo, gofiles...)
exportH := filepath.Join(b.path, "_cgo_export.h")
- outInter = append(outInter, exportH, defunC, b.obj+"_cgo_flags")
- outInter = append(outInter, cfiles...)
+ b.script.addIntermediate(defunC, exportH, b.obj+"_cgo_flags")
+ b.script.addIntermediate(cfiles...)
// cc _cgo_defun.c
defunObj := b.obj + "_cgo_defun." + b.arch
@@ -376,12 +377,12 @@
if !strings.HasSuffix(ofile, "_cgo_main.o") {
outObj = append(outObj, ofile)
} else {
- outInter = append(outInter, ofile)
+ b.script.addIntermediate(ofile)
}
}
dynObj := b.obj + "_cgo_.o"
b.gccLink(dynObj, linkobj...)
- outInter = append(outInter, dynObj)
+ b.script.addIntermediate(dynObj)
// cgo -dynimport
importC := b.obj + "_cgo_import.c"
@@ -391,7 +392,7 @@
Input: []string{dynObj},
Output: []string{importC},
})
- outInter = append(outInter, importC)
+ b.script.addIntermediate(importC)
// cc _cgo_import.ARCH
importObj := b.obj + "_cgo_import." + b.arch
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b