Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ChangeLog.pre-git
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog.pre-git')
-rw-r--r--ChangeLog.pre-git6128
1 files changed, 6128 insertions, 0 deletions
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 ---