#!/bin/rc
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
if(~ $GOBIN '')
GOBIN=$home/bin/$objtype
if(! test -f $GOROOT/include/u.h){
echo '$GOROOT is not set correctly or not exported' >[1=2]
exit 1
}
if(! test -d $GOBIN){
echo '$GOBIN is not a directory or does not exist' >[1=2]
echo 'create it or set $GOBIN differently' >[1=2]
exit gobin
}
switch($GOARCH){
case amd64 386 arm
;
case *
echo '$GOARCH is set to <'$GOARCH'>, must be amd64, 386, or arm' >[1=2]
exit goarch
}
switch($GOOS){
case darwin linux nacl plan9
;
case *
echo '$GOOS is set to <'$GOOS'>, must be darwin, linux, nacl, or plan9' >[1=2]
exit goos
}
rc clean.rc
#for(i in lib9 libbio libmach cmd pkg libcgo cmd/cgo cmd/ebnflint cmd/godoc cmd/gofmt cmd/goyacc cmd/hgpatch){
for(i in lib9 libbio libmach cmd pkg libcgo cmd/cgo cmd/ebnflint cmd/godoc cmd/gofmt cmd/goyacc cmd/hgpatch){
if(! ~ $i-$GOOS libcgo-nacl){
# The ( ) here are to preserve the current directory
# for the next round despite the cd $i below.
# set -e does not apply to ( ) so we must explicitly
# test the exit status.
{
echo; echo; echo %%%% making $i %%%%; echo
cd $i
if(~ $i cmd)
rc make.rc
if not
make install
} || exit 1
}
}
|