38 lines
919 B
Bash
Executable File
38 lines
919 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
# usage: (from within another script)
|
|
# eval "$(./.bashbrew-arch-to-goenv.sh)"
|
|
# since we need those new environment variables in our other script
|
|
|
|
bashbrewArch="$1"; shift # "amd64", "arm32v5", "windows-amd64", etc.
|
|
|
|
os="${bashbrewArch%%-*}"
|
|
[ "$os" != "$bashbrewArch" ] || os='linux'
|
|
printf 'export GOOS="%s"\n' "$os"
|
|
|
|
arch="${bashbrewArch#${os}-}"
|
|
case "$arch" in
|
|
arm32v*)
|
|
printf 'export GOARCH="%s"\n' 'arm'
|
|
printf 'export GOARM="%s"\n' "${arch#arm32v}"
|
|
;;
|
|
|
|
arm64v*)
|
|
printf 'export GOARCH="%s"\n' 'arm64'
|
|
# no GOARM for arm64 (yet?) -- https://github.com/golang/go/blob/1e72bf62183ea21b9affffd4450d44d994393899/src/cmd/internal/objabi/util.go#L40
|
|
#printf 'export GOARM="%s"\n' "${arch#arm64v}"
|
|
printf 'unset GOARM\n'
|
|
;;
|
|
|
|
i386)
|
|
printf 'export GOARCH="%s"\n' '386'
|
|
printf 'unset GOARM\n'
|
|
;;
|
|
|
|
*)
|
|
printf 'export GOARCH="%s"\n' "$arch"
|
|
printf 'unset GOARM\n'
|
|
;;
|
|
esac
|