Glib::devel - binding developer's overview of Glib's internals
Do you need to know how the gtk2-perl language bindings work, or need to write your own language bindings for a Glib/Gtk2-based library? Then you've come to the right place. If you are just a perl developer wanting to write programs with Glib or Gtk2, then this is probably way over your head.
This document began its life as a post to gtk-perl-list about a redesign of the fundamentals of the bindings; today it is the reference documentation for the developers of the bindings.
To reduce confusion, refer to GLib, the C library, with a capital L, and Glib the perl module with a lower-case l. While the Gtk2 module is the primary client of Glib, it is not necessarily the only one; in fact, the perl bindings for the GStreamer library build directly atop Glib. Therefore, this document describes just the GLib/Glib basics.
For details on how Gtk2 extends upon the concepts presented here, see Gtk2::devel.
In various places, we use the name GPerl to refer to the actual binding subsystem.
In order to avoid getting very quickly out of date, this document doesn't go into great detail on APIs. gperl.h is rather heavily commented, and should be considered the canonical source of correct API information.