GNOME Toolkit Interface, as released 2009-03-18.
* doc/Makefile.in:
Include gtk in SUBDIRS.
* doc/configure.ac:
Include gtk/Makefile.
* doc/gtk/Makefile.in:
Build the Users' Manual for the GTK.
* doc/gtk/gtk.texinfo:
The Users' Manual for the GTK.
* doc/index.html:
Include mit-scheme-gtk/index.html.
* src/Clean.sh:
Clean up new symlinks config.sub and config.guess, used by
AZ_CANONICAL_HOST in configure.ac.
* src/Makefile.in:
Added new file category "FFIS". Include gtk in FFIS.
`make generate' in FFIS before compiling their Scheme source, so
they can C-include later -- much later.
`make build' in FFIS after dumping the new bands, so the FFIS are
compiled with the shims installed in lib/lib/. The new bands are
not strictly necessary, but they complete lib/lib/, so the
commandline in FFI Makefiles can be this simple:
`../microcode/scheme --library ../lib'.
Added similar commands to the all-liarc target, though I have yet
to build a lairc-based system.
Install conses.png in lib/ for the scm-layout-demo.
* src/README.txt:
Describe gtk as part of the core.
* src/Setup.sh:
Include gtk in INSTALLED_SUBDIRS. Include rcs in OTHER_SUBDIRS,
so `make tags' does not fail.
Symlink to microcode/config.sub and config.guess, so configure.ac
can share with microcode/configure.ac. Create lib/lib/prgtkio.so
and lib/gtk symlinks too.
* src/configure.ac:
Include AC_CANONICAL_HOST and related C compilation variables,
esp. SHIM_CFLAGS and SHIM_LDFLAGS, shared with
microcode/configure.ac via microcode/achost.ac. Echo the
create-makefiles.sh commandline. Generate gtk/Makefile. Added
gtk to liarc BUNDLEs.
* src/etc/create-makefiles.sh:
Include gtk in BUNDLES.
* src/etc/optiondb.scm:
Define loadable option GTK.
* src/etc/std-makefile-prefix:
Added C compilation variables, esp. COMPILE_SHIM and LINK_SHIM.
* src/gtk/Clean.sh:
Clean up after building the shim.
* src/gtk/Includes/: cairo-xlib.cdecl, cairo.cdecl,
gdk-pixbuf-core.cdecl, gdk-pixbuf-loader.cdecl,
gdk-pixbuf.cdecl, gdk.cdecl, gdkcolor.cdecl, gdkcursor.cdecl,
gdkdrawable.cdecl, gdkevents.cdecl, gdkfont.cdecl, gdkgc.cdecl,
gdkkeys.cdecl, gdkkeysyms.cdecl, gdkrgb.cdecl, gdktypes.cdecl,
gdkwindow.cdecl, genums.cdecl, gerror.cdecl, glib.cdecl,
gobject.cdecl, gparam.cdecl, gparamspecs.cdecl, gquark.cdecl,
gsignal.cdecl, gtk.cdecl, gtkadjustment.cdecl, gtkbox.cdecl,
gtkenums.cdecl, gtkobject.cdecl, gtkstyle.cdecl,
gtktypeutils.cdecl, gtkvbox.cdecl, gtkwidget.cdecl, gtype.cdecl,
gtypes.cdecl, gvalue.cdecl, gvaluetypes.cdecl,
pango-context.cdecl, pango-font.cdecl, pango-layout.cdecl,
pango-types.cdecl, pango.cdecl, pangocairo.cdecl:
C declarations corresponding to SOME of
/usr/include/g{lib,tk}-2.0/**/*.h.
* src/gtk/Makefile-fragment:
Generate the gtk shim, and build Scheme code that uses it. Keep
the ScmWidget methods in a .c.stay file so it does not get cleaned
up by `Clean.sh maintainer-clean' nor `Clean.sh c-clean'. Create
conses.png from conses.png.uu because I cannot distribute a binary
in a patchfile.
* src/gtk/Tags.sh:
Include auxiliary ScmWidget code, and NOT gtk-const.scm.
* src/gtk/compile.scm:
Build the GTK system. Expects the shim to be available in ../lib.
* src/gtk/conses.png.uu:
Because I cannot distribute a binary in a patchfile.
* src/gtk/: demo.scm, gtk-ev.scm, hello.scm, pango-cairo.scm:
Peripheral hacks.
* src/gtk/: gobject.scm, gtk-object.scm, gtk.pkg, gtk.scm, load.scm,
main.scm, scm-layout.scm, scm-widget.scm:
The core of the GTK system.
* src/gtk/gtk.cdecl:
The C types and externs needed in the GTK shim.
* src/gtk/gtk-shim.h:
C declarations for gtk-shim.c, gtk-const.c and scmwidget.c. Includes
the ScmWidget and ScmWidgetClass struct declarations.
* src/gtk/scmwidget.c.stay:
ScmWidget methods. The ".stay" suffix keeps this code from being
"cleaned up" by `Clean.sh maintainer-clean' or `Clean.sh c-clean'.
* src/gtk/thread.scm:
The Scheme thread that "runs" the toolkit.
* src/microcode/configure.ac, src/microcode/achost.ac:
Moved the AC_CANONICAL_HOST code from microcode/configure.ac to
microcode/achost.ac, so it can be shared with configure.ac.
Implement a --with-gtk argument.
* src/microcode/makegen/: Makefile.in.in, files-optional.scm:
Added new module prgtkio.so.
* src/microcode/makegen/makeinit.sh:
Use --batch-mode and `mit-scheme' instead of `scheme'.
* src/microcode/osio.h, microcode/prosio.c:
Changed the declarations of OS_select_registry_entry and
arg_select_registry so they can be used in the new prgtkio module.
* src/microcode/prgtkio.c:
The prgtkio module. New primitives that arrange to run Scheme in an
idle task of a GMainLoop.
* src/microcode/utabmd.sh:
Use --batch-mode and `mit-scheme'. Echo the commandline.
* src/microcode/uxio.c:
Added an OS_select_registry_entry function that extracts a file
descriptor and a mode from an indexed registry entry, for prgtkio.
* src/runtime/Makefile-fragment:
Install runtime-*.pkd so lusers can cref imports.
* src/runtime/thread.scm:
Added some tracing, conditioned on a tracing? binding.