aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/Xaw/genlist.sh
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/lib/Xaw/genlist.sh
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/lib/Xaw/genlist.sh')
-rw-r--r--nx-X11/lib/Xaw/genlist.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/nx-X11/lib/Xaw/genlist.sh b/nx-X11/lib/Xaw/genlist.sh
new file mode 100644
index 000000000..e920337fd
--- /dev/null
+++ b/nx-X11/lib/Xaw/genlist.sh
@@ -0,0 +1,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