diff --git a/sysdeps/guile/ChangeLog b/sysdeps/guile/ChangeLog new file mode 100644 index 00000000..a27774b5 --- /dev/null +++ b/sysdeps/guile/ChangeLog @@ -0,0 +1,7 @@ +1998-10-11 Martin Baulig + + * Makefile.am (BUILT_SOURCES, CLEANFILES): Added `guile.x'. + Added rule to make `guile.x' from `guile.c' using guile-snarf. + + * guile.awk: Use the SCM_PROC macros and guile-snarf here. + diff --git a/sysdeps/guile/Makefile.am b/sysdeps/guile/Makefile.am index decb52c0..23b8c28c 100644 --- a/sysdeps/guile/Makefile.am +++ b/sysdeps/guile/Makefile.am @@ -10,13 +10,16 @@ libgtop_guile_la_SOURCES = guile.c libgtop_guile_la_LDFLAGS = $(LT_VERSION_INFO) -BUILT_SOURCES = guile.c +BUILT_SOURCES = guile.c guile.x guile.c: guile.awk $(top_builddir)/config.h $(top_srcdir)/features.def $(AWK) -f $(srcdir)/guile.awk < $(top_srcdir)/features.def > gnc-t mv gnc-t guile.c +guile.x: guile.c + guile-snarf $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $< > $@ + EXTRA_DIST = guile.awk -CLEANFILES = guile.c +CLEANFILES = guile.c guile.x diff --git a/sysdeps/guile/guile.awk b/sysdeps/guile/guile.awk index 0a268f45..52872422 100644 --- a/sysdeps/guile/guile.awk +++ b/sysdeps/guile/guile.awk @@ -63,8 +63,13 @@ function make_output(line) { } nr_params_field[feature] = total_nr_params; + + feature_name = feature; sub(/_/,"-",feature_name); + output = "SCM_PROC (s_"feature", \"glibtop-get-"feature_name"\","; + output = output" "nr_params_field[feature]", 0, 0, "; + output = output"glibtop_guile_get_"feature");\n\n"; - output = "SCM\nglibtop_guile_get_"feature" ("param_decl")\n{\n"; + output = output"SCM\nglibtop_guile_get_"feature" ("param_decl")\n{\n"; output = output"\tglibtop_"feature" "feature";\n"; if (retval != "void") @@ -121,11 +126,7 @@ END { print "void"; print "glibtop_boot_guile (void)"; print "{"; - - for (feature in features) { - print "\tgh_new_procedure"nr_params_field[feature]"_0"; - print "\t\t(\"glibtop-get-"feature"\", glibtop_guile_get_"feature");"; - } + print "fprintf (stderr, \"glibtop_boot_guile ()\\n\");"; + print "#include \"guile.x\""; print "}"; } -