You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.5 KiB
45 lines
1.5 KiB
#!/bin/bash |
|
set -e -o pipefail |
|
|
|
# This script builds the go cross compilers for ChromeOS targets. |
|
# |
|
# Usage: build_go |
|
# |
|
# It assumes that the "x86_64-cros-linux-gnu" toolchain is already installed. |
|
# It assumes that the "i686-pc-linux-gnu" toolchain is already installed. |
|
# It assumes that the "armv7a-cros-linux-gnueabi" toolchain is already installed. |
|
|
|
if [[ ! -e "make.bash" && -e "src/make.bash" ]] |
|
then |
|
cd src |
|
fi |
|
|
|
# Build the Go toolchain for amd64 targets. |
|
GOOS="linux" GOARCH="amd64" CGO_ENABLED="1" \ |
|
CC_FOR_TARGET="x86_64-cros-linux-gnu-gcc" \ |
|
CXX_FOR_TARGET="x86_64-cros-linux-gnu-g++" \ |
|
./make.bash --no-clean |
|
GOOS="linux" GOARCH="amd64" CGO_ENABLED="1" \ |
|
CC="x86_64-cros-linux-gnu-gcc" \ |
|
CXX="x86_64-cros-linux-gnu-g++" \ |
|
../bin/go install -v -buildmode=pie std |
|
|
|
# Build the Go toolchain for 386 targets. |
|
GOOS="linux" GOARCH="386" CGO_ENABLED="1" \ |
|
CC_FOR_TARGET="i686-pc-linux-gnu-gcc" \ |
|
CXX_FOR_TARGET="i686-pc-linux-gnu-g++" \ |
|
./make.bash --no-clean |
|
GOOS="linux" GOARCH="386" CGO_ENABLED="1" \ |
|
CC="i686-pc-linux-gnu-gcc" \ |
|
CXX="i686-pc-linux-gnu-g++" \ |
|
../bin/go install -v -buildmode=pie std |
|
|
|
# Build the Go toolchain for arm targets. |
|
GOOS="linux" GOARCH="arm" CGO_ENABLED="1" \ |
|
CC_FOR_TARGET="armv7a-cros-linux-gnueabi-gcc" \ |
|
CXX_FOR_TARGET="armv7a-cros-linux-gnueabi-g++" \ |
|
./make.bash --no-clean |
|
GOOS="linux" GOARCH="arm" CGO_ENABLED="1" \ |
|
CC="armv7a-cros-linux-gnueabi-gcc" \ |
|
CXX="armv7a-cros-linux-gnueabi-g++" \ |
|
../bin/go install -v -buildmode=pie std
|
|
|