GObject Introspection
-
-GIR & Typelib formats
=====================
-FIXME
+The goal of the project is to describe the APIs and collect them in
+a uniform, machine readable format.
+
+GIR XML format
+==============
+
+There's an XML format called GIR used by GObjectIntrospection.
+The purpose of it is to provide a common structure to access the complete
+available API that a library or other unit of code exports.
+It is meant to be language agnostic using namespaces to separate
+core, language or library specific functionality.
+There are currently only C based tools that work on the format, but it's
+meant to be usable to use in other situations, for instance to/from another
+set of languages.
+
+Typelib
+=======
+
+The typelib is a to disk version of the GIR designed to be fast, memory
+efficient and complete enough so that language bindings can be written
+on top of it without other sources of information.
+It is normally compiled from a GIR when a library/program is installed and
+accessed from the language binding or another application who wishes to
+use the information.
Tools
=====
Three tools are shipped with GObject Introspection:
-- g-ir-compile, a typelib compiler. It converts one or more GIR files
- into one or more typelib blobs. It can either emit the raw typelib
- blob or C code (--code).
+- g-ir-compile, a typelib compiler. It converts one or more GIR files
+ into one or more typelib blobs. It can either emit the raw typelib
+ blob or C code (--code).
- g-ir-generate, an GIR generator, using the repository API. It generates
GIR files from binary typelib which can be in a shared object, or a raw
- typelib blob.
+ typelib blob.
- g-ir-scanner, a tool which generates GIR XML files by parsing headers
and introspecting GObject based libraries.
API library
===========
+
There's also a C based library called libgirepository which provides
-an API to access to the typelib metadata. It also contains an API to
-invoke functions, given the function info object. The implementation is
-based on libffi (3.0 or higher of libffi required, can be found at
+an API to access to the typelib metadata. It also contains an API to
+invoke functions, given the function info object. The implementation is
+based on libffi (3.0 or higher of libffi required, can be found at
http://sourceware.org/libffi).
There are a number of GIR test files in tests/, and a script to do
roundtrip tests (GIR -> typelib -> GIR).
Helping out
-===========
-The introspection framework needs a lot more work, see TODO.
+===========
+The introspection framework needs a lot more work, see TODO.
+
+Homepage
+========
+http://live.gnome.org/GObjectIntrospection
+
+Reporting bugs
+==============
+Bugs should be reported in http://bugzilla.gnome.org/, the glib product and
+the introspection component.
+
+Contact
+=======
+Mail: gtk-devel-list@gnome.org
+IRC: #introspection@irc.gnome.org