]> git.lizzy.rs Git - micro.git/blobdiff - tools/cross-compile.sh
Add default ftoptions plugin to override settings
[micro.git] / tools / cross-compile.sh
index 6d476c6139bc9239271801ba0f0f2cea0651e3fb..1f68362062bd58c5224196347dac480da40ee55d 100755 (executable)
@@ -1,73 +1,75 @@
 cd ..
 
 mkdir -p binaries
-mkdir -p micro
+mkdir -p micro-$1
 
-cp LICENSE micro
-cp README.md micro
+cp LICENSE micro-$1
+cp README.md micro-$1
 
-VERSION="$(git rev-parse --short HEAD)"
+HASH="$(git rev-parse --short HEAD)"
+VERSION="$(go run tools/build-version.go)"
+DATE="$(go run tools/build-date.go)"
 
 # Mac
 echo "OSX 64"
-GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-osx.tar.gz micro
-mv micro-osx.tar.gz binaries
+GOOS=darwin 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
+tar -czf micro-$1-osx.tar.gz micro-$1
+mv micro-$1-osx.tar.gz binaries
 
 # Linux
 echo "Linux 64"
-GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-linux64.tar.gz micro
-mv micro-linux64.tar.gz binaries
+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
+tar -czf micro-$1-linux64.tar.gz micro-$1
+mv micro-$1-linux64.tar.gz binaries
 echo "Linux 32"
-GOOS=linux GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-linux32.tar.gz micro
-mv micro-linux32.tar.gz binaries
+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
+tar -czf micro-$1-linux32.tar.gz micro-$1
+mv micro-$1-linux32.tar.gz binaries
 echo "Linux arm"
-GOOS=linux GOARCH=arm go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-linux-arm.tar.gz micro
-mv micro-linux-arm.tar.gz binaries
+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
+tar -czf micro-$1-linux-arm.tar.gz micro-$1
+mv micro-$1-linux-arm.tar.gz binaries
 
 # NetBSD
 echo "NetBSD 64"
-GOOS=netbsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-netbsd64.tar.gz micro
-mv micro-netbsd64.tar.gz binaries
+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
+tar -czf micro-$1-netbsd64.tar.gz micro-$1
+mv micro-$1-netbsd64.tar.gz binaries
 echo "NetBSD 32"
-GOOS=netbsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-netbsd32.tar.gz micro
-mv micro-netbsd32.tar.gz binaries
+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
+tar -czf micro-$1-netbsd32.tar.gz micro-$1
+mv micro-$1-netbsd32.tar.gz binaries
 
 # OpenBSD
 echo "OpenBSD 64"
-GOOS=openbsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-openbsd64.tar.gz micro
-mv micro-openbsd64.tar.gz binaries
+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
+tar -czf micro-$1-openbsd64.tar.gz micro-$1
+mv micro-$1-openbsd64.tar.gz binaries
 echo "OpenBSD 32"
-GOOS=openbsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-openbsd32.tar.gz micro
-mv micro-openbsd32.tar.gz binaries
+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
+tar -czf micro-$1-openbsd32.tar.gz micro-$1
+mv micro-$1-openbsd32.tar.gz binaries
 
 # FreeBSD
 echo "FreeBSD 64"
-GOOS=freebsd GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-freebsd64.tar.gz micro
-mv micro-freebsd64.tar.gz binaries
+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
+tar -czf micro-$1-freebsd64.tar.gz micro-$1
+mv micro-$1-freebsd64.tar.gz binaries
 echo "FreeBSD 32"
-GOOS=freebsd GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro ./cmd/micro
-tar -czf micro-freebsd32.tar.gz micro
-mv micro-freebsd32.tar.gz binaries
+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
+tar -czf micro-$1-freebsd32.tar.gz micro-$1
+mv micro-$1-freebsd32.tar.gz binaries
 
-rm micro/micro
+rm micro-$1/micro
 
 # Windows
 echo "Windows 64"
-GOOS=windows GOARCH=amd64 go build -ldflags "-X main.Version=$VERSION" -o micro/micro.exe ./cmd/micro
-zip -r -q -T micro-win64.zip micro
-mv micro-win64.zip binaries
+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
+zip -r -q -T micro-$1-win64.zip micro-$1
+mv micro-$1-win64.zip binaries
 echo "Windows 32"
-GOOS=windows GOARCH=386 go build -ldflags "-X main.Version=$VERSION" -o micro/micro.exe ./cmd/micro
-zip -r -q -T micro-win32.zip micro
-mv micro-win32.zip binaries
+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
+zip -r -q -T micro-$1-win32.zip micro-$1
+mv micro-$1-win32.zip binaries
 
-rm -rf micro
+rm -rf micro-$1