--- rpl/modules/motif/definitions.sh 2017/07/10 14:47:59 1.3 +++ rpl/modules/motif/definitions.sh 2017/10/10 20:25:32 1.6 @@ -13,18 +13,22 @@ $2/rplawk/rplawk 'BEGIN { c = 0; } \ { arg = %s; } else \\\n", $2, $2); } } \ END { printf("{ executionError(\"Unknown directive\"); } } \\\ while(0)\n"); }' \ - $3/lib/Xm/XmStrDefs.h >> $1/variables.h + $3/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 '/^[\t ]+WidgetClass.*WidgetClass[\t ]*$/ \ + $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 | sed 's/;/ /g' | \ - $2/rplawk/rplawk '/^extern WidgetClass xm/ \ +cpp -E $3/Xm/XmAll.h -I $3 | sed 's/;/ /g' | \ + $2/rplawk/rplawk '/^[\t ]*WidgetClass xm.*[\t ]*$/ \ + { printf("if (strcmp(\"%s\", value) == 0) \\\ + { arg = %s; } else \\\n", $2, $2); } \ + /^[\t ]*extern WidgetClass xm.*[\t ]*$/ \ { printf("if (strcmp(\"%s\", value) == 0) \\\ { arg = %s; } else \\\n", $3, $3); } \ - END { printf("{ executionError(\"Class not found\"); } \\\ + END { printf("{ executionError(\"Class not found\"); } } \\\ while(0)\n"); }' >> $1/variables.h exit 0