From ac7ffdfa1006a40768d11ed7e2e20dab57799df0 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 15 May 2015 17:12:20 -0700 Subject: [PATCH] cmd/go: permit C files if the package uses SWIG They will be compiled and added to the archive, just as though the package used cgo. In effect all SWIG packages now use cgo anyhow. Change-Id: I5d5a28ed0ec4295f24036b2834218bc980f080d0 Reviewed-on: https://go-review.googlesource.com/10146 Reviewed-by: Minux Ma --- src/cmd/go/pkg.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go index 7a71471340..601c30362f 100644 --- a/src/cmd/go/pkg.go +++ b/src/cmd/go/pkg.go @@ -673,10 +673,10 @@ func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package p.Target = p.target // The gc toolchain only permits C source files with cgo. - if len(p.CFiles) > 0 && !p.usesCgo() && buildContext.Compiler == "gc" { + if len(p.CFiles) > 0 && !p.usesCgo() && !p.usesSwig() && buildContext.Compiler == "gc" { p.Error = &PackageError{ ImportStack: stk.copy(), - Err: fmt.Sprintf("C source files not allowed when not using cgo: %s", strings.Join(p.CFiles, " ")), + Err: fmt.Sprintf("C source files not allowed when not using cgo or SWIG: %s", strings.Join(p.CFiles, " ")), } return p }