import (
"fmt"
"os"
- "reflect"
"syscall"
"time"
//export CheckArgs
func CheckArgs() {
- want := []string{"./testp", "arg1", "arg2"}
- if !reflect.DeepEqual(want, os.Args) {
- fmt.Printf("CheckArgs: want %v, got: %v\n", want, os.Args)
+ if len(os.Args) != 3 || os.Args[1] != "arg1" || os.Args[2] != "arg2" {
+ fmt.Printf("CheckArgs: want [_, arg1, arg2], got: %v\n", os.Args)
os.Exit(2)
}
}
ccargs="-Wl,-no_pie"
# For darwin/arm.
# TODO(crawshaw): Can we do better?
- ccargs="$ccargs -framework CoreFoundation"
+ ccargs="$ccargs -framework CoreFoundation -framework Foundation"
fi
# TODO(crawshaw): Consider a go env for exec script name.
pair := t.gohostos + "-" + t.goarch
switch pair {
case "android-arm",
+ "darwin-arm", "darwin-arm64",
"dragonfly-386", "dragonfly-amd64",
"freebsd-386", "freebsd-amd64", "freebsd-arm",
"linux-386", "linux-amd64", "linux-arm",
switch {
case !t.extLink():
return false
- case t.goos == "darwin" && t.goarch == "amd64":
- // TODO(crawshaw): add darwin/arm{,64}
- return true
+ case t.goos == "darwin":
+ switch t.goarch {
+ case "amd64", "arm":
+ // TODO(crawshaw): add darwin/arm64
+ return true
+ default:
+ return false
+ }
case t.goos == "linux" && (t.goarch == "amd64" || t.goarch == "386"):
return true
default: