| #!/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. |
| |
| # Generate builtin.c from $* (runtime.go and unsafe.go). |
| # Run this after changing runtime.go and unsafe.go |
| # or after changing the export metadata format in the compiler. |
| # Either way, you need to have a working compiler binary first. |
| |
| set -e |
| |
| eval $(go tool dist env) |
| if [ -z "$GOCHAR" ]; then |
| echo 'missing $GOCHAR - go tool dist failed?' 1>&2 |
| exit 1 |
| fi |
| |
| GC=${GOCHAR}g |
| gcc -o mkbuiltin1 mkbuiltin1.c |
| rm -f _builtin.c |
| echo "// AUTO-GENERATED by mkbuiltin; DO NOT EDIT" >>_builtin.c |
| for i in runtime unsafe |
| do |
| go tool $GC -A $i.go |
| O=$GOCHAR ./mkbuiltin1 $i >>_builtin.c |
| done |
| |
| # If _builtin.c has changed vs builtin.c, |
| # check in the new change. |
| cmp -s _builtin.c builtin.c || cp _builtin.c builtin.c |
| rm _builtin.c mkbuiltin1 unsafe.$GOCHAR runtime.$GOCHAR |