master hovercats/oakiss / repo / go / build
 1#!/bin/sh -e
 2
 3# Disable stripping of binaries.
 4# This breaks Go.
 5:> nostrip
 6
 7patch -p1 < 0001-src-make.bash-use-POSIX-sh-and-remove-some-bashism.patch
 8
 9export CC="${CC:-cc}"
10export GOARCH=amd64
11export GO_LDFLAGS="-w -s"
12
13export GOROOT_BOOTSTRAP="$PWD/go-bin"
14export GOROOT="$PWD"
15export GOROOT_FINAL="/usr/lib/go"
16
17(
18    cd src
19    ./make.bash -v
20)
21
22cd "$GOROOT"
23
24mkdir -p "$1/usr/bin" "$1/usr/lib/go"
25
26ln -s ../lib/go/bin/go    "$1/usr/bin"
27ln -s ../lib/go/bin/gofmt "$1/usr/bin"
28
29cp -pPR misc bin pkg src lib go.env "$1/usr/lib/go"
30
31# Remove unneeded files.
32rm -f  "$1/usr/lib/go/pkg/tool/"*/api
33rm -rf "$1/usr/lib/go/pkg/bootstrap"
34rm -rf "$1/usr/lib/go/pkg/obj"
35rm -rf "$1/usr/lib/go/test"
36rm -rf "$1/usr/lib/go/api"
37rm -rf "$1/usr/lib/go/doc"
38
39# Remove tests.
40for path in "$1/usr/lib/go/src" "$1/usr/lib/go/misc/cgo"
41do
42    find "$path" -type f -a -name \*_test.go -depth -exec rm {} +
43    find "$path" -type f -a -name \*.bash    -depth -exec rm {} +
44    find "$path" -type f -a -name \*.bat     -depth -exec rm {} +
45    find "$path" -type f -a -name \*.rc      -depth -exec rm {} +
46done
47
48find . -type d -a -name testdata |
49    while read -r dir; do
50        rm -rf "$dir"
51    done