summaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
authorChristoph Reiter <reiter.christoph@gmail.com>2018-06-23 11:58:44 +0200
committerChristoph Reiter <reiter.christoph@gmail.com>2018-06-23 12:04:41 +0200
commit3edf3ce62819e8ae11a2997c2489b408c4ff0ce9 (patch)
tree9de69d6b02f7199718c7feded54729d359e4cbfd /README.rst
parent864c9a0aac9c8d588f393f2f0fa9d438bd8baa10 (diff)
downloadgobject-introspection-3edf3ce62819e8ae11a2997c2489b408c4ff0ce9.tar.gz
Convert README files to reST
Rename the msvc readme file because otherwise gitlab picks it up as the default one for some reason.
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst67
1 files changed, 67 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 00000000..b8e82a9b
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,67 @@
+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 an on-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
+-----
+The following tools are shipped with GObject Introspection:
+
+- g-ir-scanner, a tool which generates GIR XML files by parsing headers,
+ GTK-Doc comment blocks including annotations and introspecting GObject
+ based libraries.
+- g-ir-compiler, a typelib compiler. It converts one or more GIR files
+ into one or more typelib blobs.
+- 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-annotation-tool, extracts annotations from source code files
+- g-ir-doc-tool, generates API reference documentation from a GIR XML file.
+
+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
+--------
+https://gi.readthedocs.io/
+
+Reporting bugs
+--------------
+Bugs should be reported in https://gitlab.gnome.org/GNOME/gobject-introspection/issues.
+
+Contact
+-------
+:Mail: gtk-devel-list@gnome.org
+:IRC: #introspection@irc.gnome.org \ No newline at end of file