goenv: re-add support for Clang headers on darwin

When TinyGo is installed using `go install` or `go build`, it uses the
Clang resource directory from the host. This works for Linux, but
doesn't work anymore on macOS with a recent change I made.

This re-adds support for Darwin in that case (with much, much simpler
code than there used to be).
Этот коммит содержится в:
Ayke van Laethem 2023-10-15 00:08:26 +02:00 коммит произвёл Ron Evans
родитель 2d4307647e
коммит dde9b5ad3a

Просмотреть файл

@ -366,6 +366,22 @@ func findSystemClangResources(TINYGOROOT string) string {
if err == nil {
return path
}
case "darwin":
// This assumes a Homebrew installation, like in builder/commands.go.
var prefix string
switch runtime.GOARCH {
case "amd64":
prefix = "/usr/local/opt/llvm@" + llvmMajor
case "arm64":
prefix = "/opt/homebrew/opt/llvm@" + llvmMajor
default:
return "" // very unlikely for now
}
path := fmt.Sprintf("%s/lib/clang/%s", prefix, llvmMajor)
_, err := os.Stat(path + "/include/stdint.h")
if err == nil {
return path
}
}
// Could not find it.