]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: use correct link flags if main package contains C++/ObjC files
authorPeter Collingbourne <pcc@google.com>
Fri, 1 Aug 2014 23:45:33 +0000 (16:45 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 1 Aug 2014 23:45:33 +0000 (16:45 -0700)
LGTM=iant
R=iant
CC=golang-codereviews
https://golang.org/cl/117470043

src/cmd/go/build.go

index 49ae64082736f4b886e3809c4cc59beeaf06aa7e..fa9262c0f0d7cc72830c10922ef88d5e7f97ded6 100644 (file)
@@ -1708,7 +1708,7 @@ func packInternal(b *builder, afile string, ofiles []string) error {
 
 func (gcToolchain) ld(b *builder, p *Package, out string, allactions []*action, mainpkg string, ofiles []string) error {
        importArgs := b.includeArgs("-L", allactions)
-       cxx := false
+       cxx := len(p.CXXFiles) > 0
        for _, a := range allactions {
                if a.p != nil && len(a.p.CXXFiles) > 0 {
                        cxx = true
@@ -1846,8 +1846,8 @@ func (tools gccgoToolchain) ld(b *builder, p *Package, out string, allactions []
        ldflags := b.gccArchArgs()
        cgoldflags := []string{}
        usesCgo := false
-       cxx := false
-       objc := false
+       cxx := len(p.CXXFiles) > 0
+       objc := len(p.MFiles) > 0
 
        // Prefer the output of an install action to the output of a build action,
        // because the install action will delete the output of the build action.