mirror of
https://github.com/golang/go
synced 2024-11-11 19:21:37 -07:00
cmd/dist,internal/platform: reenable the c-archive build mode on ios
Also fix misc/cgo/testcarchive to provide a missing CoreFoundation dependency at link time. Fixes #58221. Updates #58172. Updates #58225. Change-Id: Ib8b6e52ed2914596615da4c427df2fe984722de6 Reviewed-on: https://go-review.googlesource.com/c/go/+/463752 Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
6224db9b4d
commit
ab0f0459da
@ -132,6 +132,15 @@ func testMain(m *testing.M) int {
|
||||
// in .text section.
|
||||
cc = append(cc, "-Wl,-bnoobjreorder")
|
||||
}
|
||||
if GOOS == "ios" {
|
||||
// Linking runtime/cgo on ios requires the CoreFoundation framework because
|
||||
// x_cgo_init uses CoreFoundation APIs to switch directory to the app root.
|
||||
//
|
||||
// TODO(#58225): This special case probably should not be needed.
|
||||
// runtime/cgo is a very low-level package, and should not provide
|
||||
// high-level behaviors like changing the current working directory at init.
|
||||
cc = append(cc, "-framework", "CoreFoundation")
|
||||
}
|
||||
libbase := GOOS + "_" + GOARCH
|
||||
if runtime.Compiler == "gccgo" {
|
||||
libbase = "gccgo_" + libgodir + "_fPIC"
|
||||
|
2
src/cmd/dist/test.go
vendored
2
src/cmd/dist/test.go
vendored
@ -1143,7 +1143,7 @@ func (t *tester) supportedBuildmode(mode string) bool {
|
||||
return false
|
||||
}
|
||||
switch goos {
|
||||
case "aix", "darwin", "windows":
|
||||
case "aix", "darwin", "ios", "windows":
|
||||
return true
|
||||
case "linux":
|
||||
switch goarch {
|
||||
|
@ -101,7 +101,7 @@ func BuildModeSupported(compiler, buildmode, goos, goarch string) bool {
|
||||
|
||||
case "c-archive":
|
||||
switch goos {
|
||||
case "aix", "darwin", "windows":
|
||||
case "aix", "darwin", "ios", "windows":
|
||||
return true
|
||||
case "linux":
|
||||
switch goarch {
|
||||
|
Loading…
Reference in New Issue
Block a user