3 # Author: Aaron Bockover
4 # Licensed under MIT/X11
7 if [ "x$1" = "x--help" ]; then
8 echo "Usage: $0 [--show-only-mono]"
10 echo "This script prints a sorted list of GLib functions used in Mono"
11 echo "that have not yet been implemented in EGlib."
13 echo "If --show-only-mono is passed, then the script will print all"
14 echo "GLib functions used in Mono, whether or not they have been"
15 echo "implemented in EGlib yet."
17 echo "This script relies on the MONO_CHECKOUT environment variable."
18 echo "MONO_CHECKOUT should be set to the location of a mono checkout."
23 if [ -z $MONO_CHECKOUT ]; then
24 MONO_CHECKOUT=~/cvs/mono/mono
27 if [ ! -d $MONO_CHECKOUT ]; then
28 echo "Cannot find mono checkout; set MONO_CHECKOUT"
32 MONO_CHECKOUT="$MONO_CHECKOUT/mono"
35 (for i in `find $MONO_CHECKOUT -iregex \.*.c$`; do
36 grep -oP "[ \t\(\)]+g_[a-z_]+[ ]{0,1}\([A-Za-z_\&\*\,\(\) ]+\)" $i |
37 awk 'BEGIN { FS="(" } { print $1 }' |
38 sed -e 's/[^A-Za-z_]//g'
42 if [ ! "x$1" = "x--show-only-mono" ]; then
43 IMPLEMENTED_FUNCTIONS=`grep -oP "g_[a-z_]+[ ]{0,1}" ../src/glib.h | awk 'BEGIN { FS="(" } { print $1 }'`
45 rm -f $RESULTS_FILE.tmp
47 for mono_function in `cat $RESULTS_FILE`; do
49 for implemented_function in $IMPLEMENTED_FUNCTIONS; do
50 if [ "x$mono_function" = "x$implemented_function" ]; then
56 if [ "x$matched" = "xno" ]; then
57 echo $mono_function >> $RESULTS_FILE.tmp
61 mv $RESULTS_FILE.tmp $RESULTS_FILE
64 (for i in `cat $RESULTS_FILE | sort -u`; do
65 echo "`grep -c $i $RESULTS_FILE` $i";