blob: e920337fde608fcd19986bb0ff41c606f8126c28 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/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
|