--- rpl/modules/motif/definitions.sh 2017/07/04 12:32:03 1.1 +++ rpl/modules/motif/definitions.sh 2017/07/10 18:47:55 1.4 @@ -3,7 +3,7 @@ #2 -> $(top_builddir) #3 -> $(motif_srcdir) -echo "#define variables(value, arg) \\" > $1/variables.h +echo "#define XmN_constants(value, arg) \\" > $1/variables.h echo "do { if (0) { } else \\" >> $1/variables.h $2/rplawk/rplawk 'BEGIN { c = 0; } \ /\/\*/ { c = 1; } @@ -15,4 +15,17 @@ $2/rplawk/rplawk 'BEGIN { c = 0; } \ while(0)\n"); }' \ $3/lib/Xm/XmStrDefs.h >> $1/variables.h +echo "#define Xm_widgets_classes(value, arg) \\" >> $1/variables.h +cpp -E /usr/include/X11/Shell.h | sed 's/;/ /g' | \ + $2/rplawk/rplawk ' BEGIN { printf("{ "); } \ + /^[\t ]+WidgetClass.*WidgetClass[\t ]*$/ \ + { printf("if (strcmp(\"%s\", value) == 0) \\\ + { arg = %s; } else \\\n", $2, $2); } ' >> $1/variables.h +cpp -E $3/lib/Xm/XmAll.h -I $3/lib | sed 's/;/ /g' | \ + $2/rplawk/rplawk '/^extern WidgetClass xm/ \ + { printf("if (strcmp(\"%s\", value) == 0) \\\ + { arg = %s; } else \\\n", $3, $3); } \ + END { printf("{ executionError(\"Class not found\"); } } \\\ + while(0)\n"); }' >> $1/variables.h + exit 0