1
0
mirror of https://github.com/golang/go synced 2024-11-18 05:04:47 -07:00

cmd/go: require -buildmode=c-shared to take one main package

The current behavior is to filter out the non-main packages silently,
which is confusing if there are only non-main packages.
Instead, report an error unless it's used with a single main package.

To be clear, I don't really know what I'm doing.
It might be that multiple main packages are allowed, or even
that we do want the filtering, but all.bash passes with this change,
so I am taking that as a sign that we don't need that extra flexibility.

Fixes #15082.

Change-Id: I984d0f444a01c0ee0c3cd6646a75527ea99a9ebe
Reviewed-on: https://go-review.googlesource.com/46421
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Russ Cox 2017-06-22 15:49:42 -04:00
parent 7c02beb96a
commit 53e4b8fc02

View File

@ -288,7 +288,7 @@ func BuildModeInit() {
cfg.ExeSuffix = ".a"
ldBuildmode = "c-archive"
case "c-shared":
pkgsFilter = pkgsMain
pkgsFilter = oneMainPkg
if gccgo {
codegenArg = "-fPIC"
} else {