#!/bin/sh | |
# Copyright 2011 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 | |
cat <<EOF | |
// Go definitions for C variables and types. | |
// AUTOMATICALLY GENERATED BY THE FOLLOWING COMMAND. DO NOT EDIT. | |
// CC="$CC" CFLAGS="$CFLAGS" ./mkgodefs.sh $@ | |
package runtime | |
import "unsafe" | |
var _ unsafe.Pointer | |
EOF | |
for i in "$@"; do | |
$CC $CFLAGS -q $i | |
done | awk ' | |
/^func/ { next } | |
/^const/ { next } | |
/^\/\/.*type/ { next } | |
/^(const|func|type|var) / { | |
if(seen[$2]++) { | |
skip = /{[^}]*$/; | |
next; | |
} | |
} | |
skip { | |
skip = !/^}/ | |
next; | |
} | |
{print} | |
' |