aboutsummaryrefslogtreecommitdiff
path: root/src/make.rc
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2015-01-13 08:01:18 +0100
committerDavid du Colombier <0intro@gmail.com>2015-01-13 07:50:32 +0000
commitb46b9429f05362b2b2227861811e50b47b9ec928 (patch)
tree3067790cc49cf3fde870ac07f3473dd0f2e80da7 /src/make.rc
parentafeca5c22ded0be2bafe6caa092280d1f8dd768a (diff)
downloadgo-b46b9429f05362b2b2227861811e50b47b9ec928.tar.gz
go-b46b9429f05362b2b2227861811e50b47b9ec928.zip
build: bootstrap on Plan 9
This change implements the requirement of old Go to build new Go on Plan 9. Also fix the build of the new cmd/dist written in Go. This is similar to the make.bash change in CL 2470, but applied to make.rc for Plan 9. Change-Id: Ifd9a3bd8658e2cee6f92b4c7f29ce86ee2a93c53 Reviewed-on: https://go-review.googlesource.com/2662 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/make.rc')
-rwxr-xr-xsrc/make.rc21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/make.rc b/src/make.rc
index 7a62d6af00..2d2076297e 100755
--- a/src/make.rc
+++ b/src/make.rc
@@ -3,6 +3,8 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
+# See golang.org/s/go15bootstrap for an overview of the build process.
+
# Environment variables that control make.rc:
#
# GOROOT_FINAL: The expected final Go root, baked into binaries.
@@ -45,17 +47,18 @@ rm -f ./runtime/runtime_defs.go
# Determine the host compiler toolchain.
eval `{grep '^(CC|LD|O)=' /$objtype/mkfile}
-echo '# Building C bootstrap tool.'
+echo '# Building Go bootstrap tool.'
echo cmd/dist
GOROOT = `{cd .. && pwd}
-if(! ~ $#GOROOT_FINAL 1)
- GOROOT_FINAL = $GOROOT
-DEFGOROOT='-DGOROOT_FINAL="'$GOROOT_FINAL'"'
-
-for(i in cmd/dist/*.c)
- $CC -FTVwp+ -DPLAN9 $DEFGOROOT $i
-$LD -o cmd/dist/dist *.$O
-rm *.$O
+if(! ~ $#GOROOT_BOOTSTRAP 1)
+ GOROOT_BOOTSTRAP = $home/go1.4
+if(! test -x $GOROOT_BOOTSTRAP/bin/go){
+ echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go.' >[1=2]
+ echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.' >[1=2]
+ exit bootstrap
+}
+rm -f cmd/dist/dist
+GOROOT=$GOROOT_BOOTSTRAP $GOROOT_BOOTSTRAP/bin/go build -o cmd/dist/dist ./cmd/dist
eval `{./cmd/dist/dist env -9}
echo