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