]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: for gccgo, don't edit cgo header when using -o
authorIan Lance Taylor <iant@golang.org>
Fri, 4 May 2018 22:29:09 +0000 (15:29 -0700)
committerIan Lance Taylor <iant@golang.org>
Wed, 9 May 2018 12:53:36 +0000 (12:53 +0000)
This change was made to the gccgo sources as part of CL 47037.
It is required to make the testcarchive and testcshared tests work.
Otherwise using `go build -mode=c-archive -o libgo.a` will cause the
header file to be named go.h rather than libgo.h.

Change-Id: I2db1d7b0f575368b31273cc01097447a0471efd6
Reviewed-on: https://go-review.googlesource.com/111615
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/go/internal/work/action.go

index 8b53fad19abdd3945861dffec0feae55e5fcd345..c83fe4e58d282a688e20e25bd38437509a6aa5e0 100644 (file)
@@ -588,7 +588,7 @@ func (b *Builder) addInstallHeaderAction(a *Action) {
        p := a.Package
        if p.UsesCgo() && (cfg.BuildBuildmode == "c-archive" || cfg.BuildBuildmode == "c-shared") {
                hdrTarget := a.Target[:len(a.Target)-len(filepath.Ext(a.Target))] + ".h"
-               if cfg.BuildContext.Compiler == "gccgo" {
+               if cfg.BuildContext.Compiler == "gccgo" && cfg.BuildO == "" {
                        // For the header file, remove the "lib"
                        // added by go/build, so we generate pkg.h
                        // rather than libpkg.h.