aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2012-01-12 15:04:31 -0800
committerRuss Cox <rsc@golang.org>2012-01-12 15:04:31 -0800
commitba0e02b207930f3c4cda364d823820a40bb99f8e (patch)
tree720737da1c6d808439f08172940a3106487ef70e
parent630c83888622190f310a1c9748c676d76e127811 (diff)
downloadgo-ba0e02b207930f3c4cda364d823820a40bb99f8e.tar.gz
go-ba0e02b207930f3c4cda364d823820a40bb99f8e.zip
cgo: write _cgo_export.h to object directory, not source dir
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5540048
-rw-r--r--src/cmd/cgo/out.go2
-rw-r--r--src/pkg/go/build/build.go3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go
index b1644d2b0e..3e25b2099c 100644
--- a/src/cmd/cgo/out.go
+++ b/src/cmd/cgo/out.go
@@ -396,7 +396,7 @@ func (p *Package) writeOutputFunc(fgcc *os.File, n *Name) {
// from Go so that they are callable from C.
func (p *Package) writeExports(fgo2, fc, fm *os.File) {
fgcc := creat(*objDir + "_cgo_export.c")
- fgcch := creat("_cgo_export.h")
+ fgcch := creat(*objDir + "_cgo_export.h")
fmt.Fprintf(fgcch, "/* Created by cgo - DO NOT EDIT. */\n")
fmt.Fprintf(fgcch, "%s\n", gccExportHeaderProlog)
diff --git a/src/pkg/go/build/build.go b/src/pkg/go/build/build.go
index 5301ab53e5..9515a7e645 100644
--- a/src/pkg/go/build/build.go
+++ b/src/pkg/go/build/build.go
@@ -396,8 +396,7 @@ func (b *build) cgo(cgofiles, cgocfiles []string) (outGo, outObj []string) {
Output: output,
})
outGo = append(outGo, gofiles...)
- exportH := filepath.Join(b.path, "_cgo_export.h")
- b.script.addIntermediate(defunC, exportH, b.obj+"_cgo_flags")
+ b.script.addIntermediate(defunC, b.obj+"_cgo_export.h", b.obj+"_cgo_flags")
b.script.addIntermediate(cfiles...)
// cc _cgo_defun.c