Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2009-02-13 16:25:23 (GMT)
committer Colin Walters <walters@verbum.org>2009-02-13 16:25:23 (GMT)
commitc163cf24782b41ec118008be2b40684a69b5c969 (patch)
treec379b76d5d506afb37d89e3db56923f8f60d5a1b
parent44ea75378eb33fa6386e66e9e5a55f3122363fb8 (diff)
parent318b712e3754d0a253c1ed665eb99e673be5b551 (diff)
Merge branch 'master' of ssh://walters@git.gnome.org/git/gobject-introspection
-rw-r--r--.gitignore96
-rw-r--r--ChangeLog6128
-rw-r--r--ChangeLog.pre-git6128
-rw-r--r--Makefile.am13
-rw-r--r--configure.ac5
-rw-r--r--docs/Makefile.am1
-rw-r--r--docs/reference/Makefile.am44
-rw-r--r--docs/reference/gi-decl-list.txt279
-rw-r--r--docs/reference/gi-decl.txt1596
-rw-r--r--docs/reference/gi-docs.sgml66
-rw-r--r--docs/reference/gi-gir.sgml29
-rw-r--r--docs/reference/gi-overrides.txt0
-rw-r--r--docs/reference/gi-sections.txt279
-rw-r--r--docs/reference/gi.types2
-rw-r--r--docs/reference/tmpl/gi-unused.sgml0
-rw-r--r--docs/reference/tmpl/ginfo.sgml43
-rw-r--r--docs/reference/tmpl/girepository.sgml1683
-rw-r--r--docs/reference/tmpl/girffi.sgml78
-rw-r--r--docs/reference/tmpl/girmodule.sgml71
-rw-r--r--docs/reference/tmpl/girnode.sgml420
-rw-r--r--docs/reference/tmpl/girparser.sgml74
-rw-r--r--docs/reference/tmpl/girwriter.sgml28
-rw-r--r--docs/reference/tmpl/gtypelib.sgml99
-rw-r--r--docs/reference/version.xml.in2
-rw-r--r--girepository/ginfo.c4
-rw-r--r--girepository/girepository.c83
-rw-r--r--girepository/girffi.c2
-rw-r--r--girepository/giroffsets.c2
-rw-r--r--girepository/girparser.c8
-rw-r--r--girepository/gtypelib.c1
-rw-r--r--giscanner/cachestore.py2
-rw-r--r--m4/gtk-doc.m443
-rw-r--r--m4/introspection.m488
33 files changed, 11216 insertions, 6181 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a161504
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,96 @@
+*.la
+*.lo
+*.o
+*.pyc
+*.stamp
+.deps
+.libs
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+COPYING
+depcomp
+gtk-doc.make
+gobject-introspection-1.0.pc
+INSTALL
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
+ylwrap
+py-compile
+docs/reference/html
+docs/reference/xml
+gir/GIRepository-2.0.gir
+gir/GIRepository-2.0.typelib
+gir/GL-1.0.typelib
+gir/GLib-2.0.gir
+gir/GLib-2.0.typelib
+gir/GModule-2.0.gir
+gir/GModule-2.0.typelib
+gir/GObject-2.0.gir
+gir/GObject-2.0.typelib
+gir/Gio-2.0.gir
+gir/Gio-2.0.typelib
+gir/cairo-1.0.typelib
+gir/fontconfig-2.0.typelib
+gir/freetype2-2.0.typelib
+gir/libxml2-2.0.typelib
+gir/xfixes-4.0.typelib
+gir/xft-2.0.typelib
+gir/xlib-2.0.typelib
+giscanner/config.py
+giscanner/scannerlexer.c
+giscanner/scannerparser.c
+giscanner/scannerparser.h
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
+tests/everything/Everything-1.0.gir
+tests/everything/Everything-1.0.tgir
+tests/everything/Everything-1.0.typelib
+tests/invoke/testfns-metadata.c
+tests/invoke/genericmarshaller
+tests/invoke/invoke
+tests/offsets/gitestoffsets.c
+tests/offsets/gitestoffsets
+tests/offsets/offsets-1.0.gir
+tests/offsets/offsets-1.0.typelib
+tests/offsets/offsets.compiled
+tests/offsets/offsets.introspected
+tests/repository/gitestrepo
+tests/repository/gitestthrows
+tests/scanner/BarApp-1.0.gir
+tests/scanner/BarApp-1.0.tgir
+tests/scanner/BarApp-1.0.typelib
+tests/scanner/GtkFrob-1.0.gir
+tests/scanner/GtkFrob-1.0.tgir
+tests/scanner/GtkFrob-1.0.typelib
+tests/scanner/annotation-1.0.gir
+tests/scanner/annotation-1.0.tgir
+tests/scanner/annotation-1.0.typelib
+tests/scanner/barapp
+tests/scanner/drawable-1.0.gir
+tests/scanner/drawable-1.0.tgir
+tests/scanner/drawable-1.0.typelib
+tests/scanner/foo-1.0.gir
+tests/scanner/foo-1.0.tgir
+tests/scanner/foo-1.0.typelib
+tests/scanner/utility-1.0.gir
+tests/scanner/utility-1.0.tgir
+tests/scanner/utility-1.0.typelib
+tests/extended.gir.test
+tools/g-ir-compiler
+tools/g-ir-generate
diff --git a/ChangeLog b/ChangeLog
index d12f5e6..e69de29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6128 +0,0 @@
-2009-02-10 Rober Carr <carrr@rpi.edu>
-
- Bug 569633 – Typelib compiler fails with vararg callbacks
-
- * girepository/girparser.c: Also filter out callback functions
- which take vararg arguments.
-
-2009-02-10 Xan Lopez <xan@gnome.org>
-
- Bug 570903 - Add information about -I flag to scanner manpage
-
- * docs/g-ir-scanner.1: Add info about -I flag.
-
-2009-02-06 Owen Taylor <otaylor@redhat.com>
-
- * gir/xlib-2.0.gir: Add KeySym and KeyCode to the dummy
- xlib-2.0.gir.
-
-2009-02-04 Johan Dahlin <jdahlin@async.com.br>
-
- * girepository/Makefile.am:
- * girepository/girffi.c (g_callable_info_get_ffi_arg_types),
- (g_callable_info_get_ffi_return_type),
- (g_callable_info_prepare_closure), (g_callable_info_free_closure):
- * girepository/girffi.h:
- Add utility functions for invocing closures given a GICallableInfo
- using libffi.
-
-2009-02-03 Andreas Rottmann <a.rottmann@gmx.at>
-
- * tests/scanner/utility.h (UtilityTaggedValue): Make the union
- member anonymous.
- (UtilityByte): New union typedef with an unnamed struct in it.
-
- * giscanner/transformer.py (Transformer._create_struct): Create
- unnamed structs for symbols with a None ident.
- (Transformer._create_union): Likewise.
-
- * giscanner/girwriter.py (GIRWriter._write_record): Allow name
- being None.
- (GIRWriter._write_union): Likewise.
-
- * girepository/girparser.c (start_struct): Allow a NULL name for
- non-toplevel structs.
- (start_union): Likewise.
-
- * tests/scanner/utility.h (UtilityTaggedValue): New struct
- typedef, which has a nested union member.
- * tests/scanner/utility-expected.gir: Adapted.
-
- * giscanner/transformer.py (Transformer._create_member): Create
- struct/union members if appropriate.
- (Transformer._create_struct, Transformer._create_union): Allow for
- structs/unions without a C type.
-
- * giscanner/glibtransformer.py (GLibTransformer._resolve_field):
- We don't need to resolve non-typef'd
- (GLibTransformer._resolve_field): Add cases for non-typedef'd
- struct/union "fields".
-
- * giscanner/girwriter.py (GIRWriter._write_record): Allow for
- records without a C type.
- (GIRWriter._write_field): structs and unions may appear in places
- where fields do.
-
-2009-02-03 Andreas Rottmann <a.rottmann@gmx.at>
-
- * girepository/girparser.c (ParseContext): Removed member
- current_node, added node_stack instead.
- (CURRENT_NODE): New macro, returns the current node (top of
- node_stack).
- (pop_node, push_node): New functions; pop or push a node from
- node_stack.
- Rest of the file adapted to these changes, which are necessary
- for supporting nested structs/and unions.
-
-2009-02-02 Dan Winship <danw@gnome.org>
-
- * girepository/ginfo.c (g_registered_type_info_get_g_type): handle
- the special case for GObject, whose glib:get-type is listed as
- "intern".
-
-2009-02-02 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 569408 – Scanner doesn't handle arbitrary typedefs correctly
-
- * giscanner/glibtransformer.py (GLibTransformer._create_gobject):
- Treat GInitiallyUnowned specially.
-
- Bug 568680 – Scanner misses fields (at least in GObject.Object)
-
- * girepository/giroffsets.c (compute_struct_field_offsets): Fix
- handling of callbacks (a callback member clobbered the size
- computed so far).
-
- * giscanner/transformer.py (Transformer._create_compound): Use
- the (empty) compound created by a typedef if present; this means
- that fields will no longer get lost.
-
- * giscanner/transformer.py (Transformer._create_compound): New
- method, contains logic common to _create_union and _create_struct.
- (Transformer._create_struct, Transformer._create_union): Rewritten
- in terms of _create_compound.
-
- * gir/GObject-2.0.xpath: Some new assertations of the presence
- GObject fields.
- * tests/offsets/Makefile.am, tests/offsets/offsets.h: Added test
- for object field offsets.
-
- 2009-02-02 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 563469 – Arrays not treated correctly in struct offset calculation
-
- * tests/offsets/offsets.h (OffsetsArray): New struct, containing a
- bunch of arrays.
-
- * tests/offsets/gen-gitestoffsets (FIELD_RE): Handle arrays.
-
- * girepository/giroffsets.c (get_interface_size_alignment):
- Refactored to make it more general, now takes a GIrNodeType*
- instead of a GIrNodeField*, plus an additional 'who' parameter
- that denotes what the size/alignment is calculated for.
- (get_type_size_alignment): New function, refactored version of
- get_field_size_alignment().
- (get_field_size_alignment): Implemented in terms of
- get_type_size_alignment().
- (get_type_size_alignment): Handle array types correctly.
-
- 2009-01-28 Johan Bilien <jobi@via.ecp.fr>
-
- * tests/scanner/annotation-1.0-expected.gir: add missing
- with_voidp
-
-2009-01-27 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/cairo-1.0.gir:
- * gir/fontconfig-2.0.gir:
- * gir/freetype2-2.0.gir:
- * gir/libxml2-2.0.gir:
- * gir/xfixes-4.0.gir:
- * gir/xft-2.0.gir:
- * gir/xlib-2.0.gir:
- Remove shared-library tags for these too.
-
-2009-01-27 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/GL-1.0.gir:
- Remove shared-library which removes the build
- time dependency on mesa.
-
-2009-01-27 Dan Winship <danw@gnome.org>
-
- Misc warning fixes
-
- * giscanner/scannerparser.y: Fix the "Ignoring non-UTF-8 constant
- string" error to print the right value.
-
- * tests/scanner/annotation.c (backslash_parsing_tester)
- (backslash_parsing_tester_2): make these non-static to avoid a
- warning.
- (annotation_object_string_out)
- (annotation_string_zero_terminated): fix return values
-
- * tests/scanner/annotation.h (annotation_object_with_voidp):
- prototype this
-
- * tests/scanner/gtkfrob.c:
- * tests/scanner/gtkfrob.h (gtk_frob_language_manager_get_default):
- fix prototype. (s/()/(void)/).
-
- * tools/compiler.c (format_output): fix signed/unsigned warning.
- Output a prototype for register_typelib() to avoid warnings later.
-
-2009-01-26 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/everything.c (test_callback):
- * tests/everything/everything.h:
- Add a couple of callback tests.
-
-2009-01-26 Johan Dahlin <jdahlin@async.com.br>
-
- * girepository/ginfo.c (g_base_info_unref):
- Only unref the repository if it's actually set.
-
-2009-01-23 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/everything.c (test_enum_param):
- * tests/everything/everything.h:
-
- Add an enum param test function
-
-2009-01-21 Johan Dahlin <jdahlin@async.com.br>
-
- * configure.ac:
- Post-release version bump
-
-=== 0.6.2 ===
-2009-01-21 Johan Dahlin <jdahlin@async.com.br>
-
- * NEWS: Update
-
-2009-01-21 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 562622 – Errordomains missing
-
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * tests/scanner/Makefile.am:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tests/scanner/foo.c (foo_error_get_type), (foo_error_quark):
- * tests/scanner/foo.h:
-
-2009-01-20 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/scannerlexer.l:
- Increase the buffer size to 1M, so
- gtkalias.h can be parsed.
-
-2009-01-20 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/glibtransformer.py:
- When trying to map functions to structs, do
- not require a public structure to exist, should
- fix Gst gir generation in.
-
-2009-01-20 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 562615 – Struct methods missing
-
- * giscanner/annotationparser.py:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir:
-
-2009-01-16 Dan Winship <danw@gnome.org>
-
- * gir/GL-1.0.gir: add back GLvoid, which got lost during the
- gir-repository -> gobject-introspection migration
-
-2009-01-15 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/freetype2-2.0.gir: add FT_Int32
- * gir/xft-2.0.gir: add XftFont
- * girepository/gdump.c (g_irepository_dump):
- Report errors when an invalid type is encountered
- * giscanner/glibtransformer.py:
- Make the error message a bit nicer.
-
- Part of preparating for gir generating inside pango.
-
-2009-01-15 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/GL-1.0.gir:
- * gir/Makefile.am:
- * gir/cairo-1.0.gir:
- * gir/fontconfig-2.0.gir:
- * gir/freetype2-2.0.gir:
- * gir/libxml2-2.0.gir:
- * gir/xfixes-4.0.gir:
- * gir/xft-2.0.gir:
- * gir/xlib-2.0.gir:
-
- Move over the hand-written girs from gir-repository
- so upstream libraries depending on these can avoid
- a gir-repository dependency.
-
-2009-01-15 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 567813 – Everything should be versioned
-
- * gir/Makefile.am:
- * girepository/Makefile.am:
- * girepository/girepository.c (init_globals):
- * girepository/girparser.c (locate_gir):
- * giscanner/dumper.py:
- * giscanner/transformer.py:
- * gobject-introspection-1.0.pc.in:
- * tests/everything/Makefile.am:
- * tests/invoke/Makefile.am:
- * tests/offsets/Makefile.am:
- * tests/repository/Makefile.am:
- * tests/scanner/Makefile.am:
- * tools/Makefile.am:
-
-2009-01-13 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 555036 – put gtk-doc in GIR
-
- * giscanner/annotationparser.py:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation.h:
- * tests/scanner/foo-1.0-expected.gir:
-
-2009-01-13 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cachestore.py (CacheStore.load): Catch AttributeError
- which seems to be occasionally raised for Record.
-
- * giscanner/annotationparser.py:
- Fix a bug where \n was not present in a comment
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 562467 – Property annotation
-
- * giscanner/annotationparser.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/annotation.c (annotation_object_set_property),
- (annotation_object_get_property), (annotation_object_class_init):
-
- Annotations are parsed for properties.
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 546739 – Introspection should know precise signal parameter types
-
- * giscanner/annotationparser.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/annotation.c (annotation_object_class_init):
-
- Annotations are parsed for signals, the (type) annotation is introduced.
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 563591 – Flags not recognized when there is no introspection data
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/giscannermodule.c (type_get_is_bitfield):
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/scannerparser.y:
- * giscanner/sourcescanner.c (gi_source_type_copy):
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tests/scanner/foo.h:
-
- Large parts of this patch was done by Jürg Billeter.
-
-2009-01-12 Havoc Pennington <hp@pobox.com>
-
- Bug 563386 – scanner ignores "const" on boxed return values
-
- * tests/everything/everything.c (test_simple_boxed_a_const_return):
- * tests/everything/everything.h:
-
- This adds just the tests specified in the bug above, the fix itself
- was included in Bug 563794
-
-2009-01-03 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 566404 – Annotations for GLib
-
- * gir/glib-2.0.c: Added allow-none annotations for g_thread_init()
- and g_main_loop_new().
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 566419 – Element type of arrays not properly handled in all cases
-
- * giscanner/annotationparser.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/annotation.c (annotation_object_set_data),
- (annotation_object_set_data2), (annotation_object_set_data3):
- * tests/scanner/annotation.h:
-
- Based on patch by Andreas Rottmann
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 566560 – giscanner.transformer.SkipError
-
- * giscanner/transformer.py:
-
- Catch SkipError for all nodes, not just functions.
- Makes it possible to skip unsupported parameter types in
- callbacks.
-
-2009-01-12 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 563794 - Redo annotation parsing & applying
-
- Thanks to Colin for helping out considerably in landing this.
-
- * giscanner/Makefile.am:
- * giscanner/ast.py:
- * giscanner/dumper.py:
- * giscanner/girparser.py:
- * giscanner/giscannermodule.c (pygi_source_scanner_get_comments),
- (calc_attrs_length), (pygi_collect_attributes), (init_giscanner):
- * giscanner/glibtransformer.py:
- * giscanner/scannerlexer.l:
- * giscanner/sourcescanner.c (gi_source_symbol_unref),
- (gi_source_scanner_new), (gi_source_scanner_free),
- (gi_source_scanner_get_comments):
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- * giscanner/xmlwriter.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/annotation.c:
- * tests/scanner/annotation.h:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tests/scanner/foo.h:
- * tools/g-ir-scanner:
-
- This commit merges the annotation parser rewrite branch.
- It'll change the annotation parsing to be done completely in python
- code which will make it easier to do further annotation parsing
- easier.
-
-2009-01-03 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 563469 – Arrays not treated correctly in struct offset calculation
-
- * tests/scanner/foo.h (FooObject): Added field `some_int'.
- * tests/scanner/foo-1.0-expected.gir,
- * tests/scanner/foo-1.0-expected.tgir: Adapted.
-
- * giscanner/glibtransformer.py (GLibTransformer._create_gobject):
- carry over object fields from original (struct) node.
- (GLibTransformer._pair_class_struct): Don't add fields of the
- class struct to to the node for the class, they should go under a
- nested <record> element (see also Bug 551738). This is needed as
- otherwise offset calculation would not work, as the instance
- fields are mingled with the class fields without a way to
- distinguish them.
-
-2009-01-03 Johan Dahlin <jdahlin@async.com.br>
-
- * misc/pep8.py:
- Disable blank line check, it works differently under
- Python 2.5 from 2.6 and was rather annoying from the start.
-
-2008-01-03 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 556489 – callback annotations
-
- * giscanner/transformer.py
-
- * tools/generate.c (write_callable_info): Write out the new scope,
- closure and destroy attributes.
-
- * giscanner/transformer.py (Transformer._type_is_callback): New
- method, checking if a given type is a callback.
- (Transformer._augment_callback_params): New method; adds
- information (closure, destroy) to callback parameters.
- (Transformer._handle_closure, Transformer._handle_destroy): New methods,
- auxiliary to _augment_callback_params.
- (Transformer._create_function): Call _augment_callback_params().
- (Transformer._create_parameter): Handle scope option.
-
- (Transformer._create_typedef_callback): New method, creates a
- callback, and registers it in the typedef namespace
- (Transformer._create_typedef): Use _create_typedef_callback()
- instead of the plain _create_callback().
-
- * giscanner/ast.py (Parameter): Added callback-related fields.
- * giscanner/girwriter.py: Write out new Parameter fields.
-
- * girepository/girnode.h (GIrNodeParam): Added fields scope,
- closure and destroy.
- * girepository/gtypelib.h (ArgBlob): Ditto.
- * girepository/girparser.c (start_parameter): Handle new fields.
-
- * girepository/girmodule.c (g_ir_module_build_typelib): Adjust
- arg_blob_size, bump major version due to this change.
- * girepository/girnode.c (g_ir_node_get_full_size_internal)
- (g_ir_node_build_typelib)
- * girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size
- adjustments.
- (g_ir_node_build_typelib): Fill in new ArgBlob flags from param.
-
- * girepository/girepository.h (GIScope): New enumeration, listing
- the different possible scopes for callbacks.
-
- * girepository/ginfo.c (g_arg_info_get_scope)
- (g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for
- callback-related argument indices (callback scope, closure for a
- callback, destroy notification for a callback).
-
- * tests/scanner/: Added testcases for new features.
-
-2009-01-03 Jürg Billeter <j@bitron.ch>
-
- * giscanner/ast.py:
- * giscanner/dumper.py:
- * giscanner/girparser.py:
- * giscanner/glibtransformer.py:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- * giscanner/xmlwriter.py:
-
- Fix inconsistencies with PEP8
-
-2008-12-21 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/gio-2.0.c:
- Annotate transfer, direction and allow none for
- g_file_load_contents, g_file_load_contents_finish and
- g_file_load_partial_contents_finish parameters.
-
-2008-12-12 Owen Taylor <otaylor@redhat.com>
-
- Disable array auto-detection for out-annotated parameters (#563934)
-
- If we have a parameter annotated as (out), then having a ctype of
- 'char **' (or similar) doesn't necessarily indicate an array.
-
- * giscanner/transformer.py: Skip array-detection logic for
- (out)-annotated parameters.
- * tests/scanner/annotation.h tests/scanner/annotation.c
- tests/scanner/annotation-1.0-expected.gir
- tests/scanner/annotation-1.0-expected.tgir: Add a test for
- an (out) string parameter.
-
-2008-12-12 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/dumper.py (DumpCompiler._link): Pass in
- --tag=CC to libtool to avoid making libtool confused
- when CC is different from gcc on some systems.
-
-2008-12-10 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 563998 – Cache the GIBaseInfo for GTypes
-
- * girepository/girepository.c (g_irepository_find_by_gtype):
- add a cache of GType -> GIBaseInfo.
-
-2008-12-09 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 562545 – Add function taking / returning GValue
-
- * tests/everything/everything.[ch]: add a test of function taking and
- returning "const GValue *"
-
-2008-12-09 Johan Dahlin <johan@async.com.br>
-
- * giscanner/cachestore.py (CacheStore.store): Use
- shutil.move instead of os.rename, since it will
- automatically fall back to copying+remove if the
- src directory is on a different partition from
- the dst directory.
-
-2008-12-08 Tristan Van Berkom <tristan.van.berkom@gmail.com>
-
- Bug 563742 – introspection should record the introduced version of
- symbols marked with the "Since:" tag
-
- reviewed by: Johan
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/scannerlexer.l:
- * giscanner/transformer.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/annotation.c (annotation_versioned):
- * tests/scanner/annotation.h:
-
-2008-12-08 Johan Dahlin <johan@async.com.br>
-
- * giscanner/cachestore.py (_get_cachedir): Don't require
- HOME to be set and if it set, don't require the
- directory to exist.
-
-2008-12-08 Johan Dahlin <johan@async.com.br>
-
- * giscanner/cachestore.py (CacheStore.store): Dump the cache
- file to a temporary file and rename it the expected filename
- only when it's completely written.
- This should make the cache more roboust when run in parallel,
- and hopefully avoid triggering bugs in Python.
-
-2008-12-03 Christophe Fergeau <teuf@gnome.org>
-
- Bug 562971 – g-ir-scanner failure on libgpod headers
-
- * giscanner/scannerlexer.l: raise YY_BUF_SIZE to 65536 up from the
- default 16384. Without it, the lexer was aborting with a cryptic
- error message on source files containing really long comment
- blocks.
-
-2008-12-01 Colin Walters <walters@verbum.org>
-
- * girepository/gfield.c: Fix memory leak; unref type info we
- created, not field info
-
-2008-11-30 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 562289 – Race when removing invalid cache
-
- * giscanner/cachestore.py:
- ENOENT is mapped to a OSError, not IOError.
-
-2008-11-27 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/glib-2.0.c: Add return value transfer annotation
- for g_markup_escape_text.
-
-2008-11-25 Colin Walters <walters@verbum.org>
-
- * tools/g-ir-scanner: Add --libtool option which we expect Automake-using
- people to pass.
- * giscanner/dumper.py: Implement it.
- * gir/Makefile.am, tests/**/Makefile.am: Use it.
-
-2008-11-25 Colin Walters <walters@verbum.org>
-
- * tests/scanner/Makefile.am: Remove hand-rolled generation of .tgir; easier
- to just use a Makefile rule and dependencies. This corresponds with a change
- made to gir-repository to fix srcdir != builddir issues.
-
-2008-11-25 Johan Dahlin <jdahlin@async.com.br>
-
- * configure.ac:
- Post release version bump
-
-=== 0.6.1 ===
-2008-11-25 Johan Dahlin <jdahlin@async.com.br>
-
- * NEWS:
- Release 0.6.1
-
-2008-11-25 Colin Walters <walters@verbum.org>
-
- Bug 559705 – Missing association between static methods and classes
-
- * docs/typelib-format.txt:
- * girepository/ginfo.c (g_function_info_get_flags):
- * girepository/girmodule.c (g_ir_module_build_typelib):
- * girepository/girnode.c (g_ir_node_get_size),
- (g_ir_node_build_typelib):
- * girepository/girparser.c (start_function):
- * girepository/gtypelib.c (g_typelib_check_sanity),
- (validate_header), (validate_function_blob):
- * girepository/gtypelib.h:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tests/scanner/foo.h:
-
-2008-11-25 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py: Define socklen_t as an alias for int32.
-
-2008-11-24 Johan Dahlin <jdahlin@async.com.br>
-
- * girepository/gdump.c (dump_type): Remove a warning,
- be less verbose on error on fundamental types.
-
-2008-11-23 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/dumper.py: Add license headers,
- refactor into a class, avoid some duplication and do some
- extra pedantic checks.
-
-2008-11-23 Johan Dahlin <jdahlin@async.com.br>
-
- Make it compilable with -Werror on my system by adding
- a couple of prototypes and including headers.
-
-2008-11-23 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 562022 – gobject-introspection needs python headers
-
- * configure.ac: fail without python headers present.
- Patch by: Tom Parker
-
-2008-11-21 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 561617 – Return value array annotations
-
- * giscanner/transformer.py:
- * tests/scanner/annotation.c (annotation_return_array):
- * tests/scanner/annotation.h:
- Add support for (array) for return value annotations as well.
-
-2008-11-20 Johan Bilien <jobi@via.ecp.fr>
-
- * tests/everything/everything.[ch]: add a test function which calls a
- closure.
-
-2008-11-19 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cachestore.py:
- Catch ValueError exceptions.
-
-2008-11-18 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/scanner/Makefile.am (barapp_SOURCES): fix builddir != srcdir
-
-2008-11-18 Andreas Rottmann <a.rottmann@gmx.at>
-
- * girepository/girnode.c (g_ir_node_build_typelib): Use sizeof()
- instead of hard-coding struct sizes.
-
-2008-11-18 Owen Taylor <otaylor@redhat.com>
-
- Bug 561296 - Add "storage type" to the typelib data for enums
-
- In order to set and get enum and flag fields in structures, we need
- to know the integral type that the enumeration is stored as. We are already
- computing that at compile time in order to compute struct offsets, so the
- easiest thing to do is to save that in the typelib.
-
- * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c
- girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob
- and compute and save it at compile time.
-
- * girepository/girepository.h girepository/ginfo.c:
- Add g_enum_info_get_storage_type().
-
- * girepository/gfield.c: Implement reading and writing enum and flags fields
- based on the storage type.
-
-2008-11-18 Owen Taylor <otaylor@redhat.com>
-
- Add enums to the Everything test module
-
- * tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything
- test module and register them as GTypes.
-
- https://bugzilla.gnome.org/show_bug.cgi?id=561296
-
-2008-11-18 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cachestore.py:
- Catch BadPickleGet exceptions as well.
-
-2008-11-17 Owen Taylor <otaylor@redhat.com>
-
- * tests/everything/everything.c: Fix doc comment annotations
- for test_struct_b_clone() to refer to the right function.
-
-2008-11-17 Dan Winship <danw@gnome.org>
-
- * giscanner/glibtransformer.py (GLibTransformer.__init__): fix
- spelling of GHashTable. #561135
-
- * tests/scanner/annotation.c (annotation_object_get_hash):
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/annotation-1.0-expected.tgir: add a test of
- GHashTable annotations
-
-2008-11-17 Andreas Rottmann <a.rottmann@gmx.at>
-
- * giscanner/ast.py: Change string array match type to be in terms
- of canonicalized type.
- * giscanner/transformer.py: Add canonicalize_ctype which gives us
- a version of a c:type without aliases, so we can deep canonicalize
- char** to utf8*. Update parse_ctype to use it.
- * tests/*: Add gtk_init like int*/char*** arg functions for testing.
-
-2008-11-16 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Ensure we always call init_globals,
- even if passed a non-default repository.
-
-2008-11-16 Colin Walters <walters@verbum.org>
-
- Bug 559706 - Interface prerequisites
-
- * common.mk: Dep on libgirepository.la for scanner libs so that
- we rebuild things even if just gdump.c changes.
- * girepository/gdump.c: Dump prerequisites.
- * giscanner/ast.py: Add prerequisite list.
- * giscanner/girparser.py: Parse them from gdump.
- * giscanner/girwriter.py: Write them.
- * giscanner/glibtransformer.py: Resolve them.
- * tests/*: Test.
-
-2008-11-16 Owen Taylor <otaylor@redhat.com>
-
- Bug 561087 - Respect is_pointer in serialize_type()
-
- Add a '*' to the serialization for the cases where we set is_pointer
- in the type blob we write out depending on node->is_pointer. Don't
- add the '*' in the cases where is_pointer is set or not set in a
- fixed fashion.
-
- http://bugzilla.gnome.org/show_bug.cgi?id=561087
-
-2008-11-16 Owen Taylor <otaylor@redhat.com>
-
- Bug 560825 – Add size and alignment to typelib
-
- Include the size and alignment of structures and unions in the typelib,
- and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
-
- * docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
- girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
- to StructBlob and UnionBlob.
-
- * girepository/ginfo.c girepository/girepository.h:
- Add g_[struct|union]_get[size|alignment]().
-
- * test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
-
-2008-11-16 Owen Taylor <otaylor@redhat.com>
-
- Bug 552371 – implement struct field get/set
-
- * girepository/gfield.c girepository/girepository.h: Add
- convenience functions g_field_info_set_field() and
- g_field_info_get_field() to set and get fields based on the
- offsets in GIFieldInfo.
-
-2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 560241 - Out-arguments should not be marked as being pointers
- in all cases
-
- * girepository/girparser.c: Improved logic for out arguments.
-
-2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 559601 - Pointers in structs/unions unduly treated as arrays
-
- * giscanner/transformer.py: Differentiate type creation logic
- between parameters and struct components.
-
-2008-11-15 Colin Walters <walters@verbum.org>
-
- * giscanner/dumper.py: Check return code from pkg-config
- invocations.
-
-2008-11-14 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/everything.c (test_array_int_in),
- (test_array_gtype_in):
- * tests/everything/everything.h:
- Rename the int/gtype array tests. Make the return value
- useful, an aggregation of the array input values.
-
-2008-11-14 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/Makefile.am:
- * tests/everything/everything.c:
- * tests/everything/everything.h:
- * tests/everything/gitesttypes.c:
- * tests/everything/gitesttypes.h:
- Rename gitesttypes.[ch] to everything.[ch]
-
-2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 560708 – Don't treat arrays that have a length specified as
- zero-terminated by default
-
- * giscanner/transformer.py: Default to non zero terminated for
- arrays with length.
- * tests/*: Update, add test for zero vs not.
-
-2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 557788 - Return types for constructors in generated typelib bogus
-
- * girepository/girnode.c: Namespace-qualify XREFs; not doing so is
- obviously broken in the face of duplicate names in different
- namespaces.
- * tests/scanner/*expected.gir: Fix up.
-
-2008-11-13 Owen Taylor <otaylor@redhat.com>
-
- * girepository/girffi.c: Fix "Unexpected time for time_t"
- message.
-
-2008-11-13 Colin Walters <walters@verbum.org>
-
- Bug 558436 - avoid having scanner load app code
-
- * giscanner/cgobject.py: Delete; we no longer load shared
- libraries directly.
- * giscanner/dumper.py: Support for linking a library to
- a stub binary for introspection.
- * giscanner/glibtransformer.py: Rewrite to use gdump XML
- from invocation of child binary.
- * giscanner/transformer.py: Fix up to use fully qualified
- name in parse tree. Make parse_ctype public so we can use
- it inside glibtransformer.
- * tests/scanner/barapp.c: New test, using --program arg
- for g-ir-scanner.
- * tests/*: Update to use common.mk for invoking scanner.
- * tools/g-ir-scanner: Add options --program, --program-arg,
- and --no-libtool.
- * docs/g-ir-scanner.1: Update.
-
-2008-11-13 Colin Walters <walters@verbum.org>
-
- * configure.ac: Depend on Gio, we use it in gdump.c.
- * girepository/gdump.c: Code to dump GType data to XML.
- * girepository/girepository.c: Add option group for dumping.
- * girepository/girepository.h: Define API for the above.
-
-2008-11-13 Colin Walters <walters@verbum.org>
-
- * common.mk: Add a file to include with Makefile fragments
- useful for scanner invocation.
-
-2008-11-13 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/everything/gitesttypes.c (test_filename_return): Return
- strings in filename encoding.
-
-2008-11-13 Owen Taylor <otaylor@redhat.com>
-
- Bug 560253 – Add structure and boxed types to Everything test module
-
- * tests/everything/gitesttypes.[ch]: Add examples of:
-
- Plain old data structs
- Plain old data structs with nested fields
- Plain old data boxed
- Plain old data boxed with nested fields
- More complicated boxed types with internal state
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/gitesttypes.c (test_gtype_in):
- * tests/everything/gitesttypes.h:
- Add a test of GType arrays, a la gtk_list_store_set_columns.
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Bug 560419 – Cache includes when parsing
-
- Keep track of all modules parsed within a GIrParser, and when a
- module is referenced a second time, use the existing parsed copy
- instead of reparsing.
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Fix management of ParseContext.includes_modules (#560419)
-
- * girepository/girparser.c: Fix some trivial bugs in managing the
- list of include modules. (Add to module's list twice, not
- initialized to NULL, not freed.)
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Keep aliases and disguised_structures local to each module (#560419)
-
- * girepository/girmodule.[ch]: When parsing, keep keep a separate
- hash tables of aliases and 'disguised' flags for each module, and
- store that on the module.
-
- After parsing an include merge the aliases/disguised flags to the
- including module.
-
- * girepository/girparser.c: Remove 'prefix_aliases' flag and
- always prefix aliases/disguised structure types when parsing; this
- simplifies the code considerably.
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Fix mismatches between .gir name and 'name' attribute (#560419)
-
- * tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c
- tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places
- where the 'name' element of <namespace/> didn't match the filename of the
- gir, an assumption that the compiler has always expected and now enforces.
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Only allow one <namespace/> element per <repository/> (#560419)
-
- * girepository/girparser.c: The logic in girparser.c didn't work
- very well if there were multiple <namespace/> nodes within a
- single <repository/> (context->namespace was always the overall
- filename and not the the name specified in the <namespace/>
- element for one thing; this would cause aliases to be mis-prefixed
- in include modules.) Also check that the "name" in the
- <namespace/> node matches the filename.
-
-2008-11-12 Owen Taylor <otaylor@redhat.com>
-
- Add a GirParser object to hold the state of a compilation
-
- * girepository/girparser.[ch] tools/compiler.c: Add a toplevel
- GirParser object to hold state that is global across a
- compilation. Currently just holds the include path, but will
- eventually also keep a cached list of parsed modules.
-
-2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * girepository/girepository.c (find_namespace_latest): Fix
- minor memory leak.
-
-2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * configure.ac: use 'introspection' component for bugs
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/everything/gitesttypes.c (test_filename_return):
- * tests/everything/gitesttypes.h:
- Add a filename return test.
-
-2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/offsets/Makefile.am (gitestoffsets.c): fix
- gen-gitestoffsets invocation with builddir != srcdir
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * girepository/girepository.c:
- Change the element type from utf8 to filename
- * girepository/girnode.c (g_ir_node_build_typelib):
- Special case filename equally to utf8 here.
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/Makefile.am:
- Remove unused variables, add a dependency of girepository.ch, so when
- they change we rebuild the gir automatically.
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * girepository/girepository.c (g_irepository_get_search_path):
- * girepository/girepository.h:
- Add a g_irepository_get_search_path, so we can access the search
- paths from runtime.
-
-2008-11-12 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 560474 – g-ir-compiler crashes when compiling the glib gir
-
- * girepository/girparser.c: avoid freeing an uninitialized pointer
-
-2008-11-12 Johan Dahlin <jdahlin@async.com.br>
-
- * gir/Makefile.am:
- * giscanner/glibtransformer.py:
- * tools/g-ir-scanner:
- Add a GIRepository-2.0.gir. Change the libtool lookup slightly
- so we can just pass in --library=foo/bar/baz.la and the scanner
- does the right thing.
- Don't warn for _get_type() functions if they don't take any
- parameters
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- Bug 560404 – Prefix types when resolving aliases in included modules
-
- * girepository/girparser.c: When resolving aliases in an included
- module, prefix types before looking them up.
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- Compute field offsets and overall size for object structures
-
- Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer
- field of type object in structure"
-
- Do basic computation of field offsets for objects and interfaces;
- this doesn't attempt to address all of the "mess" for virtual
- functions described in Bug 560281.
-
-2008-11-11 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir
-
- Based on patch by Johan Bilien.
-
- * giscanner/transformer.py (_create_member, _create_parameter):
- Resolve types here as well.
- (_resolve_type_name_1): Try resolving using 'ctype' first since
- it's least ambiguous. Fixes struct member type resolution with
- similarly named types, e.g. Gdk.PangoRendererClass and
- Pango.RendererClass
- * tests/scanner/foo*: Add test.
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- * girepository/girparser.c: Search provided include dirs before
- the default directories.
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- * girepository/giroffsets.c: Include fully-qualified names in
- all error messages.
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- * girepository/giroffsets.c: Fail gracefully with an informative
- error message when recursion is encountered when computing a
- structure size.
-
-2008-11-11 Owen Taylor <otaylor@redhat.com>
-
- * girepository/girparser.c: Remove an unused variable.
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Add tests for field offset computations
-
- * tests/offsets/offsets.h: Header file with structure definitions to test
-
- * tests/offsets/gen-gitestoffsets: Generate a C program that computes
- field offsets for the structures in offsets.h two ways: using
- the information from a generated typelib, and as computed by the
- compiler.
-
- We diff these two versions to test that everything is OK.
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Remove field offsets from g-ir-generate output and test inputs
-
- Field offsets are a) architecture dependent so they shouldn't be part
- of the architecture-independent gir format which is installed in
- datadir. b) Are architecture-dependent so they shouldn't be in test
- expected output.
-
- * girepository/girparser.c: Don't parse offset for fields
- * tools/generate.c: Don't parse offset for fields
- * tests/*.gir test/scanner/*.tgir: Remove offsets
-
- (Virtual function and discriminator offsets are not removed, as they
- aren't fully hooked up to the field-offset computation machinery yet.)
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Bug 560252 - Compute field offsets before writing typelib
-
- * girepository/girnode.h: Store the total size and alignment for
- GIrNodeStruct/Boxed/Union.
-
- * girepository/giroffset.c: New file implementing computation of
- structure field offsets.
-
- * girepository/girnode.c: Compute structure field offsets before
- writing types into the typelib.
-
- * docs/typelib-format.txt: Document that a field offset of 0xFFFF
- means "unknown". Also fix description of the discriminator_offset
- field for unions.
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Bug 560250 - Fully parse included modules
-
- For some things, like computing structure offsets to put into the typelib
- we need more than just the aliases from included modules. Do a completel
- parse of included modules and store in module->included_modules.
-
- Also add g_ir_find_node() to find node information from within the
- active set of modules and their includes.
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Split g_ir_ffi_get_ffi_type() out from ginvoke.c
-
- Extract a function to convert GITypeTag to ffi_type from the internals
- of ginvoke.c. This will be useful in figure out structure alignment.
-
- Also fix handling of gsize and time_t to be portable. (Add a check
- to configure.ac to figure out the width of time_t.)
-
-2008-11-10 Owen Taylor <otaylor@redhat.com>
-
- Bug 560248 – "disguised structures"
-
- Certain types like GIConv and GdkAtom are pointers internally but don't
- look like pointers when referenced. They have the form.
-
- typedef struct _X *X;
-
- Parse these as structures/records but mark them in the gir with a 'disguised'
- attribute so that we know that they need special handling.
-
- In the typelib treat them like any other structure.
-
-2008-11-09 Jürg Billeter <j@bitron.ch>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
-
- Write throws attribute for virtual functions, fixes bug 559703
-
-2008-11-07 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear
- up some confusion about the second argument to find_module, it's
- actually the packages __path__ attribute which we can safely ignore
- for our purposes.
- (LibtoolImporter.load_module): Set module.__loader__ as per PEP 302.
-
-2008-11-07 Owen Taylor <otaylor@redhat.com>
-
- Bug 559737 – Deal with continuations in macros
-
- * giscanner/giscannerlexer.l: Treat continuation lines the same
- as regular newlines. This makes the scanner not complain about
- #define foo(x) \ <stuff> inside a C file. There's no attempt
- however to handle parsing macro definitions split across lines.
-
-2008-11-07 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cachestore.py:
- Handle broken cache entries, write only filesystems and
- running out of diskspace.
-
-2008-11-07 Owen Taylor <otaylor@redhat.com>
-
- * giscanner/giscannermodule.c (pygi_source_scanner_lex_filename):
- Set current_filename before lexing the file so error messages
- are reported in the right file.
-
-2008-11-06 Colin Walters <walters@verbum.org>
-
- * tests/everything/*: Add some tests for strv.
-
-2008-11-05 Colin Walters <walters@verbum.org>
-
- * girepository/ginvoke.c (g_function_info_invoke): Don't use
- nested scope local variable for error which may go away after
- conditional is complete.
-
-2008-11-05 Colin Walters <walters@verbum.org>
-
- * giscanner/scannerlexer.l: Avoid static 256 char buf which we
- manipulate hackily; just use GString. This avoids an
- uninitialized memory read pointed out by Havoc.
-
-2008-11-04 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/__init__.py:
- * giscanner/ast.py:
- * giscanner/cachestore.py:
- * giscanner/cgobject.py:
- * giscanner/girparser.py:
- * giscanner/girwriter.py:
- * giscanner/giscannermodule.c:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/libtoolimporter.py:
- * giscanner/minixpath.py:
- * giscanner/odict.py:
- * giscanner/sourcescanner.c:
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- * giscanner/utils.py:
- * giscanner/xmlwriter.py:
- * COPYING:
- Relicense the giscanner library under LGPLv2+.
- This has been approved by all contributors.
-
-2008-11-01 Owen Taylor <otaylor@redhat.com>
-
- Bug 558848 giparser.py: shared library should be optional
-
- When parsing a .gir, allow the shared-library attribute
- of <namespace/> to be missing: this corresponds to the handling
- in libgirepository and elsewhere.
-
-2008-11-01 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 557898 – Fails to build on OSX 10.4
-
- * configure.ac: Check for $shrext_cmds that should be implicitly
- available if you're using libtool >= 2.0. If undefined, call
- libtool --config explicitly to get its value.
- * girepository/gtypelib.c: Remove special case for (non-)Darwin
- systems as unneeded.
-
-2008-10-31 Colin Walters <walters@verbum.org>
-
- * COPYING, COPYING.lib, COPYING.tools: Clarify licensing status.
-
-2008-10-31 Johan Dahlin <jdahlin@async.com.br>
-
- * configure.ac: Post release version bump
-
-=== 0.6.0 ===
-2008-10-31 Johan Dahlin <jdahlin@async.com.br>
-
- * NEWS:
- * configure.ac:
- * docs/release-checklist.txt:
- 0.6.0
-
-2008-10-31 Johan Dahlin <jdahlin@async.com.br>
-
- * Makefile.am: add an upload-release target
- * docs/release-checklist.txt:
- Release process documentation
-
-2008-10-31 Colin Walters <walters@verbum.org>
-
- Bug 558109 – _g_typelib_init fails to find shared libraries
-
- * transformer/glibtransformer.py: Use ctypes' find_library
- on passed libraries and write that for the shared-library
- entry. We want to avoid depending on -devel packages.
-
-2008-10-31 Johan Dahlin <jdahlin@async.com.br>
-
- * docs/g-ir-scanner.1:
- Document the renaming options.
-
-2008-10-31 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/Makefile.am:
- * tests/invoke/Makefile.am:
- * tests/repository/Makefile.am: List in-tree libraries first in
- LDADD / LIBADD. If installed library is listed first, the
- resulting binary will prefer installed version to one in .libs,
- possibly making 'make check' behave strangely.
-
-2008-10-30 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop
- gir-repository from choking with gdk/quartz
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/giscannermodule.c (calc_attrs_length),
- (pygi_collect_attributes):
- * giscanner/xmlwriter.py:
- Write a C version of the xml namespace formatter.
- Saves 15% of the time it takes to create a gtk gir.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/xmlwriter.py: Abstract attribute formatting
- to a function external to the XMLWriter class.
-
- * giscanner/scannerlexer.l:
- Parse and discard __typeof and __attribute.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girparser.py:
- Remove arguments from the constructor, move them to
- separate accessors. Add a new parse_tree method
- which takes an element tree instance.
- * tools/g-ir-scanner:
- Update callsite for this
-
- * giscanner/Makefile.am:
- * giscanner/cachestore.py:
- * giscanner/transformer.py:
- Cache the include parsing. Saves ~25% time when
- creating vte (which includes everything up to gtk+).
-
-2008-10-30 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Don't reparse includes
- we've already processed.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girparser.py:
- * giscanner/transformer.py:
- Avoid parsing parameters, types etc when parsing
- includes. Should speed up include parsing a bit.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girparser.py:
- Avoid big if/else and use a dispatch table like
- approach.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/transformer.py:
- Clean up include parsing and registration.
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/transformer.py:
- Clean up imports
-
-2008-10-30 Johan Dahlin <jdahlin@async.com.br>
-
- Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed
-
- * gir/Makefile.am:
- construct PYTHONPATH just once
-
- * tests/everything/Makefile.am:
- * tests/scanner/Makefile.am:
- add $(top_srcdir) to PYTHONPATH to
- handle builddir != srcdir
-
- * giscanner/libtoolimporter.py:
- * giscanner/sourcescanner.py:
- Make the libtoolimporter work when distchecking too.
-
- Mostly based on patch by Tommi Komulainen
-
-2008-10-29 Owen Taylor <otaylor@redhat.com>
-
- * giscanner/glibtransformer.py: If a filename of an existing
- file is passed to --library, hunt for it directly, rather than
- searching for a corresponding library.
-
-2008-10-29 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/libtoolimporter.py:
- * giscanner/sourcescanner.py:
- Clean up the libtool importer a bit. Add a context so we
- can use it through a with statement.
- Don't just look in the current directory, look in the whole
- sys.path.
-
-2008-10-29 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 558065 – gitesttypes should be installed
-
- * configure.ac:
- * tests/Makefile.am:
- * tests/types/Makefile.am -> tests/everything/Makefile.am
- * tests/types/gitesttypes.c -> tests/everything/gitesttypes.c
- * tests/types/gitesttypes.h -> tests/everything/gitesttypes.h
- move tests/types to tests/everything
-
- * tests/everything/Makefile.am: build normal shared library
- libgirepository-everything.so.1.0.0 and corresponding typelib
- Everything-1.0.typelib
-
- * tests/everything/Makefile.am: explicitly link libtool
- versioning with typelib versioning with variables
-
-2008-10-28 Johan Bilien <jobi@via.ecp.fr>
-
- * tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld.
-
-2008-10-27 Johan Bilien <jobi@via.ecp.fr>
-
- * gio/gio-2.0.c: add allow-none annotations, based on the pygobject
- .defs file
-
-2008-10-27 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 558068 – when invoking a method, offset the in arguments by one,
- not the out
-
- * tests/invoke/invoke.c, tests/invoke/testfns.c,
- tests/invoke/testfns-1.0.gir: Add testing of method and constructor.
- * girepository/ginvoke.c: do not offset the index of given out
- arguments by one for methods, "this" is provided as in argument only.
-
-2008-10-27 Johan Bilien <jobi@via.ecp.fr>
-
- * gir/gio-2.0.c: add annotation for g_file_delete
-
-2008-10-27 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 558062 – provide and use paths in the .pc file
-
- * gobject-introspection-1.0.pc.in: provide typelibdir variable
- for where .typelibs should be installed (callers shouldn't need
- to construct paths from bits and pieces)
-
-2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 557791 – g_irepository_require() could return a GTypelib *
-
- * girepository/girepository.c: Return GTypelib; this is useful
- for low level manipulation.
-
-2008-10-25 Colin Walters <walters@verbum.org>
-
- Bug 557788 – Return types for constructors in generated typelib bogus
-
- * giscanner/glibtransformer.py: Don't resolve ctors incrementally,
- rely on end pass resolution.
-
-2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 557786 - support fixed size arrays
-
- * girepository/ginfo.c: Add g_type_info_get_array_fixed_size.
- * giscanner/scannerparser.y: Retain fixed array size.
- * giscanner/ast.py: Add to note.
- * giscanner/girwriter.py: Write to gir.
- * girepository/girnode.c: Write it to typelib.
- * tools/generate.c: Generate.
- * tests/*: Add tests.
-
-2008-10-25 Colin Walters <walters@verbum.org>
-
- Bug 557076 - move typelibs to $libdir
-
- * configure.ac: Steal some configury bits from dbus to expand
- libdir.
- * gir/Makefile.am: Move to libdir.
- * girepository/girepository.c: Stop searching XDG_DATA_DIRS;
- instead just look at one hardcoded path in libdir.
- * acinclude.m4: Bits from dbus.
-
-2008-10-24 Johan Dahlin <johan@gnome.org>
-
- * girepository/girnode.c (g_ir_node_check_unhandled_members):
- Be quiet, do not warn about unhandled members.
-
-2008-10-24 Johan Dahlin <johan@gnome.org>
-
- * girepository/gtypelib.c:
- Only use SHLIB_SUFFIX on darwin, otherwise use
- G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2.
-
-2008-10-24 Lucas Rocha <lucasr@gnome.org>
-
- Bug 557623 - Constructors shouldn't be flagged as methods.
-
- * girepository/ginfo.c (g_function_info_get_flags): ditto.
-
-2008-10-24 Johan Dahlin <johan@gnome.org>
-
- * giscanner/scannerparser.y:
- Check against division by zero for the modula operator.
- This fixes header parsing of OSX system headers included
- by libsoup.
-
-2008-10-24 Johan Dahlin <johan@gnome.org>
-
- * CONTRIBUTORS:
- * Makefile.am:
- Add a CONTRIBUTORS file and dist it.
-
-2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556739 – transfer-ownership attribute should be mandatory in .gir
-
- * girepository/girparser.c (parse_param_transfer):
- * giscanner/transformer.py (_create_parameter, _create_return):
- * giscanner/girwriter.py (_write_return, _write_parameter):
- * tools/generate.c (write_callable_info): always write and
- require "transfer-ownership" for return-values and parameters
-
- * tests/boxed.gir:
- * tests/invoke/testfns-1.0.gir:
- * tests/object.gir:
- * tests/scanner/DrawableAdditions.xml:
- * tests/scanner/GtkFrob-1.0-expected.tgir:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/drawable-1.0-expected.tgir:
- * tests/scanner/drawable-injected-1.0-expected.gir:
- * tests/scanner/drawable-injected-1.0-expected.tgir:
- * tests/scanner/foo-1.0-expected.tgir: Updated
-
-2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/cgobject.py: build fundamental types same way as glib
-
- * giscanner/glibtransformer.py (_type_from_gtype): record GType
- when constructing the Type from it
-
- * giscanner/glibtransformer.py (_adjust_transfer): Check whether
- the parameter is a GObject from its GType, if available.
-
- * giscanner/glibtransformer.py (_adjust_transfer):
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.tgir: deduce
- transfer-ownership from GTypes
-
-2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/transformer.py (_create_parameter):
- * tests/scanner/foo-1.0-expected.gir: make varargs
- transfer-ownership="none"
-
-2008-10-23 Colin Walters <walters@verbum.org>
-
- Bug 556739 - transfer ownership
-
- * giscanner/ast.py: Refactor Parameter/Return to share
- common attributes. Add transfer_inferred attribute
- which says whether or not we made a guess.
- * giscanner/transformer.py: Add much more extensive
- heuristics around parameter and return transfer.
- * giscanner/glibtransformer.py: Adjust to inspect
- transfer_inferred.
- * tests/*: Adjust.
-
-2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
-
- * tests/scanner/Makefile.am:
- * tests/scanner/annotation-1.0-expected.tgir:
- * tests/scanner/drawable-1.0-expected.tgir:
- * tests/scanner/drawable-injected-1.0-expected.tgir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tests/scanner/GtkFrob-1.0-expected.tgir:
- * tests/scanner/utility-1.0-expected.tgir: Add test to ensure
- annotations survive the roundtrip via typelib
-
- The expectations are as currently produced by g-ir-generate,
- comparison with the .gir files shows there are differences.
-
-2008-10-23 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 557468 – Support for GI_TYPELIB_PATH
-
- * girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the
- provided paths to the global search path.
-
-2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 557379 – g-ir-generate not writing the 'abstract' attribute
-
- * tests/scanner/drawable-1.0-expected.tgir:
- * tests/scanner/drawable-injected-1.0-expected.tgir:
- * tests/scanner/foo-1.0-expected.tgir:
- * tools/generate.c (write_object_info): write 'abstract'
- attribute for classes
-
-2008-10-22 Lucas Rocha <lucasr@gnome.org>
-
- * girepository/girmodule.c, girepository/gtypelib.c,
- girepository/girparser.[ch]: fix some build warnings.
-
-2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 557405 – Use 'allow-none' consistently
-
- * docs/typelib-format.txt:
- * girepository/ginfo.c (g_arg_info_may_be_null):
- * girepository/girnode.c (g_ir_node_build_typelib):
- * girepository/girnode.h (struct _GIrNodeParam):
- * girepository/girparser.c (start_parameter):
- * girepository/girwriter.c (function_generate):
- * girepository/gtypelib.h (ArgBlob):
- * tests/errors.gir:
- * tests/function.gir:
- * tools/generate.c (write_callable_info): Use 'allow-none'
- consistently throughout
-
-2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 557092 – Callback annotations not used
-
- * giscanner/transformer.py (_create_callback): use annotations
- for callbacks
- * tests/scanner/annotation.h
- * tests/scanner/annotation-1.0-expected.gir: add tests
-
-2008-10-21 Colin Walters <walters@verbum.org>
-
- * giscanner/scannerlexer.l: Don't require trailing whitespace after
- uncommented parameters.
- * tests/*: Test it.
-
-2008-10-21 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Ensure that when doing an unversioned
- require, we prefer items earlier in the search path to later ones.
-
-2008-10-21 Owen Taylor <otaylor@redhat.com>
-
- * giscanner/transformer.py: For string parameters allow transfer annotation
- to override the standard automatic guessing based on 'const'.
-
-2008-10-21 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 557241 – "throws" flag for functions
-
- * tests/scanner/drawable-1.0-expected.gir,
- tests/scanner/drawable-injected-1.0-expected.gir,
- tests/scanner/drawable.[ch]: add simple test for throwing
- function (has GError ** as last argument)
-
- * giscanner/ast.py: add a 'throws' flag to Function
- * giscanner/glibtransformer.py: if a function's last paramerter is
- a GError, set the 'throws' flag and remove that parameter
- * giscanner/girwriter.py: write out the 'throws' attribute
- * giscanner/girparser.py: support parsing the 'throws' attribute
-
- * tests/repository/gitestthrows.c: add a simple test to check the
- throws flag in a typelib and invoke the function
-
- * girepository/ginfo.c, girepository/girnode.[ch],
- girepository/girnode.h, girepository/girparser.c,
- girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag
-
- * girepository/ginvoke.c: if a function throws, add a GError as last
- arguments, and propagate the error to the invoker.
-
-2008-10-21 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/transformer.py (_create_parameters): Warn if we see
- annotations for unknown parameters. If .h and .c files name
- parameters differently, the annotations may be lost.
-
-2008-10-21 Johan Dahlin <johan@gnome.org>
-
- Bug 556358 - don't use libtool internals
-
- * giscanner/Makefile.am:
- * giscanner/libtoolimporter.py:
- * giscanner/sourcescanner.py:
- * giscanner/utils.py:
- Add a python meta importer and remove a libtool symlink hack.
-
-2008-10-20 Andreas Rottmann <a.rottmann@gmx.at>
-
- * tests/scanner/Makefile.am (%.typelib): Set PYTHONPATH
- and --add-include-path appropriately when invoking the scanner.
- * tests/types/Makefile.am (%typelib): Likewise.
-
-2008-10-20 Colin Walters <walters@verbum.org>
-
- Bug 556777 - validate properties
-
- * giscanner/transformer.py: Add option to throw on unknown types.
- * giscanner/glibtransformer.py: Use it on properties.
- * tests/*: Add a test.
-
-2008-10-20 Colin Walters <walters@verbum.org>
-
- * giscanner/glibast.py: Also register g variants of
- default_array_types. This is not beautiful, but
- good alternatives aren't easy to come by.
- This fixes gchar ** parsing.
-
-2008-10-20 Colin Walters <walters@verbum.org>
-
- * docs/typelib-format.txt, girepository/gtypelib.h:
- Take a bit from ObjectInfo to represent abstract flag.
- * giscanner/cgobject.py: Expose g_type_get_flags.
- * girepository/girepository.h: Add accessor.
- * girepository/ginfo.c: Implement it.
- * giscanner/ast.py: Add is_abstract flag to generic
- class object.
- * giscanner/glibast.py: Use it.
- * giscanner/girwriter.py: Write it.
- * girepository/girparser.c: Parse it.
- * tests/*: Test it.
-
-2008-10-20 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * giscanner/girparser.py (_parse_function): don't lose
- 'transfer-ownership' attributes when injecting, check for the
- correct attribute
-
-2008-10-19 Johan Dahlin <johan@gnome.org>
-
- * giscanner/scannerlexer.l: Parse and ignore __asm.
-
-2008-10-19 Colin Walters <walters@verbum.org>
-
- * giscanner/girparser.py: Parse array length= to ensure
- it doesn't get lost from --inject.
-
-2008-10-17 Colin Walters <walters@verbum.org>
-
- Bug 556795 - char ** regression
-
- * giscanner/transformer.py: Fix parsing of ctypes, add some
- comments about what's going on.
- * tests/*: Add a test for char **.
-
-2008-10-17 Colin Walters <walters@verbum.org>
-
- Bug 556783 - change namespace handling to be more consistent
-
- * giscanner/transformer.py: Eliminate usage of
- strip_namespace_object. We now treat --namespace as the default
- --strip-prefix; however, if --strip-prefix is specified it
- overrides --namespace. This applies to everything except function
- names, where we do also strip the namespace.
- * giscanner/glibtransformer.py: Remove usage of
- strip_namespace_object.
- * tests/*: Update.
- * tests/*: Add skeletal GtkFrob-1.0 test which has different
- --namespace and --strip-prefix.
-
-2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556732 – generate gir files consistently
-
- * girepository/girparser.c (start_parameter):
- * tests/boxed.gir:
- * tests/invoke/testfns-1.0.gir:
- * tools/generate.c (write_callable_info): write
- 'transfer-ownership' attribute consistently with both
- return-value and parameter elements
-
-2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556732 – generate gir files consistently
-
- * tools/generate.c (write_callable_info): write 'direction'
- attribute only if other than 'in' to be consistent with
- girwriter.py
- * tests/boxed.gir:
- * tests/object.gir: remove direction="in" which is the default
-
-2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556732 – generate gir files consistently
-
- * giscanner/ast.py (Field): add readable and writable properties
- * giscanner/girparser.py (_parse_field): copy 'readable' and
- 'writable' attributes
- * giscanner/transformer.py (_create_member): create fields as
- read-write
- * giscanner/glibtransformer.py (_introspect_object,
- _pair_class_struct): make object instance and class fields
- read-only
- * giscanner/girwriter.py (_write_field):
- * tools/generate.c (write_field_info): write field 'readable'
- and 'writable' attributes only if non-default (read-only)
- * girepository/girparser.c (start_field): in the absence of
- attributes assume fields are read-only
- * tests/boxed.gir:
- * tests/struct.gir: remove redundant readable="1" from fields
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/utility-1.0-expected.gir: add writable="1" to
- all record and union fields
-
-2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556732 – generate gir files consistently
-
- * giscanner/girwriter.py (_write_property): write properties
- 'construct' attribute if set
- * tools/generate.c (write_property_info): write properties
- 'readable' and 'writable' attributes only if non-default
- * tests/object.gir: add writable="0"
- * tests/scanner/foo-1.0-expected.gir: add construct="1"
-
-2008-10-17 Johan Bilien <jobi@via.ecp.fr>
-
- * gir/glib-2.0.c: added annotations
-
-2008-10-16 Johan Bilien <jobi@via.ecp.fr>
-
- * giscanner/ast.py: Also assume direction=out for size_t*, ssize_t*
- arguments
-
-2008-10-16 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 556610 – giscanner/girparser.py drops parameter options
-
- * tests/scanner/drawable-injected-1.0-expected.gir,
- tests/scanner/DrawableAdditions.xml: added simple test for injection.
- * giscanner/ast.py: allow Parameter to take options in the constructor
- * giscanner/girparser.py: parse parameter options (transfer,
- direction, allow-none)
-
-2008-10-16 Colin Walters <walters@verbum.org>
-
- Bug 556185 - segfault on g_callable_info_get_return_type
-
- Initial patch from John Ehresman.
-
- * tests/repository/*: Add a test using
- g_callable_info_get_return_type. Instead of casting a
- GITypeInfo directly to a GIRegisteredTypeInfo, we need
- to call g_type_info_get_interface.
-
-2008-10-16 Colin Walters <walters@verbum.org>
-
- Bug 556579 - union and struct name misresolved
-
- * giscanner/transformer.py: The calls to _resolve_type_name
- for struct/union names was a legacy holdover from when type
- resolution had multiple phases. Now it's actively harmful
- since we might pull in an identical name from another
- namespace.
- * tests/*: Update.
-
-2008-10-16 Colin Walters <walters@verbum.org>
-
- Bug 556432 - transfer annotations and defaults
-
- * giscanner/transformer.py: Canonicalize type
- after removing *, not before. This ensures that
- guchar* is transformed to 'uint8'.
- Add some comments here.
- * giscanner/glibtransformer.py: Add _adjust_transfer
- phase for tweaking GObject transfers.
- * tests/*: test it.
-
-2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * configure.ac: enable bunch of gcc warning CFLAGS
-
-2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556543 – reduce compiler warnings
-
- * girepository/ginfo.c:
- * girepository/girepository.c (register_internal,
- count_interfaces, find_interface, find_namespace_version,
- parse_version, g_irepository_require):
- * girepository/girmodule.c (g_ir_module_build_typelib):
- * girepository/girnode.c (init_stats, dump_stats,
- _g_irnode_init_stats, _g_irnode_dump_stats,
- g_ir_node_can_have_member):
- * girepository/girparser.c (firstpass_end_element_handler,
- locate_gir, parse_basic, parse_type_internal, resolve_aliases,
- start_alias, start_type, end_type_top, parse_include, cleanup,
- post_filter):
- * girepository/gtypelib.c (validate_function_blob, validate_enum_blob):
- * giscanner/giscannermodule.c (directive_get_options,
- type_get_child_list):
- * giscanner/scannerlexer.l (parse_gtkdoc):
- * giscanner/scannerparser.y (ctype_free):
- * giscanner/sourcescanner.c:
- * giscanner/sourcescanner.h (gi_source_scanner_parse_macros):
- * tests/types/gitesttypes.c:
- * tools/compiler.c (main):
- * tools/generate.c (write_repository): Remove unused variables
- and code, add missing includes, declarations and case
- statements.
-
-2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556541 – access union members through UnionBlob rather than
- StructBlob
-
- * girepository/ginfo.c (g_union_info_find_method): access union
- members through UnionBlob rather than StructBlob
-
-2008-10-15 Colin Walters <walters@verbum.org>
-
- Bug 556331 - clean up includes handling
-
- * tools/g-ir-scanner: Rework command line arguments; now we take
- --add-include-path and --include separately.
- * giscanner/girwriter.py: Separate name= and version= in include
- directives.
- * giscanner/ast.py: Add Include type.
- * giscanner/transformer.py: Cleanups to register_include now that
- we don't need to handle mixed filenames and relative arguments.
- * girepository/girparser.c: Parse name and version separately;
- this fixes a bug as a side effect where we weren't resolving
- through aliases for basic types.
- * girepository/girepository.c: Fix format string args.
- * gir/Makefile.am: Update.
- * tests/*: Update.
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556434 – unhandled interface/object/... member types
-
- * girepository/girnode.c (g_ir_node_check_unhandled_members,
- g_ir_node_build_typelib): Check all
- interface/object/boxed/struct/union members are processed and
- abort if they are not. (Mostly callbacks in structs, but also
- fields in interfaces.)
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * a/girepository/girnode.c (g_ir_node_build_members,
- g_ir_node_build_typelib): refactor common code for processing
- members to a function
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * gir/Makefile.am (check-local): check that typelib -> gir -> typelib
- transformation is lossless (it's not)
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/Makefile.am: fix tests to compare xml to xml instead of
- typelib to xml, and stop on error
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (write_type_name, write_type_info,
- write_type_info, write_object_info, write_object_info,
- write_interface_info, write_error_domain_info): reduce code
- duplication
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556174 – parse types for lists etc.
-
- * girepository/girparser.c (end_type_recurse):
- * tests/boxed.gir:
- * tools/generate.c (write_type_info, write_field_info,
- write_callable_info, write_callable_info, write_constant_info,
- write_property_info): use nested <type>s for lists and hashes
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/enum.gir:
- * tests/object.gir: remove trailing whitespace from inside
- elements to match g-ir-generate output
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (xml_printf): quote printf arguments so that
- we don't generate invalid XML by writing unescaped double quotes
- and such in attributes
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (write_field_info, write_callable_info,
- write_function_info, write_callback_info, write_struct_info,
- write_constant_value, write_signal_info, write_vfunc_info,
- write_object_info, write_interface_info, write_union_info,
- write_repository): remove unused indent parameters, xmlwriter
- keeps track of necessary indentation
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (xml_element_new, xml_element_free,
- xml_start_element, xml_end_element, xml_end_element_unchecked,
- xml_open, xml_close): Keep track of generated XML tree and
- handle indentation and closing tags properly.
- (write_field_info, write_callable_info, write_function_info,
- write_callback_info, write_struct_info, write_value_info,
- write_constant_info, write_enum_info, write_signal_info,
- write_vfunc_info, write_property_info, write_object_info,
- write_interface_info, write_error_domain_info, write_union_info,
- write_repository): Use xml_start_element and xml_end_element to
- open/close tags.
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (xml_printf, xml_open, xml_close, xml_free):
- (write_type_name, write_type_info, write_field_info,
- write_callable_info, write_function_info, write_callback_info,
- write_struct_info, write_value_info, write_constant_value,
- write_constant_info, write_enum_info, write_signal_info,
- write_vfunc_info, write_property_info, write_object_info,
- write_interface_info, write_error_domain_info, write_union_info,
- write_repository): wrap all FILE access to go through simple xmlwriter
-
-2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556400 – Fails to build on OS X 10.4
-
- * configure.ac: check for functions backtrace and backtrace_symbols
- * girepository/girparser.c (backtrace_stderr): Comment out
- implementation if the functions are not available.
- * gcov.mak (clean-gcov, clean-gcno): always call 'find' with a
- directory for better portability
-
-2008-10-15 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 556433 – assume direction = out for int * parameters
-
- * giscanner/ast.py: define a list of types for which, if passed as
- reference, we assume a default direction of 'out'
- * giscanner/transformer.py: if a type has type pointer to one of the
- previously defined types, and no direction is set, assume out.
- * tests/scanner/drawable.[ch]: added tests for guessed direction=out
-
-2008-10-15 Johan Bilien <jobi@via.ecp.fr>
-
- * tests/scanner/annotation.c: fixed a few copy-paste errors
-
-2008-10-14 Johan Bilien <jobi@via.ecp.fr>
-
- Bug 556323 – transfer-ownership is wrong for functions returning const
- char *
-
- * giscanner/transformer.py: check for a const string as return value,
- not just const char*. Suggested by Colin Walters
- * tests/scanner/annotation-1.0-expected.gir: updated expected output
-
-2008-10-14 Johan Bilien <jobi@via.ecp.fr>
-
- * girepository/ginfo.c, girepository/girepository.h: add
- g_union_info_find_method
-
-2008-10-14 Colin Walters <walters@verbum.org>
-
- * tests/repository/Makefile.am: Reenable repo test.
- * tests/repository/gitestrepo.c: Prepend search
- path for $(top_builddir)/gir dir so that we don't
- require installation for "make check" to pass.
-
-2008-10-13 Jürg Billeter <j@bitron.ch>
-
- * giscanner/glibtransformer.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/drawable-1.0-expected.gir:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/utility-1.0-expected.gir:
-
- Support fields in GObject structs
-
-2008-10-13 Jürg Billeter <j@bitron.ch>
-
- * giscanner/ast.py: add signed integer and off_t to type_names
-
-2008-10-12 Jürg Billeter <j@bitron.ch>
-
- * giscanner/girparser.py: Parse bits attribute of fields
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/repository/Makefile.am: run 'gitestrepo' in 'make check'
- * tests/repository/gitestrepo.c (main): instantiate
- 'GCancellable' to ensure the GType is registered before using
- g_type_from_name()
-
-2008-10-12 Johan Bilien <jobi@via.ecp.fr>
-
- * giscanner/girparser.py: actually add the parsed constant nodes
-
-2008-10-12 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Don't cast DirEntry to Blob,
- actually look it up by offset.
-
-2008-10-12 Johan Bilien <jobi@via.ecp.fr>
-
- * giscanner/girparser.py: parse constant nodes in gir files
-
-2008-10-12 Johan Bilien <jobi@via.ecp.fr>
-
- * giscanner/transformer.py: prefix for constants have an underscore,
- so remove them as if they were functions, not objects.
-
-2008-10-12 Johan Bilien <jobi@via.ecp.fr>
-
- * tests/scanner/foo-1.0-expected.gir: add constants to expected gir
- file
-
-2008-10-12 Colin Walters <walters@verbum.org>
-
- Initial patch from Jani Monoses.
-
- * girepository/gtypelib.c: Fix inverted test for success
- in version parsing.
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (write_callable_info): use "transfer-ownership"
- attribute for return values
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tools/generate.c (write_callable_info): move "transfer" and
- "null-ok" attributes from <function> to <return-value> element
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * girepository/girparser.c (start_return_value): handle
- "transfer-ownership" attribute
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * girepository/girparser.c (parse_param_transfer):
- * tools/generate.c (write_callable_info): use "container" for
- container/shallow ownership transfer (not "shallow")
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * girepository/girparser.c (parse_param_transfer,
- start_parameter): Refactor handling of transfer=none/shallow/full
- to separate function
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 556048 – Crash in g_irepository_find_by_gtype
-
- * girepository/gtypelib.h (BLOB_IS_REGISTERED_TYPE): added
- * girepository/girepository.c (find_interface): Fix
- find_by_gtype case to get the type name from right offset
-
-2008-10-12 Jürg Billeter <j@bitron.ch>
-
- * giscanner/girparser.py: Fix parsing transfer-ownership attribute
- of <return-value>
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * girepository/gtypelib.h (RegisteredTypeBlob): make
- 'unregistered' one bit wide as everywhere else
-
-2008-10-12 Jürg Billeter <j@bitron.ch>
-
- * giscanner/glibtransformer.py:
- * tests/scanner/annotation-1.0-expected.gir:
- * tests/scanner/drawable-1.0-expected.gir:
- * tests/scanner/drawable.h:
- * tests/scanner/foo-1.0-expected.gir:
- * tests/scanner/utility-1.0-expected.gir:
-
- Readd class records as workaround to not break Gtk typelib
-
-2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- * tests/types/Makefile.am: fix typo in gitesttypes namespace
-
-2008-10-12 Jürg Billeter <j@bitron.ch>
-
- * giscanner/glibtransformer.py: Don't generate <record> elements
- for class structs.
- * tests/scanner/*: Update test cases
-
-2008-10-11 Colin Walters <walters@verbum.org>
-
- Bug 552858: versioning
-
- This is a big patch. You should probably remove your installation
- tree to be cleaner.
-
- * docs/typelib-format.txt: Add nsversion entry which holds
- version of namespace.
- * girepository/girepository.h: Add 'version' parameter to
- g_irepository_require. This may be NULL. Normally
- bindings should pass an explicit version though.
- * girepository/girepository.c: Lots of infrastructure to
- support versioning. Add some more documentation. Disallow
- some usage of NULL namespaces.
- * girepository/girmodule.c: Add version parameter.
- * girepository/gtypelib.c: Update header size.
- * giscanner/ast.py: Add version to Namespace.
- * giscanner/girparser.py: Parse version attribute from
- XML, pass to Namespace.
- * giscanner/girwriter.py: Write out version parameter.
- * giscanner/transformer.py: Clean up include registration.
- * tests/*: Add version attribute.
- * tests/invoke/invoke.c: Don't try looking up test before
- it's loaded in repository.
- * tools/generate.c: Output version parameter.
- * gir/Makefile.am: Add 2.0 version to .gir files.
-
-2008-10-11 Colin Walters <walters@verbum.org>
-
- * giscanner/scannerlexer.l (parse_gtkdoc): Don't lose
- if we have mismatched parens.
-
-2008-10-11 Lucas Rocha <lucasr@gnome.org>
-
- * giscanner/girparser.py (_parse_enumeration_bitfield): fix typo
- on 'members' variable.
-
-2008-10-11 Colin Walters <walters@verbum.org>
-
- Bug 555947 - update annotations syntax
-
- * giscanner/ast.py: Default to None for transfer. Remove
- default transfers for container types; we require this to
- be specified now.
- * giscanner/girwriter.py: Transfer is now 'none', 'container',
- 'full' to match repository.
- * giscanner/scannerlexer.l: Annotations now are parenthesized.
- * giscanner/transformer.py: Update for new annotations syntax.
- * tests/*: Update.
-
-2008-10-11 Johan Bilien <jobi@litl.com>
-
- * giscanner/scannerparser.y: ignore non-UTF-8 string constants
-
-2008-10-11 Johan Bilien <jobi@litl.com>
-
- Bug 552347: Parse #defines constants
-
- * girepository/gtypelib.c: update the list of value_size
- with recently defined type tags
- * giscanner/scannerparser.y: brought back parsing of #defined, as
- present in older version
- * giscanner/giscannermodule.c: bind gi_source_scanner_append_filename
- * giscanner/girwriter.py: write out constant tags in the gir
- * giscanner/sourcescanner.py: add accessor for const_string
- * giscanner/transformer.py, giscanner/glibtransformer.py: handle
- constant
-
-2008-10-11 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Bug 555946: Install a test module exercising all types, transfer
- rules, etc.
-
- * configure.ac
- * tests/Makefile.am
- * tests/types/*: Add and install a test module that has functions
- accepting and returning most of the basic types to enable bindings
- implementors to more easily test their type conversion routines.
-
-2008-10-11 Jürg Billeter <j@bitron.ch>
-
- Bug 552374: Const strings should be identified in the gir.
-
- * giscanner/transformer.py: support string memory management
- * tests/scanner/foo.h: use char * and const char *
- * tests/scanner/foo-expected.gir: test that
-
-2008-10-11 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girparser.py:
- Also parse enums which are not glib types.
-
-2008-10-11 Lucas Rocha <lucasr@gnome.org>
-
- Bug 552370: add one more test for unsigned as a type, not as
- a type qualifier.
-
- * giscanner/ast.py: add 'uint' type name for 'unsigned'.
- * test/scanner/foo.h: add function which uses unsigned as a type.
- * test/scanner/foo-expected.gir: test that.
-
-2008-10-11 Andreas Rottmann <a.rottmann@gmx.at>
-
- Bug 555712: Struct and union issues
-
- * giscanner/scannerparser.y (struct_declarator): Use information
- provided about the bit width of a field.
- * giscanner/transformer.py (Transformer._create_member): Pass the
- symbol's const_int member to the created field (it represents the
- bit width).
- * giscanner/girwriter.py (GIRWriter._write_field): Output 'bits'
- field attribute, if present.
- * giscanner/ast.py (Field): Add 'bits' member, specifying the
- width in bits of the field (only relevant for bitfields).
- * tests/*: Updated.
-
- * giscanner/transformer.py (Transformer._create_typedef_struct)
- (Transformer._create_typedef_union): Add calls to _create_struct()
- and _create_union(), respectively. This causes the scanner to
- generate output for fields of struct and union typedefs.
- * tests/*: Updated.
-
-2008-10-11 Jürg Billeter <j@bitron.ch>
-
- Bug 552370: unsigned not scanned properly
-
- * giscanner/scannerparser.y: combine basic types such as unsigned
- int and long long when scanning
- * tests/scanner/foo-expected.gir:
- * tests/scanner/foo.c: (foo_test_unsigned):
- * tests/scanner/foo.h: test that
-
-2008-10-11 Lucas Rocha <lucasr@gnome.org>
-
- Bug 554854: The --typelib-xml and --inject options should reuse
- giscanner parser/writer.
-
- * giscanner/ast.py: add constructor list to Struct and Union.
- Add new param in Return's contructor to define transfer.
- * giscanner/girparser.py: several additions to the parser in order
- to have parsing all nodes of the gir xml files.
- * tools/g-ir-scanner (typelib_xml_strip, inject): use gir parser
- and writer in --inject and --typelib-xml options.
- * giscanner/xmlwriter.py: ignore empty attributes instead of
- raising an error as this basically exposes a bug in GIRParser.
- This should be reverted as soon as the parser is fixed.
-
-2008-10-11 Lucas Rocha <lucasr@gnome.org>
-
- Bug 552376: scanner generates wrong names for enum members when
- there's no defined gtype.
-
- * giscanner/utils.py (strip_common_prefix): Always strip common
- prefix exactly up to the last "_", and not beyond.
- * tests/scanner/foo.h (FooEnumNoType): add FOO_ENUM_NEUF. The point
- here is that the first character after the last '_' should should be
- the same as the character in the same position on the type name.
- * tests/scanner/foo-expected.gir: test that
-
-2008-10-10 Lucas Rocha <lucasr@gnome.org>
-
- Bug 555293: append library_paths to LPATH env variable to work
- around a bug in find_library when using ldconfig.
-
- * tools/g-ir-scanner (main): ditto.
-
-2008-10-09 Lucas Rocha <lucasr@gnome.org>
-
- * girepository/girepository.c (register_internal): fix regression on
- invoke test case by making sure we load the global module in the
- typelib when dealing with inline typelibs.
- * girepository/gtypelib.c: a couple of coding style fixes.
-
-2008-10-06 Lucas Rocha <lucasr@gnome.org>
-
- Bug 555294: Add support for multiple shared libraries per typelib.
-
- * girepository/ginvoke.c (g_function_info_invoke),
- girepository/ginfo.c(g_registered_type_info_get_g_type): use
- g_typelib_symbol instead of g_module_symbol.
- * girepository/girepository.h: remove g_typelib_set_module and add
- g_typelib_symbol.
- * girepository/gtypelib.[ch] (find_some_symbol, _g_typelib_init,
- g_typelib_new_from_memory, g_typelib_new_from_const_memory,
- g_typelib_free, g_typelib_symbol): chnage GTypeLib to hold a list of
- modules instead of just one. The symbol lookup is now abstracted
- behind g_typelib_symbol which tries to find the passed symbol name in
- one of its modules.
- * giscanner/girwriter.py, tools/g-ir-scanner: change scanner to read
- and write shared_library attribute as a comma-separated list of libs.
-
-2008-10-06 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Parse length= annotation as
- a parameter name, not a raw int.
- * tests/*: Update.
-
-2008-10-03 Colin Walters <walters@verbum.org>
-
- Bug 551744: Non-GObject types aren't aggregating ctors and methods
-
- * girepository/gtypelib.c: Allow ctors/methods on struct,union,
- and boxed.
- * giscanner/glibtransformer.py: Ditto, and GLibBoxed is also a
- registered type.
- * tests/*: Extend.
-
-2008-10-03 Colin Walters <walters@verbum.org>
-
- Bug 554576: scan problem with ev_selection_render_selection()
-
- * giscanner/transformer.py: Only do type resolution once we've
- scanned all types. What could happen before is that we'd strip
- the namespace from local type "EvSelection" => Selection, and
- then later pull a "Selection" from some other namespace because
- we hadn't yet seen the local EvSelection. This could come
- down to hash table ordering and other things so not easy
- to write a test for.
-
-2008-10-03 Lucas Rocha <lucasr@gnome.org>
-
- * giscanner/girwriter.py (_parser_member): fix the last parameter of
- GLibEnumMember constructor as it should be the enum member nick.
-
-2008-10-02 Colin Walters <walters@verbum.org>
-
- Bug 552961: remove this parameter for methods
-
- * giscanner/glibtransformer.py: Delete this parameter; it is
- redundant.
- * girepository/ginvoke.c: Insert this parameter for methods.
- * girepository/gtypelib.c: Remove no longer needed verification of
- method this parameter.
- * tests/*: Update.
-
-2008-09-30 Dan Winship <danw@gnome.org>
-
- Bug 554490: g-ir-scanner gets confused by '\\'
-
- * giscanner/scannerlexer.l (chartext, stringtext): fix use of
- backslashes so it will correctly parse '\\' and "\\"
-
- * tests/scanner/annotation.c: add a use of '\\' to make sure that
- this stays fixed
-
- * giscanner/glibtransformer.py (GLibTransformer.count_type): typo
-
-2008-10-02 Colin Walters <walters@verbum.org>
-
- bug 552393: Note variadic functions
-
- * giscanner/scannerparser.y: Parse ellipsis. Refactor grammar
- to use parameter_list directly.
- * giscanner/sourcescanner.h: Add ellipsis csymbol type.
- * giscanner/ast.py: Add Varargs type.
- * giscanner/transformer.py: Check for ellipsis symbol, transform
- to varargs type.
- * girepository/girnode.h: Add varargs flag to in-memory nodes.
- Parse varargs functions, but filter them out before we start
- compiling the typelib.
-
-2008-10-02 Colin Walters <walters@verbum.org>
-
- Bug 554632: type tag for GType
-
- * girepository/girepository.h, girepository/girepository.c:
- Add type tag for GType - it's a special type we don't want
- to resolve to just "long".
- * docs/typelib-format.txt: Update.
- * girepository/girparser.c: Parse it.
- * giscanner/glibtransformer.py: Ensure we don't put GType in
- the GObject.gir.
- * tools/generate.c: Remove hardcoded type list.
- * test/* update.
-
-2008-09-30 Dan Winship <danw@gnome.org>
-
- Bug 554521: scanner generates wrong names for enum members with
- full type name prefix
-
- * giscanner/utils.py (strip_common_prefix): Fix this to strip the
- right amount when the entire "first" string is a prefix of
- "second"
-
- * tests/scanner/foo.h (FooEnumFullname):
- * tests/scanner/foo-expected.gir: test that
-
-2008-09-29 Colin Walters <walters@verbum.org>
-
- Bug 552380: Array parameters should be marked in the gir
-
- * giscanner/ast.py: Default char** to utf8[], and guchar* to
- uint8[]. Add Array, List, and Map subclasses of Type;
- these types can be generic. Return transfer defaults
- to true if return value is string or container type.
- Delete Sequence type.
- * giscanner/scannerlexer.l: Syntax change for annotations;
- use <> since it's more readable.
- * giscanner/girwriter.py: Write out these changes.
- * giscanner/girparser.py: Parse them.
- * giscanner/transformer.py: Have a defined set of
- both list and map types. When creating a type,
- check if the ctype we've parsed is one of them,
- if so create a container type subclass as appropriate.
- * girepository/girparser.c: Parse in generic types.
- * tests/*: Update.
-
-2008-09-27 Colin Walters <walters@verbum.org>
-
- * tools/g-ir-scanner: Add --inject option.
-
-2008-09-25 Colin Walters <walters@verbum.org>
-
- Remove non-repository types from GIR
-
- * giscanner/ast.py: The canonical name is 'utf8', not
- 'string'.
- * giscanner/glibast.py: A few more glib type mappings.
- * girepository/girparser.c: We only parse repository types.
- * tests/*.gir: Update.
-
-2008-09-23 Colin Walters <walters@verbum.org>
-
- Bug 552566: Add time_t type
-
- We need a type for time_t since it's special in C, and just
- mapping it to long precluded bindings from handling it
- in a nice way.
-
-2008-09-19 Colin Walters <walters@verbum.org>
-
- Bug 552390: Handle capitialization like "DBus" more robustly
-
- The to_underscores function was designed for use against prefixed
- names; we need a separate function which will convert names like
- DBusFoo into dbus_foo, not d_bus_foo.
-
-2008-09-19 Colin Walters <walters@verbum.org>
-
- Add check to make sure we're not hitting out unresolved types
-
- Validate the "this" argument for methods
-
- Remove heuristic matching of methods to classes based on prefix
-
- It was a broken hack that dated from when we handled underscoring
- and capitalization conventions less well.
-
-2008-09-18 Colin Walters <walters@verbum.org>
-
- Bug 552384: Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin
-
- On Darwin, the suffix for installed shared libraries (.dylib) is
- different from loadable modules (.so). We use a bit of magic shell
- script from Behdad Esfahbod to figure out the right suffix.
-
-2008-09-15 Johan Dahlin <johan@gnome.org>
-
- * giscanner/sourcescanner.py (SourceType.type_qualifier): Add
- a wrapper for type_qualifier as well.
-
-2008-09-15 Colin Walters <walters@verbum.org>
-
- http://bugzilla.gnome.org/show_bug.cgi?id=552065
-
- * giscanner/ast.py: Add deprecation attributes.
- * giscanner/girwriter.py: Write out deprecation data.
- * girepository/girparser.c: Relax parsing; deprecated
- attribute now includes freeform string.
- * giscanner/scannerlexer.l: Parse Deprecated.
- * giscanner/transformer.py: Look for deprecated attribute
- on functions.
- * tests/scanner/*: Add a Deprecated test.
-
-2008-09-14 Tor Lillqvist <tml@novell.com>
-
- * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT).
-
-2008-09-14 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Ignore functions with
- leading _.
-
-2008-09-12 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Accept Gtk.Type as GType.
-
-2008-09-12 Colin Walters <walters@verbum.org>
-
- * giscanner/ast.py: Bind pid_t to INT for vte.
-
-2008-09-12 Colin Walters <walters@verbum.org>
-
- * giscanner/girparser.py: Parse c:type for boxed records/unions.
- * giscanner/glibast.py: Avoid overwriting ctype.
- * giscsanner/transformer.py: Try resolving types using the GType names.
-
-2008-09-12 Colin Walters <walters@verbum.org>
-
- * giscanner/minixpath.py: Code to run an "XPath"
- assertion against an XML tree, taken from
- gir-repository/gir/tests.py.
- * giscanner/Makefile.am: Ship it.
- * tools/g-ir-scanner: Add --xpath-assertions option.
- * gir/GLib-assertions.txt: Add a few assertions.
- * gir/Makefile.am: Run them.
-
-2008-09-11 Colin Walters <walters@verbum.org>
-
- http://bugzilla.gnome.org/show_bug.cgi?id=551737
-
- * giscanner/transformer.py: Fix strip_namespace_func to only strip
- prefix if it ends with _. Tweak callback stripping to determine
- based on presence of _ whether we need to use strip_namespace_func
- or strip_namespace_object.
-
-2008-09-09 Owen Taylor <otaylor@redhat.com>
-
- * docs/typelib-format.txt: Wether => Whether
-
-2008-09-08 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Default to "readable" for properties.
- * giscanner/ast.py: Add readable, writable etc.
- * giscanner/girwriter.py: Writ them.
- * giscanner/glibtransformer.py: Inspect them.
- * tests/*: Update.
-
-2008-09-07 Colin Walters <walters@verbum.org>
-
- * giscanner/cgobject.py: Add comment.
-
-2008-09-07 Colin Walters <walters@verbum.org>
-
- * giscanner/cgobject.py: Also call g_thread_init.
-
-2008-09-07 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Fix regression by not
- stripping prefix before stripping namespace for unions
- either.
-
-2008-09-06 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: If a namespace contains
- multiple caps, try stripping both gnomekeyring_ and
- gnome_keyring_.
-
-2008-09-07 Johan Dahlin <johan@gnome.org>
-
- Bug 551162 – giscanner does not recognize asm and __asm__
- * giscanner/scannerlexer.l:
- Patch by Jani Monoses.
-
-2008-09-06 Colin Walters <walters@verbum.org>
-
- * girepository/girnode.c: Allow gtype_name
- and gtype_init in struct and union.
- * girepository/girparser.c: Parse glib:
- boxed bits for both structure and union.
- * girepository/gtypelib.c: Don't barf
- if structure is boxed.
- * giscanner/girparser.py: Parse new XML
- format.
- * giscanner/girwriter.py: Write out new
- XML format.
- * giscanner/glibast.py: Define new classes
- which are both Boxed and Struct/Union, as
- well as an "Other" for everything else.
- * giscanner/glibtransformer.py: Handle
- boxed types specially; we try to merge
- them with a struct/union if one exists,
- otherwise fall back to generic boxed.
- * tests/*: Update.
- * tools/generate.c: Write out new format.
-
-2008-09-06 Johan Dahlin <johan@gnome.org>
-
- * giscanner/grealpath.h: Include stdlib.h
-
- * docs/g-ir-generate.1: Remove leading %
-
-2008-09-01 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Look at c:type to determine
- whether or not an item is a pointer.
-
-2008-09-01 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Makefile.am:
- Set PYTHONPATH so the scanner can run
- even if you didn't install anything.
-
-2008-09-01 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- Post-release version bump
-
-=== 0.5.0 ===
-2008-09-01 Johan Dahlin <johan@gnome.org>
-
- * NEWS: Update
-
-2008-08-31 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Quiet info
- prints for now.
-
-2008-08-31 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- Bump version to 0.5.0
-
-2008-08-31 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Follow aliases to ensure
- we don't get a constructor returning a basic type.
- * giscanner/transformer.py: Add function to follow aliases.
- * tests/ Update.
-
-2008-08-31 Johan Dahlin <johan@gnome.org>
-
- * giscanner/scannerlexer.l:
- * giscanner/scannerparser.y:
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- Parse GCC extensions in the parser instead of just undeffing them
- in the pre-processor.
-
-2008-08-31 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- Clean up a huge if. Do not add methods or constructors
- to enums/flags.
- * giscanner/utils.py:
- second might be longer than first, check that.
-
-2008-08-31 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- Add a GModule.gir
-
-2008-08-31 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Don't lose if we
- have no includedirs
-
-2008-08-31 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Look for libtool
- library in current directory
- * tests/scanner - Update.
-
-2008-08-30 Colin Walters <walters@verbum.org>
-
- * docs/typelib-format.txt: Add a guint32
- for dependencies.
- * gir/Makefile.am: Dep on Makefile
- * girepository/ginfo.c:
- * girepository/girepository.c: Clean up
- default typelib handling; remove global
- default_typelib variable. Ensure we handle
- NULL repository in more places.
- Support dependency resolution.
- Support lazy loading.
- * girepository/girepository.h: Remove
- g_irepository_unregister; we don't support
- unloading typelibs since really they're
- process-global. Update for lazy loading
- API.
- * girepository/girmodule.c: Use g_new0.
- Add dependencies to GirModule.
- * girepository/girparser.c: Parse dependencies.
- * girepository/gtypelib.c: Add 4 bytes for
- dependencies.
- * tests/Makefile.am: Kill off gobject.gir,
- it conflicts with the real one.
- * tests/object.gir: Dep on GObject.
- * tools/generate.c: Take --includedir
- argument to say which directories to search
- for typelibs. Print out dependencies.
-
-2008-08-30 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Reduce warning noise.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/ginfo.c: Add some assertions regarding
- refcounts, just to be sure.
- * giscanner/glibtransformer.py: Blacklist a few more
- odd Gio methods.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Blacklist a few
- functions that use GError oddly
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c: Don't crash if no
- shlib is embedded
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Handle chains of aliases
- across modules by ensuring we fully qualify aliases
- from includes.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Don't search aliases
- for basic types.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Rewrite type parsing
- to handle both GLib parsing case as well as correctly
- handling GLib.List and friends. Don't try to treat
- e.g. ListStore as a List.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c: Add more context
- during validate.
-
-2008-08-29 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Add some informative
- logging messages in corner cases. Be sure we use
- the most recent node set instead of a cache
- when generating result set.
- * tests/: Remove duplicated bits in expected girs
- * girepository/girparser.c: Accept both List (for
- compiling GLib) and GLib.List (what the scanner
- generates).
- * tests/ - Update.
- * tools/generate.c: Generate canonical form.
-
-2008-08-29 Johan Dahlin <johan@gnome.org>
-
- * giscanner/config.py.in:
- Use datarootdir instead of datadir to avoid
- an autoconf warning.
-
-2008-08-29 Johan Dahlin <johan@gnome.org>
-
- * README:
- * TODO:
- * examples/gdk-pixbuf.gidl:
- * libffi.pc.in:
- Update and remove old cruft.
-
-2008-08-29 Johan Dahlin <johan@gnome.org>
-
- * Makefile.am:
- * docs/g-ir-compiler.1:
- * docs/g-ir-generate.1:
- * docs/g-ir-scanner.1:
- Add man pages for the generator and compiler.
-
-2008-08-29 Johan Dahlin <johan@gnome.org>
-
- * docs/g-ir-scanner.1: Document
-
- * giscanner/Makefile.am:
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * tools/g-ir-scanner:
- Remove gidl support.
-
-2008-08-28 Colin Walters <walters@verbum.org>
-
- * tests/scanner/Makefile.am: Pass the right
- --includedir args. Add a Makefile dep.
- * tools/compiler.c: Pass includedirs down.
- * girepository/girparser.c: Actually put
- includedirs in context, pass down. Fix
- locate_gir.
-
-2008-08-28 Colin Walters <walters@verbum.org>
-
- * gir/Makefile.am: Use --includedir
- * girepository/girparser.c: Recursively parse
- includes to pull in aliases and expand them.
- We need this to avoid putting unknown names in
- the typelibs.
- * tools/compiler.c: Add --includedir option.
- * giscanner/ast.py: Map size/ssize to types
- too.
-
-2008-08-28 Tor Lillqvist <tml@novell.com>
-
- Make check now runs successfully on Windows.
-
- * tools/compiler.c (write_out_typelib): Use binary mode for output
- file on Windows.
-
- * girepository/girnode.c: Don't print NULL strings.
-
- * tests/invoke/Makefile.am
- * tests/scanner/Makefile.am: Use -no-undefined on Windows to
- convince libtool to build shared libraries.
-
- * tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use
- g_assert() instead of printing out expected errors.
-
-2008-08-28 Tor Lillqvist <tml@novell.com>
-
- * girepository/gtypelib.h: Change type of bitfield fields from
- guint to the most suitable smaller type. This makes the struct
- sizes match the ones on Linux that the sanity check expects when
- using gcc -mms-bitfields on Windows.
-
-2008-08-28 Johan Dahlin <johan@gnome.org>
-
- * Makefile.am:
- * configure.ac:
- * gir/Makefile.am:
- * giscanner/Makefile.am:
- * tests/Makefile.am:
- * tests/scanner/Makefile.am:
- Make distcheck pass.
-
-2008-08-27 Johan Dahlin <johan@gnome.org>
-
- * giscanner/Makefile.am:
- Only send in -no-undefined on Win32 as it breaks on MacOS X.
-
-2008-08-27 Tor Lillqvist <tml@novell.com>
-
- Make g-ir-scanner work on Windows. Still problems with the typelib
- code. Changes okayed by jdahlin.
-
- * configure.ac: Check for Windows, set Automake conditional
- OS_WIN32. Change backslashes to forward slashes in pyexecdir to
- avoid shell quoting issues
-
- * girepository/Makefile.am: Use -no-undefined so that libtool
- agrees to build a shared library on Windows.
-
- * girepository/girparser.c (backtrace_stderr): No backtrace() on
- Windows. Empty implementation on Windows so far.
-
- * girepository/gtypelib.c (g_typelib_check_sanity): Give more
- informative error message for the assertion failures. Tell also
- what the expected size of the struct is. Check all sizes first and
- fail afterwards if at least one size was different from expected.
-
- * tools/Makefile.am: Reorder libraries into proper logical
- dependency order.
-
- * tools/generate.c: Don't include <dlfcn.h>, not used.
-
- * giscanner/Makefile.am: On Windows, link with the Python library,
- and install the module DLL as _giscanner.pyd. Remove the
- unnecessary import library and libtool library that libtool has
- installed.
-
- * giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax
- and just skip it. Recognize also two "l" suffixes for long long
- constants. Recognize also __inline__.
-
- * giscanner/grealpath.h (g_realpath): Implement on Windows, using
- GetFullPathName(). As such, GetFullPathName() does more than the
- UNIX realpath(). It also changes relative paths into absolute
- paths. But for our purposes that shouldn't matter.
-
- * giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On
- Windows the file descriptor passed to us is from Python. Python
- Python2.5 uses the msvcr71.dll C library, while mingw-built code
- uses msvcrt.dll. On Windows, file descriptors are specific to
- which C library is used. So we must find out what underlying OS
- handle corresponds to the file descriptor Python passes us, and
- then make that into a file descriptor valid for the C library this
- code uses.
-
- * giscanner/sourcescanner.py (_parse): Don't need to bypass
- __attribute__ as the lexer now handles it. The definition as empty
- was ineffective for mingw anyway, as mingw's _mingw.h undefines
- __attribute__. Close the temp file before unlinking it.
-
- * giscanner/cgobject.py: Use correct library name for the gobject
- DLL on Windows.
-
- * gir/Makefile.am: Must pass the full basename of the DLLs on
- Windows to g-ir-scanner. It's a bit ugly that we have to "know"
- that the names of the GLib DLLs are like libglib-2.0-0.dll, but in
- reality they won't change, until there is a GLib 3, and then also
- the Unix code here needs changing.
-
- Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that
- libintl.h is found.
-
-2008-08-26 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Search
- $DATADIR/girepository instead of
- $DATADIR/gitypelibs; this naming makes
- it clearer that e.g. jgir can install
- .jars there.
- * gir/Makefile.am: Install there.
-
-2008-08-26 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c (_g_typelib_init): Also
- use G_MODULE_SUFFIX instead of hardcoding .so.
-
-2008-08-26 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c (_g_typelib_init): Free
- string in the right place.
-
-2008-08-26 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c (_g_typelib_init): Handle
- both .la and .so names; this works better in the
- uninstalled library case.
-
-2008-08-26 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * giscanner/Makefile.am:
- * giscanner/cgobject.py:
- * giscanner/config.py.in:
- * giscanner/sourcescanner.py:
- Avoid undeffing __GNUC__, instead define
- __attribute__ & friends. Remove glibconfig.h hack.
- This makes gobject-introspection work better on
- MacOS X, Thanks to Richard Hult for kind help.
-
-2008-08-25 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Always print
- statistics.
-
-2008-08-25 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Skip over
- interfaces we don't know.
-
-2008-08-25 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Parse new implements
- syntax, drop gapi one.
- * tests/object.gir: Update.
- * tools/generate.c: Generate new syntax.
-
-2008-08-25 Colin Walters <walters@verbum.org>
-
- * giscanner/ast.py: Add interfaces property
- to class.
- * giscanner/girwriter.py: Write out implemented
- interfaces.
- * giscanner/glibtransformer.py: Introspect
- implemented interfaces.
- * tests/scanner/*: Make FooObject implement
- FooInterface.
-
-2008-08-25 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: More correctly pair
- methods; if we have a symbol that starts with
- e.g. hippo_canvas look for a matching HippoCanvas
- class before accepting e.g. HippoCanvasImage.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * tools/g-ir-scanner: Filter out unknown options from
- pkg-config files.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Fail with better
- error if we can't find library.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * tools/g-ir-scanner: Use subprocess instead of
- commands, works on Windows and avoids the evil
- shell on Unix.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Skip over
- g_object_get_type from GLib trunk.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c (g_irepository_require):
- Don't open shared library here; we already do it
- in gtypelib.c.
-
-2008-08-24 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c: Add context stack so
- when we get an error we can print out nicely
- where it is.
-
-2008-08-24 Johan Dahlin <johan@gnome.org>
-
- * girepository/girparser.c (start_glib_boxed), (start_function),
- (start_field), (start_alias):
- Refactor a couple of parsing functions to be simpler to follow.
- Avoid huge ifs.
-
-2008-08-24 Johan Dahlin <johan@gnome.org>
-
- * girepository/girparser.c (start_function):
- Remove left-over code, checking type of function.
-
-2008-08-23 Colin Walters <walters@verbum.org>
-
- * giscanner/config.py: Define DATADIR.
- * giscanner/transformer.py: Look in DATADIR.
-
-2008-08-23 Colin Walters <walters@verbum.org>
-
- * girepository/gtypelib.c: Check constructor
- returns.
- * girepository/girnode.c: Small tweaks.
- * girepository/ginfo.c: Calculate signature offsets
- more robustly.
- * girepository/girparser.c: Remove duplicate
- start_boxed.
- * giscanner/glibtransformer.py: Avoid marking
- functions which return a basic type as
- constructors.
-
-2008-08-23 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Ignore <include>.
- * giscanner/girparser.py: Parse them.
- * giscanner/girwriter.py: Generate them.
- * giscanner/transformer.py: Process <include>
- recursively. Don't require full path for
- includes, look in {$XDG_DATA_DIRS}/gir.
- * tools/g-ir-scanner: Pass through includes.
- * Makefile.am: Remove extra --include
- args for scanner.
- * *-expected.gir: Add expected includes.
-
-2008-08-23 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Makefile.am:
- * tests/scanner/annotation-expected.gir:
- * tests/scanner/drawable-expected.gir:
- Avoid duplication in the Makefile, regenerate with new
- namespaces (same as the filename)
-
-2008-08-22 Colin Walters <walters@verbum.org>
-
- * girepository/girnode.c: Don't hardcode integers,
- use GITypeTag.
-
-2008-08-22 Johan Dahlin <johan@gnome.org>
-
- * giscanner/sourcescanner.py:
- Check for ../gobject-introspection-1.0.pc.in to determine
- if we run installed or uninstalled.
-
-2008-08-22 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * giscanner/sourcescanner.py:
- Send in undefs/defines via writing it directly to stdin
- of cpp instead of via arguments.
-
-2008-08-22 Colin Walters <walters@verbum.org>
-
- * tools/generate.c, tools/compiler.c: Default
- to --raw.
- * all Makefile.am: Update.
-
-2008-08-22 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Pass through
- recursive types. Avoid overwriting errors.
- * giscanner/xmlwriter.py: Always write the
- XML header.
- * tests/*.gir: Adjust.
- * tests/scanner/Makefile.am: Build typelibs,
- and generate XML from those. Once we
- have a good diff mechanism...
- * tests/scanner/*-expected.gir: Add XML
- header.
- * tools/g-ir-scanner: Accept --typelib-xml
- option.
- * tools/generate.c: Better defaults for transfer.
-
-2008-08-22 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- * gir/Makefile.am:
- * giscanner/Makefile.am:
- * giscanner/config.py.in:
- * giscanner/sourcescanner.py:
- Use the generated glibconfig.h for all scanner invokations.
- Rename it to glibconfig-scanner.h and install it.
- Add a config.py which so far contains the include dir.
-
-2008-08-22 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- Replace glibconfig.h with our own, do some replacement
- for CPP/C features we do not support
-
-2008-08-22 Colin Walters <walters@verbum.org>
-
- * tools/generate.c (write_callable_info): Fix unref
- sequence.
-
-2008-08-22 Colin Walters <walters@verbum.org>
-
- * gobject-introspection-1.0.pc.in: Add g-ir-generate.
- * tests/Makefile.am: Support $(DEBUG)
- * tools/generate.c: Do immediate close tags if no
- sub-elements.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * tests/scanner/drawable-expected.gir,
- * tests/scanner/drawable.c,
- * tests/scanner/drawable.h:
- Add a method.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Compute prefix
- by searching through the symbol for bits
- rather than going directly from ctype; this fixes
- webkit_ namespace.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Also try squashing
- underscores from namespace, fixes webkit_web_view_new.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: More ctor work,
- avoid having gtk_window_group_new end up under
- GtkWindow.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Much simpler approach
- of mapping uscored names to classes.
- * giscanner/utils.py: Remove unnecessary function.
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * girepository/girepository.c (g_irepository_require):
- Plug memory leak and avoid using freed memory.
- Resolve the whole module path, here as well.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Look up all permutations
- of class names when scanning methods/ctors based on
- the prefix instead of using the return value. This
- associates gtk_window_new with the right class.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * girepository/girmodule.c (g_ir_module_build_typelib):
- Revert change to increment header_size; we do that in
- write_string.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * girepository/girnode.c (write_string): Tweak to
- use UINT instead of INT. Not likely to matter.
- * girepository/girmodule.c (g_ir_module_build_typelib):
- Add to header_offset as well for header strings
- to match what write_string does.
- * girepository/gtypelib.c: Replace is_name with
- validate_name, which more strongly validates and
- handles errors in a better way. Update all callers.
- * giscanner/glibtransformer.py: Handle constructors
- better.
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am (typelibs_DATA): Build and
- install the Gio.typelib too
-
- * girepository/gtypelib.c (_g_typelib_init):
- Use g_module_build_path to resolve the shlib name
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * gir/Makefile.am: CLEANFILES typelibs too.
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- Do not send .la files through find_library.
-
-2008-08-21 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c (g_irepository_require):
- Fix one small leak in error case.
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- Parse glibconfig.h as well and install the compiled
- typelib
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * giscanner/glibtransformer.py:
- * tools/g-ir-scanner:
- Do not hard-core library names in the Makefile, reuse
- ctypes find_library instead.
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * girepository/girparser.c (resolve_aliases):
- Remove compilation warnings
-
-2008-08-21 Johan Dahlin <johan@gnome.org>
-
- * girepository/girepository.c (g_irepository_require):
- Rewrap and fix double free bug by leaking a bit.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Add new function
- g_irepository_get_typelib_path which tells
- us from where we loaded a namespace.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * tests/scanner/*-expected.gir: Adjust for
- added shared-library.
- * giscanner/giwriter.py: Make pylint happy.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girmodule.c (g_ir_module_build_typelib):
- Calculate size correctly, avoid use-after-free.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c: Remove
- g_irepository_register_file in favor of
- g_irepository_require. There are two
- possible deployment scenarios for typelibs:
- First, separate in $DATADIR/gitypelibs/. Second,
- they may be embedded in shlibs. However since
- the first is now the normal case, the API is
- optimized around it.
-
- Refactor internals to look up typelibs for
- namespaces just-in-time, but we expect
- consumers to call g_irepository_require.
-
- Also, add some docs. No one has died from that
- before.
- * gir/Makefile.am: Need --library for glib.
- * giscanner/girwriter.py: Write out shared-library.
- * tools/g-ir-writer: Take the first --library
- argument as the target of shared-library. In
- the future we should make this nicer with pkg-config
- probably.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.py: And parse them.
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibast.py: Add gshort/gushort types
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * gir/Makefile.am: Rename .gir files using GI namespace.
- * girepository/girepository.c: Use XDG_DATA_DIRS for
- looking up typelibs. Also typelibs are now suffixed
- with .typelib.
- * tests/invoke/Makefile.am: Only use metadata.
- * girepository/Makefile.am: Remove unnecessary include.
- * tests/scanner/Makefile.am: Update using GI namespaces
- for scanner includes.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/transformer.py: Suppress aliases whose
- name is a builtin.
- * girepository/ast.py: Define some more aliases.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Avoid alias infloops.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * tests/scanner/foo-expected.gir: Fix expected list type.
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
- Add a workaround for #548689.
- We can now compile gtk!
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Try to look up
- aliases using the c:type too.
-
-2008-08-20 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Parse union fields.
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py: Make time_t an alias for long
-
- * gir/gio-2.0-good.gir:
- * gir/glib-2.0-good.gir:
- * gir/gobject-2.0-good.gir:
- Regnerate
- * giscanner/glibtransformer.py:
- Do not delete Class structures, we need them in gdk/gtk.
- * tests/scanner/drawable-expected.gir:
- * tests/scanner/foo-expected.gir:
- * tests/scanner/utility-expected.gir:
- Update tests.
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Makefile.am:
- * tests/scanner/annotation-expected.gir:
- * tests/scanner/annotation.c (annotation_object_class_init),
- (annotation_object_init), (annotation_object_method),
- (annotation_object_in), (annotation_object_out),
- (annotation_object_inout), (annotation_object_inout2),
- (annotation_object_inout3), (annotation_object_calleeowns),
- (annotation_object_calleesowns), (annotation_object_get_strings),
- (annotation_object_with_voidp), (annotation_object_get_objects),
- (annotation_object_create_object), (annotation_object_allow_none):
- * tests/scanner/annotation.h:
- * tests/scanner/foo-expected.gir:
- * tests/scanner/foo.c:
- * tests/scanner/foo.h:
- Split out annotation tests out of foo
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/Makefile.am:
- * tests/scanner/foo-expected.gir:
- * tests/scanner/foo-object.h:
- * tests/scanner/foo.c:
- Foo->foo, foo-object.h -> foo.h
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/Makefile.am:
- * tests/scanner/drawable-expected.gir:
- * tests/scanner/drawable.c (test_drawable_class_init),
- (test_drawable_init):
- * tests/scanner/drawable.h:
- * tests/scanner/foo-object.h:
- * tests/scanner/foo.c (foo_boxed_method):
- Move the drawable parts out of Foo to its own test.
-
-2008-08-20 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/foo-object.h:
- * tests/scanner/foo.c (foo_drawable_class_init),
- (foo_drawable_init):
- Add a based on GdkDrawable which generates
- a broken gir.
-
-2008-08-19 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Don't try
- to strip prefix before namespace.
-
-2008-08-19 Johan Dahlin <johan@gnome.org>
-
- * giscanner/transformer.py:
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/foo-object.h:
- Add support for typedef void foo type of
- aliases.
-
-2008-08-19 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * tests/scanner/Foo-expected.gir:
- Add basic support for union, base the code much
- on Struct. Add a testcase.
-
-2008-08-19 Johan Dahlin <johan@gnome.org>
-
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/foo-object.h:
- Add a union testcase which the compiler currently
- barfs at.
-
-2008-08-19 Johan Dahlin <johan@gnome.org>
-
- * gobject-introspection-1.0.pc.in:
- Add a g_ir_compiler variable
-
-2008-08-19 Colin Walters <walters@verbum.org>
-
- * giscanner/ast.py: Rework types to be more closely
- based on GITypeTag.
- * giscanner/girparser.py: Parse more bits.
- * giscanner/girwriter.py: Write sequences in a new
- way that specifies container type.
- * giscanner/glibast.py: Adjust for ast.py changes,
- add 'ctype' property to GLibObject and GLibInterface
- so we can look things up by it later.
- * gicanner/transformer.py: Names is new class holding
- the various namespaces we manage. Do not confuse
- with Namespace which is toplevel XML node effectively.
- Rework all type resolution to go through
- _resolve_type_name_1.
- * giscanner/glibtransformer.py: Raise UnknownTypeError
- instead of ValueError for cleanliness. Add Unresolved
- class to mark types whose parent we haven't seen yet.
- Use new Names object from transformer.py.
- Correctly look up parent=.
- Fix type validation to handle sequences.
- * tests/scanner/Foo-expected.gir: Update for sequence
- work, int instead of int32.
- * tools/g-ir-scanner: Add --noclosure option
- * gir/Makefile.am: Use --noclosure by default for
- GLib/GObject.
-
-2008-08-18 Johan Dahlin <johan@gnome.org>
-
- * gir/gio-2.0-good.gir:
- * gir/glib-2.0-good.gir:
- * gir/gobject-2.0-good.gir:
- Regenerate.
-
-2008-08-18 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girparser.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * tests/scanner/Foo-expected.gir:
- * tests/scanner/foo-object.h:
- * tests/scanner/utility-expected.gir:
- * tests/scanner/utility.h:
- Redo type resolving and validation.
- Add a couple of new tests.
- Patch mostly written by Colin.
-
-2008-08-18 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * giscanner/girparser.py:
- Set ctype of enums
- * giscanner/transformer.py:
- Improve enum parsing for enums without a GType.
- Make flags/enum references to other girs work
- * giscanner/utils.py:
- Simplify this a bit
- * tests/scanner/Makefile.am:
- * tests/scanner/foo-object.h:
- * tests/scanner/utility-expected.gir:
- * tests/scanner/utility.h:
- Add a new test for external enum references
-
-2008-08-18 Johan Dahlin <johan@gnome.org>
-
- * docs/global-module-registry.txt: Update
-
- * tests/array.gir: Update with new type proposal
-
- * girepository/girepository.c (g_type_tag_to_string):
- * girepository/girepository.h:
- * girepository/girnode.c (g_ir_node_get_full_size_internal),
- (find_entry_node):
- * girepository/girnode.h:
- Make enum serializing functions public. Clean up some whitespace.
-
-2008-08-17 Johan Dahlin <johan@gnome.org>
-
- * docs/global-module-registry.txt:
- Add a document for an on disk module registry format
-
-2008-08-17 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * gir/gio-2.0-good.gir:
- Add a gio gir.
-
-2008-08-17 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- * gir/glib-2.0-good.gir:
- * gir/gobject-2.0-good.gir:
- * giscanner/cgobject.py:
- * giscanner/glibtransformer.py:
- Regenerate GObject & GType.
- Avoid warnings when generating gobject-2.0.gir.
- Introspect a little more, and skip *_get_type functions.
-
-2008-08-17 Colin Walters <walters@verbum.org>
-
- * gir/glib-2.0.gir, gir/gobject-2.0.gir:
- Rename to -good, always generate during build.
- * gir/Makefile.am: Ensure .gir files dep on
- all scanner sources.
- * Makefile.am: Switch build order to ensure
- the scanner is ready before we do gir/.
- * tools/g-ir-scanner: Look for .git too.
-
-2008-08-17 Johan Dahlin <johan@gnome.org>
-
- * girepository/gtypelib.c (validate_enum_blob):
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- Remove resolve_possible_typedefs, it was unused.
- Allow multiple enum values of the sample value in an enum,
- since it's actually pretty common.
- Register enums so they can be resolved too.
-
-2008-08-16 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girparser.py:
- Parse enumeration/bitfield.
-
-2008-08-16 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girparser.py:
- Parse boxed types.
-
-2008-08-16 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- Resolve type names for alias targets
- * giscanner/transformer.py:
- Skip FILE* parameters fow now
-
-2008-08-16 Johan Dahlin <johan@gnome.org>
-
- * gir/glib-2.0.gir:
- * gir/gobject-2.0.gir:
- Regenerate
-
- * tests/scanner/Makefile.am:
- parser -> scanner
-
-2008-08-15 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Explicitly construct
- new list, since we're deleting as we iterate.
- Don't delete all structures which end in Class; just
- ones which have a paired GObject.
- Fix printing of type warning.
- * giscanner/transformer.py: Make strip_namespace_object
- be the identity function if it doesn't match the
- namespace.
-
-2008-08-15 Colin Walters <walters@verbum.org>
-
- * giscanner/cgobject.py: Define yet more argument
- prototypes; fix prototype for g_type_fundamental.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * tests/Makefile.am:
- * tests/constant.gir:
- * tests/gobject.gir:
- * tests/struct.gir:
- * tools/generate.c (write_struct_info):
- Fix generator for constant/gobject/struct
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * tests/Makefile.am:
- * tests/enum.gir:
- * tools/generate.c (write_enum_info):
- Fix generation of enum/bitfields
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * girepository/girparser.c (start_field), (start_constant),
- (start_type), (end_element_handler):
- Clear up constant parsing
-
- * tests/object.gir:
- Update
-
- * tools/generate.c (write_callable_info), (write_function_info),
- (write_callback_info), (write_constant_info), (write_signal_info),
- (write_vfunc_info), (write_property_info), (write_object_info),
- (write_interface_info):
- Constants/Signals are handled now.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * girepository/girparser.c (start_type):
- Don't require c:type.
- * tests/Makefile.am:
- Test boxed.gir
- * tests/boxed.gir:
- Update, remove parts we don't support yet
- * tests/roundtrips.sh:
- Remove
- * tools/generate.c (write_type_info), (write_field_info),
- (write_callable_info), (write_struct_info):
- Make it emit proper gir.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * giscanner/transformer.py:
- New internal function for adding a new node.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * gir/Makefile.am:
- Define an internal _H_ variable so we skip parsing both
- i18n headers, only one is needed.
- * gir/glib-2.0.gir:
- Add the glib-2.0.gir too.
- * giscanner/glibast.py:
- Add gconstpointer as an alias for ANY
- * giscanner/transformer.py:
- Do not lower case enumeration names per se.
- Skip functions which has parameters called 'va_list'
-
-2008-08-14 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Comment data structures.
- Also squash pointers in resolve_type_name to correspond
- with what we do for params.
- * giscanner/glibtransformer.py: Print warnings in more
- situations. Rework checks for method/constructor to
- look up in our GType database instead of just checking
- for *. Avoid generating <record> for GObject which
- duplicate the <class>.
- * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
- in here.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * misc/pyflakes.py:
- * tests/Makefile.am:
- Add pyflakes.py and run it in make check.
- Update the source code to fix the errors reported by
- pyflakes.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girparser.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- Refactor the parser a bit.
- Add parent type to interfaces and update callsites.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- * giscanner/utils.py:
- Refactor a bit, avoid isinstance and add a method
- for each type we parse.
-
-2008-08-14 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girparser.py:
- * giscanner/glibtransformer.py:
- * tests/Makefile.am:
- Run pep8.py in make check, fix old errors.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * giscanner/girparser.py: Parse records.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * gir/Makefile.am: Install again.
- * gir/gobject-2.0.gir: Add some more bits.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * gir/gobject-2.0.gir: Use correct namespace, add GType.
- * giscanner/girparser.py: Handle aliases.
- * giscanner/transformer.py: Record aliases. Make resolver
- functions public; we now call into these explicitly from
- glibtransformer. Handle resolving aliases.
- * giscanner/glibtransformer.py: Separate our internal namespace
- from included ones. Call up into transformer's resolver functions.
-
-2008-08-13 Johan Dahlin <johan@gnome.org>
-
- * girepository/girnode.c (g_ir_node_get_full_size_internal):
- * girepository/girparser.c (start_class):
- * giscanner/glibtransformer.py:
- Allow get_type to be None, set a get_type for GInitiallyUnowned too.
-
-2008-08-13 Johan Dahlin <johan@gnome.org>
-
- * giscanner/cgobject.py:
- Register GInitiallyUnowned
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- Special case GObject/GInitially owned as they are a bit special to use.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
- Object is in GObject namespace.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * giscanner/girparser.py: Fix processing of functions
- from last commit.
-
-2008-08-13 Colin Walters <walters@verbum.org>
-
- * giscanner/girparser.py: Parse more than just <class.
- * giscanner/glibtransformer.py: Put aliases in a separate
- data structure since their name is not canonicall.
- * giscanner/transformer.py: Handle resolving type names
- from includes.
-
-2008-08-13 Johan Dahlin <johan@gnome.org>
-
- * tools/g-ir-scanner:
- Allow multiple libraries
- * giscanner/glibtransformer.py:
- Rename load_library to add_library, traverse over all libraries
- when trying to resolve a function
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * giscanner/transformer.py: Record typedefs as <alias> elements.
- Also attempt to look up types in external namespaces.
- * giscanner/girwriter.py: Write them.
- * giscanner/glibtransformer.py: Rework resolver using real instanceof
- checks. Resolve interface methods and properties.
- * tests/scanner/foo-object.h: Add a method with typedef.
- * tests/scanner/Foo-expected.gir: Update.
- * girepository/girnode.c: Debug tweaks.
- * girepository/girparser.c: Make a first pass through the XML where we
- record all the aliases. This lets us resolve them as we go through the
- second pass.
- * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
- from gir-repository.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
- Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
- fields.
- * giscanner/transformer.py: Record typedefs and expose public API for resolving
- them.
- * tests/scanner/Foo-expected.gir: Fix expected callback types.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Also transform object properties.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: Also transform callbacks
- and structure field types.
- * tests/scanner/Fooe-expected.gir: Update to expect correct
- names for callbacks and structs.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c: Handle 'any'.
- * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
- Add test for void *.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * giscanner/glibtransformer.py: We need to do type
- resolution in a second pass after we've seen all the
- enums, records, etc.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
- Add enum return value.
- * giscanner/glibtransformer.py: Transform function return types
- too.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * tests/scanner/Makefile.am: Dep .gir files on scanner
- sources too. Also remove @ so we see scanner invocations.
-
-2008-08-12 Colin Walters <walters@verbum.org>
-
- * girepository/girparser.c, girepository/gtypelib.c,
- girepository/gtypelib.h, girepository/girnode.c:
- Remove usage of (GAPI-oriented) TypeTag in favor of
- GITypeTag from girepository.h.
-
-2008-08-10 Colin Walters <walters@verbum.org>
-
- * tests/roundtrips.sh: Use the correct tests.
-
-2008-08-10 Colin Walters <walters@verbum.org>
-
- * giscanner/cgobject.py: Declare/wrap a few more functions.
- Fix parameter types for g_object_new and g_type_fundamental.
-
-2008-08-10 Colin Walters <walters@verbum.org>
-
- * giscanner/cgobject.py: Add new decorator @gwrap which forces
- us to declare types for both return value and parameters. The
- ctypes default of 'int' is bad because it hides 32/64 bit
- problems. Convert all existing functions to use it.
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * giscanner/__init__.py:
- * giscanner/ast.py:
- * giscanner/cgobject.py:
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * giscanner/girparser.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/odict.py:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- * giscanner/utils.py:
- * giscanner/xmlwriter.py:
- * tools/g-ir-scanner:
-
- PEP8ify
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * relaxng/api.xml:
- * relaxng/c-types.xml:
- * relaxng/g-types.xml:
- * relaxng/relaxng.rng:
- * relaxng/util.xml:
- Remove outdated relaxng schemas.
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * *.[ch]:
- Rename metadata to typelib in variable names,
- comments and apis.
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * tools/scanner.c:
- * tools/scanner.h:
- Remove old C scanner, which got rewritten in python.
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * girepository/Makefile.am:
- * tools/Makefile.am:
- * tools/girmodule.c:
- * tools/girmodule.h:
- * tools/girnode.c:
- * tools/girnode.h:
- * tools/girparser.c:
- * tools/girparser.h:
- * tools/girwriter.c:
- * tools/girwriter.h:
- Move shared *.[ch] files to girepository from tools
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * tests/Makefile.am:
- * tests/array.test:
- * tests/boxed.test:
- * tests/constant.test:
- * tests/enum.test:
- * tests/errors.test:
- * tests/function.test:
- * tests/gobject.test:
- * tests/interface.test:
- * tests/object.test:
- * tests/struct.test:
- * tests/types.test:
- * tests/union.test:
- * tests/xref1.test:
- * tests/xref2.test:
- Rename *.test to *.gir
-
-2008-08-09 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- * tests/Makefile.am:
- * tests/parser/Foo-expected.gir:
- * tests/parser/Makefile.am:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c:
- * tests/parser/utility-expected.gir:
- * tests/parser/utility.c:
- * tests/parser/utility.h:
- * tests/scanner/Makefile.am:
- Rename tests/parser to test/scanner
-
-2008-08-08 Colin Walters <walters@verbum.org>
-
- * tests/roundtrips.sh: Use local .gir files again.
-
-2008-08-08 Colin Walters <walters@verbum.org>
-
- * tests/invoke/Makefile.am: .gir file depends on libtool
- library.
-
-2008-08-08 Colin Walters <walters@verbum.org>
-
- * tools/girnode.c: Pass through parent node so we can
- print the node whose child is NULL, if that occurs.
-
-2008-08-08 Johan Dahlin <johan@gnome.org>
-
- * tests/Makefile.am:
- Disable roundtrip tests which are not yet working
- * tests/invoke/testfns.gir:
- Rewrite as gir.
-
-2008-08-08 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girwriter.py:
- type -> ntype
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- Swap order of members, to keep it consistent with
- base enum class
-
-2008-08-08 Johan Dahlin <johan@gnome.org>
-
- * girepository/gtypelib.c (validate_header):
- * girepository/gtypelib.h:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/sourcescanner.c (gi_source_symbol_ref),
- (gi_source_symbol_unref):
- * tests/array.test:
- * tests/boxed.test:
- * tests/constant.test:
- * tests/enum.test:
- * tests/errors.test:
- * tests/function.test:
- * tests/gobject.test:
- * tests/interface.test:
- * tests/invoke/Makefile.am:
- * tests/invoke/testfns.xml:
- * tests/object.test:
- * tests/parser/Makefile.am:
- * tests/roundtrips.sh:
- * tests/struct.test:
- * tests/types.test:
- * tests/union.test:
- * tests/xref1.test:
- * tests/xref2.test:
- * tools/Makefile.am:
- * tools/compiler.c (main):
- * tools/generate.c (write_callable_info), (write_function_info),
- (write_repository):
- * tools/gidlmodule.c:
- * tools/gidlmodule.h:
- * tools/gidlnode.c:
- * tools/gidlnode.h:
- * tools/gidlparser.c:
- * tools/gidlparser.h:
- * tools/gidlwriter.c:
- * tools/gidlwriter.h:
- * tools/scanner.c (create_node_from_gtype),
- (create_node_from_ctype), (g_igenerator_process_properties),
- (g_igenerator_process_signals), (g_igenerator_create_object),
- (g_igenerator_create_interface), (g_igenerator_create_boxed),
- (g_igenerator_create_enum), (g_igenerator_create_flags),
- (g_igenerator_process_function_symbol),
- (g_igenerator_process_unregistered_struct_typedef),
- (g_igenerator_process_struct_typedef),
- (g_igenerator_process_union_typedef),
- (g_igenerator_process_enum_typedef),
- (g_igenerator_process_function_typedef),
- (g_igenerator_process_constant), (g_igenerator_process_symbols),
- (g_igenerator_add_module), (g_igenerator_add_include_idl):
- Merge in the gir-compiler branch.
- Thanks to Philip and Colin for their help.
-
-2008-07-26 Colin Walters <walters@verbum.org>
-
- * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
- and g-idl-generate to go along with how we're changing this
- module to be installed.
- * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
-
-2008-07-24 Colin Walters <walters@verbum.org>
-
- * girepository/girepository.c (g_irepository_register): Add
- environment variable G_IREPOSITORY_VERBOSE so we can print
- out what we're doing.
- * girepository/girepository.c (g_irepository_register_file):
- Add GError error message to g_debug call.
-
-2008-07-08 Jürg Billeter <j@bitron.ch>
-
- * giscanner/glibast.py:
-
- Fix typo
-
-2008-06-21 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
- more tags
-
-2008-06-20 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/transformer.py:
- * tests/parser/Foo-expected.gir:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c (foo_object_allow_none):
- Add support for gtk-doc annotations for allow-none.
- Add test case.
-
-2008-06-19 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * tests/parser/Foo-expected.gir:
- Start using abstract type instead of the raw C types.
- Register a bunch of glib types we care about.
-
-2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * AUTHORS:
- Update authors
-
-2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
-
- * girepository/girepository.c:
- * girepository/gtypelib.c:
- * girepository/ginfo.c:
- * girepository/ginvoke.c:
- * girepository/girepository.h:
- * girepository/gtypelib.h:
- * girepository/gmetadata.c:
- * girepository/Makefile.am:
- * girepository/gmetadata.h:
- * tools/compiler.c:
- * tools/gidlmodule.c:
- * tools/gidlnode.c
- * tools/generate.c:
- * tools/gidlmodule.h:
- * tools/gidlparser.c:
-
- Renamed GMetadata to GTypelib
-
-2008-06-07 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/xmlwriter.py:
- Improve line wrapping when > 79 charaters
-
-2008-06-05 Jürg Billeter <j@bitron.ch>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/transformer.py:
- Use <type> element for field types
- * tests/parser/Foo-expected.gir:
- Update testcase
-
-2008-06-04 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/glibtransformer.py:
- Fix a bug which prevented GdkEvent from being generated
-
-2008-06-03 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/Makefile.am:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * giscanner/utils.py:
- * tests/parser/Foo-expected.gir:
- Improve enum member parsing and introspection
-
-2008-05-31 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/scannerparser.y:
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- Add a new source type enum for member.
- Use __repr__ for improved debugging
- * giscanner/girparser.py:
- Ignore some more
- * giscanner/transformer.py:
- Improve parsing of struct members.
- * tests/parser/foo-object.h:
- Add a new testcase
-
-2008-05-31 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/xmlwriter.py:
- Improve error reporting when trying to quote None.
- * giscanner/girparser.py:
- Do not print warnings when including more complete .gir files
- * giscanner/girwriter.py:
- Do not require a name for parameters, add a todo for singletons
- * giscanner/glibtransformer.py:
- Refactor the way structs are done, add a couple of hacks to allow
- us to get further.
- * giscanner/transformer.py:
- Add enough hacks so cairo, atk and pango.gir can be parsed properly
- * gobject-introspection-1.0.pc.in:
- Export girdir, so we can access gobject-2.0.gir from outside
-
-2008-05-31 Johan Dahlin <jdahlin@async.com.br>
-
- * tools/g-ir-scanner:
- * tests/parser/Makefile.am:
- Update sys.path before running the parser so we don't have
- to setup PYTHONPATH ourselves.
-
- * Makefile.am:
- * configure.ac:
- * girepository/Makefile.am:
- * giscanner/transformer.py:
- * gobject-introspection-1.0.pc.in:
- * gobject-introspection.pc.in:
- * tools/Makefile.am:
-
- Rename pkg-config name to gobject-introspection-1.0,
- Do not installed anything which is not using the gir format.
- Disable compililation the old C scanner, but still keep the source
- until all the remaning functionallity has been ported.
-
-2008-05-31 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/giscannermodule.c (symbol_get_ident): Prevent
- a crash when symbol->indent is NULL.
-
- * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
- a function to convert a CTYPE symbol to a string
-
-2008-05-24 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/giscannermodule.c
- (pygi_source_scanner_append_filename),
- (pygi_source_scanner_parse_file):
- * giscanner/glibtransformer.py:
- * giscanner/sourcescanner.py:
- Revert back to using temporary files to send in headers.
- Allow Functions to be passed in as callbacks, add a couple
- of try/excepts missing features.
- We can now scan pango
-
-2008-05-08 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- Move namespace stripping glibtransformer->transformer
-
-2008-05-08 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * tools/g-ir-scanner:
- Introduce a namespace ast node
-
-2008-05-05 Johan Dahlin <johan@gnome.org>
-
- * giscanner/__init__.py:
- * giscanner/sourcescanner.py:
- * giscanner/transformer.py:
- Move sourcescanner symbols to the sourcescanner module, instead
- of in the global __init__ namespace.
-
-2008-05-03 Johan Dahlin <johan@gnome.org>
-
- * giscanner/glibtransformer.py:
- * tools/g-ir-scanner:
- Handle missing parameters better, allow - and + in .la dlname
- filenames.
-
-2008-05-03 Johan Dahlin <johan@gnome.org>
-
- * giscanner/__init__.py:
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- Parse struct fields properly, improve debugging.
-
-2008-04-29 Johan Dahlin <johan@gnome.org>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/transformer.py:
- * tests/parser/Foo-expected.gir:
- * TODO:
- Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
-
-2008-04-29 Johan Dahlin <jdahlin@async.com.br>
-
- * Makefile.am:
- * docs/g-ir-scanner.1:
- * metadata-annotations-proposal.txt:
- * metadata-format.txt:
- Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
-
-2008-04-29 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * giscanner/xmlwriter.py:
- * tests/parser/Foo-expected.gir:
- * tests/parser/foo-object.h:
- Write record/structs to gir file too. Add a couple of tests,
- fix an off by one error in xmlwriter.py.
-
-2008-04-28 Johan Dahlin <johan@gnome.org>
-
- * giscanner/xmlwriter.py: Calculate the line length properly,
- include the provided extra indentation in the calculation, really.
-
-2008-04-28 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- * tools/g-ir-scanner:
- Add a --strip-prefix and sort out confusion between names and symbols
- for functions and struct + derivaties.
- Refactor bootstrap of g-ir-scanner, so we can set options on
- Transformer() before parsing everything.
-
-2008-04-28 Johan Dahlin <johan@gnome.org>
-
- * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
- when scanning girepository.h
-
- * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
- a __GI_SCANNER__ when we run.
-
-2008-04-28 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * tests/parser/Foo-expected.gir:
- * tests/parser/utility-expected.gir:
- Rename most c:identifier to c:type. Add new ones to
- class/interface/enum/boxed.
-
-2008-04-28 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/ast.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * tests/parser/Foo-expected.gidl:
- * tests/parser/Makefile.am:
- Move c:identifier from return-value to subchild type,
- as per Jürgs suggestion
-
-2008-04-28 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girwriter.py:
- * tests/parser/Foo-expected.gir:
- Write property.type as a child node.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * Makefile.am:
- * configure.ac:
- * gidl/Makefile.am:
- * gidl/gobject-2.0.gidl:
- * gir/Makefile.am:
- * gir/gobject-2.0.gir:
- * tests/parser/Makefile.am:
- Replace the GObject gidl with a GObject gir.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
- not a program.
-
- * giscanner/xmlwriter.py:
- * tests/parser/Foo-expected.gir:
- Include indentation in line length calculation
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * giscanner/girparser.py:
- Prettify NS parsing using elementtree.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- * giscanner/Makefile.am:
- * giscanner/girparser.py:
- * giscanner/glibtransformer.py:
- * tests/parser/Foo-expected.gidl:
- * tests/parser/Foo-expected.gir:
- * tests/parser/Makefile.am:
- * tests/parser/utility-expected.gidl:
- * tests/parser/utility-expected.gir:
- * tools/g-ir-scanner:
- Switch over to GIR as the default format. Add a simple GIDL
- parser.
- Update tests and fix simplify makefiles by depending
- on GNU make extensions.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * giscanner/xmlwriter.py:
- Wrap attributes for lines which are wider than 79 characters
-
- * giscanner/scannerlexer.l:
- Allow parenthesis in annotations
-
- * giscanner/ast.py:
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- Add initial sequence support, including annotation.
- Refactor type handling a bit.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c (foo_object_class_init),
- (foo_object_get_strings), (foo_object_get_objects):
- Add two new functions to check sequence return values.
- Also fixes a compilation warning.
-
-2008-04-27 Johan Dahlin <johan@gnome.org>
-
- * giscanner/giscannermodule.c (]): Cast the getter, avoids
- a compilation warning.
-
- * tools/Makefile.am (g_ir_scanner_SOURCES):
- g-ir-scanner has no sources.
-
-2008-04-25 Johan Dahlin <johan@gnome.org>
-
- * giscanner/Makefile.am:
- * giscanner/ast.py:
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/glibast.py:
- * giscanner/glibtransformer.py:
- * giscanner/transformer.py:
- Split out nodes to ast.py and glibast.py
-
-2008-04-25 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/Makefile.am:
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/glibtransformer.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/transformer.py:
- * giscanner/treebuilder.py:
- * tools/g-ir-scanner:
- Rename treebuilder to transformer and
- gobjectreebuilder to glibtransformer.
-
-2008-04-25 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/Makefile.am:
- * giscanner/__init__.py:
- * giscanner/cgobject.py:
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/odict.py:
- * giscanner/sourcescanner.py:
- * giscanner/treebuilder.py:
- * giscanner/xmlwriter.py:
- * tools/Makefile.am:
- * tools/g-ir-scanner:
- Add LGPLv2 license header and install all python files
-
-2008-04-25 Johan Dahlin <jdahlin@async.com.br>
-
- * TODO:
- * giscanner/gidlwriter.py:
- * giscanner/giscannermodule.c (pygi_source_directive_new),
- (directive_get_options), (pygi_source_symbol_new),
- (symbol_get_base_type), (pygi_source_type_new),
- (type_get_base_type), (type_get_child_list),
- (pygi_source_scanner_get_symbols),
- (pygi_source_scanner_get_directives):
- * giscanner/gobjecttreebuilder.py:
- * giscanner/sourcescanner.py:
- * giscanner/treebuilder.py:
- * tests/parser/foo-object.h:
- Add support for virtual methods.
- Pair struct FooClass with struct Foo.
- Clean up the SourceScanner bindings a bit.
- Add a testcase for virtual methods.
-
-2008-04-25 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cgobject.py:
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- Add support for signals
-
- * tests/parser/foo.c (foo_object_class_init):
- * Foo-expected.gidl:
- Add a signal and update the expected output.
-
-2008-04-24 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/giscannermodule.c (directive_get_name),
- (directive_get_value), (directive_get_options),
- (symbol_get_directives), (symbol_set_directives),
- (pygi_source_scanner_parse_file),
- (pygi_source_scanner_lex_filename),
- (pygi_source_scanner_get_directives), (init_giscanner):
- * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
- * giscanner/sourcescanner.h:
- * giscanner/sourcescanner.py:
- * giscanner/treebuilder.py:
- * tools/g-ir-scanner:
- Add support for source/header annotations.
-
-2008-04-22 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/gidlwriter.py:
- * giscanner/girwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Add support for Callbacks
-
-2008-04-22 Havoc Pennington <hp@pobox.com>
-
- * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
- not in metadata->module, look for it in the global module, in case
- some other object or the app itself provides the symbol.
-
-2008-04-22 Havoc Pennington <hp@pobox.com>
-
- * girepository/gmetadata.c (_g_metadata_init): hack to avoid
- dlopening a library that is already in the main app, by checking
- whether one of the lib's symbols is already loaded.
-
-2008-04-22 Johan Dahlin <jdahlin@async.com.br>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- Add a callback test
-
-2008-04-22 Havoc Pennington <hp@pobox.com>
-
- * girepository/ginfo.c (g_interface_info_find_method):
- Use interface_blob_size not object_blob_size to compute offset.
-
-2008-04-22 Havoc Pennington <hp@pobox.com>
-
- * girepository/gmetadata.c (_g_metadata_init): remove
- G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
- (Glade and Clutter for example) rely on being loaded globally.
-
-2008-04-22 Havoc Pennington <hp@pobox.com>
-
- * girepository/ginfo.c (g_registered_type_info_get_g_type): new
- function to get the GType given a RegisteredTypeInfo
-
-2008-04-22 Johan Dahlin <johan@gnome.org>
-
- * COPYING: Add a LGPL license, to prevent automake to
- put in a copy of GPL here. Pointed out by Havoc.
-
- * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
- (g_type_info_is_pointer), (g_type_info_get_tag),
- (g_type_info_get_param_type), (g_type_info_get_interface),
- (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
- (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
- (g_error_domain_info_get_codes), (g_enum_info_get_value),
- (g_object_info_get_interface), (g_object_info_get_field),
- (g_interface_info_get_prerequisite),
- (g_signal_info_get_class_closure), (g_constant_info_get_value):
- * girepository/ginvoke.c (get_ffi_type):
- * girepository/girepository.h:
- * girepository/gmetadata.c (g_metadata_get_dir_entry),
- (g_metadata_check_sanity), (validate_header),
- (validate_array_type_blob), (validate_iface_type_blob),
- (validate_param_type_blob), (validate_error_type_blob),
- (validate_type_blob), (validate_constant_blob),
- (validate_struct_blob), (validate_enum_blob):
- * girepository/gmetadata.h:
- * tests/Makefile.am:
- * tests/invoke/Makefile.am:
- * tests/invoke/invoke.c (main):
- * tests/roundtrips.sh:
- * tools/Makefile.am:
- * tools/compiler.c (format_output), (write_out_metadata), (main):
- * tools/generate.c (write_type_name), (write_type_info),
- (write_constant_value), (write_enum_info), (load_metadata), (main):
- * tools/gidlcompilercontext.c:
- * tools/gidlcompilercontext.h:
- * tools/gidlcompilerentrynode.c:
- * tools/gidlcompilerentrynode.h:
- * tools/gidlcompilertypenode.c:
- * tools/gidlcompilertypenode.h:
- * tools/gidlmodule.c (g_idl_module_build_metadata):
- * tools/gidlmodule.h:
- * tools/gidlnode.c (init_stats), (dump_stats),
- (g_idl_node_get_size), (g_idl_node_get_full_size),
- (g_idl_node_cmp), (g_idl_node_can_have_member),
- (g_idl_node_add_member), (g_idl_node_param_direction_string),
- (parse_int_value), (parse_uint_value), (parse_float_value),
- (parse_boolean_value), (find_entry_node), (find_entry),
- (serialize_type), (g_idl_node_build_metadata), (write_string):
- * tools/gidlnode.h:
- * tools/gidlparser.c (parse_type_internal):
- * tools/quote-file.sh:
- Revert revisions 157,149-148,136-129 and 120.
- Move back to using g-idl-generate to generate the metadata and
- avoids dependency on a c compiler.
-
-2008-04-22 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/girwriter.py:
- * tools/g-ir-scanner:
- Add an initial GIR writer and a --format option to g-ir-scanner
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/cgobject.py: Use ctypes.util.find_library to locate
- gobject-2.0 and raise ImportError if not found.
-
- * giscanner/gidlparser.py:
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * tools/g-ir-scanner:
- Add a --include argument to include types from other idls.
- Add a minimalistic GIDL parser (just objects for now)
- Implement resolving of external type references and use it to
- resolve parent types, argument types and return types.
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Add support for properties.
- Refactor Class/Interface support a bit, to share more code and
- always initialize their method attribute to an empty list.
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/cgobject.py:
- Add a workaround for a glib bug interface introspection bug
- (object_interface_list_properties, object_class_list_properties):
- Cast the return value to GParamSpec.
-
- * tests/parser/Foo-expected.gidl: Update
- * tests/parser/foo.c: Add a string property
-
- * giscanner/gobjecttreebuilder.py:
- After stripping namespaces, remove the original
- item to avoid duplication (GtkButton struct and Button object)
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Strip namespaces before objects, so we'll export
- GtkButton as Button in the gtk namespace
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Add constructors for object/boxed types.
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- Add support for boxed types
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/giscannermodule.c: Mark structures as const,
- wrap SourceType.const_string.
-
- * tests/parser/foo-object.h: Add a couple of constants.
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Add basic support for interfaces
-
- * tools/g-ir-scanner:
- Add -o/--output for writing to a file
-
-2008-04-21 Havoc Pennington <hp@redhat.com>
-
- * TODO: add some C API wishlist items I could think of quickly
-
-2008-04-21 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/gidlwriter.py:
- * giscanner/xmlwriter.py:
- Add a simple api for writing tags which can be used
- with the new 'with statement' in python 2.5
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gobjecttreebuilder.py:
- Strip namespace and object prefix from method names.
-
-2008-04-21 Johan Dahlin <johan@gnome.org>
-
- * tools/g-ir-scanner (main): Add --pkg option to pass in
- pkg-config modules to get cflags from.
-
- * giscanner/gidlwriter.py (GIDLWriter._write_method):
- Avoid duplication, reuse function writer for methods.
-
-2008-04-21 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- * tools/g-ir-scanner:
- Resolve libtool .la files.
- Strip name spaces for methods.
- Add function symbols
-
-2008-04-20 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/cgobject.py:
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/treebuilder.py:
- Add support for classes and methods
-
-2008-04-20 Johan Dahlin <johan@gnome.org>
-
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * giscanner/odict.py:
- Avoid conflicts, keep the output ordered similar to
- the order of the input.
- Add a simple ordered dictionary implemenation
-
-2008-04-19 Johan Dahlin <johan@gnome.org>
-
- * giscanner/cgobject.py:
- * giscanner/gidlwriter.py:
- * giscanner/gobjecttreebuilder.py:
- * tools/g-ir-scanner:
- Start introspecting get-type functions.
- Implement support for GLib/GFlags GTypes.
- Add a ctype based GObject binding.
-
-2008-04-18 Johan Dahlin <jdahlin@async.com.br>
-
- * giscanner/gidlwriter.py:
- * giscanner/xmlwriter.py:
- * tools/g-ir-scanner:
- Add a simplistic gidl writer, which can't do too much.
-
-2008-04-18 Johan Dahlin <johan@gnome.org>
-
- * giscanner/sourcescanner.py:
- * giscanner/treebuilder.py:
- * tools/g-ir-scanner:
- split tree building and source scanning interface to separate files.
-
-2008-04-18 Johan Dahlin <johan@gnome.org>
-
- * tools/g-ir-scanner (Parameter.__init__): Start constructing
- a real node tree.
- - Add support for struct/parameter/return, start parsing of ctypes
-
- * giscanner/giscannermodule.c: wrap GISourceType.child_list and
- fix the style
-
-2008-03-31 Johan Dahlin <johan@gnome.org>
-
- * tools/g-ir-scanner:
- Start to build abstract syntax node of scanned sources.
- Add support for cpp options.
-
-2008-03-27 Johan Dahlin <johan@gnome.org>
-
- * giscanner/giscannermodule.c:
- * giscanner/scannerlexer.l:
- * giscanner/sourcescanner.c:
- * tools/g-ir-scanner:
-
- Add simple pre-processor using subprocess and a PIPE.
- Change the parse_file apis to accept a file descriptor.
-
-2008-03-25 Johan Dahlin <johan@gnome.org>
-
- * giscanner/__init__.py:
- * tools/g-ir-scanner:
- Fix a typo and add an example python test program.
-
-2008-03-25 Johan Dahlin <johan@gnome.org>
-
- * giscanner/__init__.py:
- * giscanner/giscannermodule.c:
- * giscanner/sourcescanner.c:
- * giscanner/sourcescanner.h:
- Add constants and wrap a few more SymbolType fields
-
-2008-03-25 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- * giscanner:
- * giscanner/__init__.py:
- * giscanner/giscannermodule.c:
- * giscanner/Makefile.am:
-
- Add initial python bindings for the scanner and
- depend on python 2.5.
-
-2008-03-25 Johan Dahlin <johan@gnome.org>
-
- * Makefile.am:
- * configure.ac:
- * giscanner/Makefile.am:
- * giscanner/sourcescanner.c:
- * giscanner/sourcescanner.h:
- * tools/Makefile.am:
- * tools/grealpath.h:
- * tools/sourcescanner.c:
- * tools/sourcescanner.h:
-
- Move the scanner to a separate library.
-
-2008-03-23 Johan Dahlin <johan@gnome.org>
-
- * tools/Makefile.am:
- * tools/scanner.c:
- * tools/scanner.h:
- * tools/scannerlexer.l:
- * tools/scannerparser.y:
- * tools/sourcescanner.c:
- * tools/sourcescanner.h:
- Split out the source scanner from the generator.
- Rename the symbols used in the scanner to use the gi_ prefix.
- This should make it possible to use the raw C parser from
- other programs.
-
-2008-03-23 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Makefile.am (utility.gidl):
- * tests/parser/utility-expected.gidl:
- Pass in the gobject.gidl since we're defining a GObject.
-
-2008-03-12 Johan Dahlin <johan@gnome.org>
-
- * relaxng/relaxng.rng:
- Add a releaxng in relaxng we can use to validate the relaxngs
- schemas
-
-2008-03-12 Jürg Billeter <j@bitron.ch>
-
- * tools/scanner.c: (g_igenerator_new):
- * tools/scannerparser.y:
- Fix compiler warnings.
-
-2008-03-12 Jürg Billeter <j@bitron.ch>
-
- * tools/scanner.c:
- * tools/scanner.h:
- * tools/scannerparser.y:
- Start fixing memory management in g-idl-scanner.
-
-2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/gidlcompilercontext.c: (write_compiled):
- Fix critical warning when no shlib passed to g-idl-compiler.
-
-2008-03-12 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/utility-expected.gidl:
- * tests/parser/utility.h:
- Add a get_type-function, so the scanner actually
- parses it as an object.
-
-2008-03-12 Johan Dahlin <johan@gnome.org>
-
- * tools/gidlwriter.c (function_generate): Add missing trailing quote.
- Bad Philip!
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/Makefile.am:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c:
- * tests/parser/utility-expected.gidl:
- * tests/parser/utility.c:
- * tests/parser/utility.h:
-
- Add a new gidl test. 'utility.gidl', which is used to be able
- to test external type references. Add a reference to UtilityObject*
- in the idl file.
-
-2008-03-11 Johan Dahlin <johan@gnome.org>
-
- * tools/compiler.c:
- * tools/generate.c:
- Remove most global variables
-
-2008-03-11 Philip Van Hoof <me@pvanhoof.be>
-
- * tools/scannerlexer.l:
- * tools/scanner.c:
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo.c:
- * tests/parser/Makefile.am:
- * tests/parser/foo-object.h:
-
- Added a few extra tests. Which resulted in finding a few
- bugs. Which resulted in me fixing those bugs
-
-2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
- (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
- Add some comments for strings into generated output for
- easier debugging.
-
-2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/gidlcompilercontext.c: (write_compiled):
- Write out the shlibs variable before writing out the strings
- length. Fixes compiler warning when using '-l' flag with
- g-idl-compiler
-
-2008-03-11 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tools/scanner.c:
- * tools/scanner.h:
- * tools/scannerlexer.l:
- Add support for parsing return arguments. Add support for
- caller-owns return types.
- Patch by Philip Van Hoof.
-
- * tools/scannerparser.y:
- Remove parsing of the @deprecated syntax used in headers.
- We will support gtk-doc deprecation in the future instead.
-
-2008-03-11 Johan Dahlin <johan@gnome.org>
-
- * tools/compiler.c (main): Coding style fixes
-
-2008-03-10 Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- Add GCOV_LIBS to GILIBS
-
-2008-03-10 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo.c:
- Rename null-ok to direction=out
-
-2008-03-10 Philip Van Hoof <me@pvanhoof.be>
-
- reviewed and extensively tested by Johan
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c:
- * tools/gidlnode.c:
- * tools/gidlnode.h:
- * tools/gidlwriter.c:
- * tools/scanner.c:
- * tools/scanner.h:
- * tools/scannerlexer.l:
- * tools/scannerparser.y:
-
- Add support for scanning for gtk-doc comments inside
- C source files. Add tests
-
-2008-03-10 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Makefile.am:
- * tests/parser/foo.c:
- * tools/scanner.c:
- * tools/scanner.h:
- * tools/scannerparser.y:
- Add an api to lex filenames.
- Lex all source .c files passed in on the command line.
- Scan sources in a test and a couple of private structures
- which should not be included in the generated gidl
-
-2008-03-10 Johan Dahlin <johan@gnome.org>
-
- * tests/invoke/Makefile.am: Make the generated metadata
- depend on the g-idl-compiler
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * tools/gidlmodule.c
- * tools/gidlmodule.h
- * tools/gidlnode.c
- * tools/gidlnode.h
- Remove the old g-idl-compiler code.
-
-
-2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * tools/quote-file.sh
- * tools/compiler.c
- * tools/generate.c
- Move to using the 'C' struct compiler code.
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * girepository/ginfo.c
- * tools/generate.c
- Change the way that external references with no namespace
- are dealt with. External references with no namespace
- are placed into the XML as-if they are a local reference.
- This is temporary, but helps with roundtrip tests.
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * girepository/ginfo.c
- Add the ability to get the value of a constant of
- type TYPE_TAG_SYMBOL. In the case of a symbol the value
- is provided as a string.
-
- This would deal properly with:
- typedef char* random;
- const random = "A string";
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * girepository/ginfo.c
- * girepository/girepository.h
- * tools/generate.c
- Add a function to check if an enum is registered or not.
- Previously anything testing this relied on the g-type
- string offset having a value of 0.
-
- * girepository/gmetadata.c
- * girepository/gmetadata.h
- * tools/generate.c
- Remove unneccesary or erroneous checks. There were two
- metadata validation checks which made sure that the blob
- sizes were the same as some magic numbers compiled into the code.
- This is wrong as it breaks any forwards compatibility that may
- be possible.
-
- Checks were also present that made sure that unregistered type
- blobs had a value of 0 in the g-type offset field. This is
- unneccessary. If a type blob is unregistered then any value
- in its g-type field is simply invalid.
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * girepository/ginfo.c
- * girepository/gmetadata.c
- * girepository/gmetadata.h
-
- Change the metadata format to have a standard header
- for all the type blobs. Merge the SimpleTypeBlob
- and InterfaceTypeBlob into a union. A union of these
- two blobs existed previously but was not explicit
- in the metadata format.
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * tools/gidlcompilercontext.c
- * tools/gidlcompilercontext.h
- * tools/gidlcompilerentrynode.c
- * tools/gidlcompilerentrynode.h
- * tools/gidlcompilertypenode.c
- * tools/gidlcompilertypenode.h
-
- Add code to compile a tree of GIdlNodes to
- a 'C' struct representing the metadata.
- This is to aid cross-compiling. Previously
- the g-idl-compiler created a binary blob with
- data written in the byte order and alignment
- of the tool rather than the intended target.
-
- Cleaned up and improved by Johan and Robert :-)
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * girepository/ginvoke.c
- * girepository/girepository.h
- * girepository/gmetadata.c
- * girepository/gmetadata.h
- * tools/generate.c
- * tools/gidlparser.c
- Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
- to avoid confusion with the interface blob.
-
- * tools/generate.c
- * tools/gidlparser.c
- Remove magic numbers and replace with type-tag
- enumeration symbols.
-
- * girepository/gmetadata.c
- Add validate declaration.
-
-2008-03-10 Jürg Billeter <j@bitron.ch>
-
- * tools/gidlparser.c: (parse_type_internal):
- * tools/scannerlexer.l:
- * tools/scannerparser.y:
- Support C99 _Bool type in scanner.
-
-2008-03-10 Jürg Billeter <j@bitron.ch>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c: (foo_enum_method):
- * tools/scanner.c: (g_igenerator_process_function_symbol):
- Don't skip functions that are defined in the namespace of a type
- that doesn't support methods, as for example enums.
-
-2008-03-10 Johan Dahlin <johan@gnome.org>
-
- * gidl.dtd: Remove, we're using relaxng for now
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c:
- Rename the enum/flags get_type functions to include the whole type.
-
-2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
-
- * tools/gidlwriter.c (enum_generate): added "type-name",
- "get-type" and "deprecated" missing arguments.
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h: test enum type, and no type.
-
-2008-03-06 Johan Dahlin <jdahlin@async.com.br>
-
- * configure.ac:
- Consistent checks, add missing 'test'
-
-2008-03-05 Havoc Pennington <hp@redhat.com>
-
- * configure.ac: Take advantage of a libffi.pc if one exists, as it
- does on Fedora 8. Make libffi a hard requirement, since it was in
- practice anyway (was not really conditional in the code or
- makefile, only in configure).
-
-2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
-
- reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
- reviewed by: Johan Dahlin <johan@gnome.org>
-
- * tests/Makefile.am:
- * tests/roundtrips.sh:
- Modify the roundtrips test so that they do not use the
- --raw option of the gidl compiler but instead compile a
- shared library to use with g_module.
-
- * tests/invoke/Makefile.am:
- * tests/invoke/invoke.c:
- Modify the invoke tests to build a shared library rather
- than use the --raw option.
-
- * tests/invoke/invoke-namespace-find.sh: Removed:
- Noone knows why this was here, so removed.
-
-2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/scanner.c: (g_igenerator_process_function_symbol):
- Move g_idl_node_can_have_member test later, as it broke spotting
- get_type's for nodes that can't have members.
-
-2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/gidlnode.h:
- * tools/gidlnode.c: (g_idl_node_can_have_member):
- Add g_idl_node_can_have_member.
-
- * tools/scanner.c: (g_igenerator_process_function_symbol):
- Use g_idl_node_can_have_member to test if we should add a function
- as a member of the type node.
-
-2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
- * gidl/Makefile.am:
- * tests/parser/Makefile.am:
- Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
-
-2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/scanner.c: (main):
- Ignore -pthread when passed to g-idl-scanner.
-
-2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tools/grealpath.h: Added:
- * tools/scanner.c: (main):
- * tools/scannerlexer.l:
- * tools/Makefile.am:
- Always use absolute paths with symbolic links resolved when
- comparing filenames.
-
-2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * gobject-introspection.pc.in:
- Provide variables for g-idl-parser, scanner and compiler in the
- pkgconfig file.
-
-2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * gcov.mak:
- * girepository/Makefile.am:
- * tools/Makefile.am:
- Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
-
-2008-02-10 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
- (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
- Add boxed test.
-
-2008-02-10 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
- Add enum and flags test.
-
-2008-02-10 Johan Dahlin <johan@gnome.org>
-
- * Makefile.am:
- * configure.ac:
- * girepository/Makefile.am:
- Make 'make distcheck' work again.
-
-2008-02-10 Johan Dahlin <johan@gnome.org>
-
- * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
- not as-compiler.m4.
-
- * tests/parser/Makefile.am: Only create Foo.gidl when running make
- check, eg exclude it from BUILT_SOURCES.
-
-2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * Makefile.am:
- * configure.ac:
- * gcov.mak: Added:
- * girepository/Makefile.am:
- * m4/Makefile.am: Added:
- * m4/as-compiler-flag.m4: Added:
- * m4/gcov.m4: Added:
- * tools/Makefile.am:
- Add ability to generate a coverage report.
- Adds configure option --enable-gcov and make rule 'check-coverage'.
-
-2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * Makefile.am:
- * configure.ac:
- * gidl/Makefile.am: Added:
- * girepository/Makefile.am: Added:
- * src/Makefile.am: Renamed to tools/Makefile.am:
- * src/compiler.c: Renamed to tools/compiler.c:
- * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
- * src/generate.c: Renamed to tools/generate.c:
- * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
- * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
- * src/gidlnode.c: Renamed to tools/gidlnode.c:
- * src/gidlnode.h: Renamed to tools/gidlnode.h:
- * src/gidlparser.c: Renamed to tools/gidlparser.c:
- * src/gidlparser.h: Renamed to tools/gidlparser.h:
- * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
- * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
- * src/ginfo.c: Renamed to girepository/ginfo.c:
- * src/ginvoke.c: Renamed to girepository/ginvoke.c:
- * src/girepository.c: Renamed to girepository/girepository.c:
- * src/girepository.h: Renamed to girepository/girepository.h:
- * src/gmetadata.c: Renamed to girepository/gmetadata.c:
- * src/gmetadata.h: Renamed to girepository/gmetadata.h:
- * src/scanner.c: Renamed to tools/scanner.c:
- * src/scanner.h: Renamed to tools/scanner.h:
- * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
- * src/scannerparser.y: Renamed to tools/scannerparser.y:
- * tests/invoke/Makefile.am:
- Split src/ into girepository/ and tools/
-
- * Makefile.am:
- * configure.ac:
- * girepository/Makefile.am:
- * tests/Makefile.am:
- * tests/invoke/Makefile.am:
- * tests/parser/Makefile.am:
- * tests/roundtrips.sh:
- * tools/Makefile.am:
- Make distcheck work.
-
-2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
-
- * tests/invoke/invoke.c: (main):
- * tests/invoke/testfns.c: (test6), (test7):
- * tests/invoke/testfns.xml:
- Add tests for invokation with a GList argument.
- Also tests caller-owns return values.
-
-2008-02-04 Rob Taylor <robtaylor@floopily.org>
-
- * src/ginfo.c:
- Add some documentation for GICallableInfo
-
-2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
-
- * gidl.dtd:
- Correct syntax errors in the DTD file.
- * relaxng/api.xml:
- * relaxng/c-types.xml:
- * relaxng/g-types.xml:
- * relaxng/util.xml:
- Add a RelaxNG specification for the GObject Introspection XML data.
- The Specification has validated all of the test files.
-
-2008-01-25 Rob Taylor <robtaylor@floopily.org>
-
- * tests/roundtrips.sh:
- * tests/struct.test:
- Add roundtrip tests for structs.
-
-2008-01-11 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c (g_igenerator_process_function_symbol):
- Refactor out g_idle_node_add_member.
- (create_node_from_gtype, create_node_from_ctype):
- Use case instead of if...else
- (get_type_from_type_id):
- Rename to create_node_from_gtype
- (get_type_from_ctype):
- Rename to create_node_from_ctype
-
- Rename ginode -> node, gitype -> type, gifunc -> func.
-
- * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
- Two new functions, refactor out of scanner.c
-
- * src/scanner.c: (g_igenerator_process_function_symbol):
- * src/scannerlexer.l:
- Do not save the content of the deprecated variable, only
- if it's set or not.
-
-2008-01-11 Johan Dahlin <johan@gnome.org>
-
- * tests/parser/foo-object.h: Add a couple of comment parser tests.
-
-2008-01-11 Jürg Billeter <j@bitron.ch>
-
- * src/scannerlexer.l:
- Fix GTK-Doc parsing.
-
-2008-01-11 Jürg Billeter <j@bitron.ch>
-
- * src/scannerlexer.l:
- Fix GTK-Doc parsing.
-
-2008-01-11 Jürg Billeter <j@bitron.ch>
-
- * src/scanner.c: (lookup_symbol):
- Return unresolved name if we find unknown symbol.
-
-2008-01-11 Jürg Billeter <j@bitron.ch>
-
- * src/scanner.c: (g_igenerator_generate):
- Initialize GObject to fix scanning interface properties.
-
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c: (foo_interface_get_type):
- Test interfaces with GObject prerequisite.
-
- * tests/parser/Makefile.am:
- Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
-
-2007-12-27 Johan Dahlin <johan@gnome.org>
-
- * src/scannerlexer.l:
- Parse gtk-doc comments.
-
- * src/gidlwriter.c: (function_generate):
- Reorganize, avoid duplication and add support for
- writing deprecated functions.
-
- * src/scannerparser.y:
- * src/scanner.h:
- Add new structure CDirective and functions to create/free them.
-
- * src/scanner.c: (g_igenerator_process_function_symbol),
- (g_igenerator_process_unregistered_struct_typedef),
- (g_igenerator_process_struct_typedef),
- (g_igenerator_process_union_typedef),
- (g_igenerator_process_enum_typedef),
- (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
- (g_igenerator_start_preprocessor):
- Parse @deprecated directive for functions.
- Remove some more C99isms.
- Send in -C to cpp to avoid stripping comments.
-
- * tests/parser/foo-object.h:
- * tests/parser/Foo-expected.gidl:
- Add deprecated directive
-
-2007-12-27 Johan Dahlin <johan@gnome.org>
-
- * src/scannerlexer.l (intsuffix): Add emacs mode line and
- escape ' and " so it looks more like C.
-
- * src/scanner.c:
- Unlink temporary file used.
-
-2007-12-27 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
- (g_igenerator_start_preprocessor), (main):
- * src/scanner.h:
- * src/scannerparser.y:
- Plug a couple of simple memory leaks.
-
-2007-12-27 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c: (g_igenerator_parse_macros),
- (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
- (main):
- * src/scanner.h:
- * src/scannerparser.y:
- * tests/parser/Makefile.am:
-
- Improve error reporting, return when the preprocessor fails.
- Add a verbose parameter, to aid debugging.
- Revert to using a temporary file to communicate between the
- preprocessor and the parser, because we need to wait for
- the exit code from the pre-processor before starting to parse.
-
-2007-12-16 Johan Dahlin <jdahlin@async.com.br>
-
- * src/Makefile.am: Rename clexer.l to scannerlexer.l and
- cparser.y to scannerparser.y
-
-2007-12-11 Johan Dahlin <johan@gnome.org>
-
- * src/clexer.l:
- * src/cparser.y:
- * src/scanner.c: (g_igenerator_new):
- * src/scanner.h:
- Get rid of the global the_generator variable.
-
-2007-12-10 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c (main): Add an output option,
- add checks for required parameters
-
- * src/Makefile.am:
- set BUILD_SOURCES and CLEANFILES properly
-
- * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
- (g_writer_write_indent), (g_writer_write_unindent),
- (field_generate), (value_generate), (constant_generate),
- (property_generate), (function_generate), (vfunc_generate),
- (signal_generate), (interface_generate), (struct_generate),
- (union_generate), (boxed_generate), (enum_generate),
- (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
- * src/gidlwriter.h:
- * src/scanner.c: (g_igenerator_generate):
- * src/scanner.h:
- * src/scannerwriter.c:
-
- Refactor scannerwriter to only be tied to a GIdlModule and move
- it (again!) to gidlwriter.c. Change the writer function to take
- a filename.
-
-2007-12-10 Johan Dahlin <johan@gnome.org>
-
- * src/Makefile.am:
- * src/scanner.c: (g_igenerator_generate):
- * src/scanner.h:
- * src/scannerwriter.c: (g_igenerator_write_inline),
- (g_igenerator_write), (g_igenerator_write_indent),
- (g_igenerator_write_unindent), (field_generate), (value_generate),
- (constant_generate), (property_generate), (function_generate),
- (vfunc_generate), (signal_generate), (interface_generate),
- (struct_generate), (union_generate), (boxed_generate),
- (enum_generate), (node_generate), (module_generate),
- (g_scanner_write_file):
-
- Move the scanner gidl writing to a separate source file.
-
-2007-12-10 Johan Dahlin <johan@gnome.org>
-
- * src/cparser.y:
- * src/scanner.c:
- * src/scanner.h:
- Move over all CType construction functions.
-
- * tests/parser/Makefile.am:
- Be verbose when printing parsing tests results.
-
-2007-12-10 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c (g_igenerator_start_preprocessor): Refactor
- preprocessor handling to here. Start cpp insteado of cc -E,
- always include -U__GNUC__, since it's specific to the preprocessor
- we use.
-
- * tests/parser/Makefile.am (check-local): Silent diff and skip
- -U__GNUC__ which is always defined now
-
-2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
-
- reviewed by: <delete if not using a buddy>
-
- * src/scanner.c: (g_igenerator_start_preprocessor), (main):
- * tests/parser/Makefile.am:
-
-2007-12-09 Johan Dahlin <johan@gnome.org>
-
- * src/scanner.c:
- Use GOption for command line options.
- (g_igenerator_new, main): Simplify constructor and they way
- parameters are passed into it.
-
- * src/cparser.y:
- * src/Makefile.am:
- * src/clexer.l:
- * src/cparser.y:
- * src/gen-introspect.c:
- * src/gen-introspect.h:
- * src/scanner.c:
- Rename gen-introspect.[ch] to scanner.[ch]
-
-2007-12-09 Johan Dahlin <johan@gnome.org>
-
- * TODO: Update
-
- * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
- don't make the repository library and the other utilites link against
- gthread-2.0
-
- * src/gen-introspect.c: (g_igenerator_create_object),
- (g_igenerator_create_interface), (g_igenerator_create_boxed),
- (g_igenerator_create_enum), (g_igenerator_create_flags),
- (g_igenerator_process_module_symbol),
- (g_igenerator_process_module), (g_igenerator_generate), (main):
- * src/gen-introspect.h:
- Refactor g_igenerator_process_types into smaller pieces.
-
- * tests/parser/Makefile.am:
- Depend on the gen-introspect binary
-
-2007-12-09 Johan Dahlin <johan@gnome.org>
-
- * src/gen-introspect.c (g_igenerator_process_types):
- Break into smaller pieces, one for each generated node type.
-
-2007-12-08 Johan Dahlin <johan@gnome.org>
-
- * src/gen-introspect.c: (g_igenerator_process_types),
- (g_igenerator_add_module):
- * tests/parser/Foo-expected.gidl:
- * tests/parser/foo-object.h:
- * tests/parser/foo.c: (foo_subobject_class_init),
- (foo_subobject_init):
-
- Add a subobject test and make sure to register defined classes
- in the lookup symbol hash table.
-
-2007-12-08 Johan Dahlin <johan@gnome.org>
-
- * gidl/GLib.gidl:
- * src/Makefile.am:
- * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
- (g_igenerator_process_types), (g_igenerator_add_module),
- (g_igenerator_add_include_idl), (main):
- * src/gen-introspect.h:
- * tests/parser/Makefile.am:
- * tests/parser/Foo-expected.gidl:
-
- Change the gen-introspect to generate namespaced module names,
- such as GLib.Object instead of GObject.
- Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
- add a --include-idl parameter to gen-introspect,
- and update the parser test.
-
-2007-12-08 Johan Dahlin <johan@gnome.org>
-
- * src/gen-introspect.c:
- Move main to the end of the file and attempt to make it valid
- ansi c.
-
- * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
- we're not quite ready to generate metadata yet.
-
- * tests/parser/:
- * configure.ac:
-
- Add a simple gen-introspect parser test
-
-2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
-
- reviewed by: Johan Dahlin <johan@gnome.org>
-
- * configure.ac:
- * gobject-introspection.pc.in:
- * src/Makefile.am:
- * src/compiler.c: (format_output), (write_out_metadata), (main):
- * src/gen-introspect.c: (main):
- * src/gen-introspect.h:
- * src/generate.c: (write_callable_info), (write_repository),
- (load_metadata), (main):
- * src/gidlmodule.c: (g_idl_module_new),
- (g_idl_module_build_metadata):
- * src/gidlmodule.h:
- * src/gidlparser.c: (start_element_handler):
- * src/ginfo.c: (g_info_new), (g_info_from_entry),
- (g_base_info_get_name), (g_base_info_get_namespace),
- (g_base_info_is_deprecated), (g_base_info_get_annotation),
- (g_base_info_get_metadata), (g_function_info_get_symbol),
- (g_function_info_get_flags), (g_function_info_get_property),
- (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
- (g_callable_info_may_return_null),
- (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
- (g_callable_info_get_arg), (g_arg_info_get_direction),
- (g_arg_info_is_return_value), (g_arg_info_is_dipper),
- (g_arg_info_is_optional), (g_arg_info_may_be_null),
- (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
- (g_type_info_get_tag), (g_type_info_get_param_type),
- (g_type_info_get_interface), (g_type_info_get_array_length),
- (g_type_info_is_zero_terminated),
- (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
- (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
- (g_value_info_get_value), (g_field_info_get_flags),
- (g_field_info_get_size), (g_field_info_get_offset),
- (g_registered_type_info_get_type_name),
- (g_registered_type_info_get_type_init),
- (g_struct_info_get_n_fields), (g_struct_info_get_field),
- (g_struct_info_get_n_methods), (g_struct_info_get_method),
- (find_method), (g_struct_info_find_method),
- (g_enum_info_get_n_values), (g_enum_info_get_value),
- (g_object_info_get_parent), (g_object_info_get_type_name),
- (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
- (g_object_info_get_interface), (g_object_info_get_n_fields),
- (g_object_info_get_field), (g_object_info_get_n_properties),
- (g_object_info_get_property), (g_object_info_get_n_methods),
- (g_object_info_get_method), (g_object_info_find_method),
- (g_object_info_get_n_signals), (g_object_info_get_signal),
- (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
- (g_object_info_get_n_constants), (g_object_info_get_constant),
- (g_interface_info_get_n_prerequisites),
- (g_interface_info_get_prerequisite),
- (g_interface_info_get_n_properties),
- (g_interface_info_get_property), (g_interface_info_get_n_methods),
- (g_interface_info_get_method), (g_interface_info_find_method),
- (g_interface_info_get_n_signals), (g_interface_info_get_signal),
- (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
- (g_interface_info_get_n_constants),
- (g_interface_info_get_constant), (g_property_info_get_flags),
- (g_signal_info_get_flags), (g_signal_info_get_class_closure),
- (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
- (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
- (g_constant_info_get_value), (g_union_info_get_n_fields),
- (g_union_info_get_field), (g_union_info_get_n_methods),
- (g_union_info_get_method), (g_union_info_is_discriminated),
- (g_union_info_get_discriminator_offset),
- (g_union_info_get_discriminator):
- * src/ginvoke.c: (g_function_info_invoke):
- * src/girepository.c: (g_irepository_register),
- (g_irepository_unregister), (g_irepository_get_default),
- (count_interfaces), (g_irepository_get_n_infos), (find_interface),
- (g_irepository_get_info), (g_irepository_find_by_name),
- (g_irepository_get_shared_library),
- (g_irepository_build_search_path), (g_irepository_register_file),
- (g_irepository_error_quark):
- * src/girepository.h:
- * src/gmetadata.c: (g_metadata_get_dir_entry),
- (g_metadata_check_sanity), (validate_header),
- (validate_array_type_blob), (validate_iface_type_blob),
- (validate_param_type_blob), (validate_error_type_blob),
- (validate_type_blob), (validate_arg_blob),
- (validate_signature_blob), (validate_function_blob),
- (validate_callback_blob), (validate_constant_blob),
- (validate_value_blob), (validate_field_blob),
- (validate_property_blob), (validate_signal_blob),
- (validate_vfunc_blob), (validate_struct_blob),
- (validate_enum_blob), (validate_object_blob),
- (validate_interface_blob), (validate_errordomain_blob),
- (validate_union_blob), (validate_blob), (validate_directory),
- (validate_annotations), (g_metadata_validate), (_g_metadata_init),
- (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
- (g_metadata_new_from_mapped_file), (g_metadata_free),
- (g_metadata_set_module), (g_metadata_get_namespace):
- * src/gmetadata.h:
- * tests/Makefile.am:
- * tests/invoke/Makefile.am:
- * tests/invoke/invoke-namespace-find.sh:
- * tests/invoke/invoke.c: (main):
-
- Add a namespace/shared library mapping. fixes #313268.
-
-2007-12-03 Johan Dahlin <johan@gnome.org>
-
- * src/gidlparser.c (parse_type_internal): Disable char/gchar and
- guchar for now.
-
-2007-11-30 Jürg Billeter <j@bitron.ch>
-
- * configure.ac:
- * src/Makefile.am:
- * src/clexer.l:
- * src/cparser.y:
- * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
- (g_igenerator_write_inline), (g_igenerator_write),
- (g_igenerator_write_indent), (g_igenerator_write_unindent),
- (field_generate), (value_generate), (constant_generate),
- (property_generate), (function_generate), (vfunc_generate),
- (signal_generate), (interface_generate), (struct_generate),
- (union_generate), (boxed_generate), (enum_generate),
- (node_generate), (module_generate), (get_type_from_type_id),
- (str_replace), (g_igenerator_process_properties),
- (g_igenerator_process_signals), (g_igenerator_process_types),
- (get_type_from_ctype), (g_igenerator_process_function_symbol),
- (g_igenerator_process_unregistered_struct_typedef),
- (g_igenerator_process_struct_typedef),
- (g_igenerator_process_union_typedef),
- (g_igenerator_process_enum_typedef),
- (g_igenerator_process_function_typedef),
- (g_igenerator_process_constant), (g_igenerator_process_symbols),
- (g_igenerator_add_symbol), (g_igenerator_is_typedef),
- (g_igenerator_generate), (main), (csymbol_new),
- (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
- (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
- (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
- (eat_hspace), (eat_line), (read_identifier),
- (g_igenerator_parse_macros):
- * src/gen-introspect.h:
-
- Import gen-introspect to generate introspection information by
- parsing C headers.
-
-2007-11-30 Jürg Billeter <j@bitron.ch>
-
- * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
-
-2007-11-30 Jürg Billeter <j@bitron.ch>
-
- * src/gidlparser.c: (end_element_handler): Don't leave requires
- state too early.
-
-2007-11-29 Johan Dahlin <johan@gnome.org>
-
- * src/gidlparser.c (parse_type_internal): Add char,
- gchar and guchar to the builtin types.
-
-2007-11-26 Johan Dahlin <johan@gnome.org>
-
- * src/ginfo.c: (g_object_info_get_type_name),
- (g_object_info_get_type_init):
- * src/girepository.c: (g_irepository_is_registered):
- * src/girepository.h:
-
- Add g_object_info_get_type_name, g_object_info_get_type_init and
- g_irepository_is_registered.
-
-2006-08-14 Jürg Billeter <j@bitron.ch>
-
- * src/gidlparser.c: (end_element_handler): Don't leave
- namespace and implements states too early.
- Fixes #351264
-
-2007-11-26 Johan Dahlin <johan@gnome.org>
-
- * src/gmetadata.c (validate_struct_blob):
- pass blob_type to validate_function_blob instead of
- hard-coding BLOB_TYPE_STRUCT.
-
- Patch by Torsten Schoenfeld, fixes #314190
-
-2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
-
- * src/compiler.c, src/generate.c, src/gidlnode.c,
- src/gidlparser.c, src/ginfo.c, src/girepository.c,
- tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
- warnings about return values, signedness mismatches, unused
- variables, and unhandles enum values in switch statements.
-
- * tests/invoke/Makefile.am: Don't install the invoke test program.
- Add -I ../../src to the cflags used for the test functions files.
-
-2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
-
- * src/girepository.h: Export g_invoke_error_quark.
-
-2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
-
- * src/ginvoke.c: Remove the fallback implementation of
- g_function_info_invoke since we now formally depend on libffi.
-
-2005-07-25 Matthias Clasen <mclasen@redhat.com>
-
- * src/Makefile, tests/Makefile, tests/invoke/Makefile:
- Remove these files from cvs, as they are now generated.
-
- * src/gmetadata.c (validate_iface_type_blob): Don't
- complain if blob->pointer is not set, since that
- happens for enum and flag types. (#308935, Gustavo
- Carneiro)
-
- * Commit an autoconf-conversion patch by
- Gustavo Carneiro (#308708)
-
-2005-05-24 Matthias Clasen <mclasen@redhat.com>
-
- * src/compiler.c (main): Use it here to validate
- the generated metadata.
-
- * src/gmetadata.[hc]: Add code to validate a
- metadata blob.
-
- * metadata-format.txt: Updates
-
-2005-05-22 Matthias Clasen <mclasen@redhat.com>
-
- * tests/*: Add struct offsets to field and vfunc
- elements.
-
- * src/generate.c (write_vfunc_info): Write offset
- information for vfuncs.
-
- * src/gidlnode.c (g_idl_node_build_metadata): Write
- the struct offsets into the metadata.
-
- * src/gidlparser.c: Parse the offset attributes of
- field and vfunc elements.
-
- * src/gidlnode.h: Add offset members to field and
- vfunc nodes.
-
-2005-05-21 Matthias Clasen <mclasen@redhat.com>
-
- * TODO: Updates.
-
- * gidl.dtd: Updates.
-
- * src/g-idl-offsets.pl: A perl script which reads a .gidl
- file, creates, compiles and runs a C file, and folds the
- resulting struct offsets back into the .gidl file.
-
-2005-05-20 Matthias Clasen <mclasen@redhat.com>
-
- * src/gidlparser.c (start_field): Make fields in objects
- work.
-
- * src/gidlmodule.c: Include string.h
-
- * TODO: Updates.
- :
-
- * metadata-format.txt: Cleanup basic types.
- * src/*: Adapt to the changes.
- * tests/*: Adapt to the changes.
- * examples/gdk-pixbuf.gidl: Adapt to the changes.
-
- * src/gidlnode.c (g_idl_node_get_size): Report the correct
- size for enum blobs.
- (g_idl_node_get_full_size): Report the correct size for
- function blobs.
-
- * src/gidlmodule.c (g_idl_module_build_metadata): Add some
- error checking for blob sizes.
-
-2005-05-19 Matthias Clasen <mclasen@redhat.com>
-
- * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
- interface types for which is_pointer is FALSE, e.g. enums.
-
- * src/gidlnode.c (g_idl_node_get_full_size)
- * src/gidlparser.c (parse_type_internal):
- * src/generate.c (write_type_info): Support unspecialized
- lists, hashtables and errors. Also emit a '*' after these.
-
- * TODO: Updates
-
-2005-05-17 Matthias Clasen <mclasen@redhat.com>
-
- * TODO: Updates
-
- * metadata-format.txt: Cleanups by Maciej Katafiasz.
-
-2005-05-15 Matthias Clasen <mclasen@redhat.com>
-
- * src/*.c: Change the directory to be addressed by
- 1-based indexes, and use an index of zero to mean
- 'no object'.
-
-2005-05-15 Matthias Clasen <mclasen@redhat.com>
-
- * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
-
- * tests/union.test: Add a union test.
-
- * src/generate.c: Handle unions.
-
- * src/girepository.h:
- * src/ginfo.c: Add GIUnionInfo and functions to access it.
-
- * src/gidlnode.c: Handle GIdlNodeUnion nodes.
-
- * src/gidlparser.c (start_union): Parse <union> elements.
-
- * src/gidlnode.h: Add a GIdlNodeUnion.
-
- * gidl.dtd: Add a <union> element.
-
- * src/gmetadata.c (g_metadata_check_sanity): Check
- union_blob_size.
-
- * src/gmetadata.h: Add union_blob_size to Header,
- add a UnionBlob.
-
- * metadata-format.txt: Add a UnionBlob.
-
-2005-05-13 Matthias Clasen <mclasen@redhat.com>
-
- * tests/*: Update testcases.
-
- * src/generate.c (write_callable_info): Don't forget to
- write transfer and null-ok attributes for return types
- and parameters.
-
- * src/girepository.h:
- * src/ginfo.c (g_callable_info_may_return_null):
- New function to find out if a function may return NULL.
-
- * src/compiler.c (format_output): Make the generated
- C code compile.
-
- * README: Point to a recent libffi snapshot.
-
- * tests/invoke/*: Some invoke tests.
-
- * src/Makefile: Add ginvoke.c and the necessary
- libffi information.
-
- * src/girepository.h (g_function_info_invoke): Add
- a GError argument.
-
- * src/ginvoke.c (g_function_info_invoke): Initial
- implementation of invoke functionality based on libffi.
-
- * src/gidlnode.c (g_idl_node_build_metadata): Pass the
- strings and types hash tables in the right order when
- recursing.
- (find_entry_node): Free the name parts.
-
-2005-05-12 Johan Dahlin <johan@gnome.org>
-
- * src/generate.c: Generate consistent end tags.
-
- * tests/*: Update
-
-2005-05-12 Matthias Clasen <mclasen@redhat.com>
-
- * TODO: Updates
-
- * src/gidlparser.c (start_function): Actually add
- methods to objects. (Steven Walter)
-
- * src/girepository.h:
- * src/ginfo.c: Rename Transfer and Direction to
- GITransfer and GIDirection. (Torsten Schoenfeld)
-
- * tests/*: Make tests work with the changes in name
- handling.
-
- * src/gidlnode.c (find_entry_node): Parse qualified
- names and generate xref nodes for them if needed. Don't
- require all modules to be loaded any more.
-
- * src/gidlmodule.c (g_idl_module_build_metadata): Choke
- on '.' in names.
-
- * src/ginfo.c (g_object_info_get_parent): Return NULL
- if blob->parent is 0. Still need to make sure index
- 0 is not used.
-
- * src/generate.c: Generate qualified names when
- referring to non-local types. Emit transfer attribute
- for return types.
-
- * src/compiler.c (format_output): Put the function
- attributes where gcc accepts them.
-
-2005-05-11 Matthias Clasen <mclasen@redhat.com>
-
- * src/compiler.c (main): Add a --verbose cmdline option
- and only log messages if it is specified.
-
- * src/gidlnode.h:
- * src/gidlnode.c (init_stats, dump_stats): Collect some
- statistics on string and type sharing.
-
- * src/gidlmodule.c (g_idl_module_build_metadata): Use
- g_message() instead of fprintf().
-
- * src/gidlnode.c (g_idl_node_free): Make this more robust.
- (g_idl_node_get_size): Implement for structs.
- (g_idl_node_get_full_size): Handle parent being NULL.
- (serialize_type): Handle lookup failures more gracefully.
-
-2005-05-10 Matthias Clasen <mclasen@redhat.com>
-
- * src/gidlnode.c (g_idl_node_get_full_size): Correct the
- size calculation for 2-parameter types and for objects.
-
- * src/compiler.c: Add a cmdline option for debug output
- and install a log handler to implement it.
- * src/gidlnode.c: Add some debug spew.
-
- * TODO: Updates
-
- * src/gidlmodule.c (g_idl_module_build_metadata): Don't
- forget to count the module name when calculating the
- required size for the metadata.
-
- * src/gidlnode.c:
- * src/gidlparser.c: Fix compiler warnings.
-
-2005-05-09 Matthias Clasen <mclasen@redhat.com>
-
- * src/compiler.c (main): Free the option context.
-
- * gidl.dtd: Clean up handling of names. All elements
- have a "name", only the elements corresponding to
- actual callable functions (function, method, constructor),
- have an additional "symbol" attribute holding the
- dlsym()-able function name.
-
- * src/generate.c: Adapt to generate xml matching the
- new dtd.
-
- * src/gidlparser.c:
- * src/gidlnode.c: Adapt to parse the new dtd.
-
- * tests/*.test: Adjust to the new dtd.
-
- * metadata-format.txt:
- * src/gmetadata.h: Remove the short_name field
- from the ValueBlob.
- * src/gmetadata.c: Shrink size of ValueBlob to 12.
- * src/girepository.h:
- * src/ginfo.c (g_value_info_get_short_name): Removed
-
-2005-05-09 Matthias Clasen <mclasen@redhat.com>
-
- * gidl.dtd: Allow constructors for boxed types,
- patch by Jonathan Blandford.
-
-
-2005-05-09 Matthias Clasen <mclasen@redhat.com>
-
- * --- Initial import ---
diff --git a/ChangeLog.pre-git b/ChangeLog.pre-git
new file mode 100644
index 0000000..d12f5e6
--- /dev/null
+++ b/ChangeLog.pre-git
@@ -0,0 +1,6128 @@
+2009-02-10 Rober Carr <carrr@rpi.edu>
+
+ Bug 569633 – Typelib compiler fails with vararg callbacks
+
+ * girepository/girparser.c: Also filter out callback functions
+ which take vararg arguments.
+
+2009-02-10 Xan Lopez <xan@gnome.org>
+
+ Bug 570903 - Add information about -I flag to scanner manpage
+
+ * docs/g-ir-scanner.1: Add info about -I flag.
+
+2009-02-06 Owen Taylor <otaylor@redhat.com>
+
+ * gir/xlib-2.0.gir: Add KeySym and KeyCode to the dummy
+ xlib-2.0.gir.
+
+2009-02-04 Johan Dahlin <jdahlin@async.com.br>
+
+ * girepository/Makefile.am:
+ * girepository/girffi.c (g_callable_info_get_ffi_arg_types),
+ (g_callable_info_get_ffi_return_type),
+ (g_callable_info_prepare_closure), (g_callable_info_free_closure):
+ * girepository/girffi.h:
+ Add utility functions for invocing closures given a GICallableInfo
+ using libffi.
+
+2009-02-03 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * tests/scanner/utility.h (UtilityTaggedValue): Make the union
+ member anonymous.
+ (UtilityByte): New union typedef with an unnamed struct in it.
+
+ * giscanner/transformer.py (Transformer._create_struct): Create
+ unnamed structs for symbols with a None ident.
+ (Transformer._create_union): Likewise.
+
+ * giscanner/girwriter.py (GIRWriter._write_record): Allow name
+ being None.
+ (GIRWriter._write_union): Likewise.
+
+ * girepository/girparser.c (start_struct): Allow a NULL name for
+ non-toplevel structs.
+ (start_union): Likewise.
+
+ * tests/scanner/utility.h (UtilityTaggedValue): New struct
+ typedef, which has a nested union member.
+ * tests/scanner/utility-expected.gir: Adapted.
+
+ * giscanner/transformer.py (Transformer._create_member): Create
+ struct/union members if appropriate.
+ (Transformer._create_struct, Transformer._create_union): Allow for
+ structs/unions without a C type.
+
+ * giscanner/glibtransformer.py (GLibTransformer._resolve_field):
+ We don't need to resolve non-typef'd
+ (GLibTransformer._resolve_field): Add cases for non-typedef'd
+ struct/union "fields".
+
+ * giscanner/girwriter.py (GIRWriter._write_record): Allow for
+ records without a C type.
+ (GIRWriter._write_field): structs and unions may appear in places
+ where fields do.
+
+2009-02-03 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * girepository/girparser.c (ParseContext): Removed member
+ current_node, added node_stack instead.
+ (CURRENT_NODE): New macro, returns the current node (top of
+ node_stack).
+ (pop_node, push_node): New functions; pop or push a node from
+ node_stack.
+ Rest of the file adapted to these changes, which are necessary
+ for supporting nested structs/and unions.
+
+2009-02-02 Dan Winship <danw@gnome.org>
+
+ * girepository/ginfo.c (g_registered_type_info_get_g_type): handle
+ the special case for GObject, whose glib:get-type is listed as
+ "intern".
+
+2009-02-02 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 569408 – Scanner doesn't handle arbitrary typedefs correctly
+
+ * giscanner/glibtransformer.py (GLibTransformer._create_gobject):
+ Treat GInitiallyUnowned specially.
+
+ Bug 568680 – Scanner misses fields (at least in GObject.Object)
+
+ * girepository/giroffsets.c (compute_struct_field_offsets): Fix
+ handling of callbacks (a callback member clobbered the size
+ computed so far).
+
+ * giscanner/transformer.py (Transformer._create_compound): Use
+ the (empty) compound created by a typedef if present; this means
+ that fields will no longer get lost.
+
+ * giscanner/transformer.py (Transformer._create_compound): New
+ method, contains logic common to _create_union and _create_struct.
+ (Transformer._create_struct, Transformer._create_union): Rewritten
+ in terms of _create_compound.
+
+ * gir/GObject-2.0.xpath: Some new assertations of the presence
+ GObject fields.
+ * tests/offsets/Makefile.am, tests/offsets/offsets.h: Added test
+ for object field offsets.
+
+ 2009-02-02 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 563469 – Arrays not treated correctly in struct offset calculation
+
+ * tests/offsets/offsets.h (OffsetsArray): New struct, containing a
+ bunch of arrays.
+
+ * tests/offsets/gen-gitestoffsets (FIELD_RE): Handle arrays.
+
+ * girepository/giroffsets.c (get_interface_size_alignment):
+ Refactored to make it more general, now takes a GIrNodeType*
+ instead of a GIrNodeField*, plus an additional 'who' parameter
+ that denotes what the size/alignment is calculated for.
+ (get_type_size_alignment): New function, refactored version of
+ get_field_size_alignment().
+ (get_field_size_alignment): Implemented in terms of
+ get_type_size_alignment().
+ (get_type_size_alignment): Handle array types correctly.
+
+ 2009-01-28 Johan Bilien <jobi@via.ecp.fr>
+
+ * tests/scanner/annotation-1.0-expected.gir: add missing
+ with_voidp
+
+2009-01-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/cairo-1.0.gir:
+ * gir/fontconfig-2.0.gir:
+ * gir/freetype2-2.0.gir:
+ * gir/libxml2-2.0.gir:
+ * gir/xfixes-4.0.gir:
+ * gir/xft-2.0.gir:
+ * gir/xlib-2.0.gir:
+ Remove shared-library tags for these too.
+
+2009-01-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/GL-1.0.gir:
+ Remove shared-library which removes the build
+ time dependency on mesa.
+
+2009-01-27 Dan Winship <danw@gnome.org>
+
+ Misc warning fixes
+
+ * giscanner/scannerparser.y: Fix the "Ignoring non-UTF-8 constant
+ string" error to print the right value.
+
+ * tests/scanner/annotation.c (backslash_parsing_tester)
+ (backslash_parsing_tester_2): make these non-static to avoid a
+ warning.
+ (annotation_object_string_out)
+ (annotation_string_zero_terminated): fix return values
+
+ * tests/scanner/annotation.h (annotation_object_with_voidp):
+ prototype this
+
+ * tests/scanner/gtkfrob.c:
+ * tests/scanner/gtkfrob.h (gtk_frob_language_manager_get_default):
+ fix prototype. (s/()/(void)/).
+
+ * tools/compiler.c (format_output): fix signed/unsigned warning.
+ Output a prototype for register_typelib() to avoid warnings later.
+
+2009-01-26 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/everything.c (test_callback):
+ * tests/everything/everything.h:
+ Add a couple of callback tests.
+
+2009-01-26 Johan Dahlin <jdahlin@async.com.br>
+
+ * girepository/ginfo.c (g_base_info_unref):
+ Only unref the repository if it's actually set.
+
+2009-01-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/everything.c (test_enum_param):
+ * tests/everything/everything.h:
+
+ Add an enum param test function
+
+2009-01-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * configure.ac:
+ Post-release version bump
+
+=== 0.6.2 ===
+2009-01-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Update
+
+2009-01-21 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 562622 – Errordomains missing
+
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * tests/scanner/Makefile.am:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tests/scanner/foo.c (foo_error_get_type), (foo_error_quark):
+ * tests/scanner/foo.h:
+
+2009-01-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/scannerlexer.l:
+ Increase the buffer size to 1M, so
+ gtkalias.h can be parsed.
+
+2009-01-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/glibtransformer.py:
+ When trying to map functions to structs, do
+ not require a public structure to exist, should
+ fix Gst gir generation in.
+
+2009-01-20 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 562615 – Struct methods missing
+
+ * giscanner/annotationparser.py:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir:
+
+2009-01-16 Dan Winship <danw@gnome.org>
+
+ * gir/GL-1.0.gir: add back GLvoid, which got lost during the
+ gir-repository -> gobject-introspection migration
+
+2009-01-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/freetype2-2.0.gir: add FT_Int32
+ * gir/xft-2.0.gir: add XftFont
+ * girepository/gdump.c (g_irepository_dump):
+ Report errors when an invalid type is encountered
+ * giscanner/glibtransformer.py:
+ Make the error message a bit nicer.
+
+ Part of preparating for gir generating inside pango.
+
+2009-01-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/GL-1.0.gir:
+ * gir/Makefile.am:
+ * gir/cairo-1.0.gir:
+ * gir/fontconfig-2.0.gir:
+ * gir/freetype2-2.0.gir:
+ * gir/libxml2-2.0.gir:
+ * gir/xfixes-4.0.gir:
+ * gir/xft-2.0.gir:
+ * gir/xlib-2.0.gir:
+
+ Move over the hand-written girs from gir-repository
+ so upstream libraries depending on these can avoid
+ a gir-repository dependency.
+
+2009-01-15 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 567813 – Everything should be versioned
+
+ * gir/Makefile.am:
+ * girepository/Makefile.am:
+ * girepository/girepository.c (init_globals):
+ * girepository/girparser.c (locate_gir):
+ * giscanner/dumper.py:
+ * giscanner/transformer.py:
+ * gobject-introspection-1.0.pc.in:
+ * tests/everything/Makefile.am:
+ * tests/invoke/Makefile.am:
+ * tests/offsets/Makefile.am:
+ * tests/repository/Makefile.am:
+ * tests/scanner/Makefile.am:
+ * tools/Makefile.am:
+
+2009-01-13 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 555036 – put gtk-doc in GIR
+
+ * giscanner/annotationparser.py:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation.h:
+ * tests/scanner/foo-1.0-expected.gir:
+
+2009-01-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cachestore.py (CacheStore.load): Catch AttributeError
+ which seems to be occasionally raised for Record.
+
+ * giscanner/annotationparser.py:
+ Fix a bug where \n was not present in a comment
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 562467 – Property annotation
+
+ * giscanner/annotationparser.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/annotation.c (annotation_object_set_property),
+ (annotation_object_get_property), (annotation_object_class_init):
+
+ Annotations are parsed for properties.
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 546739 – Introspection should know precise signal parameter types
+
+ * giscanner/annotationparser.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/annotation.c (annotation_object_class_init):
+
+ Annotations are parsed for signals, the (type) annotation is introduced.
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 563591 – Flags not recognized when there is no introspection data
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/giscannermodule.c (type_get_is_bitfield):
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/scannerparser.y:
+ * giscanner/sourcescanner.c (gi_source_type_copy):
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tests/scanner/foo.h:
+
+ Large parts of this patch was done by Jürg Billeter.
+
+2009-01-12 Havoc Pennington <hp@pobox.com>
+
+ Bug 563386 – scanner ignores "const" on boxed return values
+
+ * tests/everything/everything.c (test_simple_boxed_a_const_return):
+ * tests/everything/everything.h:
+
+ This adds just the tests specified in the bug above, the fix itself
+ was included in Bug 563794
+
+2009-01-03 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 566404 – Annotations for GLib
+
+ * gir/glib-2.0.c: Added allow-none annotations for g_thread_init()
+ and g_main_loop_new().
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 566419 – Element type of arrays not properly handled in all cases
+
+ * giscanner/annotationparser.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/annotation.c (annotation_object_set_data),
+ (annotation_object_set_data2), (annotation_object_set_data3):
+ * tests/scanner/annotation.h:
+
+ Based on patch by Andreas Rottmann
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 566560 – giscanner.transformer.SkipError
+
+ * giscanner/transformer.py:
+
+ Catch SkipError for all nodes, not just functions.
+ Makes it possible to skip unsupported parameter types in
+ callbacks.
+
+2009-01-12 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 563794 - Redo annotation parsing & applying
+
+ Thanks to Colin for helping out considerably in landing this.
+
+ * giscanner/Makefile.am:
+ * giscanner/ast.py:
+ * giscanner/dumper.py:
+ * giscanner/girparser.py:
+ * giscanner/giscannermodule.c (pygi_source_scanner_get_comments),
+ (calc_attrs_length), (pygi_collect_attributes), (init_giscanner):
+ * giscanner/glibtransformer.py:
+ * giscanner/scannerlexer.l:
+ * giscanner/sourcescanner.c (gi_source_symbol_unref),
+ (gi_source_scanner_new), (gi_source_scanner_free),
+ (gi_source_scanner_get_comments):
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ * giscanner/xmlwriter.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/annotation.c:
+ * tests/scanner/annotation.h:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tests/scanner/foo.h:
+ * tools/g-ir-scanner:
+
+ This commit merges the annotation parser rewrite branch.
+ It'll change the annotation parsing to be done completely in python
+ code which will make it easier to do further annotation parsing
+ easier.
+
+2009-01-03 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 563469 – Arrays not treated correctly in struct offset calculation
+
+ * tests/scanner/foo.h (FooObject): Added field `some_int'.
+ * tests/scanner/foo-1.0-expected.gir,
+ * tests/scanner/foo-1.0-expected.tgir: Adapted.
+
+ * giscanner/glibtransformer.py (GLibTransformer._create_gobject):
+ carry over object fields from original (struct) node.
+ (GLibTransformer._pair_class_struct): Don't add fields of the
+ class struct to to the node for the class, they should go under a
+ nested <record> element (see also Bug 551738). This is needed as
+ otherwise offset calculation would not work, as the instance
+ fields are mingled with the class fields without a way to
+ distinguish them.
+
+2009-01-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * misc/pep8.py:
+ Disable blank line check, it works differently under
+ Python 2.5 from 2.6 and was rather annoying from the start.
+
+2008-01-03 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 556489 – callback annotations
+
+ * giscanner/transformer.py
+
+ * tools/generate.c (write_callable_info): Write out the new scope,
+ closure and destroy attributes.
+
+ * giscanner/transformer.py (Transformer._type_is_callback): New
+ method, checking if a given type is a callback.
+ (Transformer._augment_callback_params): New method; adds
+ information (closure, destroy) to callback parameters.
+ (Transformer._handle_closure, Transformer._handle_destroy): New methods,
+ auxiliary to _augment_callback_params.
+ (Transformer._create_function): Call _augment_callback_params().
+ (Transformer._create_parameter): Handle scope option.
+
+ (Transformer._create_typedef_callback): New method, creates a
+ callback, and registers it in the typedef namespace
+ (Transformer._create_typedef): Use _create_typedef_callback()
+ instead of the plain _create_callback().
+
+ * giscanner/ast.py (Parameter): Added callback-related fields.
+ * giscanner/girwriter.py: Write out new Parameter fields.
+
+ * girepository/girnode.h (GIrNodeParam): Added fields scope,
+ closure and destroy.
+ * girepository/gtypelib.h (ArgBlob): Ditto.
+ * girepository/girparser.c (start_parameter): Handle new fields.
+
+ * girepository/girmodule.c (g_ir_module_build_typelib): Adjust
+ arg_blob_size, bump major version due to this change.
+ * girepository/girnode.c (g_ir_node_get_full_size_internal)
+ (g_ir_node_build_typelib)
+ * girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size
+ adjustments.
+ (g_ir_node_build_typelib): Fill in new ArgBlob flags from param.
+
+ * girepository/girepository.h (GIScope): New enumeration, listing
+ the different possible scopes for callbacks.
+
+ * girepository/ginfo.c (g_arg_info_get_scope)
+ (g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for
+ callback-related argument indices (callback scope, closure for a
+ callback, destroy notification for a callback).
+
+ * tests/scanner/: Added testcases for new features.
+
+2009-01-03 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/ast.py:
+ * giscanner/dumper.py:
+ * giscanner/girparser.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ * giscanner/xmlwriter.py:
+
+ Fix inconsistencies with PEP8
+
+2008-12-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/gio-2.0.c:
+ Annotate transfer, direction and allow none for
+ g_file_load_contents, g_file_load_contents_finish and
+ g_file_load_partial_contents_finish parameters.
+
+2008-12-12 Owen Taylor <otaylor@redhat.com>
+
+ Disable array auto-detection for out-annotated parameters (#563934)
+
+ If we have a parameter annotated as (out), then having a ctype of
+ 'char **' (or similar) doesn't necessarily indicate an array.
+
+ * giscanner/transformer.py: Skip array-detection logic for
+ (out)-annotated parameters.
+ * tests/scanner/annotation.h tests/scanner/annotation.c
+ tests/scanner/annotation-1.0-expected.gir
+ tests/scanner/annotation-1.0-expected.tgir: Add a test for
+ an (out) string parameter.
+
+2008-12-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/dumper.py (DumpCompiler._link): Pass in
+ --tag=CC to libtool to avoid making libtool confused
+ when CC is different from gcc on some systems.
+
+2008-12-10 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 563998 – Cache the GIBaseInfo for GTypes
+
+ * girepository/girepository.c (g_irepository_find_by_gtype):
+ add a cache of GType -> GIBaseInfo.
+
+2008-12-09 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 562545 – Add function taking / returning GValue
+
+ * tests/everything/everything.[ch]: add a test of function taking and
+ returning "const GValue *"
+
+2008-12-09 Johan Dahlin <johan@async.com.br>
+
+ * giscanner/cachestore.py (CacheStore.store): Use
+ shutil.move instead of os.rename, since it will
+ automatically fall back to copying+remove if the
+ src directory is on a different partition from
+ the dst directory.
+
+2008-12-08 Tristan Van Berkom <tristan.van.berkom@gmail.com>
+
+ Bug 563742 – introspection should record the introduced version of
+ symbols marked with the "Since:" tag
+
+ reviewed by: Johan
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/scannerlexer.l:
+ * giscanner/transformer.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/annotation.c (annotation_versioned):
+ * tests/scanner/annotation.h:
+
+2008-12-08 Johan Dahlin <johan@async.com.br>
+
+ * giscanner/cachestore.py (_get_cachedir): Don't require
+ HOME to be set and if it set, don't require the
+ directory to exist.
+
+2008-12-08 Johan Dahlin <johan@async.com.br>
+
+ * giscanner/cachestore.py (CacheStore.store): Dump the cache
+ file to a temporary file and rename it the expected filename
+ only when it's completely written.
+ This should make the cache more roboust when run in parallel,
+ and hopefully avoid triggering bugs in Python.
+
+2008-12-03 Christophe Fergeau <teuf@gnome.org>
+
+ Bug 562971 – g-ir-scanner failure on libgpod headers
+
+ * giscanner/scannerlexer.l: raise YY_BUF_SIZE to 65536 up from the
+ default 16384. Without it, the lexer was aborting with a cryptic
+ error message on source files containing really long comment
+ blocks.
+
+2008-12-01 Colin Walters <walters@verbum.org>
+
+ * girepository/gfield.c: Fix memory leak; unref type info we
+ created, not field info
+
+2008-11-30 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 562289 – Race when removing invalid cache
+
+ * giscanner/cachestore.py:
+ ENOENT is mapped to a OSError, not IOError.
+
+2008-11-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/glib-2.0.c: Add return value transfer annotation
+ for g_markup_escape_text.
+
+2008-11-25 Colin Walters <walters@verbum.org>
+
+ * tools/g-ir-scanner: Add --libtool option which we expect Automake-using
+ people to pass.
+ * giscanner/dumper.py: Implement it.
+ * gir/Makefile.am, tests/**/Makefile.am: Use it.
+
+2008-11-25 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/Makefile.am: Remove hand-rolled generation of .tgir; easier
+ to just use a Makefile rule and dependencies. This corresponds with a change
+ made to gir-repository to fix srcdir != builddir issues.
+
+2008-11-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * configure.ac:
+ Post release version bump
+
+=== 0.6.1 ===
+2008-11-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS:
+ Release 0.6.1
+
+2008-11-25 Colin Walters <walters@verbum.org>
+
+ Bug 559705 – Missing association between static methods and classes
+
+ * docs/typelib-format.txt:
+ * girepository/ginfo.c (g_function_info_get_flags):
+ * girepository/girmodule.c (g_ir_module_build_typelib):
+ * girepository/girnode.c (g_ir_node_get_size),
+ (g_ir_node_build_typelib):
+ * girepository/girparser.c (start_function):
+ * girepository/gtypelib.c (g_typelib_check_sanity),
+ (validate_header), (validate_function_blob):
+ * girepository/gtypelib.h:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tests/scanner/foo.h:
+
+2008-11-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py: Define socklen_t as an alias for int32.
+
+2008-11-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * girepository/gdump.c (dump_type): Remove a warning,
+ be less verbose on error on fundamental types.
+
+2008-11-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/dumper.py: Add license headers,
+ refactor into a class, avoid some duplication and do some
+ extra pedantic checks.
+
+2008-11-23 Johan Dahlin <jdahlin@async.com.br>
+
+ Make it compilable with -Werror on my system by adding
+ a couple of prototypes and including headers.
+
+2008-11-23 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 562022 – gobject-introspection needs python headers
+
+ * configure.ac: fail without python headers present.
+ Patch by: Tom Parker
+
+2008-11-21 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 561617 – Return value array annotations
+
+ * giscanner/transformer.py:
+ * tests/scanner/annotation.c (annotation_return_array):
+ * tests/scanner/annotation.h:
+ Add support for (array) for return value annotations as well.
+
+2008-11-20 Johan Bilien <jobi@via.ecp.fr>
+
+ * tests/everything/everything.[ch]: add a test function which calls a
+ closure.
+
+2008-11-19 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cachestore.py:
+ Catch ValueError exceptions.
+
+2008-11-18 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/scanner/Makefile.am (barapp_SOURCES): fix builddir != srcdir
+
+2008-11-18 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * girepository/girnode.c (g_ir_node_build_typelib): Use sizeof()
+ instead of hard-coding struct sizes.
+
+2008-11-18 Owen Taylor <otaylor@redhat.com>
+
+ Bug 561296 - Add "storage type" to the typelib data for enums
+
+ In order to set and get enum and flag fields in structures, we need
+ to know the integral type that the enumeration is stored as. We are already
+ computing that at compile time in order to compute struct offsets, so the
+ easiest thing to do is to save that in the typelib.
+
+ * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c
+ girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob
+ and compute and save it at compile time.
+
+ * girepository/girepository.h girepository/ginfo.c:
+ Add g_enum_info_get_storage_type().
+
+ * girepository/gfield.c: Implement reading and writing enum and flags fields
+ based on the storage type.
+
+2008-11-18 Owen Taylor <otaylor@redhat.com>
+
+ Add enums to the Everything test module
+
+ * tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything
+ test module and register them as GTypes.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=561296
+
+2008-11-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cachestore.py:
+ Catch BadPickleGet exceptions as well.
+
+2008-11-17 Owen Taylor <otaylor@redhat.com>
+
+ * tests/everything/everything.c: Fix doc comment annotations
+ for test_struct_b_clone() to refer to the right function.
+
+2008-11-17 Dan Winship <danw@gnome.org>
+
+ * giscanner/glibtransformer.py (GLibTransformer.__init__): fix
+ spelling of GHashTable. #561135
+
+ * tests/scanner/annotation.c (annotation_object_get_hash):
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/annotation-1.0-expected.tgir: add a test of
+ GHashTable annotations
+
+2008-11-17 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * giscanner/ast.py: Change string array match type to be in terms
+ of canonicalized type.
+ * giscanner/transformer.py: Add canonicalize_ctype which gives us
+ a version of a c:type without aliases, so we can deep canonicalize
+ char** to utf8*. Update parse_ctype to use it.
+ * tests/*: Add gtk_init like int*/char*** arg functions for testing.
+
+2008-11-16 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Ensure we always call init_globals,
+ even if passed a non-default repository.
+
+2008-11-16 Colin Walters <walters@verbum.org>
+
+ Bug 559706 - Interface prerequisites
+
+ * common.mk: Dep on libgirepository.la for scanner libs so that
+ we rebuild things even if just gdump.c changes.
+ * girepository/gdump.c: Dump prerequisites.
+ * giscanner/ast.py: Add prerequisite list.
+ * giscanner/girparser.py: Parse them from gdump.
+ * giscanner/girwriter.py: Write them.
+ * giscanner/glibtransformer.py: Resolve them.
+ * tests/*: Test.
+
+2008-11-16 Owen Taylor <otaylor@redhat.com>
+
+ Bug 561087 - Respect is_pointer in serialize_type()
+
+ Add a '*' to the serialization for the cases where we set is_pointer
+ in the type blob we write out depending on node->is_pointer. Don't
+ add the '*' in the cases where is_pointer is set or not set in a
+ fixed fashion.
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=561087
+
+2008-11-16 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560825 – Add size and alignment to typelib
+
+ Include the size and alignment of structures and unions in the typelib,
+ and add getter methods to retrieve them from GIStructInfo/GIUnionInfo.
+
+ * docs/typelib-format.txt girepository/gtypelib.h girepository/girnode.c
+ girepository/girmodule.c girepository/gtypelib.c: Add size and alignment
+ to StructBlob and UnionBlob.
+
+ * girepository/ginfo.c girepository/girepository.h:
+ Add g_[struct|union]_get[size|alignment]().
+
+ * test/offsets/gen-gitestoffsets: Test overall structure size and alignment.
+
+2008-11-16 Owen Taylor <otaylor@redhat.com>
+
+ Bug 552371 – implement struct field get/set
+
+ * girepository/gfield.c girepository/girepository.h: Add
+ convenience functions g_field_info_set_field() and
+ g_field_info_get_field() to set and get fields based on the
+ offsets in GIFieldInfo.
+
+2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 560241 - Out-arguments should not be marked as being pointers
+ in all cases
+
+ * girepository/girparser.c: Improved logic for out arguments.
+
+2008-11-16 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 559601 - Pointers in structs/unions unduly treated as arrays
+
+ * giscanner/transformer.py: Differentiate type creation logic
+ between parameters and struct components.
+
+2008-11-15 Colin Walters <walters@verbum.org>
+
+ * giscanner/dumper.py: Check return code from pkg-config
+ invocations.
+
+2008-11-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/everything.c (test_array_int_in),
+ (test_array_gtype_in):
+ * tests/everything/everything.h:
+ Rename the int/gtype array tests. Make the return value
+ useful, an aggregation of the array input values.
+
+2008-11-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/Makefile.am:
+ * tests/everything/everything.c:
+ * tests/everything/everything.h:
+ * tests/everything/gitesttypes.c:
+ * tests/everything/gitesttypes.h:
+ Rename gitesttypes.[ch] to everything.[ch]
+
+2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 560708 – Don't treat arrays that have a length specified as
+ zero-terminated by default
+
+ * giscanner/transformer.py: Default to non zero terminated for
+ arrays with length.
+ * tests/*: Update, add test for zero vs not.
+
+2008-11-13 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 557788 - Return types for constructors in generated typelib bogus
+
+ * girepository/girnode.c: Namespace-qualify XREFs; not doing so is
+ obviously broken in the face of duplicate names in different
+ namespaces.
+ * tests/scanner/*expected.gir: Fix up.
+
+2008-11-13 Owen Taylor <otaylor@redhat.com>
+
+ * girepository/girffi.c: Fix "Unexpected time for time_t"
+ message.
+
+2008-11-13 Colin Walters <walters@verbum.org>
+
+ Bug 558436 - avoid having scanner load app code
+
+ * giscanner/cgobject.py: Delete; we no longer load shared
+ libraries directly.
+ * giscanner/dumper.py: Support for linking a library to
+ a stub binary for introspection.
+ * giscanner/glibtransformer.py: Rewrite to use gdump XML
+ from invocation of child binary.
+ * giscanner/transformer.py: Fix up to use fully qualified
+ name in parse tree. Make parse_ctype public so we can use
+ it inside glibtransformer.
+ * tests/scanner/barapp.c: New test, using --program arg
+ for g-ir-scanner.
+ * tests/*: Update to use common.mk for invoking scanner.
+ * tools/g-ir-scanner: Add options --program, --program-arg,
+ and --no-libtool.
+ * docs/g-ir-scanner.1: Update.
+
+2008-11-13 Colin Walters <walters@verbum.org>
+
+ * configure.ac: Depend on Gio, we use it in gdump.c.
+ * girepository/gdump.c: Code to dump GType data to XML.
+ * girepository/girepository.c: Add option group for dumping.
+ * girepository/girepository.h: Define API for the above.
+
+2008-11-13 Colin Walters <walters@verbum.org>
+
+ * common.mk: Add a file to include with Makefile fragments
+ useful for scanner invocation.
+
+2008-11-13 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/everything/gitesttypes.c (test_filename_return): Return
+ strings in filename encoding.
+
+2008-11-13 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560253 – Add structure and boxed types to Everything test module
+
+ * tests/everything/gitesttypes.[ch]: Add examples of:
+
+ Plain old data structs
+ Plain old data structs with nested fields
+ Plain old data boxed
+ Plain old data boxed with nested fields
+ More complicated boxed types with internal state
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/gitesttypes.c (test_gtype_in):
+ * tests/everything/gitesttypes.h:
+ Add a test of GType arrays, a la gtk_list_store_set_columns.
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560419 – Cache includes when parsing
+
+ Keep track of all modules parsed within a GIrParser, and when a
+ module is referenced a second time, use the existing parsed copy
+ instead of reparsing.
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Fix management of ParseContext.includes_modules (#560419)
+
+ * girepository/girparser.c: Fix some trivial bugs in managing the
+ list of include modules. (Add to module's list twice, not
+ initialized to NULL, not freed.)
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Keep aliases and disguised_structures local to each module (#560419)
+
+ * girepository/girmodule.[ch]: When parsing, keep keep a separate
+ hash tables of aliases and 'disguised' flags for each module, and
+ store that on the module.
+
+ After parsing an include merge the aliases/disguised flags to the
+ including module.
+
+ * girepository/girparser.c: Remove 'prefix_aliases' flag and
+ always prefix aliases/disguised structure types when parsing; this
+ simplifies the code considerably.
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Fix mismatches between .gir name and 'name' attribute (#560419)
+
+ * tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c
+ tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places
+ where the 'name' element of <namespace/> didn't match the filename of the
+ gir, an assumption that the compiler has always expected and now enforces.
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Only allow one <namespace/> element per <repository/> (#560419)
+
+ * girepository/girparser.c: The logic in girparser.c didn't work
+ very well if there were multiple <namespace/> nodes within a
+ single <repository/> (context->namespace was always the overall
+ filename and not the the name specified in the <namespace/>
+ element for one thing; this would cause aliases to be mis-prefixed
+ in include modules.) Also check that the "name" in the
+ <namespace/> node matches the filename.
+
+2008-11-12 Owen Taylor <otaylor@redhat.com>
+
+ Add a GirParser object to hold the state of a compilation
+
+ * girepository/girparser.[ch] tools/compiler.c: Add a toplevel
+ GirParser object to hold state that is global across a
+ compilation. Currently just holds the include path, but will
+ eventually also keep a cached list of parsed modules.
+
+2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * girepository/girepository.c (find_namespace_latest): Fix
+ minor memory leak.
+
+2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * configure.ac: use 'introspection' component for bugs
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/everything/gitesttypes.c (test_filename_return):
+ * tests/everything/gitesttypes.h:
+ Add a filename return test.
+
+2008-11-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/offsets/Makefile.am (gitestoffsets.c): fix
+ gen-gitestoffsets invocation with builddir != srcdir
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * girepository/girepository.c:
+ Change the element type from utf8 to filename
+ * girepository/girnode.c (g_ir_node_build_typelib):
+ Special case filename equally to utf8 here.
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/Makefile.am:
+ Remove unused variables, add a dependency of girepository.ch, so when
+ they change we rebuild the gir automatically.
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * girepository/girepository.c (g_irepository_get_search_path):
+ * girepository/girepository.h:
+ Add a g_irepository_get_search_path, so we can access the search
+ paths from runtime.
+
+2008-11-12 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 560474 – g-ir-compiler crashes when compiling the glib gir
+
+ * girepository/girparser.c: avoid freeing an uninitialized pointer
+
+2008-11-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * gir/Makefile.am:
+ * giscanner/glibtransformer.py:
+ * tools/g-ir-scanner:
+ Add a GIRepository-2.0.gir. Change the libtool lookup slightly
+ so we can just pass in --library=foo/bar/baz.la and the scanner
+ does the right thing.
+ Don't warn for _get_type() functions if they don't take any
+ parameters
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560404 – Prefix types when resolving aliases in included modules
+
+ * girepository/girparser.c: When resolving aliases in an included
+ module, prefix types before looking them up.
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ Compute field offsets and overall size for object structures
+
+ Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer
+ field of type object in structure"
+
+ Do basic computation of field offsets for objects and interfaces;
+ this doesn't attempt to address all of the "mess" for virtual
+ functions described in Bug 560281.
+
+2008-11-11 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir
+
+ Based on patch by Johan Bilien.
+
+ * giscanner/transformer.py (_create_member, _create_parameter):
+ Resolve types here as well.
+ (_resolve_type_name_1): Try resolving using 'ctype' first since
+ it's least ambiguous. Fixes struct member type resolution with
+ similarly named types, e.g. Gdk.PangoRendererClass and
+ Pango.RendererClass
+ * tests/scanner/foo*: Add test.
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ * girepository/girparser.c: Search provided include dirs before
+ the default directories.
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ * girepository/giroffsets.c: Include fully-qualified names in
+ all error messages.
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ * girepository/giroffsets.c: Fail gracefully with an informative
+ error message when recursion is encountered when computing a
+ structure size.
+
+2008-11-11 Owen Taylor <otaylor@redhat.com>
+
+ * girepository/girparser.c: Remove an unused variable.
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Add tests for field offset computations
+
+ * tests/offsets/offsets.h: Header file with structure definitions to test
+
+ * tests/offsets/gen-gitestoffsets: Generate a C program that computes
+ field offsets for the structures in offsets.h two ways: using
+ the information from a generated typelib, and as computed by the
+ compiler.
+
+ We diff these two versions to test that everything is OK.
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Remove field offsets from g-ir-generate output and test inputs
+
+ Field offsets are a) architecture dependent so they shouldn't be part
+ of the architecture-independent gir format which is installed in
+ datadir. b) Are architecture-dependent so they shouldn't be in test
+ expected output.
+
+ * girepository/girparser.c: Don't parse offset for fields
+ * tools/generate.c: Don't parse offset for fields
+ * tests/*.gir test/scanner/*.tgir: Remove offsets
+
+ (Virtual function and discriminator offsets are not removed, as they
+ aren't fully hooked up to the field-offset computation machinery yet.)
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560252 - Compute field offsets before writing typelib
+
+ * girepository/girnode.h: Store the total size and alignment for
+ GIrNodeStruct/Boxed/Union.
+
+ * girepository/giroffset.c: New file implementing computation of
+ structure field offsets.
+
+ * girepository/girnode.c: Compute structure field offsets before
+ writing types into the typelib.
+
+ * docs/typelib-format.txt: Document that a field offset of 0xFFFF
+ means "unknown". Also fix description of the discriminator_offset
+ field for unions.
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560250 - Fully parse included modules
+
+ For some things, like computing structure offsets to put into the typelib
+ we need more than just the aliases from included modules. Do a completel
+ parse of included modules and store in module->included_modules.
+
+ Also add g_ir_find_node() to find node information from within the
+ active set of modules and their includes.
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Split g_ir_ffi_get_ffi_type() out from ginvoke.c
+
+ Extract a function to convert GITypeTag to ffi_type from the internals
+ of ginvoke.c. This will be useful in figure out structure alignment.
+
+ Also fix handling of gsize and time_t to be portable. (Add a check
+ to configure.ac to figure out the width of time_t.)
+
+2008-11-10 Owen Taylor <otaylor@redhat.com>
+
+ Bug 560248 – "disguised structures"
+
+ Certain types like GIConv and GdkAtom are pointers internally but don't
+ look like pointers when referenced. They have the form.
+
+ typedef struct _X *X;
+
+ Parse these as structures/records but mark them in the gir with a 'disguised'
+ attribute so that we know that they need special handling.
+
+ In the typelib treat them like any other structure.
+
+2008-11-09 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+
+ Write throws attribute for virtual functions, fixes bug 559703
+
+2008-11-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear
+ up some confusion about the second argument to find_module, it's
+ actually the packages __path__ attribute which we can safely ignore
+ for our purposes.
+ (LibtoolImporter.load_module): Set module.__loader__ as per PEP 302.
+
+2008-11-07 Owen Taylor <otaylor@redhat.com>
+
+ Bug 559737 – Deal with continuations in macros
+
+ * giscanner/giscannerlexer.l: Treat continuation lines the same
+ as regular newlines. This makes the scanner not complain about
+ #define foo(x) \ <stuff> inside a C file. There's no attempt
+ however to handle parsing macro definitions split across lines.
+
+2008-11-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cachestore.py:
+ Handle broken cache entries, write only filesystems and
+ running out of diskspace.
+
+2008-11-07 Owen Taylor <otaylor@redhat.com>
+
+ * giscanner/giscannermodule.c (pygi_source_scanner_lex_filename):
+ Set current_filename before lexing the file so error messages
+ are reported in the right file.
+
+2008-11-06 Colin Walters <walters@verbum.org>
+
+ * tests/everything/*: Add some tests for strv.
+
+2008-11-05 Colin Walters <walters@verbum.org>
+
+ * girepository/ginvoke.c (g_function_info_invoke): Don't use
+ nested scope local variable for error which may go away after
+ conditional is complete.
+
+2008-11-05 Colin Walters <walters@verbum.org>
+
+ * giscanner/scannerlexer.l: Avoid static 256 char buf which we
+ manipulate hackily; just use GString. This avoids an
+ uninitialized memory read pointed out by Havoc.
+
+2008-11-04 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/__init__.py:
+ * giscanner/ast.py:
+ * giscanner/cachestore.py:
+ * giscanner/cgobject.py:
+ * giscanner/girparser.py:
+ * giscanner/girwriter.py:
+ * giscanner/giscannermodule.c:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/libtoolimporter.py:
+ * giscanner/minixpath.py:
+ * giscanner/odict.py:
+ * giscanner/sourcescanner.c:
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ * giscanner/utils.py:
+ * giscanner/xmlwriter.py:
+ * COPYING:
+ Relicense the giscanner library under LGPLv2+.
+ This has been approved by all contributors.
+
+2008-11-01 Owen Taylor <otaylor@redhat.com>
+
+ Bug 558848 giparser.py: shared library should be optional
+
+ When parsing a .gir, allow the shared-library attribute
+ of <namespace/> to be missing: this corresponds to the handling
+ in libgirepository and elsewhere.
+
+2008-11-01 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 557898 – Fails to build on OSX 10.4
+
+ * configure.ac: Check for $shrext_cmds that should be implicitly
+ available if you're using libtool >= 2.0. If undefined, call
+ libtool --config explicitly to get its value.
+ * girepository/gtypelib.c: Remove special case for (non-)Darwin
+ systems as unneeded.
+
+2008-10-31 Colin Walters <walters@verbum.org>
+
+ * COPYING, COPYING.lib, COPYING.tools: Clarify licensing status.
+
+2008-10-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * configure.ac: Post release version bump
+
+=== 0.6.0 ===
+2008-10-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS:
+ * configure.ac:
+ * docs/release-checklist.txt:
+ 0.6.0
+
+2008-10-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * Makefile.am: add an upload-release target
+ * docs/release-checklist.txt:
+ Release process documentation
+
+2008-10-31 Colin Walters <walters@verbum.org>
+
+ Bug 558109 – _g_typelib_init fails to find shared libraries
+
+ * transformer/glibtransformer.py: Use ctypes' find_library
+ on passed libraries and write that for the shared-library
+ entry. We want to avoid depending on -devel packages.
+
+2008-10-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * docs/g-ir-scanner.1:
+ Document the renaming options.
+
+2008-10-31 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/Makefile.am:
+ * tests/invoke/Makefile.am:
+ * tests/repository/Makefile.am: List in-tree libraries first in
+ LDADD / LIBADD. If installed library is listed first, the
+ resulting binary will prefer installed version to one in .libs,
+ possibly making 'make check' behave strangely.
+
+2008-10-30 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop
+ gir-repository from choking with gdk/quartz
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/giscannermodule.c (calc_attrs_length),
+ (pygi_collect_attributes):
+ * giscanner/xmlwriter.py:
+ Write a C version of the xml namespace formatter.
+ Saves 15% of the time it takes to create a gtk gir.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/xmlwriter.py: Abstract attribute formatting
+ to a function external to the XMLWriter class.
+
+ * giscanner/scannerlexer.l:
+ Parse and discard __typeof and __attribute.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girparser.py:
+ Remove arguments from the constructor, move them to
+ separate accessors. Add a new parse_tree method
+ which takes an element tree instance.
+ * tools/g-ir-scanner:
+ Update callsite for this
+
+ * giscanner/Makefile.am:
+ * giscanner/cachestore.py:
+ * giscanner/transformer.py:
+ Cache the include parsing. Saves ~25% time when
+ creating vte (which includes everything up to gtk+).
+
+2008-10-30 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Don't reparse includes
+ we've already processed.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girparser.py:
+ * giscanner/transformer.py:
+ Avoid parsing parameters, types etc when parsing
+ includes. Should speed up include parsing a bit.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girparser.py:
+ Avoid big if/else and use a dispatch table like
+ approach.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/transformer.py:
+ Clean up include parsing and registration.
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/transformer.py:
+ Clean up imports
+
+2008-10-30 Johan Dahlin <jdahlin@async.com.br>
+
+ Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed
+
+ * gir/Makefile.am:
+ construct PYTHONPATH just once
+
+ * tests/everything/Makefile.am:
+ * tests/scanner/Makefile.am:
+ add $(top_srcdir) to PYTHONPATH to
+ handle builddir != srcdir
+
+ * giscanner/libtoolimporter.py:
+ * giscanner/sourcescanner.py:
+ Make the libtoolimporter work when distchecking too.
+
+ Mostly based on patch by Tommi Komulainen
+
+2008-10-29 Owen Taylor <otaylor@redhat.com>
+
+ * giscanner/glibtransformer.py: If a filename of an existing
+ file is passed to --library, hunt for it directly, rather than
+ searching for a corresponding library.
+
+2008-10-29 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/libtoolimporter.py:
+ * giscanner/sourcescanner.py:
+ Clean up the libtool importer a bit. Add a context so we
+ can use it through a with statement.
+ Don't just look in the current directory, look in the whole
+ sys.path.
+
+2008-10-29 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 558065 – gitesttypes should be installed
+
+ * configure.ac:
+ * tests/Makefile.am:
+ * tests/types/Makefile.am -> tests/everything/Makefile.am
+ * tests/types/gitesttypes.c -> tests/everything/gitesttypes.c
+ * tests/types/gitesttypes.h -> tests/everything/gitesttypes.h
+ move tests/types to tests/everything
+
+ * tests/everything/Makefile.am: build normal shared library
+ libgirepository-everything.so.1.0.0 and corresponding typelib
+ Everything-1.0.typelib
+
+ * tests/everything/Makefile.am: explicitly link libtool
+ versioning with typelib versioning with variables
+
+2008-10-28 Johan Bilien <jobi@via.ecp.fr>
+
+ * tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld.
+
+2008-10-27 Johan Bilien <jobi@via.ecp.fr>
+
+ * gio/gio-2.0.c: add allow-none annotations, based on the pygobject
+ .defs file
+
+2008-10-27 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 558068 – when invoking a method, offset the in arguments by one,
+ not the out
+
+ * tests/invoke/invoke.c, tests/invoke/testfns.c,
+ tests/invoke/testfns-1.0.gir: Add testing of method and constructor.
+ * girepository/ginvoke.c: do not offset the index of given out
+ arguments by one for methods, "this" is provided as in argument only.
+
+2008-10-27 Johan Bilien <jobi@via.ecp.fr>
+
+ * gir/gio-2.0.c: add annotation for g_file_delete
+
+2008-10-27 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 558062 – provide and use paths in the .pc file
+
+ * gobject-introspection-1.0.pc.in: provide typelibdir variable
+ for where .typelibs should be installed (callers shouldn't need
+ to construct paths from bits and pieces)
+
+2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 557791 – g_irepository_require() could return a GTypelib *
+
+ * girepository/girepository.c: Return GTypelib; this is useful
+ for low level manipulation.
+
+2008-10-25 Colin Walters <walters@verbum.org>
+
+ Bug 557788 – Return types for constructors in generated typelib bogus
+
+ * giscanner/glibtransformer.py: Don't resolve ctors incrementally,
+ rely on end pass resolution.
+
+2008-10-25 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 557786 - support fixed size arrays
+
+ * girepository/ginfo.c: Add g_type_info_get_array_fixed_size.
+ * giscanner/scannerparser.y: Retain fixed array size.
+ * giscanner/ast.py: Add to note.
+ * giscanner/girwriter.py: Write to gir.
+ * girepository/girnode.c: Write it to typelib.
+ * tools/generate.c: Generate.
+ * tests/*: Add tests.
+
+2008-10-25 Colin Walters <walters@verbum.org>
+
+ Bug 557076 - move typelibs to $libdir
+
+ * configure.ac: Steal some configury bits from dbus to expand
+ libdir.
+ * gir/Makefile.am: Move to libdir.
+ * girepository/girepository.c: Stop searching XDG_DATA_DIRS;
+ instead just look at one hardcoded path in libdir.
+ * acinclude.m4: Bits from dbus.
+
+2008-10-24 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girnode.c (g_ir_node_check_unhandled_members):
+ Be quiet, do not warn about unhandled members.
+
+2008-10-24 Johan Dahlin <johan@gnome.org>
+
+ * girepository/gtypelib.c:
+ Only use SHLIB_SUFFIX on darwin, otherwise use
+ G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2.
+
+2008-10-24 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 557623 - Constructors shouldn't be flagged as methods.
+
+ * girepository/ginfo.c (g_function_info_get_flags): ditto.
+
+2008-10-24 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/scannerparser.y:
+ Check against division by zero for the modula operator.
+ This fixes header parsing of OSX system headers included
+ by libsoup.
+
+2008-10-24 Johan Dahlin <johan@gnome.org>
+
+ * CONTRIBUTORS:
+ * Makefile.am:
+ Add a CONTRIBUTORS file and dist it.
+
+2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556739 – transfer-ownership attribute should be mandatory in .gir
+
+ * girepository/girparser.c (parse_param_transfer):
+ * giscanner/transformer.py (_create_parameter, _create_return):
+ * giscanner/girwriter.py (_write_return, _write_parameter):
+ * tools/generate.c (write_callable_info): always write and
+ require "transfer-ownership" for return-values and parameters
+
+ * tests/boxed.gir:
+ * tests/invoke/testfns-1.0.gir:
+ * tests/object.gir:
+ * tests/scanner/DrawableAdditions.xml:
+ * tests/scanner/GtkFrob-1.0-expected.tgir:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/drawable-1.0-expected.tgir:
+ * tests/scanner/drawable-injected-1.0-expected.gir:
+ * tests/scanner/drawable-injected-1.0-expected.tgir:
+ * tests/scanner/foo-1.0-expected.tgir: Updated
+
+2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/cgobject.py: build fundamental types same way as glib
+
+ * giscanner/glibtransformer.py (_type_from_gtype): record GType
+ when constructing the Type from it
+
+ * giscanner/glibtransformer.py (_adjust_transfer): Check whether
+ the parameter is a GObject from its GType, if available.
+
+ * giscanner/glibtransformer.py (_adjust_transfer):
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.tgir: deduce
+ transfer-ownership from GTypes
+
+2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/transformer.py (_create_parameter):
+ * tests/scanner/foo-1.0-expected.gir: make varargs
+ transfer-ownership="none"
+
+2008-10-23 Colin Walters <walters@verbum.org>
+
+ Bug 556739 - transfer ownership
+
+ * giscanner/ast.py: Refactor Parameter/Return to share
+ common attributes. Add transfer_inferred attribute
+ which says whether or not we made a guess.
+ * giscanner/transformer.py: Add much more extensive
+ heuristics around parameter and return transfer.
+ * giscanner/glibtransformer.py: Adjust to inspect
+ transfer_inferred.
+ * tests/*: Adjust.
+
+2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib
+
+ * tests/scanner/Makefile.am:
+ * tests/scanner/annotation-1.0-expected.tgir:
+ * tests/scanner/drawable-1.0-expected.tgir:
+ * tests/scanner/drawable-injected-1.0-expected.tgir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tests/scanner/GtkFrob-1.0-expected.tgir:
+ * tests/scanner/utility-1.0-expected.tgir: Add test to ensure
+ annotations survive the roundtrip via typelib
+
+ The expectations are as currently produced by g-ir-generate,
+ comparison with the .gir files shows there are differences.
+
+2008-10-23 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 557468 – Support for GI_TYPELIB_PATH
+
+ * girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the
+ provided paths to the global search path.
+
+2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 557379 – g-ir-generate not writing the 'abstract' attribute
+
+ * tests/scanner/drawable-1.0-expected.tgir:
+ * tests/scanner/drawable-injected-1.0-expected.tgir:
+ * tests/scanner/foo-1.0-expected.tgir:
+ * tools/generate.c (write_object_info): write 'abstract'
+ attribute for classes
+
+2008-10-22 Lucas Rocha <lucasr@gnome.org>
+
+ * girepository/girmodule.c, girepository/gtypelib.c,
+ girepository/girparser.[ch]: fix some build warnings.
+
+2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 557405 – Use 'allow-none' consistently
+
+ * docs/typelib-format.txt:
+ * girepository/ginfo.c (g_arg_info_may_be_null):
+ * girepository/girnode.c (g_ir_node_build_typelib):
+ * girepository/girnode.h (struct _GIrNodeParam):
+ * girepository/girparser.c (start_parameter):
+ * girepository/girwriter.c (function_generate):
+ * girepository/gtypelib.h (ArgBlob):
+ * tests/errors.gir:
+ * tests/function.gir:
+ * tools/generate.c (write_callable_info): Use 'allow-none'
+ consistently throughout
+
+2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 557092 – Callback annotations not used
+
+ * giscanner/transformer.py (_create_callback): use annotations
+ for callbacks
+ * tests/scanner/annotation.h
+ * tests/scanner/annotation-1.0-expected.gir: add tests
+
+2008-10-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/scannerlexer.l: Don't require trailing whitespace after
+ uncommented parameters.
+ * tests/*: Test it.
+
+2008-10-21 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Ensure that when doing an unversioned
+ require, we prefer items earlier in the search path to later ones.
+
+2008-10-21 Owen Taylor <otaylor@redhat.com>
+
+ * giscanner/transformer.py: For string parameters allow transfer annotation
+ to override the standard automatic guessing based on 'const'.
+
+2008-10-21 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 557241 – "throws" flag for functions
+
+ * tests/scanner/drawable-1.0-expected.gir,
+ tests/scanner/drawable-injected-1.0-expected.gir,
+ tests/scanner/drawable.[ch]: add simple test for throwing
+ function (has GError ** as last argument)
+
+ * giscanner/ast.py: add a 'throws' flag to Function
+ * giscanner/glibtransformer.py: if a function's last paramerter is
+ a GError, set the 'throws' flag and remove that parameter
+ * giscanner/girwriter.py: write out the 'throws' attribute
+ * giscanner/girparser.py: support parsing the 'throws' attribute
+
+ * tests/repository/gitestthrows.c: add a simple test to check the
+ throws flag in a typelib and invoke the function
+
+ * girepository/ginfo.c, girepository/girnode.[ch],
+ girepository/girnode.h, girepository/girparser.c,
+ girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag
+
+ * girepository/ginvoke.c: if a function throws, add a GError as last
+ arguments, and propagate the error to the invoker.
+
+2008-10-21 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/transformer.py (_create_parameters): Warn if we see
+ annotations for unknown parameters. If .h and .c files name
+ parameters differently, the annotations may be lost.
+
+2008-10-21 Johan Dahlin <johan@gnome.org>
+
+ Bug 556358 - don't use libtool internals
+
+ * giscanner/Makefile.am:
+ * giscanner/libtoolimporter.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/utils.py:
+ Add a python meta importer and remove a libtool symlink hack.
+
+2008-10-20 Andreas Rottmann <a.rottmann@gmx.at>
+
+ * tests/scanner/Makefile.am (%.typelib): Set PYTHONPATH
+ and --add-include-path appropriately when invoking the scanner.
+ * tests/types/Makefile.am (%typelib): Likewise.
+
+2008-10-20 Colin Walters <walters@verbum.org>
+
+ Bug 556777 - validate properties
+
+ * giscanner/transformer.py: Add option to throw on unknown types.
+ * giscanner/glibtransformer.py: Use it on properties.
+ * tests/*: Add a test.
+
+2008-10-20 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibast.py: Also register g variants of
+ default_array_types. This is not beautiful, but
+ good alternatives aren't easy to come by.
+ This fixes gchar ** parsing.
+
+2008-10-20 Colin Walters <walters@verbum.org>
+
+ * docs/typelib-format.txt, girepository/gtypelib.h:
+ Take a bit from ObjectInfo to represent abstract flag.
+ * giscanner/cgobject.py: Expose g_type_get_flags.
+ * girepository/girepository.h: Add accessor.
+ * girepository/ginfo.c: Implement it.
+ * giscanner/ast.py: Add is_abstract flag to generic
+ class object.
+ * giscanner/glibast.py: Use it.
+ * giscanner/girwriter.py: Write it.
+ * girepository/girparser.c: Parse it.
+ * tests/*: Test it.
+
+2008-10-20 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * giscanner/girparser.py (_parse_function): don't lose
+ 'transfer-ownership' attributes when injecting, check for the
+ correct attribute
+
+2008-10-19 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/scannerlexer.l: Parse and ignore __asm.
+
+2008-10-19 Colin Walters <walters@verbum.org>
+
+ * giscanner/girparser.py: Parse array length= to ensure
+ it doesn't get lost from --inject.
+
+2008-10-17 Colin Walters <walters@verbum.org>
+
+ Bug 556795 - char ** regression
+
+ * giscanner/transformer.py: Fix parsing of ctypes, add some
+ comments about what's going on.
+ * tests/*: Add a test for char **.
+
+2008-10-17 Colin Walters <walters@verbum.org>
+
+ Bug 556783 - change namespace handling to be more consistent
+
+ * giscanner/transformer.py: Eliminate usage of
+ strip_namespace_object. We now treat --namespace as the default
+ --strip-prefix; however, if --strip-prefix is specified it
+ overrides --namespace. This applies to everything except function
+ names, where we do also strip the namespace.
+ * giscanner/glibtransformer.py: Remove usage of
+ strip_namespace_object.
+ * tests/*: Update.
+ * tests/*: Add skeletal GtkFrob-1.0 test which has different
+ --namespace and --strip-prefix.
+
+2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556732 – generate gir files consistently
+
+ * girepository/girparser.c (start_parameter):
+ * tests/boxed.gir:
+ * tests/invoke/testfns-1.0.gir:
+ * tools/generate.c (write_callable_info): write
+ 'transfer-ownership' attribute consistently with both
+ return-value and parameter elements
+
+2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556732 – generate gir files consistently
+
+ * tools/generate.c (write_callable_info): write 'direction'
+ attribute only if other than 'in' to be consistent with
+ girwriter.py
+ * tests/boxed.gir:
+ * tests/object.gir: remove direction="in" which is the default
+
+2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556732 – generate gir files consistently
+
+ * giscanner/ast.py (Field): add readable and writable properties
+ * giscanner/girparser.py (_parse_field): copy 'readable' and
+ 'writable' attributes
+ * giscanner/transformer.py (_create_member): create fields as
+ read-write
+ * giscanner/glibtransformer.py (_introspect_object,
+ _pair_class_struct): make object instance and class fields
+ read-only
+ * giscanner/girwriter.py (_write_field):
+ * tools/generate.c (write_field_info): write field 'readable'
+ and 'writable' attributes only if non-default (read-only)
+ * girepository/girparser.c (start_field): in the absence of
+ attributes assume fields are read-only
+ * tests/boxed.gir:
+ * tests/struct.gir: remove redundant readable="1" from fields
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/utility-1.0-expected.gir: add writable="1" to
+ all record and union fields
+
+2008-10-17 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556732 – generate gir files consistently
+
+ * giscanner/girwriter.py (_write_property): write properties
+ 'construct' attribute if set
+ * tools/generate.c (write_property_info): write properties
+ 'readable' and 'writable' attributes only if non-default
+ * tests/object.gir: add writable="0"
+ * tests/scanner/foo-1.0-expected.gir: add construct="1"
+
+2008-10-17 Johan Bilien <jobi@via.ecp.fr>
+
+ * gir/glib-2.0.c: added annotations
+
+2008-10-16 Johan Bilien <jobi@via.ecp.fr>
+
+ * giscanner/ast.py: Also assume direction=out for size_t*, ssize_t*
+ arguments
+
+2008-10-16 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 556610 – giscanner/girparser.py drops parameter options
+
+ * tests/scanner/drawable-injected-1.0-expected.gir,
+ tests/scanner/DrawableAdditions.xml: added simple test for injection.
+ * giscanner/ast.py: allow Parameter to take options in the constructor
+ * giscanner/girparser.py: parse parameter options (transfer,
+ direction, allow-none)
+
+2008-10-16 Colin Walters <walters@verbum.org>
+
+ Bug 556185 - segfault on g_callable_info_get_return_type
+
+ Initial patch from John Ehresman.
+
+ * tests/repository/*: Add a test using
+ g_callable_info_get_return_type. Instead of casting a
+ GITypeInfo directly to a GIRegisteredTypeInfo, we need
+ to call g_type_info_get_interface.
+
+2008-10-16 Colin Walters <walters@verbum.org>
+
+ Bug 556579 - union and struct name misresolved
+
+ * giscanner/transformer.py: The calls to _resolve_type_name
+ for struct/union names was a legacy holdover from when type
+ resolution had multiple phases. Now it's actively harmful
+ since we might pull in an identical name from another
+ namespace.
+ * tests/*: Update.
+
+2008-10-16 Colin Walters <walters@verbum.org>
+
+ Bug 556432 - transfer annotations and defaults
+
+ * giscanner/transformer.py: Canonicalize type
+ after removing *, not before. This ensures that
+ guchar* is transformed to 'uint8'.
+ Add some comments here.
+ * giscanner/glibtransformer.py: Add _adjust_transfer
+ phase for tweaking GObject transfers.
+ * tests/*: test it.
+
+2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * configure.ac: enable bunch of gcc warning CFLAGS
+
+2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556543 – reduce compiler warnings
+
+ * girepository/ginfo.c:
+ * girepository/girepository.c (register_internal,
+ count_interfaces, find_interface, find_namespace_version,
+ parse_version, g_irepository_require):
+ * girepository/girmodule.c (g_ir_module_build_typelib):
+ * girepository/girnode.c (init_stats, dump_stats,
+ _g_irnode_init_stats, _g_irnode_dump_stats,
+ g_ir_node_can_have_member):
+ * girepository/girparser.c (firstpass_end_element_handler,
+ locate_gir, parse_basic, parse_type_internal, resolve_aliases,
+ start_alias, start_type, end_type_top, parse_include, cleanup,
+ post_filter):
+ * girepository/gtypelib.c (validate_function_blob, validate_enum_blob):
+ * giscanner/giscannermodule.c (directive_get_options,
+ type_get_child_list):
+ * giscanner/scannerlexer.l (parse_gtkdoc):
+ * giscanner/scannerparser.y (ctype_free):
+ * giscanner/sourcescanner.c:
+ * giscanner/sourcescanner.h (gi_source_scanner_parse_macros):
+ * tests/types/gitesttypes.c:
+ * tools/compiler.c (main):
+ * tools/generate.c (write_repository): Remove unused variables
+ and code, add missing includes, declarations and case
+ statements.
+
+2008-10-16 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556541 – access union members through UnionBlob rather than
+ StructBlob
+
+ * girepository/ginfo.c (g_union_info_find_method): access union
+ members through UnionBlob rather than StructBlob
+
+2008-10-15 Colin Walters <walters@verbum.org>
+
+ Bug 556331 - clean up includes handling
+
+ * tools/g-ir-scanner: Rework command line arguments; now we take
+ --add-include-path and --include separately.
+ * giscanner/girwriter.py: Separate name= and version= in include
+ directives.
+ * giscanner/ast.py: Add Include type.
+ * giscanner/transformer.py: Cleanups to register_include now that
+ we don't need to handle mixed filenames and relative arguments.
+ * girepository/girparser.c: Parse name and version separately;
+ this fixes a bug as a side effect where we weren't resolving
+ through aliases for basic types.
+ * girepository/girepository.c: Fix format string args.
+ * gir/Makefile.am: Update.
+ * tests/*: Update.
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556434 – unhandled interface/object/... member types
+
+ * girepository/girnode.c (g_ir_node_check_unhandled_members,
+ g_ir_node_build_typelib): Check all
+ interface/object/boxed/struct/union members are processed and
+ abort if they are not. (Mostly callbacks in structs, but also
+ fields in interfaces.)
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * a/girepository/girnode.c (g_ir_node_build_members,
+ g_ir_node_build_typelib): refactor common code for processing
+ members to a function
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * gir/Makefile.am (check-local): check that typelib -> gir -> typelib
+ transformation is lossless (it's not)
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/Makefile.am: fix tests to compare xml to xml instead of
+ typelib to xml, and stop on error
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (write_type_name, write_type_info,
+ write_type_info, write_object_info, write_object_info,
+ write_interface_info, write_error_domain_info): reduce code
+ duplication
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556174 – parse types for lists etc.
+
+ * girepository/girparser.c (end_type_recurse):
+ * tests/boxed.gir:
+ * tools/generate.c (write_type_info, write_field_info,
+ write_callable_info, write_callable_info, write_constant_info,
+ write_property_info): use nested <type>s for lists and hashes
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/enum.gir:
+ * tests/object.gir: remove trailing whitespace from inside
+ elements to match g-ir-generate output
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (xml_printf): quote printf arguments so that
+ we don't generate invalid XML by writing unescaped double quotes
+ and such in attributes
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (write_field_info, write_callable_info,
+ write_function_info, write_callback_info, write_struct_info,
+ write_constant_value, write_signal_info, write_vfunc_info,
+ write_object_info, write_interface_info, write_union_info,
+ write_repository): remove unused indent parameters, xmlwriter
+ keeps track of necessary indentation
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (xml_element_new, xml_element_free,
+ xml_start_element, xml_end_element, xml_end_element_unchecked,
+ xml_open, xml_close): Keep track of generated XML tree and
+ handle indentation and closing tags properly.
+ (write_field_info, write_callable_info, write_function_info,
+ write_callback_info, write_struct_info, write_value_info,
+ write_constant_info, write_enum_info, write_signal_info,
+ write_vfunc_info, write_property_info, write_object_info,
+ write_interface_info, write_error_domain_info, write_union_info,
+ write_repository): Use xml_start_element and xml_end_element to
+ open/close tags.
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (xml_printf, xml_open, xml_close, xml_free):
+ (write_type_name, write_type_info, write_field_info,
+ write_callable_info, write_function_info, write_callback_info,
+ write_struct_info, write_value_info, write_constant_value,
+ write_constant_info, write_enum_info, write_signal_info,
+ write_vfunc_info, write_property_info, write_object_info,
+ write_interface_info, write_error_domain_info, write_union_info,
+ write_repository): wrap all FILE access to go through simple xmlwriter
+
+2008-10-15 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556400 – Fails to build on OS X 10.4
+
+ * configure.ac: check for functions backtrace and backtrace_symbols
+ * girepository/girparser.c (backtrace_stderr): Comment out
+ implementation if the functions are not available.
+ * gcov.mak (clean-gcov, clean-gcno): always call 'find' with a
+ directory for better portability
+
+2008-10-15 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 556433 – assume direction = out for int * parameters
+
+ * giscanner/ast.py: define a list of types for which, if passed as
+ reference, we assume a default direction of 'out'
+ * giscanner/transformer.py: if a type has type pointer to one of the
+ previously defined types, and no direction is set, assume out.
+ * tests/scanner/drawable.[ch]: added tests for guessed direction=out
+
+2008-10-15 Johan Bilien <jobi@via.ecp.fr>
+
+ * tests/scanner/annotation.c: fixed a few copy-paste errors
+
+2008-10-14 Johan Bilien <jobi@via.ecp.fr>
+
+ Bug 556323 – transfer-ownership is wrong for functions returning const
+ char *
+
+ * giscanner/transformer.py: check for a const string as return value,
+ not just const char*. Suggested by Colin Walters
+ * tests/scanner/annotation-1.0-expected.gir: updated expected output
+
+2008-10-14 Johan Bilien <jobi@via.ecp.fr>
+
+ * girepository/ginfo.c, girepository/girepository.h: add
+ g_union_info_find_method
+
+2008-10-14 Colin Walters <walters@verbum.org>
+
+ * tests/repository/Makefile.am: Reenable repo test.
+ * tests/repository/gitestrepo.c: Prepend search
+ path for $(top_builddir)/gir dir so that we don't
+ require installation for "make check" to pass.
+
+2008-10-13 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/glibtransformer.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/drawable-1.0-expected.gir:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/utility-1.0-expected.gir:
+
+ Support fields in GObject structs
+
+2008-10-13 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/ast.py: add signed integer and off_t to type_names
+
+2008-10-12 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/girparser.py: Parse bits attribute of fields
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/repository/Makefile.am: run 'gitestrepo' in 'make check'
+ * tests/repository/gitestrepo.c (main): instantiate
+ 'GCancellable' to ensure the GType is registered before using
+ g_type_from_name()
+
+2008-10-12 Johan Bilien <jobi@via.ecp.fr>
+
+ * giscanner/girparser.py: actually add the parsed constant nodes
+
+2008-10-12 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Don't cast DirEntry to Blob,
+ actually look it up by offset.
+
+2008-10-12 Johan Bilien <jobi@via.ecp.fr>
+
+ * giscanner/girparser.py: parse constant nodes in gir files
+
+2008-10-12 Johan Bilien <jobi@via.ecp.fr>
+
+ * giscanner/transformer.py: prefix for constants have an underscore,
+ so remove them as if they were functions, not objects.
+
+2008-10-12 Johan Bilien <jobi@via.ecp.fr>
+
+ * tests/scanner/foo-1.0-expected.gir: add constants to expected gir
+ file
+
+2008-10-12 Colin Walters <walters@verbum.org>
+
+ Initial patch from Jani Monoses.
+
+ * girepository/gtypelib.c: Fix inverted test for success
+ in version parsing.
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (write_callable_info): use "transfer-ownership"
+ attribute for return values
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tools/generate.c (write_callable_info): move "transfer" and
+ "null-ok" attributes from <function> to <return-value> element
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * girepository/girparser.c (start_return_value): handle
+ "transfer-ownership" attribute
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * girepository/girparser.c (parse_param_transfer):
+ * tools/generate.c (write_callable_info): use "container" for
+ container/shallow ownership transfer (not "shallow")
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * girepository/girparser.c (parse_param_transfer,
+ start_parameter): Refactor handling of transfer=none/shallow/full
+ to separate function
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 556048 – Crash in g_irepository_find_by_gtype
+
+ * girepository/gtypelib.h (BLOB_IS_REGISTERED_TYPE): added
+ * girepository/girepository.c (find_interface): Fix
+ find_by_gtype case to get the type name from right offset
+
+2008-10-12 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/girparser.py: Fix parsing transfer-ownership attribute
+ of <return-value>
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * girepository/gtypelib.h (RegisteredTypeBlob): make
+ 'unregistered' one bit wide as everywhere else
+
+2008-10-12 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/glibtransformer.py:
+ * tests/scanner/annotation-1.0-expected.gir:
+ * tests/scanner/drawable-1.0-expected.gir:
+ * tests/scanner/drawable.h:
+ * tests/scanner/foo-1.0-expected.gir:
+ * tests/scanner/utility-1.0-expected.gir:
+
+ Readd class records as workaround to not break Gtk typelib
+
+2008-10-12 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ * tests/types/Makefile.am: fix typo in gitesttypes namespace
+
+2008-10-12 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/glibtransformer.py: Don't generate <record> elements
+ for class structs.
+ * tests/scanner/*: Update test cases
+
+2008-10-11 Colin Walters <walters@verbum.org>
+
+ Bug 552858: versioning
+
+ This is a big patch. You should probably remove your installation
+ tree to be cleaner.
+
+ * docs/typelib-format.txt: Add nsversion entry which holds
+ version of namespace.
+ * girepository/girepository.h: Add 'version' parameter to
+ g_irepository_require. This may be NULL. Normally
+ bindings should pass an explicit version though.
+ * girepository/girepository.c: Lots of infrastructure to
+ support versioning. Add some more documentation. Disallow
+ some usage of NULL namespaces.
+ * girepository/girmodule.c: Add version parameter.
+ * girepository/gtypelib.c: Update header size.
+ * giscanner/ast.py: Add version to Namespace.
+ * giscanner/girparser.py: Parse version attribute from
+ XML, pass to Namespace.
+ * giscanner/girwriter.py: Write out version parameter.
+ * giscanner/transformer.py: Clean up include registration.
+ * tests/*: Add version attribute.
+ * tests/invoke/invoke.c: Don't try looking up test before
+ it's loaded in repository.
+ * tools/generate.c: Output version parameter.
+ * gir/Makefile.am: Add 2.0 version to .gir files.
+
+2008-10-11 Colin Walters <walters@verbum.org>
+
+ * giscanner/scannerlexer.l (parse_gtkdoc): Don't lose
+ if we have mismatched parens.
+
+2008-10-11 Lucas Rocha <lucasr@gnome.org>
+
+ * giscanner/girparser.py (_parse_enumeration_bitfield): fix typo
+ on 'members' variable.
+
+2008-10-11 Colin Walters <walters@verbum.org>
+
+ Bug 555947 - update annotations syntax
+
+ * giscanner/ast.py: Default to None for transfer. Remove
+ default transfers for container types; we require this to
+ be specified now.
+ * giscanner/girwriter.py: Transfer is now 'none', 'container',
+ 'full' to match repository.
+ * giscanner/scannerlexer.l: Annotations now are parenthesized.
+ * giscanner/transformer.py: Update for new annotations syntax.
+ * tests/*: Update.
+
+2008-10-11 Johan Bilien <jobi@litl.com>
+
+ * giscanner/scannerparser.y: ignore non-UTF-8 string constants
+
+2008-10-11 Johan Bilien <jobi@litl.com>
+
+ Bug 552347: Parse #defines constants
+
+ * girepository/gtypelib.c: update the list of value_size
+ with recently defined type tags
+ * giscanner/scannerparser.y: brought back parsing of #defined, as
+ present in older version
+ * giscanner/giscannermodule.c: bind gi_source_scanner_append_filename
+ * giscanner/girwriter.py: write out constant tags in the gir
+ * giscanner/sourcescanner.py: add accessor for const_string
+ * giscanner/transformer.py, giscanner/glibtransformer.py: handle
+ constant
+
+2008-10-11 Tommi Komulainen <tommi.komulainen@iki.fi>
+
+ Bug 555946: Install a test module exercising all types, transfer
+ rules, etc.
+
+ * configure.ac
+ * tests/Makefile.am
+ * tests/types/*: Add and install a test module that has functions
+ accepting and returning most of the basic types to enable bindings
+ implementors to more easily test their type conversion routines.
+
+2008-10-11 Jürg Billeter <j@bitron.ch>
+
+ Bug 552374: Const strings should be identified in the gir.
+
+ * giscanner/transformer.py: support string memory management
+ * tests/scanner/foo.h: use char * and const char *
+ * tests/scanner/foo-expected.gir: test that
+
+2008-10-11 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girparser.py:
+ Also parse enums which are not glib types.
+
+2008-10-11 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 552370: add one more test for unsigned as a type, not as
+ a type qualifier.
+
+ * giscanner/ast.py: add 'uint' type name for 'unsigned'.
+ * test/scanner/foo.h: add function which uses unsigned as a type.
+ * test/scanner/foo-expected.gir: test that.
+
+2008-10-11 Andreas Rottmann <a.rottmann@gmx.at>
+
+ Bug 555712: Struct and union issues
+
+ * giscanner/scannerparser.y (struct_declarator): Use information
+ provided about the bit width of a field.
+ * giscanner/transformer.py (Transformer._create_member): Pass the
+ symbol's const_int member to the created field (it represents the
+ bit width).
+ * giscanner/girwriter.py (GIRWriter._write_field): Output 'bits'
+ field attribute, if present.
+ * giscanner/ast.py (Field): Add 'bits' member, specifying the
+ width in bits of the field (only relevant for bitfields).
+ * tests/*: Updated.
+
+ * giscanner/transformer.py (Transformer._create_typedef_struct)
+ (Transformer._create_typedef_union): Add calls to _create_struct()
+ and _create_union(), respectively. This causes the scanner to
+ generate output for fields of struct and union typedefs.
+ * tests/*: Updated.
+
+2008-10-11 Jürg Billeter <j@bitron.ch>
+
+ Bug 552370: unsigned not scanned properly
+
+ * giscanner/scannerparser.y: combine basic types such as unsigned
+ int and long long when scanning
+ * tests/scanner/foo-expected.gir:
+ * tests/scanner/foo.c: (foo_test_unsigned):
+ * tests/scanner/foo.h: test that
+
+2008-10-11 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 554854: The --typelib-xml and --inject options should reuse
+ giscanner parser/writer.
+
+ * giscanner/ast.py: add constructor list to Struct and Union.
+ Add new param in Return's contructor to define transfer.
+ * giscanner/girparser.py: several additions to the parser in order
+ to have parsing all nodes of the gir xml files.
+ * tools/g-ir-scanner (typelib_xml_strip, inject): use gir parser
+ and writer in --inject and --typelib-xml options.
+ * giscanner/xmlwriter.py: ignore empty attributes instead of
+ raising an error as this basically exposes a bug in GIRParser.
+ This should be reverted as soon as the parser is fixed.
+
+2008-10-11 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 552376: scanner generates wrong names for enum members when
+ there's no defined gtype.
+
+ * giscanner/utils.py (strip_common_prefix): Always strip common
+ prefix exactly up to the last "_", and not beyond.
+ * tests/scanner/foo.h (FooEnumNoType): add FOO_ENUM_NEUF. The point
+ here is that the first character after the last '_' should should be
+ the same as the character in the same position on the type name.
+ * tests/scanner/foo-expected.gir: test that
+
+2008-10-10 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 555293: append library_paths to LPATH env variable to work
+ around a bug in find_library when using ldconfig.
+
+ * tools/g-ir-scanner (main): ditto.
+
+2008-10-09 Lucas Rocha <lucasr@gnome.org>
+
+ * girepository/girepository.c (register_internal): fix regression on
+ invoke test case by making sure we load the global module in the
+ typelib when dealing with inline typelibs.
+ * girepository/gtypelib.c: a couple of coding style fixes.
+
+2008-10-06 Lucas Rocha <lucasr@gnome.org>
+
+ Bug 555294: Add support for multiple shared libraries per typelib.
+
+ * girepository/ginvoke.c (g_function_info_invoke),
+ girepository/ginfo.c(g_registered_type_info_get_g_type): use
+ g_typelib_symbol instead of g_module_symbol.
+ * girepository/girepository.h: remove g_typelib_set_module and add
+ g_typelib_symbol.
+ * girepository/gtypelib.[ch] (find_some_symbol, _g_typelib_init,
+ g_typelib_new_from_memory, g_typelib_new_from_const_memory,
+ g_typelib_free, g_typelib_symbol): chnage GTypeLib to hold a list of
+ modules instead of just one. The symbol lookup is now abstracted
+ behind g_typelib_symbol which tries to find the passed symbol name in
+ one of its modules.
+ * giscanner/girwriter.py, tools/g-ir-scanner: change scanner to read
+ and write shared_library attribute as a comma-separated list of libs.
+
+2008-10-06 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Parse length= annotation as
+ a parameter name, not a raw int.
+ * tests/*: Update.
+
+2008-10-03 Colin Walters <walters@verbum.org>
+
+ Bug 551744: Non-GObject types aren't aggregating ctors and methods
+
+ * girepository/gtypelib.c: Allow ctors/methods on struct,union,
+ and boxed.
+ * giscanner/glibtransformer.py: Ditto, and GLibBoxed is also a
+ registered type.
+ * tests/*: Extend.
+
+2008-10-03 Colin Walters <walters@verbum.org>
+
+ Bug 554576: scan problem with ev_selection_render_selection()
+
+ * giscanner/transformer.py: Only do type resolution once we've
+ scanned all types. What could happen before is that we'd strip
+ the namespace from local type "EvSelection" => Selection, and
+ then later pull a "Selection" from some other namespace because
+ we hadn't yet seen the local EvSelection. This could come
+ down to hash table ordering and other things so not easy
+ to write a test for.
+
+2008-10-03 Lucas Rocha <lucasr@gnome.org>
+
+ * giscanner/girwriter.py (_parser_member): fix the last parameter of
+ GLibEnumMember constructor as it should be the enum member nick.
+
+2008-10-02 Colin Walters <walters@verbum.org>
+
+ Bug 552961: remove this parameter for methods
+
+ * giscanner/glibtransformer.py: Delete this parameter; it is
+ redundant.
+ * girepository/ginvoke.c: Insert this parameter for methods.
+ * girepository/gtypelib.c: Remove no longer needed verification of
+ method this parameter.
+ * tests/*: Update.
+
+2008-09-30 Dan Winship <danw@gnome.org>
+
+ Bug 554490: g-ir-scanner gets confused by '\\'
+
+ * giscanner/scannerlexer.l (chartext, stringtext): fix use of
+ backslashes so it will correctly parse '\\' and "\\"
+
+ * tests/scanner/annotation.c: add a use of '\\' to make sure that
+ this stays fixed
+
+ * giscanner/glibtransformer.py (GLibTransformer.count_type): typo
+
+2008-10-02 Colin Walters <walters@verbum.org>
+
+ bug 552393: Note variadic functions
+
+ * giscanner/scannerparser.y: Parse ellipsis. Refactor grammar
+ to use parameter_list directly.
+ * giscanner/sourcescanner.h: Add ellipsis csymbol type.
+ * giscanner/ast.py: Add Varargs type.
+ * giscanner/transformer.py: Check for ellipsis symbol, transform
+ to varargs type.
+ * girepository/girnode.h: Add varargs flag to in-memory nodes.
+ Parse varargs functions, but filter them out before we start
+ compiling the typelib.
+
+2008-10-02 Colin Walters <walters@verbum.org>
+
+ Bug 554632: type tag for GType
+
+ * girepository/girepository.h, girepository/girepository.c:
+ Add type tag for GType - it's a special type we don't want
+ to resolve to just "long".
+ * docs/typelib-format.txt: Update.
+ * girepository/girparser.c: Parse it.
+ * giscanner/glibtransformer.py: Ensure we don't put GType in
+ the GObject.gir.
+ * tools/generate.c: Remove hardcoded type list.
+ * test/* update.
+
+2008-09-30 Dan Winship <danw@gnome.org>
+
+ Bug 554521: scanner generates wrong names for enum members with
+ full type name prefix
+
+ * giscanner/utils.py (strip_common_prefix): Fix this to strip the
+ right amount when the entire "first" string is a prefix of
+ "second"
+
+ * tests/scanner/foo.h (FooEnumFullname):
+ * tests/scanner/foo-expected.gir: test that
+
+2008-09-29 Colin Walters <walters@verbum.org>
+
+ Bug 552380: Array parameters should be marked in the gir
+
+ * giscanner/ast.py: Default char** to utf8[], and guchar* to
+ uint8[]. Add Array, List, and Map subclasses of Type;
+ these types can be generic. Return transfer defaults
+ to true if return value is string or container type.
+ Delete Sequence type.
+ * giscanner/scannerlexer.l: Syntax change for annotations;
+ use <> since it's more readable.
+ * giscanner/girwriter.py: Write out these changes.
+ * giscanner/girparser.py: Parse them.
+ * giscanner/transformer.py: Have a defined set of
+ both list and map types. When creating a type,
+ check if the ctype we've parsed is one of them,
+ if so create a container type subclass as appropriate.
+ * girepository/girparser.c: Parse in generic types.
+ * tests/*: Update.
+
+2008-09-27 Colin Walters <walters@verbum.org>
+
+ * tools/g-ir-scanner: Add --inject option.
+
+2008-09-25 Colin Walters <walters@verbum.org>
+
+ Remove non-repository types from GIR
+
+ * giscanner/ast.py: The canonical name is 'utf8', not
+ 'string'.
+ * giscanner/glibast.py: A few more glib type mappings.
+ * girepository/girparser.c: We only parse repository types.
+ * tests/*.gir: Update.
+
+2008-09-23 Colin Walters <walters@verbum.org>
+
+ Bug 552566: Add time_t type
+
+ We need a type for time_t since it's special in C, and just
+ mapping it to long precluded bindings from handling it
+ in a nice way.
+
+2008-09-19 Colin Walters <walters@verbum.org>
+
+ Bug 552390: Handle capitialization like "DBus" more robustly
+
+ The to_underscores function was designed for use against prefixed
+ names; we need a separate function which will convert names like
+ DBusFoo into dbus_foo, not d_bus_foo.
+
+2008-09-19 Colin Walters <walters@verbum.org>
+
+ Add check to make sure we're not hitting out unresolved types
+
+ Validate the "this" argument for methods
+
+ Remove heuristic matching of methods to classes based on prefix
+
+ It was a broken hack that dated from when we handled underscoring
+ and capitalization conventions less well.
+
+2008-09-18 Colin Walters <walters@verbum.org>
+
+ Bug 552384: Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin
+
+ On Darwin, the suffix for installed shared libraries (.dylib) is
+ different from loadable modules (.so). We use a bit of magic shell
+ script from Behdad Esfahbod to figure out the right suffix.
+
+2008-09-15 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/sourcescanner.py (SourceType.type_qualifier): Add
+ a wrapper for type_qualifier as well.
+
+2008-09-15 Colin Walters <walters@verbum.org>
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=552065
+
+ * giscanner/ast.py: Add deprecation attributes.
+ * giscanner/girwriter.py: Write out deprecation data.
+ * girepository/girparser.c: Relax parsing; deprecated
+ attribute now includes freeform string.
+ * giscanner/scannerlexer.l: Parse Deprecated.
+ * giscanner/transformer.py: Look for deprecated attribute
+ on functions.
+ * tests/scanner/*: Add a Deprecated test.
+
+2008-09-14 Tor Lillqvist <tml@novell.com>
+
+ * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT).
+
+2008-09-14 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Ignore functions with
+ leading _.
+
+2008-09-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Accept Gtk.Type as GType.
+
+2008-09-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/ast.py: Bind pid_t to INT for vte.
+
+2008-09-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/girparser.py: Parse c:type for boxed records/unions.
+ * giscanner/glibast.py: Avoid overwriting ctype.
+ * giscsanner/transformer.py: Try resolving types using the GType names.
+
+2008-09-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/minixpath.py: Code to run an "XPath"
+ assertion against an XML tree, taken from
+ gir-repository/gir/tests.py.
+ * giscanner/Makefile.am: Ship it.
+ * tools/g-ir-scanner: Add --xpath-assertions option.
+ * gir/GLib-assertions.txt: Add a few assertions.
+ * gir/Makefile.am: Run them.
+
+2008-09-11 Colin Walters <walters@verbum.org>
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=551737
+
+ * giscanner/transformer.py: Fix strip_namespace_func to only strip
+ prefix if it ends with _. Tweak callback stripping to determine
+ based on presence of _ whether we need to use strip_namespace_func
+ or strip_namespace_object.
+
+2008-09-09 Owen Taylor <otaylor@redhat.com>
+
+ * docs/typelib-format.txt: Wether => Whether
+
+2008-09-08 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Default to "readable" for properties.
+ * giscanner/ast.py: Add readable, writable etc.
+ * giscanner/girwriter.py: Writ them.
+ * giscanner/glibtransformer.py: Inspect them.
+ * tests/*: Update.
+
+2008-09-07 Colin Walters <walters@verbum.org>
+
+ * giscanner/cgobject.py: Add comment.
+
+2008-09-07 Colin Walters <walters@verbum.org>
+
+ * giscanner/cgobject.py: Also call g_thread_init.
+
+2008-09-07 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Fix regression by not
+ stripping prefix before stripping namespace for unions
+ either.
+
+2008-09-06 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: If a namespace contains
+ multiple caps, try stripping both gnomekeyring_ and
+ gnome_keyring_.
+
+2008-09-07 Johan Dahlin <johan@gnome.org>
+
+ Bug 551162 – giscanner does not recognize asm and __asm__
+ * giscanner/scannerlexer.l:
+ Patch by Jani Monoses.
+
+2008-09-06 Colin Walters <walters@verbum.org>
+
+ * girepository/girnode.c: Allow gtype_name
+ and gtype_init in struct and union.
+ * girepository/girparser.c: Parse glib:
+ boxed bits for both structure and union.
+ * girepository/gtypelib.c: Don't barf
+ if structure is boxed.
+ * giscanner/girparser.py: Parse new XML
+ format.
+ * giscanner/girwriter.py: Write out new
+ XML format.
+ * giscanner/glibast.py: Define new classes
+ which are both Boxed and Struct/Union, as
+ well as an "Other" for everything else.
+ * giscanner/glibtransformer.py: Handle
+ boxed types specially; we try to merge
+ them with a struct/union if one exists,
+ otherwise fall back to generic boxed.
+ * tests/*: Update.
+ * tools/generate.c: Write out new format.
+
+2008-09-06 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/grealpath.h: Include stdlib.h
+
+ * docs/g-ir-generate.1: Remove leading %
+
+2008-09-01 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Look at c:type to determine
+ whether or not an item is a pointer.
+
+2008-09-01 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Makefile.am:
+ Set PYTHONPATH so the scanner can run
+ even if you didn't install anything.
+
+2008-09-01 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ Post-release version bump
+
+=== 0.5.0 ===
+2008-09-01 Johan Dahlin <johan@gnome.org>
+
+ * NEWS: Update
+
+2008-08-31 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Quiet info
+ prints for now.
+
+2008-08-31 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ Bump version to 0.5.0
+
+2008-08-31 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Follow aliases to ensure
+ we don't get a constructor returning a basic type.
+ * giscanner/transformer.py: Add function to follow aliases.
+ * tests/ Update.
+
+2008-08-31 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/scannerlexer.l:
+ * giscanner/scannerparser.y:
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ Parse GCC extensions in the parser instead of just undeffing them
+ in the pre-processor.
+
+2008-08-31 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ Clean up a huge if. Do not add methods or constructors
+ to enums/flags.
+ * giscanner/utils.py:
+ second might be longer than first, check that.
+
+2008-08-31 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ Add a GModule.gir
+
+2008-08-31 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Don't lose if we
+ have no includedirs
+
+2008-08-31 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Look for libtool
+ library in current directory
+ * tests/scanner - Update.
+
+2008-08-30 Colin Walters <walters@verbum.org>
+
+ * docs/typelib-format.txt: Add a guint32
+ for dependencies.
+ * gir/Makefile.am: Dep on Makefile
+ * girepository/ginfo.c:
+ * girepository/girepository.c: Clean up
+ default typelib handling; remove global
+ default_typelib variable. Ensure we handle
+ NULL repository in more places.
+ Support dependency resolution.
+ Support lazy loading.
+ * girepository/girepository.h: Remove
+ g_irepository_unregister; we don't support
+ unloading typelibs since really they're
+ process-global. Update for lazy loading
+ API.
+ * girepository/girmodule.c: Use g_new0.
+ Add dependencies to GirModule.
+ * girepository/girparser.c: Parse dependencies.
+ * girepository/gtypelib.c: Add 4 bytes for
+ dependencies.
+ * tests/Makefile.am: Kill off gobject.gir,
+ it conflicts with the real one.
+ * tests/object.gir: Dep on GObject.
+ * tools/generate.c: Take --includedir
+ argument to say which directories to search
+ for typelibs. Print out dependencies.
+
+2008-08-30 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Reduce warning noise.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/ginfo.c: Add some assertions regarding
+ refcounts, just to be sure.
+ * giscanner/glibtransformer.py: Blacklist a few more
+ odd Gio methods.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Blacklist a few
+ functions that use GError oddly
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c: Don't crash if no
+ shlib is embedded
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Handle chains of aliases
+ across modules by ensuring we fully qualify aliases
+ from includes.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Don't search aliases
+ for basic types.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Rewrite type parsing
+ to handle both GLib parsing case as well as correctly
+ handling GLib.List and friends. Don't try to treat
+ e.g. ListStore as a List.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c: Add more context
+ during validate.
+
+2008-08-29 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Add some informative
+ logging messages in corner cases. Be sure we use
+ the most recent node set instead of a cache
+ when generating result set.
+ * tests/: Remove duplicated bits in expected girs
+ * girepository/girparser.c: Accept both List (for
+ compiling GLib) and GLib.List (what the scanner
+ generates).
+ * tests/ - Update.
+ * tools/generate.c: Generate canonical form.
+
+2008-08-29 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/config.py.in:
+ Use datarootdir instead of datadir to avoid
+ an autoconf warning.
+
+2008-08-29 Johan Dahlin <johan@gnome.org>
+
+ * README:
+ * TODO:
+ * examples/gdk-pixbuf.gidl:
+ * libffi.pc.in:
+ Update and remove old cruft.
+
+2008-08-29 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am:
+ * docs/g-ir-compiler.1:
+ * docs/g-ir-generate.1:
+ * docs/g-ir-scanner.1:
+ Add man pages for the generator and compiler.
+
+2008-08-29 Johan Dahlin <johan@gnome.org>
+
+ * docs/g-ir-scanner.1: Document
+
+ * giscanner/Makefile.am:
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * tools/g-ir-scanner:
+ Remove gidl support.
+
+2008-08-28 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/Makefile.am: Pass the right
+ --includedir args. Add a Makefile dep.
+ * tools/compiler.c: Pass includedirs down.
+ * girepository/girparser.c: Actually put
+ includedirs in context, pass down. Fix
+ locate_gir.
+
+2008-08-28 Colin Walters <walters@verbum.org>
+
+ * gir/Makefile.am: Use --includedir
+ * girepository/girparser.c: Recursively parse
+ includes to pull in aliases and expand them.
+ We need this to avoid putting unknown names in
+ the typelibs.
+ * tools/compiler.c: Add --includedir option.
+ * giscanner/ast.py: Map size/ssize to types
+ too.
+
+2008-08-28 Tor Lillqvist <tml@novell.com>
+
+ Make check now runs successfully on Windows.
+
+ * tools/compiler.c (write_out_typelib): Use binary mode for output
+ file on Windows.
+
+ * girepository/girnode.c: Don't print NULL strings.
+
+ * tests/invoke/Makefile.am
+ * tests/scanner/Makefile.am: Use -no-undefined on Windows to
+ convince libtool to build shared libraries.
+
+ * tests/invoke/invoke.c: Don't needlessly include <dlfcn.h>. Use
+ g_assert() instead of printing out expected errors.
+
+2008-08-28 Tor Lillqvist <tml@novell.com>
+
+ * girepository/gtypelib.h: Change type of bitfield fields from
+ guint to the most suitable smaller type. This makes the struct
+ sizes match the ones on Linux that the sanity check expects when
+ using gcc -mms-bitfields on Windows.
+
+2008-08-28 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am:
+ * configure.ac:
+ * gir/Makefile.am:
+ * giscanner/Makefile.am:
+ * tests/Makefile.am:
+ * tests/scanner/Makefile.am:
+ Make distcheck pass.
+
+2008-08-27 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/Makefile.am:
+ Only send in -no-undefined on Win32 as it breaks on MacOS X.
+
+2008-08-27 Tor Lillqvist <tml@novell.com>
+
+ Make g-ir-scanner work on Windows. Still problems with the typelib
+ code. Changes okayed by jdahlin.
+
+ * configure.ac: Check for Windows, set Automake conditional
+ OS_WIN32. Change backslashes to forward slashes in pyexecdir to
+ avoid shell quoting issues
+
+ * girepository/Makefile.am: Use -no-undefined so that libtool
+ agrees to build a shared library on Windows.
+
+ * girepository/girparser.c (backtrace_stderr): No backtrace() on
+ Windows. Empty implementation on Windows so far.
+
+ * girepository/gtypelib.c (g_typelib_check_sanity): Give more
+ informative error message for the assertion failures. Tell also
+ what the expected size of the struct is. Check all sizes first and
+ fail afterwards if at least one size was different from expected.
+
+ * tools/Makefile.am: Reorder libraries into proper logical
+ dependency order.
+
+ * tools/generate.c: Don't include <dlfcn.h>, not used.
+
+ * giscanner/Makefile.am: On Windows, link with the Python library,
+ and install the module DLL as _giscanner.pyd. Remove the
+ unnecessary import library and libtool library that libtool has
+ installed.
+
+ * giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax
+ and just skip it. Recognize also two "l" suffixes for long long
+ constants. Recognize also __inline__.
+
+ * giscanner/grealpath.h (g_realpath): Implement on Windows, using
+ GetFullPathName(). As such, GetFullPathName() does more than the
+ UNIX realpath(). It also changes relative paths into absolute
+ paths. But for our purposes that shouldn't matter.
+
+ * giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On
+ Windows the file descriptor passed to us is from Python. Python
+ Python2.5 uses the msvcr71.dll C library, while mingw-built code
+ uses msvcrt.dll. On Windows, file descriptors are specific to
+ which C library is used. So we must find out what underlying OS
+ handle corresponds to the file descriptor Python passes us, and
+ then make that into a file descriptor valid for the C library this
+ code uses.
+
+ * giscanner/sourcescanner.py (_parse): Don't need to bypass
+ __attribute__ as the lexer now handles it. The definition as empty
+ was ineffective for mingw anyway, as mingw's _mingw.h undefines
+ __attribute__. Close the temp file before unlinking it.
+
+ * giscanner/cgobject.py: Use correct library name for the gobject
+ DLL on Windows.
+
+ * gir/Makefile.am: Must pass the full basename of the DLLs on
+ Windows to g-ir-scanner. It's a bit ugly that we have to "know"
+ that the names of the GLib DLLs are like libglib-2.0-0.dll, but in
+ reality they won't change, until there is a GLib 3, and then also
+ the Unix code here needs changing.
+
+ Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that
+ libintl.h is found.
+
+2008-08-26 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Search
+ $DATADIR/girepository instead of
+ $DATADIR/gitypelibs; this naming makes
+ it clearer that e.g. jgir can install
+ .jars there.
+ * gir/Makefile.am: Install there.
+
+2008-08-26 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c (_g_typelib_init): Also
+ use G_MODULE_SUFFIX instead of hardcoding .so.
+
+2008-08-26 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c (_g_typelib_init): Free
+ string in the right place.
+
+2008-08-26 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c (_g_typelib_init): Handle
+ both .la and .so names; this works better in the
+ uninstalled library case.
+
+2008-08-26 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * giscanner/Makefile.am:
+ * giscanner/cgobject.py:
+ * giscanner/config.py.in:
+ * giscanner/sourcescanner.py:
+ Avoid undeffing __GNUC__, instead define
+ __attribute__ & friends. Remove glibconfig.h hack.
+ This makes gobject-introspection work better on
+ MacOS X, Thanks to Richard Hult for kind help.
+
+2008-08-25 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Always print
+ statistics.
+
+2008-08-25 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Skip over
+ interfaces we don't know.
+
+2008-08-25 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Parse new implements
+ syntax, drop gapi one.
+ * tests/object.gir: Update.
+ * tools/generate.c: Generate new syntax.
+
+2008-08-25 Colin Walters <walters@verbum.org>
+
+ * giscanner/ast.py: Add interfaces property
+ to class.
+ * giscanner/girwriter.py: Write out implemented
+ interfaces.
+ * giscanner/glibtransformer.py: Introspect
+ implemented interfaces.
+ * tests/scanner/*: Make FooObject implement
+ FooInterface.
+
+2008-08-25 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: More correctly pair
+ methods; if we have a symbol that starts with
+ e.g. hippo_canvas look for a matching HippoCanvas
+ class before accepting e.g. HippoCanvasImage.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * tools/g-ir-scanner: Filter out unknown options from
+ pkg-config files.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Fail with better
+ error if we can't find library.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * tools/g-ir-scanner: Use subprocess instead of
+ commands, works on Windows and avoids the evil
+ shell on Unix.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Skip over
+ g_object_get_type from GLib trunk.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c (g_irepository_require):
+ Don't open shared library here; we already do it
+ in gtypelib.c.
+
+2008-08-24 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c: Add context stack so
+ when we get an error we can print out nicely
+ where it is.
+
+2008-08-24 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girparser.c (start_glib_boxed), (start_function),
+ (start_field), (start_alias):
+ Refactor a couple of parsing functions to be simpler to follow.
+ Avoid huge ifs.
+
+2008-08-24 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girparser.c (start_function):
+ Remove left-over code, checking type of function.
+
+2008-08-23 Colin Walters <walters@verbum.org>
+
+ * giscanner/config.py: Define DATADIR.
+ * giscanner/transformer.py: Look in DATADIR.
+
+2008-08-23 Colin Walters <walters@verbum.org>
+
+ * girepository/gtypelib.c: Check constructor
+ returns.
+ * girepository/girnode.c: Small tweaks.
+ * girepository/ginfo.c: Calculate signature offsets
+ more robustly.
+ * girepository/girparser.c: Remove duplicate
+ start_boxed.
+ * giscanner/glibtransformer.py: Avoid marking
+ functions which return a basic type as
+ constructors.
+
+2008-08-23 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Ignore <include>.
+ * giscanner/girparser.py: Parse them.
+ * giscanner/girwriter.py: Generate them.
+ * giscanner/transformer.py: Process <include>
+ recursively. Don't require full path for
+ includes, look in {$XDG_DATA_DIRS}/gir.
+ * tools/g-ir-scanner: Pass through includes.
+ * Makefile.am: Remove extra --include
+ args for scanner.
+ * *-expected.gir: Add expected includes.
+
+2008-08-23 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Makefile.am:
+ * tests/scanner/annotation-expected.gir:
+ * tests/scanner/drawable-expected.gir:
+ Avoid duplication in the Makefile, regenerate with new
+ namespaces (same as the filename)
+
+2008-08-22 Colin Walters <walters@verbum.org>
+
+ * girepository/girnode.c: Don't hardcode integers,
+ use GITypeTag.
+
+2008-08-22 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/sourcescanner.py:
+ Check for ../gobject-introspection-1.0.pc.in to determine
+ if we run installed or uninstalled.
+
+2008-08-22 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * giscanner/sourcescanner.py:
+ Send in undefs/defines via writing it directly to stdin
+ of cpp instead of via arguments.
+
+2008-08-22 Colin Walters <walters@verbum.org>
+
+ * tools/generate.c, tools/compiler.c: Default
+ to --raw.
+ * all Makefile.am: Update.
+
+2008-08-22 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Pass through
+ recursive types. Avoid overwriting errors.
+ * giscanner/xmlwriter.py: Always write the
+ XML header.
+ * tests/*.gir: Adjust.
+ * tests/scanner/Makefile.am: Build typelibs,
+ and generate XML from those. Once we
+ have a good diff mechanism...
+ * tests/scanner/*-expected.gir: Add XML
+ header.
+ * tools/g-ir-scanner: Accept --typelib-xml
+ option.
+ * tools/generate.c: Better defaults for transfer.
+
+2008-08-22 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ * gir/Makefile.am:
+ * giscanner/Makefile.am:
+ * giscanner/config.py.in:
+ * giscanner/sourcescanner.py:
+ Use the generated glibconfig.h for all scanner invokations.
+ Rename it to glibconfig-scanner.h and install it.
+ Add a config.py which so far contains the include dir.
+
+2008-08-22 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ Replace glibconfig.h with our own, do some replacement
+ for CPP/C features we do not support
+
+2008-08-22 Colin Walters <walters@verbum.org>
+
+ * tools/generate.c (write_callable_info): Fix unref
+ sequence.
+
+2008-08-22 Colin Walters <walters@verbum.org>
+
+ * gobject-introspection-1.0.pc.in: Add g-ir-generate.
+ * tests/Makefile.am: Support $(DEBUG)
+ * tools/generate.c: Do immediate close tags if no
+ sub-elements.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/drawable-expected.gir,
+ * tests/scanner/drawable.c,
+ * tests/scanner/drawable.h:
+ Add a method.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Compute prefix
+ by searching through the symbol for bits
+ rather than going directly from ctype; this fixes
+ webkit_ namespace.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Also try squashing
+ underscores from namespace, fixes webkit_web_view_new.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: More ctor work,
+ avoid having gtk_window_group_new end up under
+ GtkWindow.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Much simpler approach
+ of mapping uscored names to classes.
+ * giscanner/utils.py: Remove unnecessary function.
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girepository.c (g_irepository_require):
+ Plug memory leak and avoid using freed memory.
+ Resolve the whole module path, here as well.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Look up all permutations
+ of class names when scanning methods/ctors based on
+ the prefix instead of using the return value. This
+ associates gtk_window_new with the right class.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * girepository/girmodule.c (g_ir_module_build_typelib):
+ Revert change to increment header_size; we do that in
+ write_string.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * girepository/girnode.c (write_string): Tweak to
+ use UINT instead of INT. Not likely to matter.
+ * girepository/girmodule.c (g_ir_module_build_typelib):
+ Add to header_offset as well for header strings
+ to match what write_string does.
+ * girepository/gtypelib.c: Replace is_name with
+ validate_name, which more strongly validates and
+ handles errors in a better way. Update all callers.
+ * giscanner/glibtransformer.py: Handle constructors
+ better.
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am (typelibs_DATA): Build and
+ install the Gio.typelib too
+
+ * girepository/gtypelib.c (_g_typelib_init):
+ Use g_module_build_path to resolve the shlib name
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * gir/Makefile.am: CLEANFILES typelibs too.
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ Do not send .la files through find_library.
+
+2008-08-21 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c (g_irepository_require):
+ Fix one small leak in error case.
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ Parse glibconfig.h as well and install the compiled
+ typelib
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * giscanner/glibtransformer.py:
+ * tools/g-ir-scanner:
+ Do not hard-core library names in the Makefile, reuse
+ ctypes find_library instead.
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girparser.c (resolve_aliases):
+ Remove compilation warnings
+
+2008-08-21 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girepository.c (g_irepository_require):
+ Rewrap and fix double free bug by leaking a bit.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Add new function
+ g_irepository_get_typelib_path which tells
+ us from where we loaded a namespace.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/*-expected.gir: Adjust for
+ added shared-library.
+ * giscanner/giwriter.py: Make pylint happy.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girmodule.c (g_ir_module_build_typelib):
+ Calculate size correctly, avoid use-after-free.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c: Remove
+ g_irepository_register_file in favor of
+ g_irepository_require. There are two
+ possible deployment scenarios for typelibs:
+ First, separate in $DATADIR/gitypelibs/. Second,
+ they may be embedded in shlibs. However since
+ the first is now the normal case, the API is
+ optimized around it.
+
+ Refactor internals to look up typelibs for
+ namespaces just-in-time, but we expect
+ consumers to call g_irepository_require.
+
+ Also, add some docs. No one has died from that
+ before.
+ * gir/Makefile.am: Need --library for glib.
+ * giscanner/girwriter.py: Write out shared-library.
+ * tools/g-ir-writer: Take the first --library
+ argument as the target of shared-library. In
+ the future we should make this nicer with pkg-config
+ probably.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.py: And parse them.
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibast.py: Add gshort/gushort types
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * gir/Makefile.am: Rename .gir files using GI namespace.
+ * girepository/girepository.c: Use XDG_DATA_DIRS for
+ looking up typelibs. Also typelibs are now suffixed
+ with .typelib.
+ * tests/invoke/Makefile.am: Only use metadata.
+ * girepository/Makefile.am: Remove unnecessary include.
+ * tests/scanner/Makefile.am: Update using GI namespaces
+ for scanner includes.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/transformer.py: Suppress aliases whose
+ name is a builtin.
+ * girepository/ast.py: Define some more aliases.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Avoid alias infloops.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/foo-expected.gir: Fix expected list type.
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
+ Add a workaround for #548689.
+ We can now compile gtk!
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Try to look up
+ aliases using the c:type too.
+
+2008-08-20 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Parse union fields.
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py: Make time_t an alias for long
+
+ * gir/gio-2.0-good.gir:
+ * gir/glib-2.0-good.gir:
+ * gir/gobject-2.0-good.gir:
+ Regnerate
+ * giscanner/glibtransformer.py:
+ Do not delete Class structures, we need them in gdk/gtk.
+ * tests/scanner/drawable-expected.gir:
+ * tests/scanner/foo-expected.gir:
+ * tests/scanner/utility-expected.gir:
+ Update tests.
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Makefile.am:
+ * tests/scanner/annotation-expected.gir:
+ * tests/scanner/annotation.c (annotation_object_class_init),
+ (annotation_object_init), (annotation_object_method),
+ (annotation_object_in), (annotation_object_out),
+ (annotation_object_inout), (annotation_object_inout2),
+ (annotation_object_inout3), (annotation_object_calleeowns),
+ (annotation_object_calleesowns), (annotation_object_get_strings),
+ (annotation_object_with_voidp), (annotation_object_get_objects),
+ (annotation_object_create_object), (annotation_object_allow_none):
+ * tests/scanner/annotation.h:
+ * tests/scanner/foo-expected.gir:
+ * tests/scanner/foo.c:
+ * tests/scanner/foo.h:
+ Split out annotation tests out of foo
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/Makefile.am:
+ * tests/scanner/foo-expected.gir:
+ * tests/scanner/foo-object.h:
+ * tests/scanner/foo.c:
+ Foo->foo, foo-object.h -> foo.h
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/Makefile.am:
+ * tests/scanner/drawable-expected.gir:
+ * tests/scanner/drawable.c (test_drawable_class_init),
+ (test_drawable_init):
+ * tests/scanner/drawable.h:
+ * tests/scanner/foo-object.h:
+ * tests/scanner/foo.c (foo_boxed_method):
+ Move the drawable parts out of Foo to its own test.
+
+2008-08-20 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/foo-object.h:
+ * tests/scanner/foo.c (foo_drawable_class_init),
+ (foo_drawable_init):
+ Add a based on GdkDrawable which generates
+ a broken gir.
+
+2008-08-19 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Don't try
+ to strip prefix before namespace.
+
+2008-08-19 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/transformer.py:
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/foo-object.h:
+ Add support for typedef void foo type of
+ aliases.
+
+2008-08-19 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * tests/scanner/Foo-expected.gir:
+ Add basic support for union, base the code much
+ on Struct. Add a testcase.
+
+2008-08-19 Johan Dahlin <johan@gnome.org>
+
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/foo-object.h:
+ Add a union testcase which the compiler currently
+ barfs at.
+
+2008-08-19 Johan Dahlin <johan@gnome.org>
+
+ * gobject-introspection-1.0.pc.in:
+ Add a g_ir_compiler variable
+
+2008-08-19 Colin Walters <walters@verbum.org>
+
+ * giscanner/ast.py: Rework types to be more closely
+ based on GITypeTag.
+ * giscanner/girparser.py: Parse more bits.
+ * giscanner/girwriter.py: Write sequences in a new
+ way that specifies container type.
+ * giscanner/glibast.py: Adjust for ast.py changes,
+ add 'ctype' property to GLibObject and GLibInterface
+ so we can look things up by it later.
+ * gicanner/transformer.py: Names is new class holding
+ the various namespaces we manage. Do not confuse
+ with Namespace which is toplevel XML node effectively.
+ Rework all type resolution to go through
+ _resolve_type_name_1.
+ * giscanner/glibtransformer.py: Raise UnknownTypeError
+ instead of ValueError for cleanliness. Add Unresolved
+ class to mark types whose parent we haven't seen yet.
+ Use new Names object from transformer.py.
+ Correctly look up parent=.
+ Fix type validation to handle sequences.
+ * tests/scanner/Foo-expected.gir: Update for sequence
+ work, int instead of int32.
+ * tools/g-ir-scanner: Add --noclosure option
+ * gir/Makefile.am: Use --noclosure by default for
+ GLib/GObject.
+
+2008-08-18 Johan Dahlin <johan@gnome.org>
+
+ * gir/gio-2.0-good.gir:
+ * gir/glib-2.0-good.gir:
+ * gir/gobject-2.0-good.gir:
+ Regenerate.
+
+2008-08-18 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girparser.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * tests/scanner/Foo-expected.gir:
+ * tests/scanner/foo-object.h:
+ * tests/scanner/utility-expected.gir:
+ * tests/scanner/utility.h:
+ Redo type resolving and validation.
+ Add a couple of new tests.
+ Patch mostly written by Colin.
+
+2008-08-18 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * giscanner/girparser.py:
+ Set ctype of enums
+ * giscanner/transformer.py:
+ Improve enum parsing for enums without a GType.
+ Make flags/enum references to other girs work
+ * giscanner/utils.py:
+ Simplify this a bit
+ * tests/scanner/Makefile.am:
+ * tests/scanner/foo-object.h:
+ * tests/scanner/utility-expected.gir:
+ * tests/scanner/utility.h:
+ Add a new test for external enum references
+
+2008-08-18 Johan Dahlin <johan@gnome.org>
+
+ * docs/global-module-registry.txt: Update
+
+ * tests/array.gir: Update with new type proposal
+
+ * girepository/girepository.c (g_type_tag_to_string):
+ * girepository/girepository.h:
+ * girepository/girnode.c (g_ir_node_get_full_size_internal),
+ (find_entry_node):
+ * girepository/girnode.h:
+ Make enum serializing functions public. Clean up some whitespace.
+
+2008-08-17 Johan Dahlin <johan@gnome.org>
+
+ * docs/global-module-registry.txt:
+ Add a document for an on disk module registry format
+
+2008-08-17 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * gir/gio-2.0-good.gir:
+ Add a gio gir.
+
+2008-08-17 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ * gir/glib-2.0-good.gir:
+ * gir/gobject-2.0-good.gir:
+ * giscanner/cgobject.py:
+ * giscanner/glibtransformer.py:
+ Regenerate GObject & GType.
+ Avoid warnings when generating gobject-2.0.gir.
+ Introspect a little more, and skip *_get_type functions.
+
+2008-08-17 Colin Walters <walters@verbum.org>
+
+ * gir/glib-2.0.gir, gir/gobject-2.0.gir:
+ Rename to -good, always generate during build.
+ * gir/Makefile.am: Ensure .gir files dep on
+ all scanner sources.
+ * Makefile.am: Switch build order to ensure
+ the scanner is ready before we do gir/.
+ * tools/g-ir-scanner: Look for .git too.
+
+2008-08-17 Johan Dahlin <johan@gnome.org>
+
+ * girepository/gtypelib.c (validate_enum_blob):
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ Remove resolve_possible_typedefs, it was unused.
+ Allow multiple enum values of the sample value in an enum,
+ since it's actually pretty common.
+ Register enums so they can be resolved too.
+
+2008-08-16 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girparser.py:
+ Parse enumeration/bitfield.
+
+2008-08-16 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girparser.py:
+ Parse boxed types.
+
+2008-08-16 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ Resolve type names for alias targets
+ * giscanner/transformer.py:
+ Skip FILE* parameters fow now
+
+2008-08-16 Johan Dahlin <johan@gnome.org>
+
+ * gir/glib-2.0.gir:
+ * gir/gobject-2.0.gir:
+ Regenerate
+
+ * tests/scanner/Makefile.am:
+ parser -> scanner
+
+2008-08-15 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Explicitly construct
+ new list, since we're deleting as we iterate.
+ Don't delete all structures which end in Class; just
+ ones which have a paired GObject.
+ Fix printing of type warning.
+ * giscanner/transformer.py: Make strip_namespace_object
+ be the identity function if it doesn't match the
+ namespace.
+
+2008-08-15 Colin Walters <walters@verbum.org>
+
+ * giscanner/cgobject.py: Define yet more argument
+ prototypes; fix prototype for g_type_fundamental.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * tests/Makefile.am:
+ * tests/constant.gir:
+ * tests/gobject.gir:
+ * tests/struct.gir:
+ * tools/generate.c (write_struct_info):
+ Fix generator for constant/gobject/struct
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * tests/Makefile.am:
+ * tests/enum.gir:
+ * tools/generate.c (write_enum_info):
+ Fix generation of enum/bitfields
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girparser.c (start_field), (start_constant),
+ (start_type), (end_element_handler):
+ Clear up constant parsing
+
+ * tests/object.gir:
+ Update
+
+ * tools/generate.c (write_callable_info), (write_function_info),
+ (write_callback_info), (write_constant_info), (write_signal_info),
+ (write_vfunc_info), (write_property_info), (write_object_info),
+ (write_interface_info):
+ Constants/Signals are handled now.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girparser.c (start_type):
+ Don't require c:type.
+ * tests/Makefile.am:
+ Test boxed.gir
+ * tests/boxed.gir:
+ Update, remove parts we don't support yet
+ * tests/roundtrips.sh:
+ Remove
+ * tools/generate.c (write_type_info), (write_field_info),
+ (write_callable_info), (write_struct_info):
+ Make it emit proper gir.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/transformer.py:
+ New internal function for adding a new node.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * gir/Makefile.am:
+ Define an internal _H_ variable so we skip parsing both
+ i18n headers, only one is needed.
+ * gir/glib-2.0.gir:
+ Add the glib-2.0.gir too.
+ * giscanner/glibast.py:
+ Add gconstpointer as an alias for ANY
+ * giscanner/transformer.py:
+ Do not lower case enumeration names per se.
+ Skip functions which has parameters called 'va_list'
+
+2008-08-14 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Comment data structures.
+ Also squash pointers in resolve_type_name to correspond
+ with what we do for params.
+ * giscanner/glibtransformer.py: Print warnings in more
+ situations. Rework checks for method/constructor to
+ look up in our GType database instead of just checking
+ for *. Avoid generating <record> for GObject which
+ duplicate the <class>.
+ * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
+ in here.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * misc/pyflakes.py:
+ * tests/Makefile.am:
+ Add pyflakes.py and run it in make check.
+ Update the source code to fix the errors reported by
+ pyflakes.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girparser.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ Refactor the parser a bit.
+ Add parent type to interfaces and update callsites.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ * giscanner/utils.py:
+ Refactor a bit, avoid isinstance and add a method
+ for each type we parse.
+
+2008-08-14 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girparser.py:
+ * giscanner/glibtransformer.py:
+ * tests/Makefile.am:
+ Run pep8.py in make check, fix old errors.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * giscanner/girparser.py: Parse records.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * gir/Makefile.am: Install again.
+ * gir/gobject-2.0.gir: Add some more bits.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * gir/gobject-2.0.gir: Use correct namespace, add GType.
+ * giscanner/girparser.py: Handle aliases.
+ * giscanner/transformer.py: Record aliases. Make resolver
+ functions public; we now call into these explicitly from
+ glibtransformer. Handle resolving aliases.
+ * giscanner/glibtransformer.py: Separate our internal namespace
+ from included ones. Call up into transformer's resolver functions.
+
+2008-08-13 Johan Dahlin <johan@gnome.org>
+
+ * girepository/girnode.c (g_ir_node_get_full_size_internal):
+ * girepository/girparser.c (start_class):
+ * giscanner/glibtransformer.py:
+ Allow get_type to be None, set a get_type for GInitiallyUnowned too.
+
+2008-08-13 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/cgobject.py:
+ Register GInitiallyUnowned
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ Special case GObject/GInitially owned as they are a bit special to use.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
+ Object is in GObject namespace.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * giscanner/girparser.py: Fix processing of functions
+ from last commit.
+
+2008-08-13 Colin Walters <walters@verbum.org>
+
+ * giscanner/girparser.py: Parse more than just <class.
+ * giscanner/glibtransformer.py: Put aliases in a separate
+ data structure since their name is not canonicall.
+ * giscanner/transformer.py: Handle resolving type names
+ from includes.
+
+2008-08-13 Johan Dahlin <johan@gnome.org>
+
+ * tools/g-ir-scanner:
+ Allow multiple libraries
+ * giscanner/glibtransformer.py:
+ Rename load_library to add_library, traverse over all libraries
+ when trying to resolve a function
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/transformer.py: Record typedefs as <alias> elements.
+ Also attempt to look up types in external namespaces.
+ * giscanner/girwriter.py: Write them.
+ * giscanner/glibtransformer.py: Rework resolver using real instanceof
+ checks. Resolve interface methods and properties.
+ * tests/scanner/foo-object.h: Add a method with typedef.
+ * tests/scanner/Foo-expected.gir: Update.
+ * girepository/girnode.c: Debug tweaks.
+ * girepository/girparser.c: Make a first pass through the XML where we
+ record all the aliases. This lets us resolve them as we go through the
+ second pass.
+ * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
+ from gir-repository.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
+ Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
+ fields.
+ * giscanner/transformer.py: Record typedefs and expose public API for resolving
+ them.
+ * tests/scanner/Foo-expected.gir: Fix expected callback types.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Also transform object properties.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: Also transform callbacks
+ and structure field types.
+ * tests/scanner/Fooe-expected.gir: Update to expect correct
+ names for callbacks and structs.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c: Handle 'any'.
+ * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
+ Add test for void *.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * giscanner/glibtransformer.py: We need to do type
+ resolution in a second pass after we've seen all the
+ enums, records, etc.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
+ Add enum return value.
+ * giscanner/glibtransformer.py: Transform function return types
+ too.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * tests/scanner/Makefile.am: Dep .gir files on scanner
+ sources too. Also remove @ so we see scanner invocations.
+
+2008-08-12 Colin Walters <walters@verbum.org>
+
+ * girepository/girparser.c, girepository/gtypelib.c,
+ girepository/gtypelib.h, girepository/girnode.c:
+ Remove usage of (GAPI-oriented) TypeTag in favor of
+ GITypeTag from girepository.h.
+
+2008-08-10 Colin Walters <walters@verbum.org>
+
+ * tests/roundtrips.sh: Use the correct tests.
+
+2008-08-10 Colin Walters <walters@verbum.org>
+
+ * giscanner/cgobject.py: Declare/wrap a few more functions.
+ Fix parameter types for g_object_new and g_type_fundamental.
+
+2008-08-10 Colin Walters <walters@verbum.org>
+
+ * giscanner/cgobject.py: Add new decorator @gwrap which forces
+ us to declare types for both return value and parameters. The
+ ctypes default of 'int' is bad because it hides 32/64 bit
+ problems. Convert all existing functions to use it.
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/__init__.py:
+ * giscanner/ast.py:
+ * giscanner/cgobject.py:
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/girparser.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/odict.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ * giscanner/utils.py:
+ * giscanner/xmlwriter.py:
+ * tools/g-ir-scanner:
+
+ PEP8ify
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * relaxng/api.xml:
+ * relaxng/c-types.xml:
+ * relaxng/g-types.xml:
+ * relaxng/relaxng.rng:
+ * relaxng/util.xml:
+ Remove outdated relaxng schemas.
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * *.[ch]:
+ Rename metadata to typelib in variable names,
+ comments and apis.
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * tools/scanner.c:
+ * tools/scanner.h:
+ Remove old C scanner, which got rewritten in python.
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * girepository/Makefile.am:
+ * tools/Makefile.am:
+ * tools/girmodule.c:
+ * tools/girmodule.h:
+ * tools/girnode.c:
+ * tools/girnode.h:
+ * tools/girparser.c:
+ * tools/girparser.h:
+ * tools/girwriter.c:
+ * tools/girwriter.h:
+ Move shared *.[ch] files to girepository from tools
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * tests/Makefile.am:
+ * tests/array.test:
+ * tests/boxed.test:
+ * tests/constant.test:
+ * tests/enum.test:
+ * tests/errors.test:
+ * tests/function.test:
+ * tests/gobject.test:
+ * tests/interface.test:
+ * tests/object.test:
+ * tests/struct.test:
+ * tests/types.test:
+ * tests/union.test:
+ * tests/xref1.test:
+ * tests/xref2.test:
+ Rename *.test to *.gir
+
+2008-08-09 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ * tests/Makefile.am:
+ * tests/parser/Foo-expected.gir:
+ * tests/parser/Makefile.am:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c:
+ * tests/parser/utility-expected.gir:
+ * tests/parser/utility.c:
+ * tests/parser/utility.h:
+ * tests/scanner/Makefile.am:
+ Rename tests/parser to test/scanner
+
+2008-08-08 Colin Walters <walters@verbum.org>
+
+ * tests/roundtrips.sh: Use local .gir files again.
+
+2008-08-08 Colin Walters <walters@verbum.org>
+
+ * tests/invoke/Makefile.am: .gir file depends on libtool
+ library.
+
+2008-08-08 Colin Walters <walters@verbum.org>
+
+ * tools/girnode.c: Pass through parent node so we can
+ print the node whose child is NULL, if that occurs.
+
+2008-08-08 Johan Dahlin <johan@gnome.org>
+
+ * tests/Makefile.am:
+ Disable roundtrip tests which are not yet working
+ * tests/invoke/testfns.gir:
+ Rewrite as gir.
+
+2008-08-08 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girwriter.py:
+ type -> ntype
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ Swap order of members, to keep it consistent with
+ base enum class
+
+2008-08-08 Johan Dahlin <johan@gnome.org>
+
+ * girepository/gtypelib.c (validate_header):
+ * girepository/gtypelib.h:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/sourcescanner.c (gi_source_symbol_ref),
+ (gi_source_symbol_unref):
+ * tests/array.test:
+ * tests/boxed.test:
+ * tests/constant.test:
+ * tests/enum.test:
+ * tests/errors.test:
+ * tests/function.test:
+ * tests/gobject.test:
+ * tests/interface.test:
+ * tests/invoke/Makefile.am:
+ * tests/invoke/testfns.xml:
+ * tests/object.test:
+ * tests/parser/Makefile.am:
+ * tests/roundtrips.sh:
+ * tests/struct.test:
+ * tests/types.test:
+ * tests/union.test:
+ * tests/xref1.test:
+ * tests/xref2.test:
+ * tools/Makefile.am:
+ * tools/compiler.c (main):
+ * tools/generate.c (write_callable_info), (write_function_info),
+ (write_repository):
+ * tools/gidlmodule.c:
+ * tools/gidlmodule.h:
+ * tools/gidlnode.c:
+ * tools/gidlnode.h:
+ * tools/gidlparser.c:
+ * tools/gidlparser.h:
+ * tools/gidlwriter.c:
+ * tools/gidlwriter.h:
+ * tools/scanner.c (create_node_from_gtype),
+ (create_node_from_ctype), (g_igenerator_process_properties),
+ (g_igenerator_process_signals), (g_igenerator_create_object),
+ (g_igenerator_create_interface), (g_igenerator_create_boxed),
+ (g_igenerator_create_enum), (g_igenerator_create_flags),
+ (g_igenerator_process_function_symbol),
+ (g_igenerator_process_unregistered_struct_typedef),
+ (g_igenerator_process_struct_typedef),
+ (g_igenerator_process_union_typedef),
+ (g_igenerator_process_enum_typedef),
+ (g_igenerator_process_function_typedef),
+ (g_igenerator_process_constant), (g_igenerator_process_symbols),
+ (g_igenerator_add_module), (g_igenerator_add_include_idl):
+ Merge in the gir-compiler branch.
+ Thanks to Philip and Colin for their help.
+
+2008-07-26 Colin Walters <walters@verbum.org>
+
+ * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
+ and g-idl-generate to go along with how we're changing this
+ module to be installed.
+ * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
+
+2008-07-24 Colin Walters <walters@verbum.org>
+
+ * girepository/girepository.c (g_irepository_register): Add
+ environment variable G_IREPOSITORY_VERBOSE so we can print
+ out what we're doing.
+ * girepository/girepository.c (g_irepository_register_file):
+ Add GError error message to g_debug call.
+
+2008-07-08 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/glibast.py:
+
+ Fix typo
+
+2008-06-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
+ more tags
+
+2008-06-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/transformer.py:
+ * tests/parser/Foo-expected.gir:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c (foo_object_allow_none):
+ Add support for gtk-doc annotations for allow-none.
+ Add test case.
+
+2008-06-19 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * tests/parser/Foo-expected.gir:
+ Start using abstract type instead of the raw C types.
+ Register a bunch of glib types we care about.
+
+2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * AUTHORS:
+ Update authors
+
+2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
+
+ * girepository/girepository.c:
+ * girepository/gtypelib.c:
+ * girepository/ginfo.c:
+ * girepository/ginvoke.c:
+ * girepository/girepository.h:
+ * girepository/gtypelib.h:
+ * girepository/gmetadata.c:
+ * girepository/Makefile.am:
+ * girepository/gmetadata.h:
+ * tools/compiler.c:
+ * tools/gidlmodule.c:
+ * tools/gidlnode.c
+ * tools/generate.c:
+ * tools/gidlmodule.h:
+ * tools/gidlparser.c:
+
+ Renamed GMetadata to GTypelib
+
+2008-06-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/xmlwriter.py:
+ Improve line wrapping when > 79 charaters
+
+2008-06-05 Jürg Billeter <j@bitron.ch>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/transformer.py:
+ Use <type> element for field types
+ * tests/parser/Foo-expected.gir:
+ Update testcase
+
+2008-06-04 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/glibtransformer.py:
+ Fix a bug which prevented GdkEvent from being generated
+
+2008-06-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/Makefile.am:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * giscanner/utils.py:
+ * tests/parser/Foo-expected.gir:
+ Improve enum member parsing and introspection
+
+2008-05-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/scannerparser.y:
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ Add a new source type enum for member.
+ Use __repr__ for improved debugging
+ * giscanner/girparser.py:
+ Ignore some more
+ * giscanner/transformer.py:
+ Improve parsing of struct members.
+ * tests/parser/foo-object.h:
+ Add a new testcase
+
+2008-05-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/xmlwriter.py:
+ Improve error reporting when trying to quote None.
+ * giscanner/girparser.py:
+ Do not print warnings when including more complete .gir files
+ * giscanner/girwriter.py:
+ Do not require a name for parameters, add a todo for singletons
+ * giscanner/glibtransformer.py:
+ Refactor the way structs are done, add a couple of hacks to allow
+ us to get further.
+ * giscanner/transformer.py:
+ Add enough hacks so cairo, atk and pango.gir can be parsed properly
+ * gobject-introspection-1.0.pc.in:
+ Export girdir, so we can access gobject-2.0.gir from outside
+
+2008-05-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * tools/g-ir-scanner:
+ * tests/parser/Makefile.am:
+ Update sys.path before running the parser so we don't have
+ to setup PYTHONPATH ourselves.
+
+ * Makefile.am:
+ * configure.ac:
+ * girepository/Makefile.am:
+ * giscanner/transformer.py:
+ * gobject-introspection-1.0.pc.in:
+ * gobject-introspection.pc.in:
+ * tools/Makefile.am:
+
+ Rename pkg-config name to gobject-introspection-1.0,
+ Do not installed anything which is not using the gir format.
+ Disable compililation the old C scanner, but still keep the source
+ until all the remaning functionallity has been ported.
+
+2008-05-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/giscannermodule.c (symbol_get_ident): Prevent
+ a crash when symbol->indent is NULL.
+
+ * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
+ a function to convert a CTYPE symbol to a string
+
+2008-05-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/giscannermodule.c
+ (pygi_source_scanner_append_filename),
+ (pygi_source_scanner_parse_file):
+ * giscanner/glibtransformer.py:
+ * giscanner/sourcescanner.py:
+ Revert back to using temporary files to send in headers.
+ Allow Functions to be passed in as callbacks, add a couple
+ of try/excepts missing features.
+ We can now scan pango
+
+2008-05-08 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ Move namespace stripping glibtransformer->transformer
+
+2008-05-08 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * tools/g-ir-scanner:
+ Introduce a namespace ast node
+
+2008-05-05 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/__init__.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/transformer.py:
+ Move sourcescanner symbols to the sourcescanner module, instead
+ of in the global __init__ namespace.
+
+2008-05-03 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/glibtransformer.py:
+ * tools/g-ir-scanner:
+ Handle missing parameters better, allow - and + in .la dlname
+ filenames.
+
+2008-05-03 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/__init__.py:
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ Parse struct fields properly, improve debugging.
+
+2008-04-29 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/transformer.py:
+ * tests/parser/Foo-expected.gir:
+ * TODO:
+ Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
+
+2008-04-29 Johan Dahlin <jdahlin@async.com.br>
+
+ * Makefile.am:
+ * docs/g-ir-scanner.1:
+ * metadata-annotations-proposal.txt:
+ * metadata-format.txt:
+ Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
+
+2008-04-29 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * giscanner/xmlwriter.py:
+ * tests/parser/Foo-expected.gir:
+ * tests/parser/foo-object.h:
+ Write record/structs to gir file too. Add a couple of tests,
+ fix an off by one error in xmlwriter.py.
+
+2008-04-28 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/xmlwriter.py: Calculate the line length properly,
+ include the provided extra indentation in the calculation, really.
+
+2008-04-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ * tools/g-ir-scanner:
+ Add a --strip-prefix and sort out confusion between names and symbols
+ for functions and struct + derivaties.
+ Refactor bootstrap of g-ir-scanner, so we can set options on
+ Transformer() before parsing everything.
+
+2008-04-28 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
+ when scanning girepository.h
+
+ * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
+ a __GI_SCANNER__ when we run.
+
+2008-04-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * tests/parser/Foo-expected.gir:
+ * tests/parser/utility-expected.gir:
+ Rename most c:identifier to c:type. Add new ones to
+ class/interface/enum/boxed.
+
+2008-04-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/ast.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/Makefile.am:
+ Move c:identifier from return-value to subchild type,
+ as per Jürgs suggestion
+
+2008-04-28 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girwriter.py:
+ * tests/parser/Foo-expected.gir:
+ Write property.type as a child node.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am:
+ * configure.ac:
+ * gidl/Makefile.am:
+ * gidl/gobject-2.0.gidl:
+ * gir/Makefile.am:
+ * gir/gobject-2.0.gir:
+ * tests/parser/Makefile.am:
+ Replace the GObject gidl with a GObject gir.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
+ not a program.
+
+ * giscanner/xmlwriter.py:
+ * tests/parser/Foo-expected.gir:
+ Include indentation in line length calculation
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/girparser.py:
+ Prettify NS parsing using elementtree.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ * giscanner/Makefile.am:
+ * giscanner/girparser.py:
+ * giscanner/glibtransformer.py:
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/Foo-expected.gir:
+ * tests/parser/Makefile.am:
+ * tests/parser/utility-expected.gidl:
+ * tests/parser/utility-expected.gir:
+ * tools/g-ir-scanner:
+ Switch over to GIR as the default format. Add a simple GIDL
+ parser.
+ Update tests and fix simplify makefiles by depending
+ on GNU make extensions.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/xmlwriter.py:
+ Wrap attributes for lines which are wider than 79 characters
+
+ * giscanner/scannerlexer.l:
+ Allow parenthesis in annotations
+
+ * giscanner/ast.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ Add initial sequence support, including annotation.
+ Refactor type handling a bit.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c (foo_object_class_init),
+ (foo_object_get_strings), (foo_object_get_objects):
+ Add two new functions to check sequence return values.
+ Also fixes a compilation warning.
+
+2008-04-27 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/giscannermodule.c (]): Cast the getter, avoids
+ a compilation warning.
+
+ * tools/Makefile.am (g_ir_scanner_SOURCES):
+ g-ir-scanner has no sources.
+
+2008-04-25 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/Makefile.am:
+ * giscanner/ast.py:
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibast.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/transformer.py:
+ Split out nodes to ast.py and glibast.py
+
+2008-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/Makefile.am:
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/glibtransformer.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/transformer.py:
+ * giscanner/treebuilder.py:
+ * tools/g-ir-scanner:
+ Rename treebuilder to transformer and
+ gobjectreebuilder to glibtransformer.
+
+2008-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/Makefile.am:
+ * giscanner/__init__.py:
+ * giscanner/cgobject.py:
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/odict.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/treebuilder.py:
+ * giscanner/xmlwriter.py:
+ * tools/Makefile.am:
+ * tools/g-ir-scanner:
+ Add LGPLv2 license header and install all python files
+
+2008-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * TODO:
+ * giscanner/gidlwriter.py:
+ * giscanner/giscannermodule.c (pygi_source_directive_new),
+ (directive_get_options), (pygi_source_symbol_new),
+ (symbol_get_base_type), (pygi_source_type_new),
+ (type_get_base_type), (type_get_child_list),
+ (pygi_source_scanner_get_symbols),
+ (pygi_source_scanner_get_directives):
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/sourcescanner.py:
+ * giscanner/treebuilder.py:
+ * tests/parser/foo-object.h:
+ Add support for virtual methods.
+ Pair struct FooClass with struct Foo.
+ Clean up the SourceScanner bindings a bit.
+ Add a testcase for virtual methods.
+
+2008-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cgobject.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ Add support for signals
+
+ * tests/parser/foo.c (foo_object_class_init):
+ * Foo-expected.gidl:
+ Add a signal and update the expected output.
+
+2008-04-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/giscannermodule.c (directive_get_name),
+ (directive_get_value), (directive_get_options),
+ (symbol_get_directives), (symbol_set_directives),
+ (pygi_source_scanner_parse_file),
+ (pygi_source_scanner_lex_filename),
+ (pygi_source_scanner_get_directives), (init_giscanner):
+ * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
+ * giscanner/sourcescanner.h:
+ * giscanner/sourcescanner.py:
+ * giscanner/treebuilder.py:
+ * tools/g-ir-scanner:
+ Add support for source/header annotations.
+
+2008-04-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/girwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Add support for Callbacks
+
+2008-04-22 Havoc Pennington <hp@pobox.com>
+
+ * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
+ not in metadata->module, look for it in the global module, in case
+ some other object or the app itself provides the symbol.
+
+2008-04-22 Havoc Pennington <hp@pobox.com>
+
+ * girepository/gmetadata.c (_g_metadata_init): hack to avoid
+ dlopening a library that is already in the main app, by checking
+ whether one of the lib's symbols is already loaded.
+
+2008-04-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ Add a callback test
+
+2008-04-22 Havoc Pennington <hp@pobox.com>
+
+ * girepository/ginfo.c (g_interface_info_find_method):
+ Use interface_blob_size not object_blob_size to compute offset.
+
+2008-04-22 Havoc Pennington <hp@pobox.com>
+
+ * girepository/gmetadata.c (_g_metadata_init): remove
+ G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
+ (Glade and Clutter for example) rely on being loaded globally.
+
+2008-04-22 Havoc Pennington <hp@pobox.com>
+
+ * girepository/ginfo.c (g_registered_type_info_get_g_type): new
+ function to get the GType given a RegisteredTypeInfo
+
+2008-04-22 Johan Dahlin <johan@gnome.org>
+
+ * COPYING: Add a LGPL license, to prevent automake to
+ put in a copy of GPL here. Pointed out by Havoc.
+
+ * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
+ (g_type_info_is_pointer), (g_type_info_get_tag),
+ (g_type_info_get_param_type), (g_type_info_get_interface),
+ (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
+ (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
+ (g_error_domain_info_get_codes), (g_enum_info_get_value),
+ (g_object_info_get_interface), (g_object_info_get_field),
+ (g_interface_info_get_prerequisite),
+ (g_signal_info_get_class_closure), (g_constant_info_get_value):
+ * girepository/ginvoke.c (get_ffi_type):
+ * girepository/girepository.h:
+ * girepository/gmetadata.c (g_metadata_get_dir_entry),
+ (g_metadata_check_sanity), (validate_header),
+ (validate_array_type_blob), (validate_iface_type_blob),
+ (validate_param_type_blob), (validate_error_type_blob),
+ (validate_type_blob), (validate_constant_blob),
+ (validate_struct_blob), (validate_enum_blob):
+ * girepository/gmetadata.h:
+ * tests/Makefile.am:
+ * tests/invoke/Makefile.am:
+ * tests/invoke/invoke.c (main):
+ * tests/roundtrips.sh:
+ * tools/Makefile.am:
+ * tools/compiler.c (format_output), (write_out_metadata), (main):
+ * tools/generate.c (write_type_name), (write_type_info),
+ (write_constant_value), (write_enum_info), (load_metadata), (main):
+ * tools/gidlcompilercontext.c:
+ * tools/gidlcompilercontext.h:
+ * tools/gidlcompilerentrynode.c:
+ * tools/gidlcompilerentrynode.h:
+ * tools/gidlcompilertypenode.c:
+ * tools/gidlcompilertypenode.h:
+ * tools/gidlmodule.c (g_idl_module_build_metadata):
+ * tools/gidlmodule.h:
+ * tools/gidlnode.c (init_stats), (dump_stats),
+ (g_idl_node_get_size), (g_idl_node_get_full_size),
+ (g_idl_node_cmp), (g_idl_node_can_have_member),
+ (g_idl_node_add_member), (g_idl_node_param_direction_string),
+ (parse_int_value), (parse_uint_value), (parse_float_value),
+ (parse_boolean_value), (find_entry_node), (find_entry),
+ (serialize_type), (g_idl_node_build_metadata), (write_string):
+ * tools/gidlnode.h:
+ * tools/gidlparser.c (parse_type_internal):
+ * tools/quote-file.sh:
+ Revert revisions 157,149-148,136-129 and 120.
+ Move back to using g-idl-generate to generate the metadata and
+ avoids dependency on a c compiler.
+
+2008-04-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/girwriter.py:
+ * tools/g-ir-scanner:
+ Add an initial GIR writer and a --format option to g-ir-scanner
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/cgobject.py: Use ctypes.util.find_library to locate
+ gobject-2.0 and raise ImportError if not found.
+
+ * giscanner/gidlparser.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * tools/g-ir-scanner:
+ Add a --include argument to include types from other idls.
+ Add a minimalistic GIDL parser (just objects for now)
+ Implement resolving of external type references and use it to
+ resolve parent types, argument types and return types.
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Add support for properties.
+ Refactor Class/Interface support a bit, to share more code and
+ always initialize their method attribute to an empty list.
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/cgobject.py:
+ Add a workaround for a glib bug interface introspection bug
+ (object_interface_list_properties, object_class_list_properties):
+ Cast the return value to GParamSpec.
+
+ * tests/parser/Foo-expected.gidl: Update
+ * tests/parser/foo.c: Add a string property
+
+ * giscanner/gobjecttreebuilder.py:
+ After stripping namespaces, remove the original
+ item to avoid duplication (GtkButton struct and Button object)
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Strip namespaces before objects, so we'll export
+ GtkButton as Button in the gtk namespace
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Add constructors for object/boxed types.
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ Add support for boxed types
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/giscannermodule.c: Mark structures as const,
+ wrap SourceType.const_string.
+
+ * tests/parser/foo-object.h: Add a couple of constants.
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Add basic support for interfaces
+
+ * tools/g-ir-scanner:
+ Add -o/--output for writing to a file
+
+2008-04-21 Havoc Pennington <hp@redhat.com>
+
+ * TODO: add some C API wishlist items I could think of quickly
+
+2008-04-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/xmlwriter.py:
+ Add a simple api for writing tags which can be used
+ with the new 'with statement' in python 2.5
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gobjecttreebuilder.py:
+ Strip namespace and object prefix from method names.
+
+2008-04-21 Johan Dahlin <johan@gnome.org>
+
+ * tools/g-ir-scanner (main): Add --pkg option to pass in
+ pkg-config modules to get cflags from.
+
+ * giscanner/gidlwriter.py (GIDLWriter._write_method):
+ Avoid duplication, reuse function writer for methods.
+
+2008-04-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ * tools/g-ir-scanner:
+ Resolve libtool .la files.
+ Strip name spaces for methods.
+ Add function symbols
+
+2008-04-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/cgobject.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/treebuilder.py:
+ Add support for classes and methods
+
+2008-04-20 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * giscanner/odict.py:
+ Avoid conflicts, keep the output ordered similar to
+ the order of the input.
+ Add a simple ordered dictionary implemenation
+
+2008-04-19 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/cgobject.py:
+ * giscanner/gidlwriter.py:
+ * giscanner/gobjecttreebuilder.py:
+ * tools/g-ir-scanner:
+ Start introspecting get-type functions.
+ Implement support for GLib/GFlags GTypes.
+ Add a ctype based GObject binding.
+
+2008-04-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * giscanner/gidlwriter.py:
+ * giscanner/xmlwriter.py:
+ * tools/g-ir-scanner:
+ Add a simplistic gidl writer, which can't do too much.
+
+2008-04-18 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/sourcescanner.py:
+ * giscanner/treebuilder.py:
+ * tools/g-ir-scanner:
+ split tree building and source scanning interface to separate files.
+
+2008-04-18 Johan Dahlin <johan@gnome.org>
+
+ * tools/g-ir-scanner (Parameter.__init__): Start constructing
+ a real node tree.
+ - Add support for struct/parameter/return, start parsing of ctypes
+
+ * giscanner/giscannermodule.c: wrap GISourceType.child_list and
+ fix the style
+
+2008-03-31 Johan Dahlin <johan@gnome.org>
+
+ * tools/g-ir-scanner:
+ Start to build abstract syntax node of scanned sources.
+ Add support for cpp options.
+
+2008-03-27 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/giscannermodule.c:
+ * giscanner/scannerlexer.l:
+ * giscanner/sourcescanner.c:
+ * tools/g-ir-scanner:
+
+ Add simple pre-processor using subprocess and a PIPE.
+ Change the parse_file apis to accept a file descriptor.
+
+2008-03-25 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/__init__.py:
+ * tools/g-ir-scanner:
+ Fix a typo and add an example python test program.
+
+2008-03-25 Johan Dahlin <johan@gnome.org>
+
+ * giscanner/__init__.py:
+ * giscanner/giscannermodule.c:
+ * giscanner/sourcescanner.c:
+ * giscanner/sourcescanner.h:
+ Add constants and wrap a few more SymbolType fields
+
+2008-03-25 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ * giscanner:
+ * giscanner/__init__.py:
+ * giscanner/giscannermodule.c:
+ * giscanner/Makefile.am:
+
+ Add initial python bindings for the scanner and
+ depend on python 2.5.
+
+2008-03-25 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am:
+ * configure.ac:
+ * giscanner/Makefile.am:
+ * giscanner/sourcescanner.c:
+ * giscanner/sourcescanner.h:
+ * tools/Makefile.am:
+ * tools/grealpath.h:
+ * tools/sourcescanner.c:
+ * tools/sourcescanner.h:
+
+ Move the scanner to a separate library.
+
+2008-03-23 Johan Dahlin <johan@gnome.org>
+
+ * tools/Makefile.am:
+ * tools/scanner.c:
+ * tools/scanner.h:
+ * tools/scannerlexer.l:
+ * tools/scannerparser.y:
+ * tools/sourcescanner.c:
+ * tools/sourcescanner.h:
+ Split out the source scanner from the generator.
+ Rename the symbols used in the scanner to use the gi_ prefix.
+ This should make it possible to use the raw C parser from
+ other programs.
+
+2008-03-23 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Makefile.am (utility.gidl):
+ * tests/parser/utility-expected.gidl:
+ Pass in the gobject.gidl since we're defining a GObject.
+
+2008-03-12 Johan Dahlin <johan@gnome.org>
+
+ * relaxng/relaxng.rng:
+ Add a releaxng in relaxng we can use to validate the relaxngs
+ schemas
+
+2008-03-12 Jürg Billeter <j@bitron.ch>
+
+ * tools/scanner.c: (g_igenerator_new):
+ * tools/scannerparser.y:
+ Fix compiler warnings.
+
+2008-03-12 Jürg Billeter <j@bitron.ch>
+
+ * tools/scanner.c:
+ * tools/scanner.h:
+ * tools/scannerparser.y:
+ Start fixing memory management in g-idl-scanner.
+
+2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/gidlcompilercontext.c: (write_compiled):
+ Fix critical warning when no shlib passed to g-idl-compiler.
+
+2008-03-12 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/utility-expected.gidl:
+ * tests/parser/utility.h:
+ Add a get_type-function, so the scanner actually
+ parses it as an object.
+
+2008-03-12 Johan Dahlin <johan@gnome.org>
+
+ * tools/gidlwriter.c (function_generate): Add missing trailing quote.
+ Bad Philip!
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/Makefile.am:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c:
+ * tests/parser/utility-expected.gidl:
+ * tests/parser/utility.c:
+ * tests/parser/utility.h:
+
+ Add a new gidl test. 'utility.gidl', which is used to be able
+ to test external type references. Add a reference to UtilityObject*
+ in the idl file.
+
+2008-03-11 Johan Dahlin <johan@gnome.org>
+
+ * tools/compiler.c:
+ * tools/generate.c:
+ Remove most global variables
+
+2008-03-11 Philip Van Hoof <me@pvanhoof.be>
+
+ * tools/scannerlexer.l:
+ * tools/scanner.c:
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo.c:
+ * tests/parser/Makefile.am:
+ * tests/parser/foo-object.h:
+
+ Added a few extra tests. Which resulted in finding a few
+ bugs. Which resulted in me fixing those bugs
+
+2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
+ (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
+ Add some comments for strings into generated output for
+ easier debugging.
+
+2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/gidlcompilercontext.c: (write_compiled):
+ Write out the shlibs variable before writing out the strings
+ length. Fixes compiler warning when using '-l' flag with
+ g-idl-compiler
+
+2008-03-11 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tools/scanner.c:
+ * tools/scanner.h:
+ * tools/scannerlexer.l:
+ Add support for parsing return arguments. Add support for
+ caller-owns return types.
+ Patch by Philip Van Hoof.
+
+ * tools/scannerparser.y:
+ Remove parsing of the @deprecated syntax used in headers.
+ We will support gtk-doc deprecation in the future instead.
+
+2008-03-11 Johan Dahlin <johan@gnome.org>
+
+ * tools/compiler.c (main): Coding style fixes
+
+2008-03-10 Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ Add GCOV_LIBS to GILIBS
+
+2008-03-10 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo.c:
+ Rename null-ok to direction=out
+
+2008-03-10 Philip Van Hoof <me@pvanhoof.be>
+
+ reviewed and extensively tested by Johan
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c:
+ * tools/gidlnode.c:
+ * tools/gidlnode.h:
+ * tools/gidlwriter.c:
+ * tools/scanner.c:
+ * tools/scanner.h:
+ * tools/scannerlexer.l:
+ * tools/scannerparser.y:
+
+ Add support for scanning for gtk-doc comments inside
+ C source files. Add tests
+
+2008-03-10 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Makefile.am:
+ * tests/parser/foo.c:
+ * tools/scanner.c:
+ * tools/scanner.h:
+ * tools/scannerparser.y:
+ Add an api to lex filenames.
+ Lex all source .c files passed in on the command line.
+ Scan sources in a test and a couple of private structures
+ which should not be included in the generated gidl
+
+2008-03-10 Johan Dahlin <johan@gnome.org>
+
+ * tests/invoke/Makefile.am: Make the generated metadata
+ depend on the g-idl-compiler
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * tools/gidlmodule.c
+ * tools/gidlmodule.h
+ * tools/gidlnode.c
+ * tools/gidlnode.h
+ Remove the old g-idl-compiler code.
+
+
+2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * tools/quote-file.sh
+ * tools/compiler.c
+ * tools/generate.c
+ Move to using the 'C' struct compiler code.
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * girepository/ginfo.c
+ * tools/generate.c
+ Change the way that external references with no namespace
+ are dealt with. External references with no namespace
+ are placed into the XML as-if they are a local reference.
+ This is temporary, but helps with roundtrip tests.
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * girepository/ginfo.c
+ Add the ability to get the value of a constant of
+ type TYPE_TAG_SYMBOL. In the case of a symbol the value
+ is provided as a string.
+
+ This would deal properly with:
+ typedef char* random;
+ const random = "A string";
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * girepository/ginfo.c
+ * girepository/girepository.h
+ * tools/generate.c
+ Add a function to check if an enum is registered or not.
+ Previously anything testing this relied on the g-type
+ string offset having a value of 0.
+
+ * girepository/gmetadata.c
+ * girepository/gmetadata.h
+ * tools/generate.c
+ Remove unneccesary or erroneous checks. There were two
+ metadata validation checks which made sure that the blob
+ sizes were the same as some magic numbers compiled into the code.
+ This is wrong as it breaks any forwards compatibility that may
+ be possible.
+
+ Checks were also present that made sure that unregistered type
+ blobs had a value of 0 in the g-type offset field. This is
+ unneccessary. If a type blob is unregistered then any value
+ in its g-type field is simply invalid.
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * girepository/ginfo.c
+ * girepository/gmetadata.c
+ * girepository/gmetadata.h
+
+ Change the metadata format to have a standard header
+ for all the type blobs. Merge the SimpleTypeBlob
+ and InterfaceTypeBlob into a union. A union of these
+ two blobs existed previously but was not explicit
+ in the metadata format.
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * tools/gidlcompilercontext.c
+ * tools/gidlcompilercontext.h
+ * tools/gidlcompilerentrynode.c
+ * tools/gidlcompilerentrynode.h
+ * tools/gidlcompilertypenode.c
+ * tools/gidlcompilertypenode.h
+
+ Add code to compile a tree of GIdlNodes to
+ a 'C' struct representing the metadata.
+ This is to aid cross-compiling. Previously
+ the g-idl-compiler created a binary blob with
+ data written in the byte order and alignment
+ of the tool rather than the intended target.
+
+ Cleaned up and improved by Johan and Robert :-)
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * girepository/ginvoke.c
+ * girepository/girepository.h
+ * girepository/gmetadata.c
+ * girepository/gmetadata.h
+ * tools/generate.c
+ * tools/gidlparser.c
+ Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
+ to avoid confusion with the interface blob.
+
+ * tools/generate.c
+ * tools/gidlparser.c
+ Remove magic numbers and replace with type-tag
+ enumeration symbols.
+
+ * girepository/gmetadata.c
+ Add validate declaration.
+
+2008-03-10 Jürg Billeter <j@bitron.ch>
+
+ * tools/gidlparser.c: (parse_type_internal):
+ * tools/scannerlexer.l:
+ * tools/scannerparser.y:
+ Support C99 _Bool type in scanner.
+
+2008-03-10 Jürg Billeter <j@bitron.ch>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c: (foo_enum_method):
+ * tools/scanner.c: (g_igenerator_process_function_symbol):
+ Don't skip functions that are defined in the namespace of a type
+ that doesn't support methods, as for example enums.
+
+2008-03-10 Johan Dahlin <johan@gnome.org>
+
+ * gidl.dtd: Remove, we're using relaxng for now
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c:
+ Rename the enum/flags get_type functions to include the whole type.
+
+2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
+
+ * tools/gidlwriter.c (enum_generate): added "type-name",
+ "get-type" and "deprecated" missing arguments.
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h: test enum type, and no type.
+
+2008-03-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * configure.ac:
+ Consistent checks, add missing 'test'
+
+2008-03-05 Havoc Pennington <hp@redhat.com>
+
+ * configure.ac: Take advantage of a libffi.pc if one exists, as it
+ does on Fedora 8. Make libffi a hard requirement, since it was in
+ practice anyway (was not really conditional in the code or
+ makefile, only in configure).
+
+2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
+ reviewed by: Johan Dahlin <johan@gnome.org>
+
+ * tests/Makefile.am:
+ * tests/roundtrips.sh:
+ Modify the roundtrips test so that they do not use the
+ --raw option of the gidl compiler but instead compile a
+ shared library to use with g_module.
+
+ * tests/invoke/Makefile.am:
+ * tests/invoke/invoke.c:
+ Modify the invoke tests to build a shared library rather
+ than use the --raw option.
+
+ * tests/invoke/invoke-namespace-find.sh: Removed:
+ Noone knows why this was here, so removed.
+
+2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/scanner.c: (g_igenerator_process_function_symbol):
+ Move g_idl_node_can_have_member test later, as it broke spotting
+ get_type's for nodes that can't have members.
+
+2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/gidlnode.h:
+ * tools/gidlnode.c: (g_idl_node_can_have_member):
+ Add g_idl_node_can_have_member.
+
+ * tools/scanner.c: (g_igenerator_process_function_symbol):
+ Use g_idl_node_can_have_member to test if we should add a function
+ as a member of the type node.
+
+2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
+ * gidl/Makefile.am:
+ * tests/parser/Makefile.am:
+ Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
+
+2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/scanner.c: (main):
+ Ignore -pthread when passed to g-idl-scanner.
+
+2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tools/grealpath.h: Added:
+ * tools/scanner.c: (main):
+ * tools/scannerlexer.l:
+ * tools/Makefile.am:
+ Always use absolute paths with symbolic links resolved when
+ comparing filenames.
+
+2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * gobject-introspection.pc.in:
+ Provide variables for g-idl-parser, scanner and compiler in the
+ pkgconfig file.
+
+2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * gcov.mak:
+ * girepository/Makefile.am:
+ * tools/Makefile.am:
+ Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
+
+2008-02-10 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
+ (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
+ Add boxed test.
+
+2008-02-10 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
+ Add enum and flags test.
+
+2008-02-10 Johan Dahlin <johan@gnome.org>
+
+ * Makefile.am:
+ * configure.ac:
+ * girepository/Makefile.am:
+ Make 'make distcheck' work again.
+
+2008-02-10 Johan Dahlin <johan@gnome.org>
+
+ * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
+ not as-compiler.m4.
+
+ * tests/parser/Makefile.am: Only create Foo.gidl when running make
+ check, eg exclude it from BUILT_SOURCES.
+
+2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * Makefile.am:
+ * configure.ac:
+ * gcov.mak: Added:
+ * girepository/Makefile.am:
+ * m4/Makefile.am: Added:
+ * m4/as-compiler-flag.m4: Added:
+ * m4/gcov.m4: Added:
+ * tools/Makefile.am:
+ Add ability to generate a coverage report.
+ Adds configure option --enable-gcov and make rule 'check-coverage'.
+
+2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * Makefile.am:
+ * configure.ac:
+ * gidl/Makefile.am: Added:
+ * girepository/Makefile.am: Added:
+ * src/Makefile.am: Renamed to tools/Makefile.am:
+ * src/compiler.c: Renamed to tools/compiler.c:
+ * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
+ * src/generate.c: Renamed to tools/generate.c:
+ * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
+ * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
+ * src/gidlnode.c: Renamed to tools/gidlnode.c:
+ * src/gidlnode.h: Renamed to tools/gidlnode.h:
+ * src/gidlparser.c: Renamed to tools/gidlparser.c:
+ * src/gidlparser.h: Renamed to tools/gidlparser.h:
+ * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
+ * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
+ * src/ginfo.c: Renamed to girepository/ginfo.c:
+ * src/ginvoke.c: Renamed to girepository/ginvoke.c:
+ * src/girepository.c: Renamed to girepository/girepository.c:
+ * src/girepository.h: Renamed to girepository/girepository.h:
+ * src/gmetadata.c: Renamed to girepository/gmetadata.c:
+ * src/gmetadata.h: Renamed to girepository/gmetadata.h:
+ * src/scanner.c: Renamed to tools/scanner.c:
+ * src/scanner.h: Renamed to tools/scanner.h:
+ * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
+ * src/scannerparser.y: Renamed to tools/scannerparser.y:
+ * tests/invoke/Makefile.am:
+ Split src/ into girepository/ and tools/
+
+ * Makefile.am:
+ * configure.ac:
+ * girepository/Makefile.am:
+ * tests/Makefile.am:
+ * tests/invoke/Makefile.am:
+ * tests/parser/Makefile.am:
+ * tests/roundtrips.sh:
+ * tools/Makefile.am:
+ Make distcheck work.
+
+2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
+
+ * tests/invoke/invoke.c: (main):
+ * tests/invoke/testfns.c: (test6), (test7):
+ * tests/invoke/testfns.xml:
+ Add tests for invokation with a GList argument.
+ Also tests caller-owns return values.
+
+2008-02-04 Rob Taylor <robtaylor@floopily.org>
+
+ * src/ginfo.c:
+ Add some documentation for GICallableInfo
+
+2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
+
+ * gidl.dtd:
+ Correct syntax errors in the DTD file.
+ * relaxng/api.xml:
+ * relaxng/c-types.xml:
+ * relaxng/g-types.xml:
+ * relaxng/util.xml:
+ Add a RelaxNG specification for the GObject Introspection XML data.
+ The Specification has validated all of the test files.
+
+2008-01-25 Rob Taylor <robtaylor@floopily.org>
+
+ * tests/roundtrips.sh:
+ * tests/struct.test:
+ Add roundtrip tests for structs.
+
+2008-01-11 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c (g_igenerator_process_function_symbol):
+ Refactor out g_idle_node_add_member.
+ (create_node_from_gtype, create_node_from_ctype):
+ Use case instead of if...else
+ (get_type_from_type_id):
+ Rename to create_node_from_gtype
+ (get_type_from_ctype):
+ Rename to create_node_from_ctype
+
+ Rename ginode -> node, gitype -> type, gifunc -> func.
+
+ * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
+ Two new functions, refactor out of scanner.c
+
+ * src/scanner.c: (g_igenerator_process_function_symbol):
+ * src/scannerlexer.l:
+ Do not save the content of the deprecated variable, only
+ if it's set or not.
+
+2008-01-11 Johan Dahlin <johan@gnome.org>
+
+ * tests/parser/foo-object.h: Add a couple of comment parser tests.
+
+2008-01-11 Jürg Billeter <j@bitron.ch>
+
+ * src/scannerlexer.l:
+ Fix GTK-Doc parsing.
+
+2008-01-11 Jürg Billeter <j@bitron.ch>
+
+ * src/scannerlexer.l:
+ Fix GTK-Doc parsing.
+
+2008-01-11 Jürg Billeter <j@bitron.ch>
+
+ * src/scanner.c: (lookup_symbol):
+ Return unresolved name if we find unknown symbol.
+
+2008-01-11 Jürg Billeter <j@bitron.ch>
+
+ * src/scanner.c: (g_igenerator_generate):
+ Initialize GObject to fix scanning interface properties.
+
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c: (foo_interface_get_type):
+ Test interfaces with GObject prerequisite.
+
+ * tests/parser/Makefile.am:
+ Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
+
+2007-12-27 Johan Dahlin <johan@gnome.org>
+
+ * src/scannerlexer.l:
+ Parse gtk-doc comments.
+
+ * src/gidlwriter.c: (function_generate):
+ Reorganize, avoid duplication and add support for
+ writing deprecated functions.
+
+ * src/scannerparser.y:
+ * src/scanner.h:
+ Add new structure CDirective and functions to create/free them.
+
+ * src/scanner.c: (g_igenerator_process_function_symbol),
+ (g_igenerator_process_unregistered_struct_typedef),
+ (g_igenerator_process_struct_typedef),
+ (g_igenerator_process_union_typedef),
+ (g_igenerator_process_enum_typedef),
+ (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
+ (g_igenerator_start_preprocessor):
+ Parse @deprecated directive for functions.
+ Remove some more C99isms.
+ Send in -C to cpp to avoid stripping comments.
+
+ * tests/parser/foo-object.h:
+ * tests/parser/Foo-expected.gidl:
+ Add deprecated directive
+
+2007-12-27 Johan Dahlin <johan@gnome.org>
+
+ * src/scannerlexer.l (intsuffix): Add emacs mode line and
+ escape ' and " so it looks more like C.
+
+ * src/scanner.c:
+ Unlink temporary file used.
+
+2007-12-27 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
+ (g_igenerator_start_preprocessor), (main):
+ * src/scanner.h:
+ * src/scannerparser.y:
+ Plug a couple of simple memory leaks.
+
+2007-12-27 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c: (g_igenerator_parse_macros),
+ (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
+ (main):
+ * src/scanner.h:
+ * src/scannerparser.y:
+ * tests/parser/Makefile.am:
+
+ Improve error reporting, return when the preprocessor fails.
+ Add a verbose parameter, to aid debugging.
+ Revert to using a temporary file to communicate between the
+ preprocessor and the parser, because we need to wait for
+ the exit code from the pre-processor before starting to parse.
+
+2007-12-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * src/Makefile.am: Rename clexer.l to scannerlexer.l and
+ cparser.y to scannerparser.y
+
+2007-12-11 Johan Dahlin <johan@gnome.org>
+
+ * src/clexer.l:
+ * src/cparser.y:
+ * src/scanner.c: (g_igenerator_new):
+ * src/scanner.h:
+ Get rid of the global the_generator variable.
+
+2007-12-10 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c (main): Add an output option,
+ add checks for required parameters
+
+ * src/Makefile.am:
+ set BUILD_SOURCES and CLEANFILES properly
+
+ * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
+ (g_writer_write_indent), (g_writer_write_unindent),
+ (field_generate), (value_generate), (constant_generate),
+ (property_generate), (function_generate), (vfunc_generate),
+ (signal_generate), (interface_generate), (struct_generate),
+ (union_generate), (boxed_generate), (enum_generate),
+ (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
+ * src/gidlwriter.h:
+ * src/scanner.c: (g_igenerator_generate):
+ * src/scanner.h:
+ * src/scannerwriter.c:
+
+ Refactor scannerwriter to only be tied to a GIdlModule and move
+ it (again!) to gidlwriter.c. Change the writer function to take
+ a filename.
+
+2007-12-10 Johan Dahlin <johan@gnome.org>
+
+ * src/Makefile.am:
+ * src/scanner.c: (g_igenerator_generate):
+ * src/scanner.h:
+ * src/scannerwriter.c: (g_igenerator_write_inline),
+ (g_igenerator_write), (g_igenerator_write_indent),
+ (g_igenerator_write_unindent), (field_generate), (value_generate),
+ (constant_generate), (property_generate), (function_generate),
+ (vfunc_generate), (signal_generate), (interface_generate),
+ (struct_generate), (union_generate), (boxed_generate),
+ (enum_generate), (node_generate), (module_generate),
+ (g_scanner_write_file):
+
+ Move the scanner gidl writing to a separate source file.
+
+2007-12-10 Johan Dahlin <johan@gnome.org>
+
+ * src/cparser.y:
+ * src/scanner.c:
+ * src/scanner.h:
+ Move over all CType construction functions.
+
+ * tests/parser/Makefile.am:
+ Be verbose when printing parsing tests results.
+
+2007-12-10 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c (g_igenerator_start_preprocessor): Refactor
+ preprocessor handling to here. Start cpp insteado of cc -E,
+ always include -U__GNUC__, since it's specific to the preprocessor
+ we use.
+
+ * tests/parser/Makefile.am (check-local): Silent diff and skip
+ -U__GNUC__ which is always defined now
+
+2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
+
+ reviewed by: <delete if not using a buddy>
+
+ * src/scanner.c: (g_igenerator_start_preprocessor), (main):
+ * tests/parser/Makefile.am:
+
+2007-12-09 Johan Dahlin <johan@gnome.org>
+
+ * src/scanner.c:
+ Use GOption for command line options.
+ (g_igenerator_new, main): Simplify constructor and they way
+ parameters are passed into it.
+
+ * src/cparser.y:
+ * src/Makefile.am:
+ * src/clexer.l:
+ * src/cparser.y:
+ * src/gen-introspect.c:
+ * src/gen-introspect.h:
+ * src/scanner.c:
+ Rename gen-introspect.[ch] to scanner.[ch]
+
+2007-12-09 Johan Dahlin <johan@gnome.org>
+
+ * TODO: Update
+
+ * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
+ don't make the repository library and the other utilites link against
+ gthread-2.0
+
+ * src/gen-introspect.c: (g_igenerator_create_object),
+ (g_igenerator_create_interface), (g_igenerator_create_boxed),
+ (g_igenerator_create_enum), (g_igenerator_create_flags),
+ (g_igenerator_process_module_symbol),
+ (g_igenerator_process_module), (g_igenerator_generate), (main):
+ * src/gen-introspect.h:
+ Refactor g_igenerator_process_types into smaller pieces.
+
+ * tests/parser/Makefile.am:
+ Depend on the gen-introspect binary
+
+2007-12-09 Johan Dahlin <johan@gnome.org>
+
+ * src/gen-introspect.c (g_igenerator_process_types):
+ Break into smaller pieces, one for each generated node type.
+
+2007-12-08 Johan Dahlin <johan@gnome.org>
+
+ * src/gen-introspect.c: (g_igenerator_process_types),
+ (g_igenerator_add_module):
+ * tests/parser/Foo-expected.gidl:
+ * tests/parser/foo-object.h:
+ * tests/parser/foo.c: (foo_subobject_class_init),
+ (foo_subobject_init):
+
+ Add a subobject test and make sure to register defined classes
+ in the lookup symbol hash table.
+
+2007-12-08 Johan Dahlin <johan@gnome.org>
+
+ * gidl/GLib.gidl:
+ * src/Makefile.am:
+ * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
+ (g_igenerator_process_types), (g_igenerator_add_module),
+ (g_igenerator_add_include_idl), (main):
+ * src/gen-introspect.h:
+ * tests/parser/Makefile.am:
+ * tests/parser/Foo-expected.gidl:
+
+ Change the gen-introspect to generate namespaced module names,
+ such as GLib.Object instead of GObject.
+ Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
+ add a --include-idl parameter to gen-introspect,
+ and update the parser test.
+
+2007-12-08 Johan Dahlin <johan@gnome.org>
+
+ * src/gen-introspect.c:
+ Move main to the end of the file and attempt to make it valid
+ ansi c.
+
+ * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
+ we're not quite ready to generate metadata yet.
+
+ * tests/parser/:
+ * configure.ac:
+
+ Add a simple gen-introspect parser test
+
+2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
+
+ reviewed by: Johan Dahlin <johan@gnome.org>
+
+ * configure.ac:
+ * gobject-introspection.pc.in:
+ * src/Makefile.am:
+ * src/compiler.c: (format_output), (write_out_metadata), (main):
+ * src/gen-introspect.c: (main):
+ * src/gen-introspect.h:
+ * src/generate.c: (write_callable_info), (write_repository),
+ (load_metadata), (main):
+ * src/gidlmodule.c: (g_idl_module_new),
+ (g_idl_module_build_metadata):
+ * src/gidlmodule.h:
+ * src/gidlparser.c: (start_element_handler):
+ * src/ginfo.c: (g_info_new), (g_info_from_entry),
+ (g_base_info_get_name), (g_base_info_get_namespace),
+ (g_base_info_is_deprecated), (g_base_info_get_annotation),
+ (g_base_info_get_metadata), (g_function_info_get_symbol),
+ (g_function_info_get_flags), (g_function_info_get_property),
+ (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
+ (g_callable_info_may_return_null),
+ (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
+ (g_callable_info_get_arg), (g_arg_info_get_direction),
+ (g_arg_info_is_return_value), (g_arg_info_is_dipper),
+ (g_arg_info_is_optional), (g_arg_info_may_be_null),
+ (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
+ (g_type_info_get_tag), (g_type_info_get_param_type),
+ (g_type_info_get_interface), (g_type_info_get_array_length),
+ (g_type_info_is_zero_terminated),
+ (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
+ (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
+ (g_value_info_get_value), (g_field_info_get_flags),
+ (g_field_info_get_size), (g_field_info_get_offset),
+ (g_registered_type_info_get_type_name),
+ (g_registered_type_info_get_type_init),
+ (g_struct_info_get_n_fields), (g_struct_info_get_field),
+ (g_struct_info_get_n_methods), (g_struct_info_get_method),
+ (find_method), (g_struct_info_find_method),
+ (g_enum_info_get_n_values), (g_enum_info_get_value),
+ (g_object_info_get_parent), (g_object_info_get_type_name),
+ (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
+ (g_object_info_get_interface), (g_object_info_get_n_fields),
+ (g_object_info_get_field), (g_object_info_get_n_properties),
+ (g_object_info_get_property), (g_object_info_get_n_methods),
+ (g_object_info_get_method), (g_object_info_find_method),
+ (g_object_info_get_n_signals), (g_object_info_get_signal),
+ (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
+ (g_object_info_get_n_constants), (g_object_info_get_constant),
+ (g_interface_info_get_n_prerequisites),
+ (g_interface_info_get_prerequisite),
+ (g_interface_info_get_n_properties),
+ (g_interface_info_get_property), (g_interface_info_get_n_methods),
+ (g_interface_info_get_method), (g_interface_info_find_method),
+ (g_interface_info_get_n_signals), (g_interface_info_get_signal),
+ (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
+ (g_interface_info_get_n_constants),
+ (g_interface_info_get_constant), (g_property_info_get_flags),
+ (g_signal_info_get_flags), (g_signal_info_get_class_closure),
+ (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
+ (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
+ (g_constant_info_get_value), (g_union_info_get_n_fields),
+ (g_union_info_get_field), (g_union_info_get_n_methods),
+ (g_union_info_get_method), (g_union_info_is_discriminated),
+ (g_union_info_get_discriminator_offset),
+ (g_union_info_get_discriminator):
+ * src/ginvoke.c: (g_function_info_invoke):
+ * src/girepository.c: (g_irepository_register),
+ (g_irepository_unregister), (g_irepository_get_default),
+ (count_interfaces), (g_irepository_get_n_infos), (find_interface),
+ (g_irepository_get_info), (g_irepository_find_by_name),
+ (g_irepository_get_shared_library),
+ (g_irepository_build_search_path), (g_irepository_register_file),
+ (g_irepository_error_quark):
+ * src/girepository.h:
+ * src/gmetadata.c: (g_metadata_get_dir_entry),
+ (g_metadata_check_sanity), (validate_header),
+ (validate_array_type_blob), (validate_iface_type_blob),
+ (validate_param_type_blob), (validate_error_type_blob),
+ (validate_type_blob), (validate_arg_blob),
+ (validate_signature_blob), (validate_function_blob),
+ (validate_callback_blob), (validate_constant_blob),
+ (validate_value_blob), (validate_field_blob),
+ (validate_property_blob), (validate_signal_blob),
+ (validate_vfunc_blob), (validate_struct_blob),
+ (validate_enum_blob), (validate_object_blob),
+ (validate_interface_blob), (validate_errordomain_blob),
+ (validate_union_blob), (validate_blob), (validate_directory),
+ (validate_annotations), (g_metadata_validate), (_g_metadata_init),
+ (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
+ (g_metadata_new_from_mapped_file), (g_metadata_free),
+ (g_metadata_set_module), (g_metadata_get_namespace):
+ * src/gmetadata.h:
+ * tests/Makefile.am:
+ * tests/invoke/Makefile.am:
+ * tests/invoke/invoke-namespace-find.sh:
+ * tests/invoke/invoke.c: (main):
+
+ Add a namespace/shared library mapping. fixes #313268.
+
+2007-12-03 Johan Dahlin <johan@gnome.org>
+
+ * src/gidlparser.c (parse_type_internal): Disable char/gchar and
+ guchar for now.
+
+2007-11-30 Jürg Billeter <j@bitron.ch>
+
+ * configure.ac:
+ * src/Makefile.am:
+ * src/clexer.l:
+ * src/cparser.y:
+ * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
+ (g_igenerator_write_inline), (g_igenerator_write),
+ (g_igenerator_write_indent), (g_igenerator_write_unindent),
+ (field_generate), (value_generate), (constant_generate),
+ (property_generate), (function_generate), (vfunc_generate),
+ (signal_generate), (interface_generate), (struct_generate),
+ (union_generate), (boxed_generate), (enum_generate),
+ (node_generate), (module_generate), (get_type_from_type_id),
+ (str_replace), (g_igenerator_process_properties),
+ (g_igenerator_process_signals), (g_igenerator_process_types),
+ (get_type_from_ctype), (g_igenerator_process_function_symbol),
+ (g_igenerator_process_unregistered_struct_typedef),
+ (g_igenerator_process_struct_typedef),
+ (g_igenerator_process_union_typedef),
+ (g_igenerator_process_enum_typedef),
+ (g_igenerator_process_function_typedef),
+ (g_igenerator_process_constant), (g_igenerator_process_symbols),
+ (g_igenerator_add_symbol), (g_igenerator_is_typedef),
+ (g_igenerator_generate), (main), (csymbol_new),
+ (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
+ (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
+ (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
+ (eat_hspace), (eat_line), (read_identifier),
+ (g_igenerator_parse_macros):
+ * src/gen-introspect.h:
+
+ Import gen-introspect to generate introspection information by
+ parsing C headers.
+
+2007-11-30 Jürg Billeter <j@bitron.ch>
+
+ * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
+
+2007-11-30 Jürg Billeter <j@bitron.ch>
+
+ * src/gidlparser.c: (end_element_handler): Don't leave requires
+ state too early.
+
+2007-11-29 Johan Dahlin <johan@gnome.org>
+
+ * src/gidlparser.c (parse_type_internal): Add char,
+ gchar and guchar to the builtin types.
+
+2007-11-26 Johan Dahlin <johan@gnome.org>
+
+ * src/ginfo.c: (g_object_info_get_type_name),
+ (g_object_info_get_type_init):
+ * src/girepository.c: (g_irepository_is_registered):
+ * src/girepository.h:
+
+ Add g_object_info_get_type_name, g_object_info_get_type_init and
+ g_irepository_is_registered.
+
+2006-08-14 Jürg Billeter <j@bitron.ch>
+
+ * src/gidlparser.c: (end_element_handler): Don't leave
+ namespace and implements states too early.
+ Fixes #351264
+
+2007-11-26 Johan Dahlin <johan@gnome.org>
+
+ * src/gmetadata.c (validate_struct_blob):
+ pass blob_type to validate_function_blob instead of
+ hard-coding BLOB_TYPE_STRUCT.
+
+ Patch by Torsten Schoenfeld, fixes #314190
+
+2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
+
+ * src/compiler.c, src/generate.c, src/gidlnode.c,
+ src/gidlparser.c, src/ginfo.c, src/girepository.c,
+ tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
+ warnings about return values, signedness mismatches, unused
+ variables, and unhandles enum values in switch statements.
+
+ * tests/invoke/Makefile.am: Don't install the invoke test program.
+ Add -I ../../src to the cflags used for the test functions files.
+
+2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
+
+ * src/girepository.h: Export g_invoke_error_quark.
+
+2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
+
+ * src/ginvoke.c: Remove the fallback implementation of
+ g_function_info_invoke since we now formally depend on libffi.
+
+2005-07-25 Matthias Clasen <mclasen@redhat.com>
+
+ * src/Makefile, tests/Makefile, tests/invoke/Makefile:
+ Remove these files from cvs, as they are now generated.
+
+ * src/gmetadata.c (validate_iface_type_blob): Don't
+ complain if blob->pointer is not set, since that
+ happens for enum and flag types. (#308935, Gustavo
+ Carneiro)
+
+ * Commit an autoconf-conversion patch by
+ Gustavo Carneiro (#308708)
+
+2005-05-24 Matthias Clasen <mclasen@redhat.com>
+
+ * src/compiler.c (main): Use it here to validate
+ the generated metadata.
+
+ * src/gmetadata.[hc]: Add code to validate a
+ metadata blob.
+
+ * metadata-format.txt: Updates
+
+2005-05-22 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/*: Add struct offsets to field and vfunc
+ elements.
+
+ * src/generate.c (write_vfunc_info): Write offset
+ information for vfuncs.
+
+ * src/gidlnode.c (g_idl_node_build_metadata): Write
+ the struct offsets into the metadata.
+
+ * src/gidlparser.c: Parse the offset attributes of
+ field and vfunc elements.
+
+ * src/gidlnode.h: Add offset members to field and
+ vfunc nodes.
+
+2005-05-21 Matthias Clasen <mclasen@redhat.com>
+
+ * TODO: Updates.
+
+ * gidl.dtd: Updates.
+
+ * src/g-idl-offsets.pl: A perl script which reads a .gidl
+ file, creates, compiles and runs a C file, and folds the
+ resulting struct offsets back into the .gidl file.
+
+2005-05-20 Matthias Clasen <mclasen@redhat.com>
+
+ * src/gidlparser.c (start_field): Make fields in objects
+ work.
+
+ * src/gidlmodule.c: Include string.h
+
+ * TODO: Updates.
+ :
+
+ * metadata-format.txt: Cleanup basic types.
+ * src/*: Adapt to the changes.
+ * tests/*: Adapt to the changes.
+ * examples/gdk-pixbuf.gidl: Adapt to the changes.
+
+ * src/gidlnode.c (g_idl_node_get_size): Report the correct
+ size for enum blobs.
+ (g_idl_node_get_full_size): Report the correct size for
+ function blobs.
+
+ * src/gidlmodule.c (g_idl_module_build_metadata): Add some
+ error checking for blob sizes.
+
+2005-05-19 Matthias Clasen <mclasen@redhat.com>
+
+ * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
+ interface types for which is_pointer is FALSE, e.g. enums.
+
+ * src/gidlnode.c (g_idl_node_get_full_size)
+ * src/gidlparser.c (parse_type_internal):
+ * src/generate.c (write_type_info): Support unspecialized
+ lists, hashtables and errors. Also emit a '*' after these.
+
+ * TODO: Updates
+
+2005-05-17 Matthias Clasen <mclasen@redhat.com>
+
+ * TODO: Updates
+
+ * metadata-format.txt: Cleanups by Maciej Katafiasz.
+
+2005-05-15 Matthias Clasen <mclasen@redhat.com>
+
+ * src/*.c: Change the directory to be addressed by
+ 1-based indexes, and use an index of zero to mean
+ 'no object'.
+
+2005-05-15 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
+
+ * tests/union.test: Add a union test.
+
+ * src/generate.c: Handle unions.
+
+ * src/girepository.h:
+ * src/ginfo.c: Add GIUnionInfo and functions to access it.
+
+ * src/gidlnode.c: Handle GIdlNodeUnion nodes.
+
+ * src/gidlparser.c (start_union): Parse <union> elements.
+
+ * src/gidlnode.h: Add a GIdlNodeUnion.
+
+ * gidl.dtd: Add a <union> element.
+
+ * src/gmetadata.c (g_metadata_check_sanity): Check
+ union_blob_size.
+
+ * src/gmetadata.h: Add union_blob_size to Header,
+ add a UnionBlob.
+
+ * metadata-format.txt: Add a UnionBlob.
+
+2005-05-13 Matthias Clasen <mclasen@redhat.com>
+
+ * tests/*: Update testcases.
+
+ * src/generate.c (write_callable_info): Don't forget to
+ write transfer and null-ok attributes for return types
+ and parameters.
+
+ * src/girepository.h:
+ * src/ginfo.c (g_callable_info_may_return_null):
+ New function to find out if a function may return NULL.
+
+ * src/compiler.c (format_output): Make the generated
+ C code compile.
+
+ * README: Point to a recent libffi snapshot.
+
+ * tests/invoke/*: Some invoke tests.
+
+ * src/Makefile: Add ginvoke.c and the necessary
+ libffi information.
+
+ * src/girepository.h (g_function_info_invoke): Add
+ a GError argument.
+
+ * src/ginvoke.c (g_function_info_invoke): Initial
+ implementation of invoke functionality based on libffi.
+
+ * src/gidlnode.c (g_idl_node_build_metadata): Pass the
+ strings and types hash tables in the right order when
+ recursing.
+ (find_entry_node): Free the name parts.
+
+2005-05-12 Johan Dahlin <johan@gnome.org>
+
+ * src/generate.c: Generate consistent end tags.
+
+ * tests/*: Update
+
+2005-05-12 Matthias Clasen <mclasen@redhat.com>
+
+ * TODO: Updates
+
+ * src/gidlparser.c (start_function): Actually add
+ methods to objects. (Steven Walter)
+
+ * src/girepository.h:
+ * src/ginfo.c: Rename Transfer and Direction to
+ GITransfer and GIDirection. (Torsten Schoenfeld)
+
+ * tests/*: Make tests work with the changes in name
+ handling.
+
+ * src/gidlnode.c (find_entry_node): Parse qualified
+ names and generate xref nodes for them if needed. Don't
+ require all modules to be loaded any more.
+
+ * src/gidlmodule.c (g_idl_module_build_metadata): Choke
+ on '.' in names.
+
+ * src/ginfo.c (g_object_info_get_parent): Return NULL
+ if blob->parent is 0. Still need to make sure index
+ 0 is not used.
+
+ * src/generate.c: Generate qualified names when
+ referring to non-local types. Emit transfer attribute
+ for return types.
+
+ * src/compiler.c (format_output): Put the function
+ attributes where gcc accepts them.
+
+2005-05-11 Matthias Clasen <mclasen@redhat.com>
+
+ * src/compiler.c (main): Add a --verbose cmdline option
+ and only log messages if it is specified.
+
+ * src/gidlnode.h:
+ * src/gidlnode.c (init_stats, dump_stats): Collect some
+ statistics on string and type sharing.
+
+ * src/gidlmodule.c (g_idl_module_build_metadata): Use
+ g_message() instead of fprintf().
+
+ * src/gidlnode.c (g_idl_node_free): Make this more robust.
+ (g_idl_node_get_size): Implement for structs.
+ (g_idl_node_get_full_size): Handle parent being NULL.
+ (serialize_type): Handle lookup failures more gracefully.
+
+2005-05-10 Matthias Clasen <mclasen@redhat.com>
+
+ * src/gidlnode.c (g_idl_node_get_full_size): Correct the
+ size calculation for 2-parameter types and for objects.
+
+ * src/compiler.c: Add a cmdline option for debug output
+ and install a log handler to implement it.
+ * src/gidlnode.c: Add some debug spew.
+
+ * TODO: Updates
+
+ * src/gidlmodule.c (g_idl_module_build_metadata): Don't
+ forget to count the module name when calculating the
+ required size for the metadata.
+
+ * src/gidlnode.c:
+ * src/gidlparser.c: Fix compiler warnings.
+
+2005-05-09 Matthias Clasen <mclasen@redhat.com>
+
+ * src/compiler.c (main): Free the option context.
+
+ * gidl.dtd: Clean up handling of names. All elements
+ have a "name", only the elements corresponding to
+ actual callable functions (function, method, constructor),
+ have an additional "symbol" attribute holding the
+ dlsym()-able function name.
+
+ * src/generate.c: Adapt to generate xml matching the
+ new dtd.
+
+ * src/gidlparser.c:
+ * src/gidlnode.c: Adapt to parse the new dtd.
+
+ * tests/*.test: Adjust to the new dtd.
+
+ * metadata-format.txt:
+ * src/gmetadata.h: Remove the short_name field
+ from the ValueBlob.
+ * src/gmetadata.c: Shrink size of ValueBlob to 12.
+ * src/girepository.h:
+ * src/ginfo.c (g_value_info_get_short_name): Removed
+
+2005-05-09 Matthias Clasen <mclasen@redhat.com>
+
+ * gidl.dtd: Allow constructors for boxed types,
+ patch by Jonathan Blandford.
+
+
+2005-05-09 Matthias Clasen <mclasen@redhat.com>
+
+ * --- Initial import ---
diff --git a/Makefile.am b/Makefile.am
index f663fca..054ea14 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,6 +29,9 @@ man_MANS = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gobject-introspection-1.0.pc
+m4dir = $(datadir)/aclocal
+m4_DATA = m4/introspection.m4
+
EXTRA_DIST = \
CONTRIBUTORS \
$(pkgconfig_DATA) \
@@ -37,13 +40,11 @@ EXTRA_DIST = \
misc/pyflakes.py
release-tag:
- @TRUNK=`svn info --xml|egrep ^"<url>"|cut -d\> -f2|cut -d\< -f1`; \
- ROOT=`echo $$TRUNK|cut -d/ -f-5`; \
- SVNVERSION=`echo $(VERSION)|sed s/\\\./_/g`;\
+ @TAG=`echo $(VERSION)|sed s/\\\./_/g`;\
echo "* Tagging $(VERSION)"; \
- svn cp -m "Tag $(VERSION)" \
- $$TRUNK \
- $$ROOT/tags/GOBJECT_INTROSPECTION_$$SVNVERSION
+ git tag -m "Tag $$VERSION" -a \
+ GOBJECT_INTROSPECTION_$$TAG && \
+ git push --tags ssh://git.gnome.org/git/gobject-introspection
upload-release: $(distdir).tar.gz
scp $(distdir).tar.gz gnome.org:
diff --git a/configure.ac b/configure.ac
index 6f255e1..4182a9d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -161,6 +161,9 @@ GIREPO_CFLAGS="$GIREPO_CFLAGS $FFI_CFLAGS"
GIREPO_CFLAGS="$GIREPO_CFLAGS $GCOV_CFLAGS"
+# gtk-doc
+GTK_DOC_CHECK([1.12])
+
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h])
@@ -201,5 +204,7 @@ tests/offsets/Makefile
tests/scanner/Makefile
tests/repository/Makefile
tests/everything/Makefile
+docs/Makefile
+docs/reference/Makefile
gobject-introspection-1.0.pc])
AC_OUTPUT
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..f3ddc22
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = reference
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
new file mode 100644
index 0000000..60430aa
--- /dev/null
+++ b/docs/reference/Makefile.am
@@ -0,0 +1,44 @@
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module.
+DOC_MODULE=gi
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=gi-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir)
+DOC_SOURCE_DIR=../../girepository
+
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS=--sgml-mode --output-format=xml --namespace=g
+
+# Used for dependencies
+HFILE_GLOB=$(top_srcdir)/girepository/*.h
+CFILE_GLOB=$(top_srcdir)/girepository/*.c
+
+# Headers to ignore
+IGNORE_HFILES=
+
+INCLUDES=$(GIREPO_CFLAGS) -I$(top_srcdir)
+GTKDOC_LIBS = $(GIREPO_LIBS) $(top_builddir)/girepository/libgirepository-1.0.la $(top_builddir)/girepository/libgirepository-parser.la
+
+# Extra options to supply to gtkdoc-fixref
+FIXXREF_OPTIONS=
+
+# include common portion ...
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+EXTRA_DIST += version.xml.in
+
+########################################################################
+
+dist-hook-local: $(BUILT_EXTRA_DIST)
+ files='$(BUILT_EXTRA_DIST)'; \
+ for f in $$files; do \
+ if test -f $$f; then d=.; else d=$(srcdir); fi; \
+ cp $$d/$$f $(distdir) || exit 1; done
+
diff --git a/docs/reference/gi-decl-list.txt b/docs/reference/gi-decl-list.txt
new file mode 100644
index 0000000..952f494
--- /dev/null
+++ b/docs/reference/gi-decl-list.txt
@@ -0,0 +1,279 @@
+<SECTION>
+<FILE>girepository</FILE>
+G_TYPE_IREPOSITORY
+G_IREPOSITORY
+GIRepositoryPrivate
+GIBaseInfo
+GICallableInfo
+GIFunctionInfo
+GICallbackInfo
+GIRegisteredTypeInfo
+GIStructInfo
+GIUnionInfo
+GIEnumInfo
+GIObjectInfo
+GIInterfaceInfo
+GIConstantInfo
+GIValueInfo
+GISignalInfo
+GIVFuncInfo
+GIPropertyInfo
+GIFieldInfo
+GIArgInfo
+GITypeInfo
+GIErrorDomainInfo
+GIUnresolvedInfo
+GTypelib
+<TITLE>GIRepository</TITLE>
+GIRepository
+GIRepositoryLoadFlags
+g_irepository_get_default
+g_irepository_prepend_search_path
+g_irepository_get_search_path
+g_irepository_load_typelib
+g_irepository_is_registered
+g_irepository_find_by_name
+g_irepository_require
+g_irepository_get_dependencies
+g_irepository_get_loaded_namespaces
+g_irepository_find_by_gtype
+g_irepository_get_n_infos
+g_irepository_get_info
+g_irepository_get_typelib_path
+g_irepository_get_shared_library
+g_irepository_get_version
+g_irepository_get_option_group
+g_irepository_dump
+g_typelib_new_from_memory
+g_typelib_new_from_const_memory
+g_typelib_new_from_mapped_file
+g_typelib_free
+g_typelib_symbol
+g_typelib_get_namespace
+GIRepositoryError
+G_IREPOSITORY_ERROR
+g_irepository_error_quark
+gi_cclosure_marshal_generic
+GIInfoType
+g_base_info_ref
+g_base_info_unref
+g_base_info_get_type
+g_base_info_get_name
+g_base_info_get_namespace
+g_base_info_is_deprecated
+g_base_info_get_annotation
+g_base_info_get_container
+g_base_info_get_typelib
+g_info_new
+GIFunctionInfoFlags
+g_function_info_get_symbol
+g_function_info_get_flags
+g_function_info_get_property
+g_function_info_get_vfunc
+G_INVOKE_ERROR
+g_invoke_error_quark
+GInvokeError
+g_function_info_invoke
+GITransfer
+g_callable_info_get_return_type
+g_callable_info_get_caller_owns
+g_callable_info_may_return_null
+g_callable_info_get_n_args
+g_callable_info_get_arg
+GIDirection
+GIScopeType
+g_arg_info_get_direction
+g_arg_info_is_dipper
+g_arg_info_is_return_value
+g_arg_info_is_optional
+g_arg_info_may_be_null
+g_arg_info_get_ownership_transfer
+g_arg_info_get_scope
+g_arg_info_get_closure
+g_arg_info_get_destroy
+g_arg_info_get_type
+GITypeTag
+g_type_tag_to_string
+g_type_info_is_pointer
+g_type_info_get_tag
+g_type_info_get_param_type
+g_type_info_get_interface
+g_type_info_get_array_length
+g_type_info_get_array_fixed_size
+g_type_info_is_zero_terminated
+g_type_info_get_n_error_domains
+g_type_info_get_error_domain
+g_error_domain_info_get_quark
+g_error_domain_info_get_codes
+g_value_info_get_value
+GIFieldInfoFlags
+g_field_info_get_flags
+g_field_info_get_size
+g_field_info_get_offset
+g_field_info_get_type
+g_field_info_get_field
+g_field_info_set_field
+g_union_info_get_n_fields
+g_union_info_get_field
+g_union_info_get_n_methods
+g_union_info_get_method
+g_union_info_is_discriminated
+g_union_info_get_discriminator_offset
+g_union_info_get_discriminator_type
+g_union_info_get_discriminator
+g_union_info_find_method
+g_union_info_get_size
+g_union_info_get_alignment
+g_struct_info_get_n_fields
+g_struct_info_get_field
+g_struct_info_get_n_methods
+g_struct_info_get_method
+g_struct_info_find_method
+g_struct_info_get_size
+g_struct_info_get_alignment
+g_struct_info_is_class_struct
+g_registered_type_info_get_type_name
+g_registered_type_info_get_type_init
+g_registered_type_info_get_g_type
+g_enum_info_get_n_values
+g_enum_info_get_value
+g_enum_info_get_storage_type
+g_object_info_get_type_name
+g_object_info_get_type_init
+g_object_info_get_abstract
+g_object_info_get_parent
+g_object_info_get_n_interfaces
+g_object_info_get_interface
+g_object_info_get_n_fields
+g_object_info_get_field
+g_object_info_get_n_properties
+g_object_info_get_property
+g_object_info_get_n_methods
+g_object_info_get_method
+g_object_info_find_method
+g_object_info_get_n_signals
+g_object_info_get_signal
+g_object_info_get_n_vfuncs
+g_object_info_get_vfunc
+g_object_info_get_n_constants
+g_object_info_get_constant
+g_object_info_get_class_struct
+g_interface_info_get_n_prerequisites
+g_interface_info_get_prerequisite
+g_interface_info_get_n_properties
+g_interface_info_get_property
+g_interface_info_get_n_methods
+g_interface_info_get_method
+g_interface_info_find_method
+g_interface_info_get_n_signals
+g_interface_info_get_signal
+g_interface_info_get_n_vfuncs
+g_interface_info_get_vfunc
+g_interface_info_get_n_constants
+g_interface_info_get_constant
+g_property_info_get_flags
+g_property_info_get_type
+g_signal_info_get_flags
+g_signal_info_get_class_closure
+g_signal_info_true_stops_emit
+GIVFuncInfoFlags
+g_vfunc_info_get_flags
+g_vfunc_info_get_offset
+g_vfunc_info_get_signal
+g_constant_info_get_type
+g_constant_info_get_value
+<SUBSECTION Standard>
+G_TYPE_TAG_IS_BASIC
+g_irepository_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gtypelib</FILE>
+G_IR_MAGIC
+GTypelib
+g_typelib_get_dir_entry
+g_typelib_check_sanity
+g_typelib_get_string
+GTypelibError
+G_TYPELIB_ERROR
+g_typelib_error_quark
+g_typelib_validate
+<SUBSECTION Standard>
+BLOB_IS_REGISTERED_TYPE
+</SECTION>
+
+<SECTION>
+<FILE>ginfo</FILE>
+g_type_info_new
+g_info_new_full
+</SECTION>
+
+<SECTION>
+<FILE>girffi</FILE>
+GIFFIClosureCallback
+g_ir_ffi_get_ffi_type
+g_callable_info_get_ffi_arg_types
+g_callable_info_get_ffi_return_type
+g_callable_info_prepare_closure
+g_callable_info_free_closure
+</SECTION>
+
+<SECTION>
+<FILE>girmodule</FILE>
+GIrModule
+g_ir_module_new
+g_ir_module_free
+g_ir_module_add_include_module
+g_ir_module_build_typelib
+</SECTION>
+
+<SECTION>
+<FILE>girnode</FILE>
+GIrNodeFunction
+GIrNodeParam
+GIrNodeType
+GIrNodeSignal
+GIrNodeProperty
+GIrNodeVFunc
+GIrNodeField
+GIrNodeValue
+GIrNodeEnum
+GIrNodeBoxed
+GIrNodeStruct
+GIrNodeConstant
+GIrNodeErrorDomain
+GIrNodeXRef
+GIrNodeUnion
+GIrNodeTypeId
+<TITLE>GIrNode</TITLE>
+GIrNode
+g_ir_node_new
+g_ir_node_free
+g_ir_node_get_size
+g_ir_node_get_full_size
+g_ir_node_build_typelib
+g_ir_node_cmp
+g_ir_node_can_have_member
+g_ir_node_add_member
+write_string
+g_ir_node_param_direction_string
+g_ir_node_type_to_string
+g_ir_find_node
+g_ir_node_compute_offsets
+</SECTION>
+
+<SECTION>
+<FILE>girparser</FILE>
+GIrParser
+g_ir_parser_new
+g_ir_parser_free
+g_ir_parser_set_includes
+g_ir_parser_parse_string
+g_ir_parser_parse_file
+</SECTION>
+
+<SECTION>
+<FILE>girwriter</FILE>
+g_idl_writer_save_file
+</SECTION>
+
diff --git a/docs/reference/gi-decl.txt b/docs/reference/gi-decl.txt
new file mode 100644
index 0000000..e35b6a5
--- /dev/null
+++ b/docs/reference/gi-decl.txt
@@ -0,0 +1,1596 @@
+<FUNCTION>
+<NAME>g_type_info_new</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIBaseInfo *container,GTypelib *typelib,guint32 offset
+</FUNCTION>
+<FUNCTION>
+<NAME>g_info_new_full</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIInfoType type,GIRepository *repository,GIBaseInfo *container,GTypelib *typelib,guint32 offset
+</FUNCTION>
+<MACRO>
+<NAME>G_TYPE_IREPOSITORY</NAME>
+#define G_TYPE_IREPOSITORY (g_irepository_get_type ())
+</MACRO>
+<MACRO>
+<NAME>G_IREPOSITORY</NAME>
+#define G_IREPOSITORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_IREPOSITORY, GIRepository))
+</MACRO>
+<STRUCT>
+<NAME>GIRepository</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIRepositoryClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIRepositoryPrivate</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIBaseInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GICallableInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIFunctionInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GICallbackInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIRegisteredTypeInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIStructInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIUnionInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIEnumInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIObjectInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIInterfaceInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIConstantInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIValueInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GISignalInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIVFuncInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIPropertyInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIFieldInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIArgInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GITypeInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIErrorDomainInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIUnresolvedInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GTypelib</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIRepository</NAME>
+struct _GIRepository
+{
+ GObject parent;
+
+ /*< private >*/
+ GIRepositoryPrivate *priv;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIRepositoryClass</NAME>
+struct _GIRepositoryClass
+{
+ GObjectClass parent;
+};
+</STRUCT>
+<ENUM>
+<NAME>GIRepositoryLoadFlags</NAME>
+typedef enum
+{
+ G_IREPOSITORY_LOAD_FLAG_LAZY = 1 << 0
+} GIRepositoryLoadFlags;
+</ENUM>
+<FUNCTION>
+<NAME>g_irepository_get_type</NAME>
+<RETURNS>GType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_default</NAME>
+<RETURNS>GIRepository *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_prepend_search_path</NAME>
+<RETURNS>void </RETURNS>
+const char *directory
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_search_path</NAME>
+<RETURNS>GSList *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_load_typelib</NAME>
+<RETURNS>const char *</RETURNS>
+GIRepository *repository,GTypelib *typelib,GIRepositoryLoadFlags flags,GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_is_registered</NAME>
+<RETURNS>gboolean </RETURNS>
+GIRepository *repository,const gchar *namespace_,const gchar *version
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_find_by_name</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIRepository *repository,const gchar *namespace_,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_require</NAME>
+<RETURNS>GTypelib *</RETURNS>
+GIRepository *repository,const gchar *namespace_,const gchar *version,GIRepositoryLoadFlags flags,GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_dependencies</NAME>
+<RETURNS>gchar **</RETURNS>
+GIRepository *repository,const gchar *namespace_
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_loaded_namespaces</NAME>
+<RETURNS>gchar **</RETURNS>
+GIRepository *repository
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_find_by_gtype</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIRepository *repository,GType gtype
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_n_infos</NAME>
+<RETURNS>gint </RETURNS>
+GIRepository *repository,const gchar *namespace_
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_info</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIRepository *repository,const gchar *namespace_,gint index
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_typelib_path</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIRepository *repository,const gchar *namespace_
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_shared_library</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIRepository *repository,const gchar *namespace_
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_version</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIRepository *repository,const gchar *namespace_
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_get_option_group</NAME>
+<RETURNS>GOptionGroup *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_irepository_dump</NAME>
+<RETURNS>gboolean </RETURNS>
+const char *arg, GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_new_from_memory</NAME>
+<RETURNS>GTypelib *</RETURNS>
+guchar *memory,gsize len
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_new_from_const_memory</NAME>
+<RETURNS>GTypelib *</RETURNS>
+const guchar *memory,gsize len
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_new_from_mapped_file</NAME>
+<RETURNS>GTypelib *</RETURNS>
+GMappedFile *mfile
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_free</NAME>
+<RETURNS>void </RETURNS>
+GTypelib *typelib
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_symbol</NAME>
+<RETURNS>gboolean </RETURNS>
+GTypelib *typelib,const gchar *symbol_name,gpointer *symbol
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_get_namespace</NAME>
+<RETURNS>const gchar *</RETURNS>
+GTypelib *typelib
+</FUNCTION>
+<ENUM>
+<NAME>GIRepositoryError</NAME>
+typedef enum
+{
+ G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND,
+ G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH,
+ G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT,
+ G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND
+} GIRepositoryError;
+</ENUM>
+<MACRO>
+<NAME>G_IREPOSITORY_ERROR</NAME>
+#define G_IREPOSITORY_ERROR (g_irepository_error_quark ())
+</MACRO>
+<FUNCTION>
+<NAME>g_irepository_error_quark</NAME>
+<RETURNS>GQuark </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gi_cclosure_marshal_generic</NAME>
+<RETURNS>void </RETURNS>
+GClosure *closure,GValue *return_gvalue,guint n_param_values,const GValue *param_values,gpointer invocation_hint,gpointer marshal_data
+</FUNCTION>
+<ENUM>
+<NAME>GIInfoType</NAME>
+typedef enum
+{
+ GI_INFO_TYPE_INVALID,
+ GI_INFO_TYPE_FUNCTION,
+ GI_INFO_TYPE_CALLBACK,
+ GI_INFO_TYPE_STRUCT,
+ GI_INFO_TYPE_BOXED,
+ GI_INFO_TYPE_ENUM,
+ GI_INFO_TYPE_FLAGS,
+ GI_INFO_TYPE_OBJECT,
+ GI_INFO_TYPE_INTERFACE,
+ GI_INFO_TYPE_CONSTANT,
+ GI_INFO_TYPE_ERROR_DOMAIN,
+ GI_INFO_TYPE_UNION,
+ GI_INFO_TYPE_VALUE,
+ GI_INFO_TYPE_SIGNAL,
+ GI_INFO_TYPE_VFUNC,
+ GI_INFO_TYPE_PROPERTY,
+ GI_INFO_TYPE_FIELD,
+ GI_INFO_TYPE_ARG,
+ GI_INFO_TYPE_TYPE,
+ GI_INFO_TYPE_UNRESOLVED
+} GIInfoType;
+</ENUM>
+<FUNCTION>
+<NAME>g_base_info_ref</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_unref</NAME>
+<RETURNS>void </RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_type</NAME>
+<RETURNS>GIInfoType </RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_name</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_namespace</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_is_deprecated</NAME>
+<RETURNS>gboolean </RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_annotation</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIBaseInfo *info,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_container</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_base_info_get_typelib</NAME>
+<RETURNS>GTypelib *</RETURNS>
+GIBaseInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_info_new</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIInfoType type,GIBaseInfo *container,GTypelib *typelib,guint32 offset
+</FUNCTION>
+<ENUM>
+<NAME>GIFunctionInfoFlags</NAME>
+typedef enum
+{
+ GI_FUNCTION_IS_METHOD = 1 << 0,
+ GI_FUNCTION_IS_CONSTRUCTOR = 1 << 1,
+ GI_FUNCTION_IS_GETTER = 1 << 2,
+ GI_FUNCTION_IS_SETTER = 1 << 3,
+ GI_FUNCTION_WRAPS_VFUNC = 1 << 4,
+ GI_FUNCTION_THROWS = 1 << 5
+} GIFunctionInfoFlags;
+</ENUM>
+<FUNCTION>
+<NAME>g_function_info_get_symbol</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIFunctionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_function_info_get_flags</NAME>
+<RETURNS>GIFunctionInfoFlags </RETURNS>
+GIFunctionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_function_info_get_property</NAME>
+<RETURNS>GIPropertyInfo *</RETURNS>
+GIFunctionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_function_info_get_vfunc</NAME>
+<RETURNS>GIVFuncInfo *</RETURNS>
+GIFunctionInfo *info
+</FUNCTION>
+<MACRO>
+<NAME>G_INVOKE_ERROR</NAME>
+#define G_INVOKE_ERROR (g_invoke_error_quark ())
+</MACRO>
+<FUNCTION>
+<NAME>g_invoke_error_quark</NAME>
+<RETURNS>GQuark </RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GInvokeError</NAME>
+typedef enum
+{
+ G_INVOKE_ERROR_FAILED,
+ G_INVOKE_ERROR_SYMBOL_NOT_FOUND,
+ G_INVOKE_ERROR_ARGUMENT_MISMATCH
+} GInvokeError;
+</ENUM>
+<FUNCTION>
+<NAME>g_function_info_invoke</NAME>
+<RETURNS>gboolean </RETURNS>
+GIFunctionInfo *info,const GArgument *in_args,int n_in_args,const GArgument *out_args,int n_out_args,GArgument *return_value,GError **error
+</FUNCTION>
+<ENUM>
+<NAME>GITransfer</NAME>
+typedef enum {
+ GI_TRANSFER_NOTHING,
+ GI_TRANSFER_CONTAINER,
+ GI_TRANSFER_EVERYTHING
+} GITransfer;
+</ENUM>
+<FUNCTION>
+<NAME>g_callable_info_get_return_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GICallableInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_get_caller_owns</NAME>
+<RETURNS>GITransfer </RETURNS>
+GICallableInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_may_return_null</NAME>
+<RETURNS>gboolean </RETURNS>
+GICallableInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_get_n_args</NAME>
+<RETURNS>gint </RETURNS>
+GICallableInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_get_arg</NAME>
+<RETURNS>GIArgInfo *</RETURNS>
+GICallableInfo *info,gint n
+</FUNCTION>
+<ENUM>
+<NAME>GIDirection</NAME>
+typedef enum {
+ GI_DIRECTION_IN,
+ GI_DIRECTION_OUT,
+ GI_DIRECTION_INOUT
+} GIDirection;
+</ENUM>
+<ENUM>
+<NAME>GIScopeType</NAME>
+typedef enum {
+ GI_SCOPE_TYPE_INVALID,
+ GI_SCOPE_TYPE_CALL,
+ GI_SCOPE_TYPE_OBJECT,
+ GI_SCOPE_TYPE_ASYNC,
+ GI_SCOPE_TYPE_NOTIFIED
+} GIScopeType;
+</ENUM>
+<FUNCTION>
+<NAME>g_arg_info_get_direction</NAME>
+<RETURNS>GIDirection </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_is_dipper</NAME>
+<RETURNS>gboolean </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_is_return_value</NAME>
+<RETURNS>gboolean </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_is_optional</NAME>
+<RETURNS>gboolean </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_may_be_null</NAME>
+<RETURNS>gboolean </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_get_ownership_transfer</NAME>
+<RETURNS>GITransfer </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_get_scope</NAME>
+<RETURNS>GIScopeType </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_get_closure</NAME>
+<RETURNS>gint </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_get_destroy</NAME>
+<RETURNS>gint </RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_arg_info_get_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIArgInfo *info
+</FUNCTION>
+<ENUM>
+<NAME>GITypeTag</NAME>
+typedef enum {
+ /* Basic types */
+ GI_TYPE_TAG_VOID = 0,
+ GI_TYPE_TAG_BOOLEAN = 1,
+ GI_TYPE_TAG_INT8 = 2,
+ GI_TYPE_TAG_UINT8 = 3,
+ GI_TYPE_TAG_INT16 = 4,
+ GI_TYPE_TAG_UINT16 = 5,
+ GI_TYPE_TAG_INT32 = 6,
+ GI_TYPE_TAG_UINT32 = 7,
+ GI_TYPE_TAG_INT64 = 8,
+ GI_TYPE_TAG_UINT64 = 9,
+ GI_TYPE_TAG_INT = 10,
+ GI_TYPE_TAG_UINT = 11,
+ GI_TYPE_TAG_LONG = 12,
+ GI_TYPE_TAG_ULONG = 13,
+ GI_TYPE_TAG_SSIZE = 14,
+ GI_TYPE_TAG_SIZE = 15,
+ GI_TYPE_TAG_FLOAT = 16,
+ GI_TYPE_TAG_DOUBLE = 17,
+ GI_TYPE_TAG_TIME_T = 18,
+ GI_TYPE_TAG_GTYPE = 19,
+ GI_TYPE_TAG_UTF8 = 20,
+ GI_TYPE_TAG_FILENAME = 21,
+ /* Non-basic types */
+ GI_TYPE_TAG_ARRAY = 22,
+ GI_TYPE_TAG_INTERFACE = 23,
+ GI_TYPE_TAG_GLIST = 24,
+ GI_TYPE_TAG_GSLIST = 25,
+ GI_TYPE_TAG_GHASH = 26,
+ GI_TYPE_TAG_ERROR = 27
+ /* Note - there is only room currently for 32 tags.
+ * See docs/typelib-format.txt SimpleTypeBlob definition */
+} GITypeTag;
+</ENUM>
+<MACRO>
+<NAME>G_TYPE_TAG_IS_BASIC</NAME>
+#define G_TYPE_TAG_IS_BASIC(tag) (tag < GI_TYPE_TAG_ARRAY)
+</MACRO>
+<FUNCTION>
+<NAME>g_type_tag_to_string</NAME>
+<RETURNS>const gchar*</RETURNS>
+GITypeTag type
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_is_pointer</NAME>
+<RETURNS>gboolean </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_tag</NAME>
+<RETURNS>GITypeTag </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_param_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GITypeInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_interface</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_array_length</NAME>
+<RETURNS>gint </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_array_fixed_size</NAME>
+<RETURNS>gint </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_is_zero_terminated</NAME>
+<RETURNS>gboolean </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_n_error_domains</NAME>
+<RETURNS>gint </RETURNS>
+GITypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_type_info_get_error_domain</NAME>
+<RETURNS>GIErrorDomainInfo *</RETURNS>
+GITypeInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_error_domain_info_get_quark</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIErrorDomainInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_error_domain_info_get_codes</NAME>
+<RETURNS>GIInterfaceInfo *</RETURNS>
+GIErrorDomainInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_value_info_get_value</NAME>
+<RETURNS>glong </RETURNS>
+GIValueInfo *info
+</FUNCTION>
+<ENUM>
+<NAME>GIFieldInfoFlags</NAME>
+typedef enum
+{
+ GI_FIELD_IS_READABLE = 1 << 0,
+ GI_FIELD_IS_WRITABLE = 1 << 1
+} GIFieldInfoFlags;
+</ENUM>
+<FUNCTION>
+<NAME>g_field_info_get_flags</NAME>
+<RETURNS>GIFieldInfoFlags </RETURNS>
+GIFieldInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_field_info_get_size</NAME>
+<RETURNS>gint </RETURNS>
+GIFieldInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_field_info_get_offset</NAME>
+<RETURNS>gint </RETURNS>
+GIFieldInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_field_info_get_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIFieldInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_field_info_get_field</NAME>
+<RETURNS>gboolean </RETURNS>
+GIFieldInfo *field_info,gpointer mem,GArgument *value
+</FUNCTION>
+<FUNCTION>
+<NAME>g_field_info_set_field</NAME>
+<RETURNS>gboolean </RETURNS>
+GIFieldInfo *field_info,gpointer mem,const GArgument *value
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_n_fields</NAME>
+<RETURNS>gint </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_field</NAME>
+<RETURNS>GIFieldInfo *</RETURNS>
+GIUnionInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_n_methods</NAME>
+<RETURNS>gint </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIUnionInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_is_discriminated</NAME>
+<RETURNS>gboolean </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_discriminator_offset</NAME>
+<RETURNS>gint </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_discriminator_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_discriminator</NAME>
+<RETURNS>GIConstantInfo *</RETURNS>
+GIUnionInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_find_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIUnionInfo *info,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_size</NAME>
+<RETURNS>gsize </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_union_info_get_alignment</NAME>
+<RETURNS>gsize </RETURNS>
+GIUnionInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_n_fields</NAME>
+<RETURNS>gint </RETURNS>
+GIStructInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_field</NAME>
+<RETURNS>GIFieldInfo *</RETURNS>
+GIStructInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_n_methods</NAME>
+<RETURNS>gint </RETURNS>
+GIStructInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIStructInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_find_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIStructInfo *info,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_size</NAME>
+<RETURNS>gsize </RETURNS>
+GIStructInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_get_alignment</NAME>
+<RETURNS>gsize </RETURNS>
+GIStructInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_struct_info_is_class_struct</NAME>
+<RETURNS>gboolean </RETURNS>
+GIStructInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_registered_type_info_get_type_name</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIRegisteredTypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_registered_type_info_get_type_init</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIRegisteredTypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_registered_type_info_get_g_type</NAME>
+<RETURNS>GType </RETURNS>
+GIRegisteredTypeInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_enum_info_get_n_values</NAME>
+<RETURNS>gint </RETURNS>
+GIEnumInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_enum_info_get_value</NAME>
+<RETURNS>GIValueInfo *</RETURNS>
+GIEnumInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_enum_info_get_storage_type</NAME>
+<RETURNS>GITypeTag </RETURNS>
+GIEnumInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_type_name</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_type_init</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_abstract</NAME>
+<RETURNS>gboolean </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_parent</NAME>
+<RETURNS>GIObjectInfo *</RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_interfaces</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_interface</NAME>
+<RETURNS>GIInterfaceInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_fields</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_field</NAME>
+<RETURNS>GIFieldInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_properties</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_property</NAME>
+<RETURNS>GIPropertyInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_methods</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_find_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIObjectInfo *info,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_signals</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_signal</NAME>
+<RETURNS>GISignalInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_vfuncs</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_vfunc</NAME>
+<RETURNS>GIVFuncInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_n_constants</NAME>
+<RETURNS>gint </RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_constant</NAME>
+<RETURNS>GIConstantInfo *</RETURNS>
+GIObjectInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_object_info_get_class_struct</NAME>
+<RETURNS>GIStructInfo *</RETURNS>
+GIObjectInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_prerequisites</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_prerequisite</NAME>
+<RETURNS>GIBaseInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_properties</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_property</NAME>
+<RETURNS>GIPropertyInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_methods</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_find_method</NAME>
+<RETURNS>GIFunctionInfo *</RETURNS>
+GIInterfaceInfo *info,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_signals</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_signal</NAME>
+<RETURNS>GISignalInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_vfuncs</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_vfunc</NAME>
+<RETURNS>GIVFuncInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_n_constants</NAME>
+<RETURNS>gint </RETURNS>
+GIInterfaceInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_interface_info_get_constant</NAME>
+<RETURNS>GIConstantInfo *</RETURNS>
+GIInterfaceInfo *info,gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>g_property_info_get_flags</NAME>
+<RETURNS>GParamFlags </RETURNS>
+GIPropertyInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_property_info_get_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIPropertyInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_signal_info_get_flags</NAME>
+<RETURNS>GSignalFlags </RETURNS>
+GISignalInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_signal_info_get_class_closure</NAME>
+<RETURNS>GIVFuncInfo *</RETURNS>
+GISignalInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_signal_info_true_stops_emit</NAME>
+<RETURNS>gboolean </RETURNS>
+GISignalInfo *info
+</FUNCTION>
+<ENUM>
+<NAME>GIVFuncInfoFlags</NAME>
+typedef enum
+{
+ GI_VFUNC_MUST_CHAIN_UP = 1 << 0,
+ GI_VFUNC_MUST_OVERRIDE = 1 << 1,
+ GI_VFUNC_MUST_NOT_OVERRIDE = 1 << 2
+} GIVFuncInfoFlags;
+</ENUM>
+<FUNCTION>
+<NAME>g_vfunc_info_get_flags</NAME>
+<RETURNS>GIVFuncInfoFlags </RETURNS>
+GIVFuncInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_vfunc_info_get_offset</NAME>
+<RETURNS>gint </RETURNS>
+GIVFuncInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_vfunc_info_get_signal</NAME>
+<RETURNS>GISignalInfo *</RETURNS>
+GIVFuncInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_constant_info_get_type</NAME>
+<RETURNS>GITypeInfo *</RETURNS>
+GIConstantInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_constant_info_get_value</NAME>
+<RETURNS>gint </RETURNS>
+GIConstantInfo *info,GArgument *value
+</FUNCTION>
+<USER_FUNCTION>
+<NAME>GIFFIClosureCallback</NAME>
+<RETURNS>void </RETURNS>
+ffi_cif *,
+ void *,
+ void **,
+ void *
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>g_ir_ffi_get_ffi_type</NAME>
+<RETURNS>ffi_type *</RETURNS>
+GITypeTag tag
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_get_ffi_arg_types</NAME>
+<RETURNS>ffi_type **</RETURNS>
+GICallableInfo *callable_info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_get_ffi_return_type</NAME>
+<RETURNS>ffi_type *</RETURNS>
+GICallableInfo *callable_info
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_prepare_closure</NAME>
+<RETURNS>ffi_closure *</RETURNS>
+GICallableInfo *callable_info,ffi_cif *cif,GIFFIClosureCallback callback,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>g_callable_info_free_closure</NAME>
+<RETURNS>void </RETURNS>
+GICallableInfo *callable_info,ffi_closure *closure
+</FUNCTION>
+<STRUCT>
+<NAME>GIrModule</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrModule</NAME>
+struct _GIrModule
+{
+ gchar *name;
+ gchar *version;
+ gchar *shared_library;
+ GList *dependencies;
+ GList *entries;
+
+ /* All modules that are included directly or indirectly */
+ GList *include_modules;
+
+ /* Aliases defined in the module or in included modules */
+ GHashTable *aliases;
+
+ /* Structures with the 'disguised' flag (typedef struct _X *X)
+ * in the module or in included modules */
+ GHashTable *disguised_structures;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>g_ir_module_new</NAME>
+<RETURNS>GIrModule *</RETURNS>
+const gchar *name,const gchar *nsversion,const gchar *module_filename
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_module_free</NAME>
+<RETURNS>void </RETURNS>
+GIrModule *module
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_module_add_include_module</NAME>
+<RETURNS>void </RETURNS>
+GIrModule *module,GIrModule *include_module
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_module_build_typelib</NAME>
+<RETURNS>GTypelib *</RETURNS>
+GIrModule *module,GList *modules
+</FUNCTION>
+<STRUCT>
+<NAME>GIrNode</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeFunction</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeParam</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeType</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeInterface</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeSignal</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeProperty</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeVFunc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeField</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeValue</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeEnum</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeBoxed</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeStruct</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeConstant</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeErrorDomain</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeXRef</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeUnion</NAME>
+</STRUCT>
+<ENUM>
+<NAME>GIrNodeTypeId</NAME>
+typedef enum
+{
+ G_IR_NODE_INVALID = 0,
+ G_IR_NODE_FUNCTION = 1,
+ G_IR_NODE_CALLBACK = 2,
+ G_IR_NODE_STRUCT = 3,
+ G_IR_NODE_BOXED = 4,
+ G_IR_NODE_ENUM = 5,
+ G_IR_NODE_FLAGS = 6,
+ G_IR_NODE_OBJECT = 7,
+ G_IR_NODE_INTERFACE = 8,
+ G_IR_NODE_CONSTANT = 9,
+ G_IR_NODE_ERROR_DOMAIN = 10,
+ G_IR_NODE_UNION = 11,
+ G_IR_NODE_PARAM = 12,
+ G_IR_NODE_TYPE = 13,
+ G_IR_NODE_PROPERTY = 14,
+ G_IR_NODE_SIGNAL = 15,
+ G_IR_NODE_VALUE = 16,
+ G_IR_NODE_VFUNC = 17,
+ G_IR_NODE_FIELD = 18,
+ G_IR_NODE_XREF = 19
+} GIrNodeTypeId;
+</ENUM>
+<STRUCT>
+<NAME>GIrNode</NAME>
+struct _GIrNode
+{
+ GIrNodeTypeId type;
+ gchar *name;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeXRef</NAME>
+struct _GIrNodeXRef
+{
+ GIrNode node;
+
+ gchar *namespace;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeFunction</NAME>
+struct _GIrNodeFunction
+{
+ GIrNode node;
+
+ gboolean deprecated;
+ gboolean is_varargs; /* Not in typelib yet */
+
+ gboolean is_method;
+ gboolean is_setter;
+ gboolean is_getter;
+ gboolean is_constructor;
+ gboolean wraps_vfunc;
+ gboolean throws;
+
+ gchar *symbol;
+
+ GIrNodeParam *result;
+ GList *parameters;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeType</NAME>
+struct _GIrNodeType
+{
+ GIrNode node;
+
+ gboolean is_pointer;
+ gboolean is_basic;
+ gboolean is_array;
+ gboolean is_glist;
+ gboolean is_gslist;
+ gboolean is_ghashtable;
+ gboolean is_interface;
+ gboolean is_error;
+ gint tag;
+
+ gchar *unparsed;
+
+ gboolean zero_terminated;
+ gboolean has_length;
+ gint length;
+ gboolean has_size;
+ gint size;
+
+ GIrNodeType *parameter_type1;
+ GIrNodeType *parameter_type2;
+
+ gchar *interface;
+ gchar **errors;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeParam</NAME>
+struct _GIrNodeParam
+{
+ GIrNode node;
+
+ gboolean in;
+ gboolean out;
+ gboolean dipper;
+ gboolean optional;
+ gboolean retval;
+ gboolean allow_none;
+ gboolean transfer;
+ gboolean shallow_transfer;
+ GIScopeType scope;
+
+ gint8 closure;
+ gint8 destroy;
+
+ GIrNodeType *type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeProperty</NAME>
+struct _GIrNodeProperty
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ gchar *name;
+ gboolean readable;
+ gboolean writable;
+ gboolean construct;
+ gboolean construct_only;
+
+ GIrNodeType *type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeSignal</NAME>
+struct _GIrNodeSignal
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ gboolean run_first;
+ gboolean run_last;
+ gboolean run_cleanup;
+ gboolean no_recurse;
+ gboolean detailed;
+ gboolean action;
+ gboolean no_hooks;
+
+ gboolean has_class_closure;
+ gboolean true_stops_emit;
+
+ gint class_closure;
+
+ GList *parameters;
+ GIrNodeParam *result;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeVFunc</NAME>
+struct _GIrNodeVFunc
+{
+ GIrNode node;
+
+ gboolean is_varargs; /* Not in typelib yet */
+ gboolean must_chain_up;
+ gboolean must_be_implemented;
+ gboolean must_not_be_implemented;
+ gboolean is_class_closure;
+
+ GList *parameters;
+ GIrNodeParam *result;
+
+ gint offset;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeField</NAME>
+struct _GIrNodeField
+{
+ GIrNode node;
+
+ gboolean readable;
+ gboolean writable;
+ gint bits;
+ gint offset;
+
+ GIrNodeType *type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeInterface</NAME>
+struct _GIrNodeInterface
+{
+ GIrNode node;
+
+ gboolean abstract;
+ gboolean deprecated;
+
+ gchar *gtype_name;
+ gchar *gtype_init;
+
+ gchar *parent;
+ gchar *class_struct; /* Only applies to classes */
+
+ GList *interfaces;
+ GList *prerequisites;
+
+ gint alignment;
+ gint size;
+
+ GList *members;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeValue</NAME>
+struct _GIrNodeValue
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ guint32 value;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeConstant</NAME>
+struct _GIrNodeConstant
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ GIrNodeType *type;
+
+ gchar *value;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeEnum</NAME>
+struct _GIrNodeEnum
+{
+ GIrNode node;
+
+ gboolean deprecated;
+ gint storage_type;
+
+ gchar *gtype_name;
+ gchar *gtype_init;
+
+ GList *values;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeBoxed</NAME>
+struct _GIrNodeBoxed
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ gchar *gtype_name;
+ gchar *gtype_init;
+
+ gint alignment;
+ gint size;
+
+ GList *members;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeStruct</NAME>
+struct _GIrNodeStruct
+{
+ GIrNode node;
+
+ gboolean deprecated;
+ gboolean disguised;
+ gboolean is_gclass_struct;
+
+ gchar *gtype_name;
+ gchar *gtype_init;
+
+ gint alignment;
+ gint size;
+
+ GList *members;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeUnion</NAME>
+struct _GIrNodeUnion
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ GList *members;
+ GList *discriminators;
+
+ gchar *gtype_name;
+ gchar *gtype_init;
+
+ gint alignment;
+ gint size;
+
+ gint discriminator_offset;
+ GIrNodeType *discriminator_type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GIrNodeErrorDomain</NAME>
+struct _GIrNodeErrorDomain
+{
+ GIrNode node;
+
+ gboolean deprecated;
+
+ gchar *name;
+ gchar *getquark;
+ gchar *codes;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>g_ir_node_new</NAME>
+<RETURNS>GIrNode *</RETURNS>
+GIrNodeTypeId type
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_free</NAME>
+<RETURNS>void </RETURNS>
+GIrNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_get_size</NAME>
+<RETURNS>guint32 </RETURNS>
+GIrNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_get_full_size</NAME>
+<RETURNS>guint32 </RETURNS>
+GIrNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_build_typelib</NAME>
+<RETURNS>void </RETURNS>
+GIrNode *node,GIrModule *module,GList *modules,GHashTable *strings,GHashTable *types,guchar *data,guint32 *offset,guint32 *offset2
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_cmp</NAME>
+<RETURNS>int </RETURNS>
+GIrNode *node,GIrNode *other
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_can_have_member</NAME>
+<RETURNS>gboolean </RETURNS>
+GIrNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_add_member</NAME>
+<RETURNS>void </RETURNS>
+GIrNode *node,GIrNodeFunction *member
+</FUNCTION>
+<FUNCTION>
+<NAME>write_string</NAME>
+<RETURNS>guint32 </RETURNS>
+const gchar *str,GHashTable *strings,guchar *data,guint32 *offset
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_param_direction_string</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIrNodeParam * node
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_type_to_string</NAME>
+<RETURNS>const gchar *</RETURNS>
+GIrNodeTypeId type
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_find_node</NAME>
+<RETURNS>gboolean </RETURNS>
+GIrModule *module,GList *modules,const char *name,GIrNode **node_out,GIrModule **module_out
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_node_compute_offsets</NAME>
+<RETURNS>void </RETURNS>
+GIrNode *node,GIrModule *module,GList *modules
+</FUNCTION>
+<STRUCT>
+<NAME>GIrParser</NAME>
+</STRUCT>
+<FUNCTION>
+<NAME>g_ir_parser_new</NAME>
+<RETURNS>GIrParser *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_parser_free</NAME>
+<RETURNS>void </RETURNS>
+GIrParser *parser
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_parser_set_includes</NAME>
+<RETURNS>void </RETURNS>
+GIrParser *parser,const gchar *const *includes
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_parser_parse_string</NAME>
+<RETURNS>GList *</RETURNS>
+GIrParser *parser,const gchar *namespace,const gchar *buffer,gssize length,GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>g_ir_parser_parse_file</NAME>
+<RETURNS>GList *</RETURNS>
+GIrParser *parser,const gchar *filename,GError **error
+</FUNCTION>
+<FUNCTION>
+<NAME>g_idl_writer_save_file</NAME>
+<RETURNS>void </RETURNS>
+GIdlModule *module, const gchar *filename
+</FUNCTION>
+<MACRO>
+<NAME>G_IR_MAGIC</NAME>
+#define G_IR_MAGIC "GOBJ\nMETADATA\r\n\032"
+</MACRO>
+<MACRO>
+<NAME>BLOB_IS_REGISTERED_TYPE</NAME>
+#define BLOB_IS_REGISTERED_TYPE(blob) \
+ ((blob)->blob_type == BLOB_TYPE_STRUCT || \
+ (blob)->blob_type == BLOB_TYPE_UNION || \
+ (blob)->blob_type == BLOB_TYPE_ENUM || \
+ (blob)->blob_type == BLOB_TYPE_OBJECT || \
+ (blob)->blob_type == BLOB_TYPE_INTERFACE)
+</MACRO>
+<STRUCT>
+<NAME>GTypelib</NAME>
+struct _GTypelib {
+ guchar *data;
+ gsize len;
+ gboolean owns_memory;
+ GMappedFile *mfile;
+ GList *modules;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>g_typelib_get_dir_entry</NAME>
+<RETURNS>DirEntry *</RETURNS>
+GTypelib *typelib,guint16 index
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_check_sanity</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>g_typelib_get_string</NAME>
+#define g_typelib_get_string(typelib,offset) ((const gchar*)&(typelib->data)[(offset)])
+</MACRO>
+<ENUM>
+<NAME>GTypelibError</NAME>
+typedef enum
+{
+ G_TYPELIB_ERROR_INVALID,
+ G_TYPELIB_ERROR_INVALID_HEADER,
+ G_TYPELIB_ERROR_INVALID_DIRECTORY,
+ G_TYPELIB_ERROR_INVALID_ENTRY,
+ G_TYPELIB_ERROR_INVALID_BLOB
+} GTypelibError;
+</ENUM>
+<MACRO>
+<NAME>G_TYPELIB_ERROR</NAME>
+#define G_TYPELIB_ERROR (g_typelib_error_quark ())
+</MACRO>
+<FUNCTION>
+<NAME>g_typelib_error_quark</NAME>
+<RETURNS>GQuark </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>g_typelib_validate</NAME>
+<RETURNS>gboolean </RETURNS>
+GTypelib *typelib,GError **error
+</FUNCTION>
diff --git a/docs/reference/gi-docs.sgml b/docs/reference/gi-docs.sgml
new file mode 100644
index 0000000..dc28eba
--- /dev/null
+++ b/docs/reference/gi-docs.sgml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+<!ENTITY gi-ginfo SYSTEM "xml/ginfo.xml">
+<!ENTITY gi-girepository SYSTEM "xml/girepository.xml">
+<!ENTITY gi-girffi SYSTEM "xml/girffi.xml">
+<!ENTITY gi-girmodule SYSTEM "xml/girmodule.xml">
+<!ENTITY gi-girnode SYSTEM "xml/girnode.xml">
+<!ENTITY gi-girparser SYSTEM "xml/girparser.xml">
+<!ENTITY gi-girwriter SYSTEM "xml/girwriter.xml">
+<!ENTITY gi-gtypelib SYSTEM "xml/gtypelib.xml">
+
+<!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index">
+ <bookinfo>
+ <title>GObject Introspection Reference Manual</title>
+ </bookinfo>
+
+ <chapter id="glib">
+ <title>GObject-Introspection Overview</title>
+ <para>
+Bla bla bla bla bla
+ </para>
+<!--
+ &gi-overview;
+ &gi-building;
+-->
+ </chapter>
+
+ <part id="gi-gir">
+ <title>GIR markup format</title>
+ <xi:include href="gi-gir-reference.xml" />
+<!--
+ &gi-gir-creating;
+ &gi-gir-parsing;
+ &gi-gir-verifying;
+-->
+ </part>
+
+ <chapter id="gi-typelib">
+ <title>typelib</title>
+ &gi-gtypelib;
+ </chapter>
+
+ <chapter id="gi-girepository">
+ <title>GIRepository</title>
+ &gi-girepository;
+ &gi-ginfo;
+ &gi-girmodule;
+ &gi-girparser;
+ &gi-girwriter;
+ &gi-girffi;
+ </chapter>
+
+<!--
+ <chapter id="tools">
+ <title>GObject Introspection Tools</title>
+
+ &g-ir-scanner;
+ &g-ir-compiler;
+ &g-ir-generator;
+ </chapter>
+-->
+</book>
diff --git a/docs/reference/gi-gir.sgml b/docs/reference/gi-gir.sgml
new file mode 100644
index 0000000..8556b1d
--- /dev/null
+++ b/docs/reference/gi-gir.sgml
@@ -0,0 +1,29 @@
+<chapter id="gi-gir-reference">
+
+ <title>The GIR XML format</title>
+
+ <para>
+ This chapter describes the GIR XML markup format.
+ are interested in the procedure which GTK+ follows to draw its
+ widgets and windows, you should read this chapter; this will be
+ useful to know if you decide to implement your own widgets. This
+ chapter will also clarify the reasons behind the ways certain
+ things are done in GTK+; for example, why you cannot change the
+ background color of all widgets with the same method.
+ </para>
+
+ <section id="gi-gir-api">
+ <title>API node</title>
+
+ The root node of all GIR documents is the api node.
+
+ Attributes:
+ <itemizedlist>
+ <listitem><para>version</para></listitem>
+ The version of the GIR, currently the only known version is 1.0.
+ </itemizedlist>
+
+ </section>
+
+</chapter>
+
diff --git a/docs/reference/gi-overrides.txt b/docs/reference/gi-overrides.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/reference/gi-overrides.txt
diff --git a/docs/reference/gi-sections.txt b/docs/reference/gi-sections.txt
new file mode 100644
index 0000000..0371c70
--- /dev/null
+++ b/docs/reference/gi-sections.txt
@@ -0,0 +1,279 @@
+<SECTION>
+<FILE>girepository</FILE>
+G_TYPE_IREPOSITORY
+G_IREPOSITORY
+GIRepositoryPrivate
+GIBaseInfo
+GICallableInfo
+GIFunctionInfo
+GICallbackInfo
+GIRegisteredTypeInfo
+GIStructInfo
+GIUnionInfo
+GIEnumInfo
+GIObjectInfo
+GIInterfaceInfo
+GIConstantInfo
+GIValueInfo
+GISignalInfo
+GIVFuncInfo
+GIPropertyInfo
+GIFieldInfo
+GIArgInfo
+GITypeInfo
+GIErrorDomainInfo
+GIUnresolvedInfo
+GTypelib
+<TITLE>GIRepository</TITLE>
+GIRepository
+GIRepositoryLoadFlags
+g_irepository_get_default
+g_irepository_prepend_search_path
+g_irepository_get_search_path
+g_irepository_load_typelib
+g_irepository_is_registered
+g_irepository_find_by_name
+g_irepository_require
+g_irepository_get_dependencies
+g_irepository_get_loaded_namespaces
+g_irepository_find_by_gtype
+g_irepository_get_n_infos
+g_irepository_get_info
+g_irepository_get_typelib_path
+g_irepository_get_shared_library
+g_irepository_get_version
+g_irepository_get_option_group
+g_irepository_dump
+g_typelib_new_from_memory
+g_typelib_new_from_const_memory
+g_typelib_new_from_mapped_file
+g_typelib_free
+g_typelib_symbol
+g_typelib_get_namespace
+GIRepositoryError
+G_IREPOSITORY_ERROR
+g_irepository_error_quark
+gi_cclosure_marshal_generic
+GIInfoType
+g_base_info_ref
+g_base_info_unref
+g_base_info_get_type
+g_base_info_get_name
+g_base_info_get_namespace
+g_base_info_is_deprecated
+g_base_info_get_annotation
+g_base_info_get_container
+g_base_info_get_typelib
+g_info_new
+GIFunctionInfoFlags
+g_function_info_get_symbol
+g_function_info_get_flags
+g_function_info_get_property
+g_function_info_get_vfunc
+G_INVOKE_ERROR
+g_invoke_error_quark
+GInvokeError
+g_function_info_invoke
+GITransfer
+g_callable_info_get_return_type
+g_callable_info_get_caller_owns
+g_callable_info_may_return_null
+g_callable_info_get_n_args
+g_callable_info_get_arg
+GIDirection
+GIScopeType
+g_arg_info_get_direction
+g_arg_info_is_dipper
+g_arg_info_is_return_value
+g_arg_info_is_optional
+g_arg_info_may_be_null
+g_arg_info_get_ownership_transfer
+g_arg_info_get_scope
+g_arg_info_get_closure
+g_arg_info_get_destroy
+g_arg_info_get_type
+GITypeTag
+g_type_tag_to_string
+g_type_info_is_pointer
+g_type_info_get_tag
+g_type_info_get_param_type
+g_type_info_get_interface
+g_type_info_get_array_length
+g_type_info_get_array_fixed_size
+g_type_info_is_zero_terminated
+g_type_info_get_n_error_domains
+g_type_info_get_error_domain
+g_error_domain_info_get_quark
+g_error_domain_info_get_codes
+g_value_info_get_value
+GIFieldInfoFlags
+g_field_info_get_flags
+g_field_info_get_size
+g_field_info_get_offset
+g_field_info_get_type
+g_field_info_get_field
+g_field_info_set_field
+g_union_info_get_n_fields
+g_union_info_get_field
+g_union_info_get_n_methods
+g_union_info_get_method
+g_union_info_is_discriminated
+g_union_info_get_discriminator_offset
+g_union_info_get_discriminator_type
+g_union_info_get_discriminator
+g_union_info_find_method
+g_union_info_get_size
+g_union_info_get_alignment
+g_struct_info_get_n_fields
+g_struct_info_get_field
+g_struct_info_get_n_methods
+g_struct_info_get_method
+g_struct_info_find_method
+g_struct_info_get_size
+g_struct_info_get_alignment
+g_struct_info_is_class_struct
+g_registered_type_info_get_type_name
+g_registered_type_info_get_type_init
+g_registered_type_info_get_g_type
+g_enum_info_get_n_values
+g_enum_info_get_value
+g_enum_info_get_storage_type
+g_object_info_get_type_name
+g_object_info_get_type_init
+g_object_info_get_abstract
+g_object_info_get_parent
+g_object_info_get_n_interfaces
+g_object_info_get_interface
+g_object_info_get_n_fields
+g_object_info_get_field
+g_object_info_get_n_properties
+g_object_info_get_property
+g_object_info_get_n_methods
+g_object_info_get_method
+g_object_info_find_method
+g_object_info_get_n_signals
+g_object_info_get_signal
+g_object_info_get_n_vfuncs
+g_object_info_get_vfunc
+g_object_info_get_n_constants
+g_object_info_get_constant
+g_object_info_get_class_struct
+g_interface_info_get_n_prerequisites
+g_interface_info_get_prerequisite
+g_interface_info_get_n_properties
+g_interface_info_get_property
+g_interface_info_get_n_methods
+g_interface_info_get_method
+g_interface_info_find_method
+g_interface_info_get_n_signals
+g_interface_info_get_signal
+g_interface_info_get_n_vfuncs
+g_interface_info_get_vfunc
+g_interface_info_get_n_constants
+g_interface_info_get_constant
+g_property_info_get_flags
+g_property_info_get_type
+g_signal_info_get_flags
+g_signal_info_get_class_closure
+g_signal_info_true_stops_emit
+GIVFuncInfoFlags
+g_vfunc_info_get_flags
+g_vfunc_info_get_offset
+g_vfunc_info_get_signal
+g_constant_info_get_type
+g_constant_info_get_value
+<SUBSECTION Standard>
+G_TYPE_TAG_IS_BASIC
+g_irepository_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gtypelib</FILE>
+G_IR_MAGIC
+GTypelib
+g_typelib_get_dir_entry
+g_typelib_check_sanity
+g_typelib_get_string
+GTypelibError
+G_TYPELIB_ERROR
+g_typelib_error_quark
+g_typelib_validate
+<SUBSECTION Standard>
+BLOB_IS_REGISTERED_TYPE
+</SECTION>
+
+<SECTION>
+<FILE>ginfo</FILE>
+g_type_info_new
+g_info_new_full
+</SECTION>
+
+<SECTION>
+<FILE>girffi</FILE>
+GIFFIClosureCallback
+g_ir_ffi_get_ffi_type
+g_callable_info_get_ffi_arg_types
+g_callable_info_get_ffi_return_type
+g_callable_info_prepare_closure
+g_callable_info_free_closure
+</SECTION>
+
+<SECTION>
+<FILE>girmodule</FILE>
+GIrModule
+g_ir_module_new
+g_ir_module_free
+g_ir_module_add_include_module
+g_ir_module_build_typelib
+</SECTION>
+
+<SECTION>
+<FILE>girnode</FILE>
+GIrNode
+GIrNodeFunction
+GIrNodeParam
+GIrNodeType
+GIrNodeInterface
+GIrNodeSignal
+GIrNodeProperty
+GIrNodeVFunc
+GIrNodeField
+GIrNodeValue
+GIrNodeEnum
+GIrNodeBoxed
+GIrNodeStruct
+GIrNodeConstant
+GIrNodeErrorDomain
+GIrNodeXRef
+GIrNodeUnion
+GIrNodeTypeId
+g_ir_node_new
+g_ir_node_free
+g_ir_node_get_size
+g_ir_node_get_full_size
+g_ir_node_build_typelib
+g_ir_node_cmp
+g_ir_node_can_have_member
+g_ir_node_add_member
+write_string
+g_ir_node_param_direction_string
+g_ir_node_type_to_string
+g_ir_find_node
+g_ir_node_compute_offsets
+</SECTION>
+
+<SECTION>
+<FILE>girparser</FILE>
+GIrParser
+g_ir_parser_new
+g_ir_parser_free
+g_ir_parser_set_includes
+g_ir_parser_parse_string
+g_ir_parser_parse_file
+</SECTION>
+
+<SECTION>
+<FILE>girwriter</FILE>
+g_idl_writer_save_file
+</SECTION>
+
diff --git a/docs/reference/gi.types b/docs/reference/gi.types
new file mode 100644
index 0000000..3b4e9df
--- /dev/null
+++ b/docs/reference/gi.types
@@ -0,0 +1,2 @@
+g_irepository_get_type
+g_irepository_get_type
diff --git a/docs/reference/tmpl/gi-unused.sgml b/docs/reference/tmpl/gi-unused.sgml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/reference/tmpl/gi-unused.sgml
diff --git a/docs/reference/tmpl/ginfo.sgml b/docs/reference/tmpl/ginfo.sgml
new file mode 100644
index 0000000..8b31ad1
--- /dev/null
+++ b/docs/reference/tmpl/ginfo.sgml
@@ -0,0 +1,43 @@
+<!-- ##### SECTION Title ##### -->
+ginfo
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION g_type_info_new ##### -->
+<para>
+
+</para>
+
+@container:
+@typelib:
+@offset:
+@Returns:
+
+
+<!-- ##### FUNCTION g_info_new_full ##### -->
+<para>
+
+</para>
+
+@type:
+@repository:
+@container:
+@typelib:
+@offset:
+@Returns:
+
+
diff --git a/docs/reference/tmpl/girepository.sgml b/docs/reference/tmpl/girepository.sgml
new file mode 100644
index 0000000..6991a64
--- /dev/null
+++ b/docs/reference/tmpl/girepository.sgml
@@ -0,0 +1,1683 @@
+<!-- ##### SECTION Title ##### -->
+GIRepository
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO G_TYPE_IREPOSITORY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_IREPOSITORY ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### STRUCT GIRepositoryPrivate ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIBaseInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GICallableInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIFunctionInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GICallbackInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIRegisteredTypeInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIStructInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIUnionInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIEnumInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIObjectInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIInterfaceInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIConstantInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIValueInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GISignalInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIVFuncInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIPropertyInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIFieldInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIArgInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GITypeInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIErrorDomainInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GIUnresolvedInfo ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GTypelib ##### -->
+<para>
+
+</para>
+
+@data:
+@len:
+@owns_memory:
+@mfile:
+@modules:
+
+<!-- ##### STRUCT GIRepository ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM GIRepositoryLoadFlags ##### -->
+<para>
+
+</para>
+
+@G_IREPOSITORY_LOAD_FLAG_LAZY:
+
+<!-- ##### FUNCTION g_irepository_get_default ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_prepend_search_path ##### -->
+<para>
+
+</para>
+
+@directory:
+
+
+<!-- ##### FUNCTION g_irepository_get_search_path ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_load_typelib ##### -->
+<para>
+
+</para>
+
+@repository:
+@typelib:
+@flags:
+@error:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_is_registered ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@version:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_find_by_name ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_require ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@version:
+@flags:
+@error:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_dependencies ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_loaded_namespaces ##### -->
+<para>
+
+</para>
+
+@repository:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_find_by_gtype ##### -->
+<para>
+
+</para>
+
+@repository:
+@gtype:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_n_infos ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_info ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@index:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_typelib_path ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_shared_library ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_version ##### -->
+<para>
+
+</para>
+
+@repository:
+@namespace_:
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_get_option_group ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION g_irepository_dump ##### -->
+<para>
+
+</para>
+
+@arg:
+@error:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_new_from_memory ##### -->
+<para>
+
+</para>
+
+@memory:
+@len:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_new_from_const_memory ##### -->
+<para>
+
+</para>
+
+@memory:
+@len:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_new_from_mapped_file ##### -->
+<para>
+
+</para>
+
+@mfile:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_free ##### -->
+<para>
+
+</para>
+
+@typelib:
+
+
+<!-- ##### FUNCTION g_typelib_symbol ##### -->
+<para>
+
+</para>
+
+@typelib:
+@symbol_name:
+@symbol:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_get_namespace ##### -->
+<para>
+
+</para>
+
+@typelib:
+@Returns:
+
+
+<!-- ##### ENUM GIRepositoryError ##### -->
+<para>
+
+</para>
+
+@G_IREPOSITORY_ERROR_TYPELIB_NOT_FOUND:
+@G_IREPOSITORY_ERROR_NAMESPACE_MISMATCH:
+@G_IREPOSITORY_ERROR_NAMESPACE_VERSION_CONFLICT:
+@G_IREPOSITORY_ERROR_LIBRARY_NOT_FOUND:
+
+<!-- ##### MACRO G_IREPOSITORY_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION g_irepository_error_quark ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gi_cclosure_marshal_generic ##### -->
+<para>
+
+</para>
+
+@closure:
+@return_gvalue:
+@n_param_values:
+@param_values:
+@invocation_hint:
+@marshal_data:
+
+
+<!-- ##### ENUM GIInfoType ##### -->
+<para>
+
+</para>
+
+@GI_INFO_TYPE_INVALID:
+@GI_INFO_TYPE_FUNCTION:
+@GI_INFO_TYPE_CALLBACK:
+@GI_INFO_TYPE_STRUCT:
+@GI_INFO_TYPE_BOXED:
+@GI_INFO_TYPE_ENUM:
+@GI_INFO_TYPE_FLAGS:
+@GI_INFO_TYPE_OBJECT:
+@GI_INFO_TYPE_INTERFACE:
+@GI_INFO_TYPE_CONSTANT:
+@GI_INFO_TYPE_ERROR_DOMAIN:
+@GI_INFO_TYPE_UNION:
+@GI_INFO_TYPE_VALUE:
+@GI_INFO_TYPE_SIGNAL:
+@GI_INFO_TYPE_VFUNC:
+@GI_INFO_TYPE_PROPERTY:
+@GI_INFO_TYPE_FIELD:
+@GI_INFO_TYPE_ARG:
+@GI_INFO_TYPE_TYPE:
+@GI_INFO_TYPE_UNRESOLVED:
+
+<!-- ##### FUNCTION g_base_info_ref ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_unref ##### -->
+<para>
+
+</para>
+
+@info:
+
+
+<!-- ##### FUNCTION g_base_info_get_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_get_name ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_get_namespace ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_is_deprecated ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_get_annotation ##### -->
+<para>
+
+</para>
+
+@info:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_get_container ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_base_info_get_typelib ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_info_new ##### -->
+<para>
+
+</para>
+
+@type:
+@container:
+@typelib:
+@offset:
+@Returns:
+
+
+<!-- ##### ENUM GIFunctionInfoFlags ##### -->
+<para>
+
+</para>
+
+@GI_FUNCTION_IS_METHOD:
+@GI_FUNCTION_IS_CONSTRUCTOR:
+@GI_FUNCTION_IS_GETTER:
+@GI_FUNCTION_IS_SETTER:
+@GI_FUNCTION_WRAPS_VFUNC:
+@GI_FUNCTION_THROWS:
+
+<!-- ##### FUNCTION g_function_info_get_symbol ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_function_info_get_flags ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_function_info_get_property ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_function_info_get_vfunc ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### MACRO G_INVOKE_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION g_invoke_error_quark ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### ENUM GInvokeError ##### -->
+<para>
+
+</para>
+
+@G_INVOKE_ERROR_FAILED:
+@G_INVOKE_ERROR_SYMBOL_NOT_FOUND:
+@G_INVOKE_ERROR_ARGUMENT_MISMATCH:
+
+<!-- ##### FUNCTION g_function_info_invoke ##### -->
+<para>
+
+</para>
+
+@info:
+@in_args:
+@n_in_args:
+@out_args:
+@n_out_args:
+@return_value:
+@error:
+@Returns:
+
+
+<!-- ##### ENUM GITransfer ##### -->
+<para>
+
+</para>
+
+@GI_TRANSFER_NOTHING:
+@GI_TRANSFER_CONTAINER:
+@GI_TRANSFER_EVERYTHING:
+
+<!-- ##### FUNCTION g_callable_info_get_return_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_get_caller_owns ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_may_return_null ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_get_n_args ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_get_arg ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### ENUM GIDirection ##### -->
+<para>
+
+</para>
+
+@GI_DIRECTION_IN:
+@GI_DIRECTION_OUT:
+@GI_DIRECTION_INOUT:
+
+<!-- ##### ENUM GIScopeType ##### -->
+<para>
+
+</para>
+
+@GI_SCOPE_TYPE_INVALID:
+@GI_SCOPE_TYPE_CALL:
+@GI_SCOPE_TYPE_OBJECT:
+@GI_SCOPE_TYPE_ASYNC:
+@GI_SCOPE_TYPE_NOTIFIED:
+
+<!-- ##### FUNCTION g_arg_info_get_direction ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_is_dipper ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_is_return_value ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_is_optional ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_may_be_null ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_get_ownership_transfer ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_get_scope ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_get_closure ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_get_destroy ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_arg_info_get_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### ENUM GITypeTag ##### -->
+<para>
+
+</para>
+
+@GI_TYPE_TAG_VOID:
+@GI_TYPE_TAG_BOOLEAN:
+@GI_TYPE_TAG_INT8:
+@GI_TYPE_TAG_UINT8:
+@GI_TYPE_TAG_INT16:
+@GI_TYPE_TAG_UINT16:
+@GI_TYPE_TAG_INT32:
+@GI_TYPE_TAG_UINT32:
+@GI_TYPE_TAG_INT64:
+@GI_TYPE_TAG_UINT64:
+@GI_TYPE_TAG_INT:
+@GI_TYPE_TAG_UINT:
+@GI_TYPE_TAG_LONG:
+@GI_TYPE_TAG_ULONG:
+@GI_TYPE_TAG_SSIZE:
+@GI_TYPE_TAG_SIZE:
+@GI_TYPE_TAG_FLOAT:
+@GI_TYPE_TAG_DOUBLE:
+@GI_TYPE_TAG_TIME_T:
+@GI_TYPE_TAG_GTYPE:
+@GI_TYPE_TAG_UTF8:
+@GI_TYPE_TAG_FILENAME:
+@GI_TYPE_TAG_ARRAY:
+@GI_TYPE_TAG_INTERFACE:
+@GI_TYPE_TAG_GLIST:
+@GI_TYPE_TAG_GSLIST:
+@GI_TYPE_TAG_GHASH:
+@GI_TYPE_TAG_ERROR:
+
+<!-- ##### FUNCTION g_type_tag_to_string ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_is_pointer ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_tag ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_param_type ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_interface ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_array_length ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_array_fixed_size ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_is_zero_terminated ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_n_error_domains ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_type_info_get_error_domain ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_error_domain_info_get_quark ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_error_domain_info_get_codes ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_value_info_get_value ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### ENUM GIFieldInfoFlags ##### -->
+<para>
+
+</para>
+
+@GI_FIELD_IS_READABLE:
+@GI_FIELD_IS_WRITABLE:
+
+<!-- ##### FUNCTION g_field_info_get_flags ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_field_info_get_size ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_field_info_get_offset ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_field_info_get_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_field_info_get_field ##### -->
+<para>
+
+</para>
+
+@field_info:
+@mem:
+@value:
+@Returns:
+
+
+<!-- ##### FUNCTION g_field_info_set_field ##### -->
+<para>
+
+</para>
+
+@field_info:
+@mem:
+@value:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_n_fields ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_field ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_n_methods ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_method ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_is_discriminated ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_discriminator_offset ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_discriminator_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_discriminator ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_find_method ##### -->
+<para>
+
+</para>
+
+@info:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_size ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_union_info_get_alignment ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_n_fields ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_field ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_n_methods ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_method ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_find_method ##### -->
+<para>
+
+</para>
+
+@info:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_size ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_get_alignment ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_struct_info_is_class_struct ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_registered_type_info_get_type_name ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_registered_type_info_get_type_init ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_registered_type_info_get_g_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_enum_info_get_n_values ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_enum_info_get_value ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_enum_info_get_storage_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_type_name ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_type_init ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_abstract ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_parent ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_interfaces ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_interface ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_fields ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_field ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_properties ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_property ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_methods ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_method ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_find_method ##### -->
+<para>
+
+</para>
+
+@info:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_signals ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_signal ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_vfuncs ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_vfunc ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_n_constants ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_constant ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_object_info_get_class_struct ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_prerequisites ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_prerequisite ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_properties ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_property ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_methods ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_method ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_find_method ##### -->
+<para>
+
+</para>
+
+@info:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_signals ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_signal ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_vfuncs ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_vfunc ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_n_constants ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_interface_info_get_constant ##### -->
+<para>
+
+</para>
+
+@info:
+@n:
+@Returns:
+
+
+<!-- ##### FUNCTION g_property_info_get_flags ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_property_info_get_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_signal_info_get_flags ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_signal_info_get_class_closure ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_signal_info_true_stops_emit ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### ENUM GIVFuncInfoFlags ##### -->
+<para>
+
+</para>
+
+@GI_VFUNC_MUST_CHAIN_UP:
+@GI_VFUNC_MUST_OVERRIDE:
+@GI_VFUNC_MUST_NOT_OVERRIDE:
+
+<!-- ##### FUNCTION g_vfunc_info_get_flags ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_vfunc_info_get_offset ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_vfunc_info_get_signal ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_constant_info_get_type ##### -->
+<para>
+
+</para>
+
+@info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_constant_info_get_value ##### -->
+<para>
+
+</para>
+
+@info:
+@value:
+@Returns:
+
+
diff --git a/docs/reference/tmpl/girffi.sgml b/docs/reference/tmpl/girffi.sgml
new file mode 100644
index 0000000..a9ad7c1
--- /dev/null
+++ b/docs/reference/tmpl/girffi.sgml
@@ -0,0 +1,78 @@
+<!-- ##### SECTION Title ##### -->
+girffi
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### USER_FUNCTION GIFFIClosureCallback ##### -->
+<para>
+
+</para>
+
+@Param1:
+@Param2:
+@Param3:
+@Param4:
+
+
+<!-- ##### FUNCTION g_ir_ffi_get_ffi_type ##### -->
+<para>
+
+</para>
+
+@tag:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_get_ffi_arg_types ##### -->
+<para>
+
+</para>
+
+@callable_info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_get_ffi_return_type ##### -->
+<para>
+
+</para>
+
+@callable_info:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_prepare_closure ##### -->
+<para>
+
+</para>
+
+@callable_info:
+@cif:
+@callback:
+@user_data:
+@Returns:
+
+
+<!-- ##### FUNCTION g_callable_info_free_closure ##### -->
+<para>
+
+</para>
+
+@callable_info:
+@closure:
+
+
diff --git a/docs/reference/tmpl/girmodule.sgml b/docs/reference/tmpl/girmodule.sgml
new file mode 100644
index 0000000..16e133b
--- /dev/null
+++ b/docs/reference/tmpl/girmodule.sgml
@@ -0,0 +1,71 @@
+<!-- ##### SECTION Title ##### -->
+girmodule
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GIrModule ##### -->
+<para>
+
+</para>
+
+@name:
+@version:
+@shared_library:
+@dependencies:
+@entries:
+@include_modules:
+@aliases:
+@disguised_structures:
+
+<!-- ##### FUNCTION g_ir_module_new ##### -->
+<para>
+
+</para>
+
+@name:
+@nsversion:
+@module_filename:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_module_free ##### -->
+<para>
+
+</para>
+
+@module:
+
+
+<!-- ##### FUNCTION g_ir_module_add_include_module ##### -->
+<para>
+
+</para>
+
+@module:
+@include_module:
+
+
+<!-- ##### FUNCTION g_ir_module_build_typelib ##### -->
+<para>
+
+</para>
+
+@module:
+@modules:
+@Returns:
+
+
diff --git a/docs/reference/tmpl/girnode.sgml b/docs/reference/tmpl/girnode.sgml
new file mode 100644
index 0000000..4e2f790
--- /dev/null
+++ b/docs/reference/tmpl/girnode.sgml
@@ -0,0 +1,420 @@
+<!-- ##### SECTION Title ##### -->
+girnode
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GIrNode ##### -->
+<para>
+
+</para>
+
+@type:
+@name:
+
+<!-- ##### STRUCT GIrNodeFunction ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@is_varargs:
+@is_method:
+@is_setter:
+@is_getter:
+@is_constructor:
+@wraps_vfunc:
+@throws:
+@symbol:
+@result:
+@parameters:
+
+<!-- ##### STRUCT GIrNodeParam ##### -->
+<para>
+
+</para>
+
+@node:
+@in:
+@out:
+@dipper:
+@optional:
+@retval:
+@allow_none:
+@transfer:
+@shallow_transfer:
+@scope:
+@closure:
+@destroy:
+@type:
+
+<!-- ##### STRUCT GIrNodeType ##### -->
+<para>
+
+</para>
+
+@node:
+@is_pointer:
+@is_basic:
+@is_array:
+@is_glist:
+@is_gslist:
+@is_ghashtable:
+@is_interface:
+@is_error:
+@tag:
+@unparsed:
+@zero_terminated:
+@has_length:
+@length:
+@has_size:
+@size:
+@parameter_type1:
+@parameter_type2:
+@interface:
+@errors:
+
+<!-- ##### STRUCT GIrNodeInterface ##### -->
+<para>
+
+</para>
+
+@node:
+@abstract:
+@deprecated:
+@gtype_name:
+@gtype_init:
+@parent:
+@class_struct:
+@interfaces:
+@prerequisites:
+@alignment:
+@size:
+@members:
+
+<!-- ##### STRUCT GIrNodeSignal ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@run_first:
+@run_last:
+@run_cleanup:
+@no_recurse:
+@detailed:
+@action:
+@no_hooks:
+@has_class_closure:
+@true_stops_emit:
+@class_closure:
+@parameters:
+@result:
+
+<!-- ##### STRUCT GIrNodeProperty ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@name:
+@readable:
+@writable:
+@construct:
+@construct_only:
+@type:
+
+<!-- ##### STRUCT GIrNodeVFunc ##### -->
+<para>
+
+</para>
+
+@node:
+@is_varargs:
+@must_chain_up:
+@must_be_implemented:
+@must_not_be_implemented:
+@is_class_closure:
+@parameters:
+@result:
+@offset:
+
+<!-- ##### STRUCT GIrNodeField ##### -->
+<para>
+
+</para>
+
+@node:
+@readable:
+@writable:
+@bits:
+@offset:
+@type:
+
+<!-- ##### STRUCT GIrNodeValue ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@value:
+
+<!-- ##### STRUCT GIrNodeEnum ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@storage_type:
+@gtype_name:
+@gtype_init:
+@values:
+
+<!-- ##### STRUCT GIrNodeBoxed ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@gtype_name:
+@gtype_init:
+@alignment:
+@size:
+@members:
+
+<!-- ##### STRUCT GIrNodeStruct ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@disguised:
+@is_gclass_struct:
+@gtype_name:
+@gtype_init:
+@alignment:
+@size:
+@members:
+
+<!-- ##### STRUCT GIrNodeConstant ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@type:
+@value:
+
+<!-- ##### STRUCT GIrNodeErrorDomain ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@name:
+@getquark:
+@codes:
+
+<!-- ##### STRUCT GIrNodeXRef ##### -->
+<para>
+
+</para>
+
+@node:
+@namespace:
+
+<!-- ##### STRUCT GIrNodeUnion ##### -->
+<para>
+
+</para>
+
+@node:
+@deprecated:
+@members:
+@discriminators:
+@gtype_name:
+@gtype_init:
+@alignment:
+@size:
+@discriminator_offset:
+@discriminator_type:
+
+<!-- ##### ENUM GIrNodeTypeId ##### -->
+<para>
+
+</para>
+
+@G_IR_NODE_INVALID:
+@G_IR_NODE_FUNCTION:
+@G_IR_NODE_CALLBACK:
+@G_IR_NODE_STRUCT:
+@G_IR_NODE_BOXED:
+@G_IR_NODE_ENUM:
+@G_IR_NODE_FLAGS:
+@G_IR_NODE_OBJECT:
+@G_IR_NODE_INTERFACE:
+@G_IR_NODE_CONSTANT:
+@G_IR_NODE_ERROR_DOMAIN:
+@G_IR_NODE_UNION:
+@G_IR_NODE_PARAM:
+@G_IR_NODE_TYPE:
+@G_IR_NODE_PROPERTY:
+@G_IR_NODE_SIGNAL:
+@G_IR_NODE_VALUE:
+@G_IR_NODE_VFUNC:
+@G_IR_NODE_FIELD:
+@G_IR_NODE_XREF:
+
+<!-- ##### FUNCTION g_ir_node_new ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_free ##### -->
+<para>
+
+</para>
+
+@node:
+
+
+<!-- ##### FUNCTION g_ir_node_get_size ##### -->
+<para>
+
+</para>
+
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_get_full_size ##### -->
+<para>
+
+</para>
+
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_build_typelib ##### -->
+<para>
+
+</para>
+
+@node:
+@module:
+@modules:
+@strings:
+@types:
+@data:
+@offset:
+@offset2:
+
+
+<!-- ##### FUNCTION g_ir_node_cmp ##### -->
+<para>
+
+</para>
+
+@node:
+@other:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_can_have_member ##### -->
+<para>
+
+</para>
+
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_add_member ##### -->
+<para>
+
+</para>
+
+@node:
+@member:
+
+
+<!-- ##### FUNCTION write_string ##### -->
+<para>
+
+</para>
+
+@str:
+@strings:
+@data:
+@offset:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_param_direction_string ##### -->
+<para>
+
+</para>
+
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_type_to_string ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_find_node ##### -->
+<para>
+
+</para>
+
+@module:
+@modules:
+@name:
+@node_out:
+@module_out:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_node_compute_offsets ##### -->
+<para>
+
+</para>
+
+@node:
+@module:
+@modules:
+
+
diff --git a/docs/reference/tmpl/girparser.sgml b/docs/reference/tmpl/girparser.sgml
new file mode 100644
index 0000000..bfc6662
--- /dev/null
+++ b/docs/reference/tmpl/girparser.sgml
@@ -0,0 +1,74 @@
+<!-- ##### SECTION Title ##### -->
+girparser
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### STRUCT GIrParser ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_ir_parser_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_parser_free ##### -->
+<para>
+
+</para>
+
+@parser:
+
+
+<!-- ##### FUNCTION g_ir_parser_set_includes ##### -->
+<para>
+
+</para>
+
+@parser:
+@includes:
+
+
+<!-- ##### FUNCTION g_ir_parser_parse_string ##### -->
+<para>
+
+</para>
+
+@parser:
+@namespace:
+@buffer:
+@length:
+@error:
+@Returns:
+
+
+<!-- ##### FUNCTION g_ir_parser_parse_file ##### -->
+<para>
+
+</para>
+
+@parser:
+@filename:
+@error:
+@Returns:
+
+
diff --git a/docs/reference/tmpl/girwriter.sgml b/docs/reference/tmpl/girwriter.sgml
new file mode 100644
index 0000000..204c8b8
--- /dev/null
+++ b/docs/reference/tmpl/girwriter.sgml
@@ -0,0 +1,28 @@
+<!-- ##### SECTION Title ##### -->
+girwriter
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### FUNCTION g_idl_writer_save_file ##### -->
+<para>
+
+</para>
+
+@module:
+@filename:
+
+
diff --git a/docs/reference/tmpl/gtypelib.sgml b/docs/reference/tmpl/gtypelib.sgml
new file mode 100644
index 0000000..825880c
--- /dev/null
+++ b/docs/reference/tmpl/gtypelib.sgml
@@ -0,0 +1,99 @@
+<!-- ##### SECTION Title ##### -->
+gtypelib
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### MACRO G_IR_MAGIC ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### STRUCT GTypelib ##### -->
+<para>
+
+</para>
+
+@data:
+@len:
+@owns_memory:
+@mfile:
+@modules:
+
+<!-- ##### FUNCTION g_typelib_get_dir_entry ##### -->
+<para>
+
+</para>
+
+@typelib:
+@index:
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_check_sanity ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO g_typelib_get_string ##### -->
+<para>
+
+</para>
+
+@typelib:
+@offset:
+
+
+<!-- ##### ENUM GTypelibError ##### -->
+<para>
+
+</para>
+
+@G_TYPELIB_ERROR_INVALID:
+@G_TYPELIB_ERROR_INVALID_HEADER:
+@G_TYPELIB_ERROR_INVALID_DIRECTORY:
+@G_TYPELIB_ERROR_INVALID_ENTRY:
+@G_TYPELIB_ERROR_INVALID_BLOB:
+
+<!-- ##### MACRO G_TYPELIB_ERROR ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION g_typelib_error_quark ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION g_typelib_validate ##### -->
+<para>
+
+</para>
+
+@typelib:
+@error:
+@Returns:
+
+
diff --git a/docs/reference/version.xml.in b/docs/reference/version.xml.in
new file mode 100644
index 0000000..d1cc3c7
--- /dev/null
+++ b/docs/reference/version.xml.in
@@ -0,0 +1,2 @@
+@GOBJECT_INTROSPECTION_VERSION@
+@GOBJECT_INTROSPECTION_VERSION@
diff --git a/girepository/ginfo.c b/girepository/ginfo.c
index a51c6cb..f4ca131 100644
--- a/girepository/ginfo.c
+++ b/girepository/ginfo.c
@@ -658,6 +658,7 @@ g_callable_info_get_n_args (GICallableInfo *info)
/**
* g_callable_info_get_arg:
* @info: a #GICallableInfo
+ * @n: the argument index to fetch
*
* Get information about a particular argument of this callable.
*
@@ -1186,6 +1187,7 @@ g_struct_info_get_alignment (GIStructInfo *info)
* GObject. This function is mainly useful to hide this kind of structure
* from public APIs.
*
+ * Returns: TRUE if it's a class struct, otherwise FALSE
*/
gboolean
g_struct_info_is_class_struct (GIStructInfo *info)
@@ -1493,6 +1495,8 @@ g_object_info_get_constant (GIObjectInfo *info,
*
* Every GObject has two structures; an instance structure and a class
* structure. This function returns the metadata for the class structure.
+ *
+ * Returns: a GIStrucTInfo for the class struct or NULL if none found.
*/
GIStructInfo *
g_object_info_get_class_struct (GIObjectInfo *info)
diff --git a/girepository/girepository.c b/girepository/girepository.c
index f35854a..06ea13c 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -370,12 +370,12 @@ register_internal (GIRepository *repository,
}
/**
- * g_irepository_get_dependencies
+ * g_irepository_get_dependencies:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace of interest
+ * @namespace_: Namespace of interest
*
* Return an array of all (transitive) dependencies for namespace
- * @namespace, including version. The returned strings are of the
+ * @namespace_, including version. The returned strings are of the
* form <code>namespace-version</code>.
*
* Note: The namespace must have already been loaded using a function
@@ -436,10 +436,10 @@ g_irepository_load_typelib (GIRepository *repository,
}
/**
- * g_irepository_is_registered
+ * g_irepository_is_registered:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace of interest
- * @version: <allow-none>: Required version, may be %NULL for latest
+ * @namespace_: Namespace of interest
+ * @version: (allow-none): Required version, may be %NULL for latest
*
* Check whether a particular namespace (and optionally, a specific
* version thereof) is currently loaded. This function is likely to
@@ -460,7 +460,7 @@ g_irepository_is_registered (GIRepository *repository,
}
/**
- * g_irepository_get_default
+ * g_irepository_get_default:
*
* Returns the singleton process-global default #GIRepository. It is
* not currently supported to have multiple repositories in a
@@ -482,12 +482,12 @@ g_irepository_get_default (void)
}
/**
- * g_irepository_get_n_infos
+ * g_irepository_get_n_infos:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace to inspect
+ * @namespace_: Namespace to inspect
*
* This function returns the number of metadata entries in
- * given namespace @namespace. The namespace must have
+ * given namespace @namespace_. The namespace must have
* already been loaded before calling this function.
*
* Returns: number of metadata entries
@@ -591,13 +591,13 @@ find_interface (gpointer key,
}
/**
- * g_irepository_get_info
+ * g_irepository_get_info:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace to inspect
+ * @namespace_: Namespace to inspect
* @index: Offset into namespace metadata for entry
*
* This function returns a particular metadata entry in the
- * given namespace @namespace. The namespace must have
+ * given namespace @namespace_. The namespace must have
* already been loaded before calling this function.
*
* Returns: #GIBaseInfo containing metadata
@@ -630,9 +630,9 @@ g_irepository_get_info (GIRepository *repository,
}
/**
- * g_irepository_find_by_gtype
+ * g_irepository_find_by_gtype:
* @repository: A #GIRepository, may be %NULL for the default
- * @type: GType to search for
+ * @gtype: GType to search for
*
* Searches all loaded namespaces for a particular #GType. Note that
* in order to locate the metadata, the namespace corresponding to
@@ -645,21 +645,21 @@ g_irepository_get_info (GIRepository *repository,
*/
GIBaseInfo *
g_irepository_find_by_gtype (GIRepository *repository,
- GType type)
+ GType gtype)
{
IfaceData data;
repository = get_repository (repository);
data.iface = g_hash_table_lookup (repository->priv->info_by_gtype,
- (gpointer)type);
+ (gpointer)gtype);
if (data.iface)
return g_base_info_ref (data.iface);
data.repo = repository;
data.name = NULL;
- data.type = g_type_name (type);
+ data.type = g_type_name (gtype);
data.index = -1;
data.iface = NULL;
@@ -668,7 +668,7 @@ g_irepository_find_by_gtype (GIRepository *repository,
if (data.iface)
g_hash_table_insert (repository->priv->info_by_gtype,
- (gpointer) type,
+ (gpointer) gtype,
g_base_info_ref (data.iface));
@@ -676,9 +676,9 @@ g_irepository_find_by_gtype (GIRepository *repository,
}
/**
- * g_irepository_find_by_name
+ * g_irepository_find_by_name:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace which will be searched
+ * @namespace_: Namespace which will be searched
* @name: Entry name to find
*
* Searches for a particular entry in a namespace. Before calling
@@ -726,12 +726,12 @@ collect_namespaces (gpointer key,
}
/**
- * g_irepository_get_namespaces
+ * g_irepository_get_namespaces:
* @repository: A #GIRepository, may be %NULL for the default
*
* Return the list of currently loaded namespaces.
*
- * Returns: <utf8,transfer>: List of namespaces
+ * Returns: (utf8) (transfer full): List of namespaces
*/
gchar **
g_irepository_get_loaded_namespaces (GIRepository *repository)
@@ -755,12 +755,12 @@ g_irepository_get_loaded_namespaces (GIRepository *repository)
}
/**
- * g_irepository_get_version
+ * g_irepository_get_version:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace to inspect
+ * @namespace_: Namespace to inspect
*
* This function returns the loaded version associated with the given
- * namespace @namespace.
+ * namespace @namespace_.
*
* Note: The namespace must have already been loaded using a function
* such as #g_irepository_require before calling this function.
@@ -787,12 +787,12 @@ g_irepository_get_version (GIRepository *repository,
}
/**
- * g_irepository_get_shared_library
+ * g_irepository_get_shared_library:
* @repository: A #GIRepository, may be %NULL for the default
- * @namespace: Namespace to inspect
+ * @namespace_: Namespace to inspect
*
* This function returns the full path to the shared C library
- * associated with the given namespace @namespace. There may be no
+ * associated with the given namespace @namespace_. There may be no
* shared library path associated, in which case this function will
* return %NULL.
*
@@ -824,17 +824,16 @@ g_irepository_get_shared_library (GIRepository *repository,
}
/**
- * g_irepository_get_typelib_path
+ * g_irepository_get_typelib_path:
* @repository: Repository, may be %NULL for the default
- * @namespace: GI namespace to use, e.g. "Gtk"
- * @version: <allow-none>: Version of namespace to use, e.g. "0.8", may be %NULL
+ * @namespace_: GI namespace to use, e.g. "Gtk"
*
- * If namespace @namespace is loaded, return the full path to the
+ * If namespace @namespace_ is loaded, return the full path to the
* .typelib file it was loaded from. If the typelib for
- * namespace @namespace was included in a shared library, return
- * the special string "<builtin>".
+ * namespace @namespace_ was included in a shared library, return
+ * the special string "$lt;builtin$gt;".
*
- * Returns: Filesystem path (or <builtin>) if successful, %NULL if namespace is not loaded
+ * Returns: Filesystem path (or $lt;builtin$gt;) if successful, %NULL if namespace is not loaded
*/
const gchar *
@@ -1080,15 +1079,15 @@ find_namespace_latest (const gchar *namespace,
}
/**
- * g_irepository_require
- * @repository: <allow-none>: Repository, may be %NULL for the default
- * @namespace: GI namespace to use, e.g. "Gtk"
- * @version: <allow-none>: Version of namespace, may be %NULL for latest
+ * g_irepository_require:
+ * @repository: (allow-none): Repository, may be %NULL for the default
+ * @namespace_: GI namespace to use, e.g. "Gtk"
+ * @version: (allow-none): Version of namespace, may be %NULL for latest
* @flags: Set of %GIRepositoryLoadFlags, may be %0
* @error: a #GError.
*
- * Force the namespace @namespace to be loaded if it isn't already.
- * If @namespace is not loaded, this function will search for a
+ * Force the namespace @namespace_ to be loaded if it isn't already.
+ * If @namespace_ is not loaded, this function will search for a
* ".typelib" file using the repository search path. In addition, a
* version @version of namespace may be specified. If @version is
* not specified, the latest will be used.
diff --git a/girepository/girffi.c b/girepository/girffi.c
index ffde853..4611a63 100644
--- a/girepository/girffi.c
+++ b/girepository/girffi.c
@@ -225,7 +225,7 @@ g_callable_info_prepare_closure (GICallableInfo *callable_info,
}
/**
- * g_callable_info_prepare_closure:
+ * g_callable_info_free_closure:
* @callable_info: a callable info from a typelib
* @closure: ffi closure
*
diff --git a/girepository/giroffsets.c b/girepository/giroffsets.c
index cc56d0b..d834746 100644
--- a/girepository/giroffsets.c
+++ b/girepository/giroffsets.c
@@ -462,7 +462,7 @@ check_needs_computation (GIrNode *node,
* g_ir_node_compute_offsets:
* @node: a #GIrNode
* @module: Current module being processed
- * @moudles: all currently loaded modules
+ * @modules: all currently loaded modules
*
* If a node is a a structure or union, makes sure that the field
* offsets have been computed, and also computes the overall size and
diff --git a/girepository/girparser.c b/girepository/girparser.c
index fe2f762..795658e 100644
--- a/girepository/girparser.c
+++ b/girepository/girparser.c
@@ -3202,12 +3202,15 @@ post_filter (GIrModule *module)
/**
* g_ir_parser_parse_string:
* @parser: a #GIrParser
+ * @namespace: the namespace of the string
+ * @buffer: the data containing the XML
+ * @length: length of the data
* @error: return location for a #GError, or %NULL
*
* Parse a string that holds a complete GIR XML file, and return a list of a
* a #GirModule for each &lt;namespace/&gt; element within the file.
*
- * @returns: a newly allocated list of #GIrModule. The modules themselves
+ * Returns: a newly allocated list of #GIrModule. The modules themselves
* are owned by the #GIrParser and will be freed along with the parser.
*/
GList *
@@ -3272,12 +3275,13 @@ g_ir_parser_parse_string (GIrParser *parser,
/**
* g_ir_parser_parse_file:
* @parser: a #GIrParser
+ * @filename: filename to parse
* @error: return location for a #GError, or %NULL
*
* Parse GIR XML file, and return a list of a a #GirModule for each
* &lt;namespace/&gt; element within the file.
*
- * @returns: a newly allocated list of #GIrModule. The modules themselves
+ * Returns: a newly allocated list of #GIrModule. The modules themselves
* are owned by the #GIrParser and will be freed along with the parser.
*/
GList *
diff --git a/girepository/gtypelib.c b/girepository/gtypelib.c
index e3b1214..b228a23 100644
--- a/girepository/gtypelib.c
+++ b/girepository/gtypelib.c
@@ -2124,6 +2124,7 @@ g_typelib_get_namespace (GTypelib *typelib)
/**
* g_typelib_symbol:
+ * @typelib: the typelib
* @symbol_name: name of symbol to be loaded
* @symbol: returns a pointer to the symbol value
*
diff --git a/giscanner/cachestore.py b/giscanner/cachestore.py
index 8c90195..9ecde26 100644
--- a/giscanner/cachestore.py
+++ b/giscanner/cachestore.py
@@ -69,7 +69,7 @@ class CacheStore(object):
return (os.stat(store_filename).st_mtime >=
os.stat(filename).st_mtime)
- def _remove_filename(filename):
+ def _remove_filename(self, filename):
try:
os.unlink(filename)
except IOError, e:
diff --git a/m4/gtk-doc.m4 b/m4/gtk-doc.m4
new file mode 100644
index 0000000..a22be91
--- /dev/null
+++ b/m4/gtk-doc.m4
@@ -0,0 +1,43 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH([html-dir],
+ AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST([HTML_DIR])
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE([gtk-doc],
+ AS_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [[default=no]]]),,
+ [enable_gtk_doc=no])
+
+ if test x$enable_gtk_doc = xyes; then
+ ifelse([$1],[],
+ [PKG_CHECK_EXISTS([gtk-doc],,
+ AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
+ [PKG_CHECK_EXISTS([gtk-doc >= $1],,
+ AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
+ fi
+
+ AC_MSG_CHECKING([whether to build gtk-doc documentation])
+ AC_MSG_RESULT($enable_gtk_doc)
+
+ dnl check for tools we added during development
+ AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
+ AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
+
+ AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
+ AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
+ AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
+])
diff --git a/m4/introspection.m4 b/m4/introspection.m4
new file mode 100644
index 0000000..f9ce49c
--- /dev/null
+++ b/m4/introspection.m4
@@ -0,0 +1,88 @@
+dnl -*- mode: autoconf -*-
+dnl Copyright 2009 Johan Dahlin
+dnl
+dnl This file is free software; the author(s) gives unlimited
+dnl permission to copy and/or distribute it, with or without
+dnl modifications, as long as this notice is preserved.
+dnl
+
+# serial 1
+
+m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
+
+ dnl enable/disable introspection
+ m4_if([$2], [require],
+ [dnl
+ enable_introspection=yes
+ ],[dnl
+ AC_ARG_ENABLE(introspection,
+ AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
+ [Enable introspection for this build]),,
+ [enable_introspection=auto])
+ ])dnl
+
+ AC_MSG_CHECKING([for gobject-introspection])
+
+ dnl presence/version checking
+ AS_CASE([$enable_introspection],
+ [no], [dnl
+ found_introspection="no (disabled, use --enable-introspection to enable)"
+ ],dnl
+ [yes],[dnl
+ PKG_CHECK_EXISTS([gobject-introspection-1.0],,
+ AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
+ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
+ found_introspection=yes,
+ AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
+ ],dnl
+ [auto],[dnl
+ PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
+ ],dnl
+ [dnl
+ AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
+ ])dnl
+
+ AC_MSG_RESULT([$found_introspection])
+
+ INTROSPECTION_SCANNER=
+ INTROSPECTION_COMPILER=
+ INTROSPECTION_GENERATE=
+ INTROSPECTION_GIRDIR=
+ INTROSPECTION_TYPELIBDIR=
+ if test "x$found_introspection" = "xyes"; then
+ INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+ INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+ INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
+ fi
+ AC_SUBST(INTROSPECTION_SCANNER)
+ AC_SUBST(INTROSPECTION_COMPILER)
+ AC_SUBST(INTROSPECTION_GENERATE)
+ AC_SUBST(INTROSPECTION_GIRDIR)
+ AC_SUBST(INTROSPECTION_TYPELIBDIR)
+
+ AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
+])
+
+
+dnl Usage:
+dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
+
+AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
+[
+ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
+])
+
+dnl Usage:
+dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
+
+
+AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
+[
+ _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
+])