cmd/go: fix TestCgoPkgConfig on darwin with pkg-config installed

Most darwin systems don't have pkg-config installed and skip this test.
(And it doesn't run in all.bash because it is skipped during -short.)

But for those systems that have pkg-config and run the non-short tests,
it fails because the code was not writing out the bar.pc on darwin and
then expecting pkg-config to be able to tell us about the bar package.
Change the code to write out the bar entry always.

Fixes one failing case in 'go test cmd/go' on my Mac.

Change-Id: Ibc4e9826a652ce2e7c609b905b159ccf2d5a6444
Reviewed-on: https://go-review.googlesource.com/c/go/+/718182
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
Auto-Submit: Russ Cox <rsc@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Russ Cox 2025-11-05 13:42:44 -05:00 committed by Gopher Robot
parent a494a26bc2
commit 3ae9e95002

View file

@ -1506,15 +1506,17 @@ func main() {
tg.setenv("PKG_CONFIG_PATH", tg.path(".")) tg.setenv("PKG_CONFIG_PATH", tg.path("."))
tg.run("run", tg.path("foo.go")) tg.run("run", tg.path("foo.go"))
if runtime.GOOS != "darwin" { // darwin doesn't like these ldflags libs := `Libs: -Wl,-rpath=/path\ with\ spaces/bin`
// test for ldflags if runtime.GOOS == "darwin" {
tg.tempFile("bar.pc", ` libs = "" // darwin linker doesn't have -rpath
}
// test for ldflags
tg.tempFile("bar.pc", `
Name: bar Name: bar
Description: The bar library Description: The bar library
Version: 1.0.0 Version: 1.0.0
Libs: -Wl,-rpath=/path\ with\ spaces/bin `+libs+`
`) `)
}
tg.tempFile("bar.go", `package main tg.tempFile("bar.go", `package main
/* /*