#!/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

