By the commit log, gb is six months old, so along with a commitment to eat my own dog food it’s time to get serious about releasing. With that in mind, gb version 0.1.0 is released today.
The canonical gb road map is tracked in the README file. For convenience the current road map is reproduced here, but if you’re reading this in the future, best to check the README.
The headline feature of the 0.1 series is support for cross compilation.
In 0.1.0 cross compilation has the following restrictions
Cross compilation is controlled by the GOOS
and GOARCH
variables. Here is an example using gb to compile gb itself for linux/arm
(some output has been elided):
% env GOOS=linux GOARCH=arm gb build runtime errors sync/atomic … go/build github.com/constabulary/gb crypto/tls github.com/constabulary/gb/cmd net/http github.com/constabulary/gb/vendor github.com/constabulary/gb/cmd/gb-vendor github.com/constabulary/gb/cmd/gb % file bin/gb-linux-arm /home/dfc/bin/gb-linux-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not strippedSome points to note here
$PROJECT/pkg
, gb does not require the Go installation to be writable.GOOS
or GOARCH
do not match the host machine), gb will append the suffix -$GOOS-$GOARCH
to any binary placed in $PROJECT/bin
.Please try it out, and let us know what works and what does not.
Previous: What's new in gb, 2015-08-19