|
21 | 21 | ["windows", "amd64"]
|
22 | 22 | ]
|
23 | 23 |
|
| 24 | +GO_IOS_ARCH_LIST = [ |
| 25 | + ["darwin", "arm64"], |
| 26 | + ["darwin", "arm"] |
| 27 | +] |
24 | 28 |
|
25 |
| -def go_build_zip(): |
| 29 | +GO_ANDROID_ARCH_LIST = [ |
| 30 | + ["android", "arm", "arm-linux-androideabi"], |
| 31 | + ["android", "arm64", "aarch64-linux-android"], |
| 32 | + ["android", "386", "i686-linux-android"], |
| 33 | + ["android", "amd64", "x86_64-linux-android"], |
| 34 | +] |
| 35 | + |
| 36 | + |
| 37 | +def go_build_desktop(binary_name, version, o, a, p): |
| 38 | + mipsflag = (" GOMIPS=" + (p[0] if p else "") if p else "") |
| 39 | + subprocess.check_call("GOOS=" + o + " GOARCH=" + a + mipsflag + " CGO_ENABLED=0" + " go build -ldflags \"-s -w " + |
| 40 | + "-X main.version=" + version + "\" -o " + binary_name + " main/main.go", shell=True) |
| 41 | + |
| 42 | +def go_build_ios(binary_name, version, o, a, p): |
| 43 | + subprocess.check_call("CC=$(go env GOROOT)/misc/ios/clangwrap.sh GOOS=" + o + " GOARCH=" + a + " CGO_ENABLED=1" + " go build -ldflags \"-s -w " + |
| 44 | + "-X main.version=" + version + "\" -o " + binary_name + " main/main.go", shell=True) |
| 45 | + |
| 46 | +def go_build_android(binary_name, version, o, a, p): |
| 47 | + triple = p[0] |
| 48 | + subprocess.check_call("CC=$ANDROID_NDK_ROOT/bin/" + triple + "/bin/clang GOOS=" + o + " GOARCH=" + a + " CGO_ENABLED=1" + " go build -ldflags \"-s -w " + |
| 49 | + "-X main.version=" + version + "\" -o " + binary_name + " main/main.go", shell=True) |
| 50 | + |
| 51 | +def go_build_zip(arches, builder): |
26 | 52 | subprocess.check_call("GOOS=windows go get -v github.com/shawn1m/overture/main", shell=True)
|
27 |
| - for o, a, *p in GO_OS_ARCH_LIST: |
| 53 | + for o, a, *p in arches: |
28 | 54 | zip_name = "overture-" + o + "-" + a + ("-" + (p[0] if p else "") if p else "")
|
29 | 55 | binary_name = zip_name + (".exe" if o == "windows" else "")
|
30 | 56 | version = subprocess.check_output("git describe --tags", shell=True).decode()
|
31 |
| - mipsflag = (" GOMIPS=" + (p[0] if p else "") if p else "") |
32 | 57 | try:
|
33 |
| - subprocess.check_call("GOOS=" + o + " GOARCH=" + a + mipsflag + " CGO_ENABLED=0" + " go build -ldflags \"-s -w " + |
34 |
| - "-X main.version=" + version + "\" -o " + binary_name + " main/main.go", shell=True) |
| 58 | + builder(binary_name, version, o, a, p) |
35 | 59 | subprocess.check_call("zip " + zip_name + ".zip " + binary_name + " " + "hosts_sample "
|
36 | 60 | "ip_network_primary_sample "
|
37 | 61 | "ip_network_alternative_sample "
|
@@ -66,4 +90,10 @@ def create_sample_file():
|
66 | 90 | create_sample_file()
|
67 | 91 |
|
68 | 92 | if "-build" in sys.argv:
|
69 |
| - go_build_zip() |
| 93 | + go_build_zip(GO_OS_ARCH_LIST, go_build_desktop) |
| 94 | + |
| 95 | + if "-build-ios" in sys.argv: |
| 96 | + go_build_zip(GO_IOS_ARCH_LIST, go_build_ios) |
| 97 | + |
| 98 | + if "-build-android" in sys.argv: |
| 99 | + go_build_zip(GO_ANDROID_ARCH_LIST, go_build_android) |
0 commit comments