Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Warning: the windows branch is treated as a local topic branch that just happens to be shared here, so expect non-fast-forward updates...
branch: windows
Failed to load latest commit information.
docs Docs: fix typo
examples Switch to nonrecursive make for core (i.e. not tests/)
gir Update annotations from glib git
girepository Fix build
giscanner fix libtool weirdness
m4 introspection.m4: Set enable_introspection to yes/no consistently
misc update-glib-annotations: Set required environment variables
tests tests: Fix coding style and compiler warning in regress
tools Add support for PyDev remote debugger.
.dir-locals.el .dir-locals: Fix unbalanced parenthesis
.gitignore tests: Ignore SLetter generated gir.
AUTHORS Update AUTHORS
CONTRIBUTORS Update CONTRIBUTORS
COPYING Bug 587279 - Add COPYING.GPL and COPYING.LGPL
COPYING.GPL Clarify licensing status
COPYING.LGPL Clarify licensing status
COPYING.lib Clarify licensing status
COPYING.tools Clarify licensing status
ChangeLog Add an empty ChangeLog to make autogen.sh quiet
ChangeLog.pre-git Rename ChangeLog to ChangeLog.pre-git
HACKING Add a few notes to HACKING
Makefile-cmph.am Fix srcdir != builddir problems for test cases
Makefile-examples.am Switch to nonrecursive make for core (i.e. not tests/)
Makefile-gir.am windows: Fix extension of g-ir-compiler to include EXE
Makefile-girepository.am Fix build after GIO removed gmodule dependency
Makefile-giscanner.am Compare filenames using g_file_equal()
Makefile-tools.am build: Add --enable-doctool option
Makefile.am Now make AnnotationParser do what gobject-introspection needs it to do.
Makefile.introspection [WIP] Windows port: pass arguments through a file
NEWS NEWS->git shortlog
README Mention g-ir-doc-tool in the README
TODO Update and remove old cruft.
acinclude.m4 Bug 557076 - move typelibs to $libdir
autogen.sh autogen.sh: Use autoreconf instead custom script
common.mk Windows port: additionally set PATH in common.mk
configure.ac Remove support for old libtool versions, we depend on 2.2 anyway.
gobject-introspection-1.0.pc.in Move libffi and gmodule to Requires.private in .pc files
gobject-introspection-no-export-1.0.pc.in Move libffi and gmodule to Requires.private in .pc files
gobject-introspection.doap Remove MAINTAINERS and add DOAP

README

GObject Introspection
=====================
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-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.
- g-ir-scanner, a tool which generates GIR XML files by parsing headers
  and introspecting GObject based libraries.
- g-ir-doc-tool, generates Mallard files that can be viewed with yelp or
  rendered to HTML with yelp-build from yelp-tools.

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
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.

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
Something went wrong with that request. Please try again.