BEGIN { print "/* guile_names.c */"; print "/* This is a generated file. Please modify `guile-names.awk' */"; print ""; print "#include "; print "#include "; print "#include "; print ""; print "#include "; print ""; } function output(feature) { print "SCM"; print "glibtop_guile_names_"feature" (void)"; print "{"; print "\tint i;"; print "\tSCM list;"; print ""; print "\tlist = gh_list (SCM_UNDEFINED);"; print ""; print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)"; print "\t\tlist = scm_append"; print "\t\t\t(gh_list (list,"; print "\t\t\t\t gh_list (gh_str02scm ((char *) glibtop_names_"feature" [i])),"; print "\t\t\t\t SCM_UNDEFINED));"; print ""; print "\treturn list;"; print "}"; print ""; print "SCM"; print "glibtop_guile_types_"feature" (void)"; print "{"; print "\tint i;"; print "\tSCM list;"; print ""; print "\tlist = gh_list (SCM_UNDEFINED);"; print ""; print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)"; print "\t\tlist = scm_append"; print "\t\t\t(gh_list (list,"; print "\t\t\t\t gh_list (gh_ulong2scm (glibtop_types_"feature" [i])),"; print "\t\t\t\t SCM_UNDEFINED));"; print ""; print "\treturn list;"; print "}"; print ""; print "SCM"; print "glibtop_guile_labels_"feature" (void)"; print "{"; print "\tint i;"; print "\tSCM list;"; print ""; print "\tlist = gh_list (SCM_UNDEFINED);"; print ""; print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)"; print "\t\tlist = scm_append"; print "\t\t\t(gh_list (list,"; print "\t\t\t\t gh_list (gh_str02scm (gettext"; print "\t\t\t\t\t\t\t(glibtop_labels_"feature" [i]))),"; print "\t\t\t\t SCM_UNDEFINED));"; print ""; print "\treturn list;"; print "}"; print ""; print "SCM"; print "glibtop_guile_descriptions_"feature" (void)"; print "{"; print "\tint i;"; print "\tSCM list;"; print ""; print "\tlist = gh_list (SCM_UNDEFINED);"; print ""; print "\tfor (i = 0; i < GLIBTOP_MAX_"toupper(feature)"; i++)"; print "\t\tlist = scm_append"; print "\t\t\t(gh_list (list,"; print "\t\t\t\t gh_list (gh_str02scm (gettext"; print "\t\t\t\t\t\t\t(glibtop_descriptions_"feature" [i]))),"; print "\t\t\t\t SCM_UNDEFINED));"; print ""; print "\treturn list;"; print "}"; print ""; } /^[^#]/ { line = $0; split (line, line_fields, /\|/); feature = line_fields[2]; sub(/^@/,"",feature); features[feature] = feature; } END { features["sysdeps"] = "sysdeps"; for (feature in features) { output(feature); } print "void"; print "glibtop_boot_guile_names (void)"; print "{"; for (feature in features) { print "\tgh_new_procedure0_0"; print "\t\t(\"glibtop-names-"feature"\", glibtop_guile_names_"feature");"; print ""; print "\tgh_new_procedure0_0"; print "\t\t(\"glibtop-types-"feature"\", glibtop_guile_types_"feature");"; print ""; print "\tgh_new_procedure0_0"; print "\t\t(\"glibtop-labels-"feature"\", glibtop_guile_labels_"feature");"; print ""; print "\tgh_new_procedure0_0"; print "\t\t(\"glibtop-descriptions-"feature"\", glibtop_guile_descriptions_"feature");"; } print "}"; }