blob: 7fa71705326f486f2a0b18c2c08d251172d3c891 [file] [log] [blame]
#!/bin/sh
# 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.
set -e
. $GOROOT/src/Make.$GOARCH
if [ -z "$GC" ]; then
echo 'missing $GC - maybe no Make.$GOARCH?' 1>&2
exit 1
fi
gcc -o mkbuiltin1 mkbuiltin1.c
rm -f _builtin.c
for i in runtime unsafe
do
$GC -A $i.go
O=$O ./mkbuiltin1 $i >>_builtin.c
done
# If _builtin.c has changed vs builtin.c.boot,
# check in the new change if being run by
# one of the people who tends to work on
# the compiler. This makes sure that changes
# don't get forgotten, without causing problems
# in end user Go repositories.
case "$USER" in
ken | r | rsc)
if ! cmp _builtin.c builtin.c.boot >/dev/null 2>/dev/null
then
PATH=$PATH:/usr/local/bin # find p4 on OS X
p4 open builtin.c.boot >/dev/null 2>/dev/null || true # if p4 is missing, so be it
cp _builtin.c builtin.c.boot
fi
esac
cat _builtin.c
rm -f _builtin.c