GNOME Toolkit Interface, as released 2009-03-18.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Fri, 15 May 2009 07:09:40 +0000 (00:09 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Tue, 21 Dec 2010 17:29:17 +0000 (10:29 -0700)
commitb916e385db5510c010e097a3fe90a01f12a6f98f
tree4eb043148c48f7949bedf95ce44e00bbf06976f7
parentbbc491c2d415927bd8415951936459782bcea966
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.
89 files changed:
doc/Makefile.in
doc/configure.ac
doc/gtk/Makefile.in [new file with mode: 0644]
doc/gtk/gtk.texinfo [new file with mode: 0644]
doc/index.html
src/Clean.sh
src/Makefile.in
src/README.txt
src/Setup.sh
src/configure.ac
src/etc/create-makefiles.sh
src/etc/make-in-subdirs.sh
src/etc/optiondb.scm
src/etc/std-makefile-prefix
src/gtk/Clean.sh [new file with mode: 0755]
src/gtk/Includes/cairo-xlib.cdecl [new file with mode: 0644]
src/gtk/Includes/cairo.cdecl [new file with mode: 0644]
src/gtk/Includes/gdk-pixbuf-core.cdecl [new file with mode: 0644]
src/gtk/Includes/gdk-pixbuf-loader.cdecl [new file with mode: 0644]
src/gtk/Includes/gdk-pixbuf.cdecl [new file with mode: 0644]
src/gtk/Includes/gdk.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkcolor.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkcursor.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkdrawable.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkevents.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkfont.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkgc.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkkeys.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkkeysyms.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkrgb.cdecl [new file with mode: 0644]
src/gtk/Includes/gdktypes.cdecl [new file with mode: 0644]
src/gtk/Includes/gdkwindow.cdecl [new file with mode: 0644]
src/gtk/Includes/genums.cdecl [new file with mode: 0644]
src/gtk/Includes/gerror.cdecl [new file with mode: 0644]
src/gtk/Includes/glib.cdecl [new file with mode: 0644]
src/gtk/Includes/gobject.cdecl [new file with mode: 0644]
src/gtk/Includes/gparam.cdecl [new file with mode: 0644]
src/gtk/Includes/gparamspecs.cdecl [new file with mode: 0644]
src/gtk/Includes/gquark.cdecl [new file with mode: 0644]
src/gtk/Includes/gsignal.cdecl [new file with mode: 0644]
src/gtk/Includes/gtk.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkadjustment.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkbox.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkenums.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkobject.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkstyle.cdecl [new file with mode: 0644]
src/gtk/Includes/gtktypeutils.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkvbox.cdecl [new file with mode: 0644]
src/gtk/Includes/gtkwidget.cdecl [new file with mode: 0644]
src/gtk/Includes/gtype.cdecl [new file with mode: 0644]
src/gtk/Includes/gtypes.cdecl [new file with mode: 0644]
src/gtk/Includes/gvalue.cdecl [new file with mode: 0644]
src/gtk/Includes/gvaluetypes.cdecl [new file with mode: 0644]
src/gtk/Includes/pango-context.cdecl [new file with mode: 0644]
src/gtk/Includes/pango-font.cdecl [new file with mode: 0644]
src/gtk/Includes/pango-layout.cdecl [new file with mode: 0644]
src/gtk/Includes/pango-types.cdecl [new file with mode: 0644]
src/gtk/Includes/pango.cdecl [new file with mode: 0644]
src/gtk/Includes/pangocairo.cdecl [new file with mode: 0644]
src/gtk/Makefile-fragment [new file with mode: 0644]
src/gtk/Tags.sh [new file with mode: 0755]
src/gtk/compile.scm [new file with mode: 0644]
src/gtk/conses.png.uu [new file with mode: 0644]
src/gtk/demo.scm [new file with mode: 0644]
src/gtk/gobject.scm [new file with mode: 0644]
src/gtk/gtk-ev.scm [new file with mode: 0644]
src/gtk/gtk-object.scm [new file with mode: 0644]
src/gtk/gtk-shim.h [new file with mode: 0644]
src/gtk/gtk.cdecl [new file with mode: 0644]
src/gtk/gtk.pkg [new file with mode: 0644]
src/gtk/gtk.scm [new file with mode: 0644]
src/gtk/hello.scm [new file with mode: 0644]
src/gtk/load.scm [new file with mode: 0644]
src/gtk/main.scm [new file with mode: 0644]
src/gtk/pango-cairo.scm [new file with mode: 0644]
src/gtk/scm-layout.scm [new file with mode: 0644]
src/gtk/scm-widget.scm [new file with mode: 0644]
src/gtk/scmwidget.c.stay [new file with mode: 0644]
src/gtk/thread.scm [new file with mode: 0644]
src/microcode/achost.ac [new file with mode: 0644]
src/microcode/configure.ac
src/microcode/makegen/Makefile.in.in
src/microcode/makegen/files-optional.scm
src/microcode/osio.h
src/microcode/prgtkio.c [new file with mode: 0644]
src/microcode/prosio.c
src/microcode/uxio.c
src/runtime/Makefile-fragment
src/runtime/thread.scm