home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- tmp=/tmp/gl.$$
- nm $* | egrep '(Widget|Obj|Object)Class' | \
- awk '{ if ($2 == "D" || $2 == "G") print $3; }' | sed -e 's/^_//' | \
- (cat - ; echo "objectClass") | sort -u | egrep -v 'ClassRec$' | \
- egrep -v 'vPanedWidgetClass$' | \
- egrep -v 'ascii(Disk|String)WidgetClass$' | \
- awk '
- {
- printf "extern WidgetClass %s;\n", $1;
- printf "{ \"%s\", &%s },\n", $1, $1;
- }' | sed -e 's/WidgetClass"/"/' -e 's/ObjClass"/"/' \
- -e 's/ObjectClass"/"/' -e 's/objectClass"/object"/' \
- -e 's/widgetClass"/widget"/' >$tmp
-
- cat <<EOF
- /*
- * This file is generated by the genlist.sh script and contains an array of
- * all the widgets in Athena widget set.
- *
- * \$XConsortium\$
- */
- #include <X11/IntrinsicP.h>
- #include <X11/Xmu/WidgetNode.h>
-
- EOF
- egrep '^extern WidgetClass' $tmp
- echo ""
- cat <<EOF
- XmuWidgetNode XawWidgetArray[] = {
- EOF
- egrep '^{' $tmp
- cat <<EOF
- };
-
- int XawWidgetCount = XtNumber(XawWidgetArray);
-
- EOF
-
- rm $tmp
-