]> git.lizzy.rs Git - micro.git/blob - tools/cross-compile.sh
Implement SpawnMultiCursorSelect (#1046)
[micro.git] / tools / cross-compile.sh
1 # Source tar
2
3 ./vendor-src.sh micro-$1-src
4 cd ..
5
6 mkdir -p binaries
7 mkdir -p micro-$1
8
9 mv micro-$1-src.tar.gz binaries
10 mv micro-$1-src.zip binaries
11
12 cp LICENSE micro-$1
13 cp README.md micro-$1
14 cp LICENSE-THIRD-PARTY micro-$1
15
16 HASH="$(git rev-parse --short HEAD)"
17 VERSION="$(go run tools/build-version.go)"
18 DATE="$(go run tools/build-date.go)"
19 ADDITIONAL_GO_LINKER_FLAGS="$(go run tools/info-plist.go $VERSION)"
20
21 # Mac
22 echo "OSX 64"
23 GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE' $ADDITIONAL_GO_LINKER_FLAGS" -o micro-$1/micro ./cmd/micro
24 tar -czf micro-$1-osx.tar.gz micro-$1
25 mv micro-$1-osx.tar.gz binaries
26
27 # Linux
28 echo "Linux 64"
29 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
30 tar -czf micro-$1-linux64.tar.gz micro-$1
31 mv micro-$1-linux64.tar.gz binaries
32 echo "Linux 32"
33 GOOS=linux GOARCH=386 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
34 tar -czf micro-$1-linux32.tar.gz micro-$1
35 mv micro-$1-linux32.tar.gz binaries
36 echo "Linux arm"
37 GOOS=linux GOARCH=arm go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
38 tar -czf micro-$1-linux-arm.tar.gz micro-$1
39 mv micro-$1-linux-arm.tar.gz binaries
40
41 # NetBSD
42 echo "NetBSD 64"
43 GOOS=netbsd GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
44 tar -czf micro-$1-netbsd64.tar.gz micro-$1
45 mv micro-$1-netbsd64.tar.gz binaries
46 echo "NetBSD 32"
47 GOOS=netbsd GOARCH=386 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
48 tar -czf micro-$1-netbsd32.tar.gz micro-$1
49 mv micro-$1-netbsd32.tar.gz binaries
50
51 # OpenBSD
52 echo "OpenBSD 64"
53 GOOS=openbsd GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
54 tar -czf micro-$1-openbsd64.tar.gz micro-$1
55 mv micro-$1-openbsd64.tar.gz binaries
56 echo "OpenBSD 32"
57 GOOS=openbsd GOARCH=386 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
58 tar -czf micro-$1-openbsd32.tar.gz micro-$1
59 mv micro-$1-openbsd32.tar.gz binaries
60
61 # FreeBSD
62 echo "FreeBSD 64"
63 GOOS=freebsd GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
64 tar -czf micro-$1-freebsd64.tar.gz micro-$1
65 mv micro-$1-freebsd64.tar.gz binaries
66 echo "FreeBSD 32"
67 GOOS=freebsd GOARCH=386 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro ./cmd/micro
68 tar -czf micro-$1-freebsd32.tar.gz micro-$1
69 mv micro-$1-freebsd32.tar.gz binaries
70
71 rm micro-$1/micro
72
73 # Windows
74 echo "Windows 64"
75 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro.exe ./cmd/micro
76 zip -r -q -T micro-$1-win64.zip micro-$1
77 mv micro-$1-win64.zip binaries
78 echo "Windows 32"
79 GOOS=windows GOARCH=386 go build -ldflags "-s -w -X main.Version=$1 -X main.CommitHash=$HASH -X 'main.CompileDate=$DATE'" -o micro-$1/micro.exe ./cmd/micro
80 zip -r -q -T micro-$1-win32.zip micro-$1
81 mv micro-$1-win32.zip binaries
82
83 rm -rf micro-$1