Adjust for added shared-library. Make pylint happy.
[platform/upstream/gobject-introspection.git] / ChangeLog
1 2008-08-20  Colin Walters  <walters@verbum.org>
2
3         * tests/scanner/*-expected.gir: Adjust for
4         added shared-library.
5         * giscanner/giwriter.py: Make pylint happy.
6
7 2008-08-20  Colin Walters  <walters@verbum.org>
8
9         * girepository/girmodule.c (g_ir_module_build_typelib): 
10         Calculate size correctly, avoid use-after-free.
11
12 2008-08-20  Colin Walters  <walters@verbum.org>
13
14         * girepository/girepository.c: Remove
15         g_irepository_register_file in favor of
16         g_irepository_require.  There are two
17         possible deployment scenarios for typelibs:
18         First, separate in $DATADIR/gitypelibs/.  Second,
19         they may be embedded in shlibs.  However since
20         the first is now the normal case, the API is
21         optimized around it.
22
23         Refactor internals to look up typelibs for
24         namespaces just-in-time, but we expect
25         consumers to call g_irepository_require.
26
27         Also, add some docs.  No one has died from that
28         before.
29         * gir/Makefile.am: Need --library for glib.
30         * giscanner/girwriter.py: Write out shared-library.
31         * tools/g-ir-writer: Take the first --library
32         argument as the target of shared-library.  In
33         the future we should make this nicer with pkg-config
34         probably.
35
36 2008-08-20  Colin Walters  <walters@verbum.org>
37
38         * girepository/girparser.py: And parse them.
39
40 2008-08-20  Johan Dahlin  <johan@gnome.org>
41
42         * giscanner/glibast.py: Add gshort/gushort types
43
44 2008-08-20  Colin Walters  <walters@verbum.org>
45
46         * gir/Makefile.am: Rename .gir files using GI namespace.
47         * girepository/girepository.c: Use XDG_DATA_DIRS for
48         looking up typelibs.  Also typelibs are now suffixed
49         with .typelib.
50         * tests/invoke/Makefile.am: Only use metadata.
51         * girepository/Makefile.am: Remove unnecessary include.
52         * tests/scanner/Makefile.am: Update using GI namespaces
53         for scanner includes.
54
55 2008-08-20  Colin Walters  <walters@verbum.org>
56
57         * girepository/transformer.py: Suppress aliases whose
58         name is a builtin.
59         * girepository/ast.py: Define some more aliases.
60
61 2008-08-20  Colin Walters  <walters@verbum.org>
62
63         * girepository/girparser.c: Avoid alias infloops.
64
65 2008-08-20  Colin Walters  <walters@verbum.org>
66
67         * tests/scanner/foo-expected.gir: Fix expected list type.
68
69 2008-08-20  Johan Dahlin  <johan@gnome.org>
70
71         * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name): 
72         Add a workaround for #548689.
73         We can now compile gtk!
74
75 2008-08-20  Colin Walters  <walters@verbum.org>
76
77         * giscanner/glibtransformer.py: Try to look up
78         aliases using the c:type too.
79
80 2008-08-20  Colin Walters  <walters@verbum.org>
81
82         * girepository/girparser.c: Parse union fields.
83
84 2008-08-20  Johan Dahlin  <johan@gnome.org>
85
86         * giscanner/ast.py: Make time_t an alias for long
87
88         * gir/gio-2.0-good.gir:
89         * gir/glib-2.0-good.gir:
90         * gir/gobject-2.0-good.gir:
91         Regnerate
92         * giscanner/glibtransformer.py:
93         Do not delete Class structures, we need them in gdk/gtk.
94         * tests/scanner/drawable-expected.gir:
95         * tests/scanner/foo-expected.gir:
96         * tests/scanner/utility-expected.gir:
97         Update tests.
98
99 2008-08-20  Johan Dahlin  <johan@gnome.org>
100
101         * tests/scanner/Makefile.am:
102         * tests/scanner/annotation-expected.gir:
103         * tests/scanner/annotation.c (annotation_object_class_init),
104         (annotation_object_init), (annotation_object_method),
105         (annotation_object_in), (annotation_object_out),
106         (annotation_object_inout), (annotation_object_inout2),
107         (annotation_object_inout3), (annotation_object_calleeowns),
108         (annotation_object_calleesowns), (annotation_object_get_strings),
109         (annotation_object_with_voidp), (annotation_object_get_objects),
110         (annotation_object_create_object), (annotation_object_allow_none):
111         * tests/scanner/annotation.h:
112         * tests/scanner/foo-expected.gir:
113         * tests/scanner/foo.c:
114         * tests/scanner/foo.h:
115         Split out annotation tests out of foo
116
117 2008-08-20  Johan Dahlin  <johan@gnome.org>
118
119         * tests/scanner/Foo-expected.gir:
120         * tests/scanner/Makefile.am:
121         * tests/scanner/foo-expected.gir:
122         * tests/scanner/foo-object.h:
123         * tests/scanner/foo.c:
124         Foo->foo, foo-object.h -> foo.h
125
126 2008-08-20  Johan Dahlin  <johan@gnome.org>
127
128         * tests/scanner/Foo-expected.gir:
129         * tests/scanner/Makefile.am:
130         * tests/scanner/drawable-expected.gir:
131         * tests/scanner/drawable.c (test_drawable_class_init),
132         (test_drawable_init):
133         * tests/scanner/drawable.h:
134         * tests/scanner/foo-object.h:
135         * tests/scanner/foo.c (foo_boxed_method):
136         Move the drawable parts out of Foo to its own test.
137
138 2008-08-20  Johan Dahlin  <johan@gnome.org>
139
140         * tests/scanner/Foo-expected.gir:
141         * tests/scanner/foo-object.h:
142         * tests/scanner/foo.c (foo_drawable_class_init),
143         (foo_drawable_init):
144         Add a based on GdkDrawable which generates
145         a broken gir.
146
147 2008-08-19  Colin Walters  <walters@verbum.org>
148
149         * giscanner/transformer.py: Don't try
150         to strip prefix before namespace.
151
152 2008-08-19  Johan Dahlin  <johan@gnome.org>
153
154         * giscanner/transformer.py:
155         * tests/scanner/Foo-expected.gir:
156         * tests/scanner/foo-object.h:
157         Add support for typedef void foo type of
158         aliases.
159
160 2008-08-19  Johan Dahlin  <johan@gnome.org>
161
162         * giscanner/ast.py:
163         * giscanner/girwriter.py:
164         * giscanner/glibtransformer.py:
165         * giscanner/transformer.py:
166         * tests/scanner/Foo-expected.gir:
167         Add basic support for union, base the code much
168         on Struct. Add a testcase.
169
170 2008-08-19  Johan Dahlin  <johan@gnome.org>
171
172         * tests/scanner/Foo-expected.gir:
173         * tests/scanner/foo-object.h:
174         Add a union testcase which the compiler currently
175         barfs at.
176
177 2008-08-19  Johan Dahlin  <johan@gnome.org>
178
179         * gobject-introspection-1.0.pc.in:
180         Add a g_ir_compiler variable
181
182 2008-08-19  Colin Walters  <walters@verbum.org>
183
184         * giscanner/ast.py: Rework types to be more closely
185         based on GITypeTag.
186         * giscanner/girparser.py: Parse more bits.
187         * giscanner/girwriter.py: Write sequences in a new
188         way that specifies container type.
189         * giscanner/glibast.py: Adjust for ast.py changes,
190         add 'ctype' property to GLibObject and GLibInterface
191         so we can look things up by it later.
192         * gicanner/transformer.py: Names is new class holding
193         the various namespaces we manage.  Do not confuse
194         with Namespace which is toplevel XML node effectively.
195         Rework all type resolution to go through
196         _resolve_type_name_1.
197         * giscanner/glibtransformer.py: Raise UnknownTypeError
198         instead of ValueError for cleanliness.  Add Unresolved
199         class to mark types whose parent we haven't seen yet.
200         Use new Names object from transformer.py.
201         Correctly look up parent=.
202         Fix type validation to handle sequences.
203         * tests/scanner/Foo-expected.gir: Update for sequence
204         work, int instead of int32.
205         * tools/g-ir-scanner: Add --noclosure option
206         * gir/Makefile.am: Use --noclosure by default for
207         GLib/GObject.
208
209 2008-08-18  Johan Dahlin  <johan@gnome.org>
210
211         * gir/gio-2.0-good.gir:
212         * gir/glib-2.0-good.gir:
213         * gir/gobject-2.0-good.gir:
214         Regenerate.
215
216 2008-08-18  Johan Dahlin  <johan@gnome.org>
217
218         * giscanner/ast.py:
219         * giscanner/girparser.py:
220         * giscanner/girwriter.py:
221         * giscanner/glibast.py:
222         * giscanner/glibtransformer.py:
223         * giscanner/transformer.py:
224         * tests/scanner/Foo-expected.gir:
225         * tests/scanner/foo-object.h:
226         * tests/scanner/utility-expected.gir:
227         * tests/scanner/utility.h:
228         Redo type resolving and validation.
229         Add a couple of new tests.
230         Patch mostly written by Colin.
231
232 2008-08-18  Johan Dahlin  <johan@gnome.org>
233
234         * gir/Makefile.am:
235         * giscanner/girparser.py:
236         Set ctype of enums
237         * giscanner/transformer.py:
238         Improve enum parsing for enums without a GType.
239         Make flags/enum references to other girs work
240         * giscanner/utils.py:
241         Simplify this a bit
242         * tests/scanner/Makefile.am:
243         * tests/scanner/foo-object.h:
244         * tests/scanner/utility-expected.gir:
245         * tests/scanner/utility.h:
246         Add a new test for external enum references
247
248 2008-08-18  Johan Dahlin  <johan@gnome.org>
249
250         * docs/global-module-registry.txt: Update
251
252         * tests/array.gir: Update with new type proposal
253
254         * girepository/girepository.c (g_type_tag_to_string):
255         * girepository/girepository.h:
256         * girepository/girnode.c (g_ir_node_get_full_size_internal),
257         (find_entry_node):
258         * girepository/girnode.h:
259         Make enum serializing functions public. Clean up some whitespace.
260
261 2008-08-17  Johan Dahlin  <johan@gnome.org>
262
263         * docs/global-module-registry.txt:
264         Add a document for an on disk module registry format
265
266 2008-08-17  Johan Dahlin  <johan@gnome.org>
267
268         * gir/Makefile.am:
269         * gir/gio-2.0-good.gir:
270         Add a gio gir.
271
272 2008-08-17  Johan Dahlin  <johan@gnome.org>
273
274         * gir/Makefile.am:
275         * gir/glib-2.0-good.gir:
276         * gir/gobject-2.0-good.gir:
277         * giscanner/cgobject.py:
278         * giscanner/glibtransformer.py:
279         Regenerate GObject & GType.
280         Avoid warnings when generating gobject-2.0.gir.
281         Introspect a little more, and skip *_get_type functions.
282
283 2008-08-17  Colin Walters  <walters@verbum.org>
284
285         * gir/glib-2.0.gir, gir/gobject-2.0.gir:
286         Rename to -good, always generate during build.
287         * gir/Makefile.am: Ensure .gir files dep on
288         all scanner sources.
289         * Makefile.am: Switch build order to ensure
290         the scanner is ready before we do gir/.
291         * tools/g-ir-scanner: Look for .git too.
292
293 2008-08-17  Johan Dahlin  <johan@gnome.org>
294
295         * girepository/gtypelib.c (validate_enum_blob):
296         * giscanner/glibtransformer.py:
297         * giscanner/transformer.py:
298         Remove resolve_possible_typedefs, it was unused.
299         Allow multiple enum values of the sample value in an enum,
300         since it's actually pretty common.
301         Register enums so they can be resolved too.
302
303 2008-08-16  Johan Dahlin  <johan@gnome.org>
304
305         * giscanner/girparser.py:
306         Parse enumeration/bitfield.
307
308 2008-08-16  Johan Dahlin  <johan@gnome.org>
309
310         * giscanner/girparser.py:
311         Parse boxed types.
312
313 2008-08-16  Johan Dahlin  <johan@gnome.org>
314
315         * giscanner/glibtransformer.py:
316         Resolve type names for alias targets
317         * giscanner/transformer.py:
318         Skip FILE* parameters fow now
319
320 2008-08-16  Johan Dahlin  <johan@gnome.org>
321
322         * gir/glib-2.0.gir:
323         * gir/gobject-2.0.gir:
324         Regenerate
325
326         * tests/scanner/Makefile.am:
327         parser -> scanner
328
329 2008-08-15  Colin Walters  <walters@verbum.org>
330
331         * giscanner/glibtransformer.py: Explicitly construct
332         new list, since we're deleting as we iterate.
333         Don't delete all structures which end in Class; just
334         ones which have a paired GObject.
335         Fix printing of type warning.
336         * giscanner/transformer.py: Make strip_namespace_object
337         be the identity function if it doesn't match the 
338         namespace.
339
340 2008-08-15  Colin Walters  <walters@verbum.org>
341
342         * giscanner/cgobject.py: Define yet more argument
343         prototypes; fix prototype for g_type_fundamental.
344
345 2008-08-14  Johan Dahlin  <johan@gnome.org>
346
347         * tests/Makefile.am:
348         * tests/constant.gir:
349         * tests/gobject.gir:
350         * tests/struct.gir:
351         * tools/generate.c (write_struct_info):
352         Fix generator for constant/gobject/struct
353
354 2008-08-14  Johan Dahlin  <johan@gnome.org>
355
356         * tests/Makefile.am:
357         * tests/enum.gir:
358         * tools/generate.c (write_enum_info):
359         Fix generation of enum/bitfields
360
361 2008-08-14  Johan Dahlin  <johan@gnome.org>
362
363         * girepository/girparser.c (start_field), (start_constant),
364         (start_type), (end_element_handler):
365         Clear up constant parsing
366
367         * tests/object.gir:
368         Update
369
370         * tools/generate.c (write_callable_info), (write_function_info),
371         (write_callback_info), (write_constant_info), (write_signal_info),
372         (write_vfunc_info), (write_property_info), (write_object_info),
373         (write_interface_info):
374         Constants/Signals are handled now.
375
376 2008-08-14  Johan Dahlin  <johan@gnome.org>
377
378         * girepository/girparser.c (start_type):
379         Don't require c:type.
380         * tests/Makefile.am:
381         Test boxed.gir
382         * tests/boxed.gir:
383         Update, remove parts we don't support yet
384         * tests/roundtrips.sh:
385         Remove
386         * tools/generate.c (write_type_info), (write_field_info),
387         (write_callable_info), (write_struct_info):
388         Make it emit proper gir.
389
390 2008-08-14  Johan Dahlin  <johan@gnome.org>
391
392         * giscanner/transformer.py:
393         New internal function for adding a new node.
394
395 2008-08-14  Johan Dahlin  <johan@gnome.org>
396
397         * gir/Makefile.am:
398         Define an internal _H_ variable so we skip parsing both
399         i18n headers, only one is needed.
400         * gir/glib-2.0.gir:
401         Add the glib-2.0.gir too.
402         * giscanner/glibast.py:
403         Add gconstpointer as an alias for ANY
404         * giscanner/transformer.py:
405         Do not lower case enumeration names per se.
406         Skip functions which has parameters called 'va_list'
407
408 2008-08-14  Colin Walters  <walters@verbum.org>
409
410         * giscanner/transformer.py: Comment data structures.
411         Also squash pointers in resolve_type_name to correspond
412         with what we do for params.
413         * giscanner/glibtransformer.py: Print warnings in more
414         situations.  Rework checks for method/constructor to
415         look up in our GType database instead of just checking
416         for *.   Avoid generating <record> for GObject which
417         duplicate the <class>.
418         * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
419         in here.
420
421 2008-08-14  Johan Dahlin  <johan@gnome.org>
422
423         * giscanner/girwriter.py:
424         * giscanner/glibast.py:
425         * giscanner/glibtransformer.py:
426         * giscanner/transformer.py:
427         * misc/pyflakes.py:
428         * tests/Makefile.am:
429         Add pyflakes.py and run it in make check.
430         Update the source code to fix the errors reported by
431         pyflakes.
432
433 2008-08-14  Johan Dahlin  <johan@gnome.org>
434
435         * giscanner/ast.py:
436         * giscanner/girparser.py:
437         * giscanner/glibast.py:
438         * giscanner/glibtransformer.py:
439         Refactor the parser a bit.
440         Add parent type to interfaces and update callsites.
441
442 2008-08-14  Johan Dahlin  <johan@gnome.org>
443
444         * giscanner/glibtransformer.py:
445         * giscanner/utils.py:
446         Refactor a bit, avoid isinstance and add a method
447         for each type we parse.
448
449 2008-08-14  Johan Dahlin  <johan@gnome.org>
450
451         * giscanner/ast.py:
452         * giscanner/girparser.py:
453         * giscanner/glibtransformer.py:
454         * tests/Makefile.am:
455         Run pep8.py in make check, fix old errors.
456
457 2008-08-13  Colin Walters  <walters@verbum.org>
458
459         * giscanner/girparser.py: Parse records.
460
461 2008-08-13  Colin Walters  <walters@verbum.org>
462
463         * gir/Makefile.am: Install again.
464         * gir/gobject-2.0.gir: Add some more bits.
465
466 2008-08-13  Colin Walters  <walters@verbum.org>
467
468         * gir/gobject-2.0.gir: Use correct namespace, add GType.
469         * giscanner/girparser.py: Handle aliases.
470         * giscanner/transformer.py: Record aliases.  Make resolver
471         functions public; we now call into these explicitly from
472         glibtransformer.  Handle resolving aliases.
473         * giscanner/glibtransformer.py: Separate our internal namespace
474         from included ones.  Call up into transformer's resolver functions.
475
476 2008-08-13  Johan Dahlin  <johan@gnome.org>
477
478         * girepository/girnode.c (g_ir_node_get_full_size_internal):
479         * girepository/girparser.c (start_class):
480         * giscanner/glibtransformer.py:
481         Allow get_type to be None, set a get_type for GInitiallyUnowned too.
482
483 2008-08-13  Johan Dahlin  <johan@gnome.org>
484
485         * giscanner/cgobject.py:
486         Register GInitiallyUnowned
487         * giscanner/girwriter.py:
488         * giscanner/glibtransformer.py:
489         Special case GObject/GInitially owned as they are a bit special to use.
490
491 2008-08-13  Colin Walters  <walters@verbum.org>
492
493         * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
494         Object is in GObject namespace.
495
496 2008-08-13  Colin Walters  <walters@verbum.org>
497
498         * giscanner/girparser.py: Fix processing of functions
499         from last commit.
500
501 2008-08-13  Colin Walters  <walters@verbum.org>
502
503         * giscanner/girparser.py: Parse more than just <class.
504         * giscanner/glibtransformer.py: Put aliases in a separate
505         data structure since their name is not canonicall.
506         * giscanner/transformer.py: Handle resolving type names
507         from includes.
508
509 2008-08-13  Johan Dahlin  <johan@gnome.org>
510
511         * tools/g-ir-scanner:
512         Allow multiple libraries
513         * giscanner/glibtransformer.py:
514         Rename load_library to add_library, traverse over all libraries
515         when trying to resolve a function
516
517 2008-08-12  Colin Walters  <walters@verbum.org>
518
519         * giscanner/transformer.py: Record typedefs as <alias> elements.
520           Also attempt to look up types in external namespaces.
521         * giscanner/girwriter.py: Write them.
522         * giscanner/glibtransformer.py: Rework resolver using real instanceof
523         checks.  Resolve interface methods and properties.
524         * tests/scanner/foo-object.h: Add a method with typedef.
525         * tests/scanner/Foo-expected.gir: Update.
526         * girepository/girnode.c: Debug tweaks.
527         * girepository/girparser.c: Make a first pass through the XML where we
528         record all the aliases.  This lets us resolve them as we go through the
529         second pass.
530         * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
531         from gir-repository.
532
533 2008-08-12  Colin Walters  <walters@verbum.org>
534
535         * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
536         Correctly do subclasseing in 2nd pass resolution.  Handle callbacks in structure
537         fields.
538         * giscanner/transformer.py: Record typedefs and expose public API for resolving
539         them.
540         * tests/scanner/Foo-expected.gir: Fix expected callback types.
541
542 2008-08-12  Colin Walters  <walters@verbum.org>
543
544         * giscanner/glibtransformer.py: Also transform object properties.
545
546 2008-08-12  Colin Walters  <walters@verbum.org>
547
548         * giscanner/glibtransformer.py: Also transform callbacks
549         and structure field types.
550         * tests/scanner/Fooe-expected.gir: Update to expect correct
551         names for callbacks and structs.
552
553 2008-08-12  Colin Walters  <walters@verbum.org>
554
555         * girepository/girparser.c: Handle 'any'.
556         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
557         Add test for void *.
558
559 2008-08-12  Colin Walters  <walters@verbum.org>
560
561         * giscanner/glibtransformer.py: We need to do type
562         resolution in a second pass after we've seen all the
563         enums, records, etc.
564
565 2008-08-12  Colin Walters  <walters@verbum.org>
566
567         * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
568         Add enum return value.
569         * giscanner/glibtransformer.py: Transform function return types
570         too.
571
572 2008-08-12  Colin Walters  <walters@verbum.org>
573
574         * tests/scanner/Makefile.am: Dep .gir files on scanner
575         sources too.  Also remove @ so we see scanner invocations.
576
577 2008-08-12  Colin Walters  <walters@verbum.org>
578
579         * girepository/girparser.c, girepository/gtypelib.c,
580         girepository/gtypelib.h, girepository/girnode.c:
581         Remove usage of (GAPI-oriented) TypeTag in favor of
582         GITypeTag from girepository.h.
583
584 2008-08-10  Colin Walters  <walters@verbum.org>
585
586         * tests/roundtrips.sh: Use the correct tests.
587
588 2008-08-10  Colin Walters  <walters@verbum.org>
589
590         * giscanner/cgobject.py: Declare/wrap a few more functions.
591         Fix parameter types for g_object_new and g_type_fundamental.
592
593 2008-08-10  Colin Walters  <walters@verbum.org>
594
595         * giscanner/cgobject.py: Add new decorator @gwrap which forces
596         us to declare types for both return value and parameters.  The
597         ctypes default of 'int' is bad because it hides 32/64 bit
598         problems.  Convert all existing functions to use it.
599
600 2008-08-09  Johan Dahlin  <johan@gnome.org>
601
602         * giscanner/__init__.py:
603         * giscanner/ast.py:
604         * giscanner/cgobject.py:
605         * giscanner/gidlparser.py:
606         * giscanner/gidlwriter.py:
607         * giscanner/girparser.py:
608         * giscanner/girwriter.py:
609         * giscanner/glibast.py:
610         * giscanner/glibtransformer.py:
611         * giscanner/odict.py:
612         * giscanner/sourcescanner.py:
613         * giscanner/transformer.py:
614         * giscanner/utils.py:
615         * giscanner/xmlwriter.py:
616         * tools/g-ir-scanner:
617
618         PEP8ify
619
620 2008-08-09  Johan Dahlin  <johan@gnome.org>
621
622         * relaxng/api.xml:
623         * relaxng/c-types.xml:
624         * relaxng/g-types.xml:
625         * relaxng/relaxng.rng:
626         * relaxng/util.xml:
627         Remove outdated relaxng schemas.
628
629 2008-08-09  Johan Dahlin  <johan@gnome.org>
630
631         * *.[ch]:
632         Rename metadata to typelib in variable names,
633         comments and apis.
634
635 2008-08-09  Johan Dahlin  <johan@gnome.org>
636
637         * tools/scanner.c:
638         * tools/scanner.h:
639         Remove old C scanner, which got rewritten in python.
640
641 2008-08-09  Johan Dahlin  <johan@gnome.org>
642
643         * girepository/Makefile.am:
644         * tools/Makefile.am:
645         * tools/girmodule.c:
646         * tools/girmodule.h:
647         * tools/girnode.c:
648         * tools/girnode.h:
649         * tools/girparser.c:
650         * tools/girparser.h:
651         * tools/girwriter.c:
652         * tools/girwriter.h:
653         Move shared *.[ch] files to girepository from tools
654
655 2008-08-09  Johan Dahlin  <johan@gnome.org>
656
657         * tests/Makefile.am:
658         * tests/array.test:
659         * tests/boxed.test:
660         * tests/constant.test:
661         * tests/enum.test:
662         * tests/errors.test:
663         * tests/function.test:
664         * tests/gobject.test:
665         * tests/interface.test:
666         * tests/object.test:
667         * tests/struct.test:
668         * tests/types.test:
669         * tests/union.test:
670         * tests/xref1.test:
671         * tests/xref2.test:
672         Rename *.test to *.gir
673
674 2008-08-09  Johan Dahlin  <johan@gnome.org>
675
676         * configure.ac:
677         * tests/Makefile.am:
678         * tests/parser/Foo-expected.gir:
679         * tests/parser/Makefile.am:
680         * tests/parser/foo-object.h:
681         * tests/parser/foo.c:
682         * tests/parser/utility-expected.gir:
683         * tests/parser/utility.c:
684         * tests/parser/utility.h:
685         * tests/scanner/Makefile.am:
686         Rename tests/parser to test/scanner
687
688 2008-08-08  Colin Walters  <walters@verbum.org>
689
690         * tests/roundtrips.sh: Use local .gir files again.
691
692 2008-08-08  Colin Walters  <walters@verbum.org>
693
694         * tests/invoke/Makefile.am: .gir file depends on libtool
695         library.
696
697 2008-08-08  Colin Walters  <walters@verbum.org>
698
699         * tools/girnode.c: Pass through parent node so we can
700         print the node whose child is NULL, if that occurs.
701
702 2008-08-08  Johan Dahlin  <johan@gnome.org>
703
704         * tests/Makefile.am:
705         Disable roundtrip tests which are not yet working
706         * tests/invoke/testfns.gir:
707         Rewrite as gir.
708
709 2008-08-08  Johan Dahlin  <johan@gnome.org>
710
711         * giscanner/girwriter.py:
712         type -> ntype
713         * giscanner/glibast.py:
714         * giscanner/glibtransformer.py:
715         Swap order of members, to keep it consistent with
716         base enum class
717
718 2008-08-08  Johan Dahlin  <johan@gnome.org>
719
720         * girepository/gtypelib.c (validate_header):
721         * girepository/gtypelib.h:
722         * giscanner/ast.py:
723         * giscanner/girwriter.py:
724         * giscanner/sourcescanner.c (gi_source_symbol_ref),
725         (gi_source_symbol_unref):
726         * tests/array.test:
727         * tests/boxed.test:
728         * tests/constant.test:
729         * tests/enum.test:
730         * tests/errors.test:
731         * tests/function.test:
732         * tests/gobject.test:
733         * tests/interface.test:
734         * tests/invoke/Makefile.am:
735         * tests/invoke/testfns.xml:
736         * tests/object.test:
737         * tests/parser/Makefile.am:
738         * tests/roundtrips.sh:
739         * tests/struct.test:
740         * tests/types.test:
741         * tests/union.test:
742         * tests/xref1.test:
743         * tests/xref2.test:
744         * tools/Makefile.am:
745         * tools/compiler.c (main):
746         * tools/generate.c (write_callable_info), (write_function_info),
747         (write_repository):
748         * tools/gidlmodule.c:
749         * tools/gidlmodule.h:
750         * tools/gidlnode.c:
751         * tools/gidlnode.h:
752         * tools/gidlparser.c:
753         * tools/gidlparser.h:
754         * tools/gidlwriter.c:
755         * tools/gidlwriter.h:
756         * tools/scanner.c (create_node_from_gtype),
757         (create_node_from_ctype), (g_igenerator_process_properties),
758         (g_igenerator_process_signals), (g_igenerator_create_object),
759         (g_igenerator_create_interface), (g_igenerator_create_boxed),
760         (g_igenerator_create_enum), (g_igenerator_create_flags),
761         (g_igenerator_process_function_symbol),
762         (g_igenerator_process_unregistered_struct_typedef),
763         (g_igenerator_process_struct_typedef),
764         (g_igenerator_process_union_typedef),
765         (g_igenerator_process_enum_typedef),
766         (g_igenerator_process_function_typedef),
767         (g_igenerator_process_constant), (g_igenerator_process_symbols),
768         (g_igenerator_add_module), (g_igenerator_add_include_idl):
769         Merge in the gir-compiler branch.
770         Thanks to Philip and Colin for their help.
771
772 2008-07-26  Colin Walters  <walters@verbum.org>
773
774         * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
775         and g-idl-generate to go along with how we're changing this
776         module to be installed.
777         * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
778
779 2008-07-24  Colin Walters  <walters@verbum.org>
780
781         * girepository/girepository.c (g_irepository_register): Add
782         environment variable G_IREPOSITORY_VERBOSE so we can print
783         out what we're doing.
784         * girepository/girepository.c (g_irepository_register_file): 
785         Add GError error message to g_debug call.
786
787 2008-07-08  Jürg Billeter  <j@bitron.ch>
788
789         * giscanner/glibast.py:
790
791         Fix typo
792
793 2008-06-21  Johan Dahlin  <jdahlin@async.com.br>
794
795         * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
796         more tags
797
798 2008-06-20  Johan Dahlin  <jdahlin@async.com.br>
799
800         * giscanner/ast.py:
801         * giscanner/girwriter.py:
802         * giscanner/transformer.py:
803         * tests/parser/Foo-expected.gir:
804         * tests/parser/foo-object.h:
805         * tests/parser/foo.c (foo_object_allow_none):
806         Add support for gtk-doc annotations for allow-none.
807         Add test case.
808
809 2008-06-19  Johan Dahlin  <jdahlin@async.com.br>
810
811         * giscanner/ast.py:
812         * giscanner/girwriter.py:
813         * giscanner/glibast.py:
814         * giscanner/glibtransformer.py:
815         * giscanner/transformer.py:
816         * tests/parser/Foo-expected.gir:
817         Start using abstract type instead of the raw C types.
818         Register a bunch of glib types we care about.
819
820 2008-06-19  Rob Taylor  <rob.taylor@codethink.co.uk>
821
822         * AUTHORS:
823         Update authors
824
825 2008-06-08  Philip Van Hoof  <pvanhoof@gnome.org>
826
827         * girepository/girepository.c:
828         * girepository/gtypelib.c:
829         * girepository/ginfo.c:
830         * girepository/ginvoke.c:
831         * girepository/girepository.h:
832         * girepository/gtypelib.h:
833         * girepository/gmetadata.c:
834         * girepository/Makefile.am:
835         * girepository/gmetadata.h:
836         * tools/compiler.c:
837         * tools/gidlmodule.c:
838         * tools/gidlnode.c
839         * tools/generate.c:
840         * tools/gidlmodule.h:
841         * tools/gidlparser.c:
842
843         Renamed GMetadata to GTypelib
844
845 2008-06-07  Johan Dahlin  <jdahlin@async.com.br>
846
847         * giscanner/xmlwriter.py:
848         Improve line wrapping when > 79 charaters
849
850 2008-06-05  Jürg Billeter  <j@bitron.ch>
851
852         * giscanner/ast.py:
853         * giscanner/girwriter.py:
854         * giscanner/transformer.py:
855         Use <type> element for field types
856         * tests/parser/Foo-expected.gir:
857         Update testcase
858
859 2008-06-04  Johan Dahlin  <jdahlin@async.com.br>
860
861         * giscanner/glibtransformer.py:
862         Fix a bug which prevented GdkEvent from being generated
863
864 2008-06-03  Johan Dahlin  <jdahlin@async.com.br>
865
866         * giscanner/Makefile.am:
867         * giscanner/ast.py:
868         * giscanner/girwriter.py:
869         * giscanner/glibast.py:
870         * giscanner/glibtransformer.py:
871         * giscanner/transformer.py:
872         * giscanner/utils.py:
873         * tests/parser/Foo-expected.gir:
874         Improve enum member parsing and introspection
875
876 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
877
878         * giscanner/scannerparser.y:
879         * giscanner/sourcescanner.h:
880         * giscanner/sourcescanner.py:
881         Add a new source type enum for member.
882         Use __repr__ for improved debugging
883         * giscanner/girparser.py:
884         Ignore some more
885         * giscanner/transformer.py:
886         Improve parsing of struct members.
887         * tests/parser/foo-object.h:
888         Add a new testcase
889
890 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
891
892         * giscanner/xmlwriter.py:
893         Improve error reporting when trying to quote None.
894         * giscanner/girparser.py:
895         Do not print warnings when including more complete .gir files
896         * giscanner/girwriter.py:
897         Do not require a name for parameters, add a todo for singletons
898         * giscanner/glibtransformer.py:
899         Refactor the way structs are done, add a couple of hacks to allow
900         us to get further.
901         * giscanner/transformer.py:
902         Add enough hacks so cairo, atk and pango.gir can be parsed properly
903         * gobject-introspection-1.0.pc.in:
904         Export girdir, so we can access gobject-2.0.gir from outside
905
906 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
907
908         * tools/g-ir-scanner:
909         * tests/parser/Makefile.am:
910         Update sys.path before running the parser so we don't have
911         to setup PYTHONPATH ourselves.
912
913         * Makefile.am:
914         * configure.ac:
915         * girepository/Makefile.am:
916         * giscanner/transformer.py:
917         * gobject-introspection-1.0.pc.in:
918         * gobject-introspection.pc.in:
919         * tools/Makefile.am:
920
921         Rename pkg-config name to gobject-introspection-1.0,
922         Do not installed anything which is not using the gir format.
923         Disable compililation the old C scanner, but still keep the source
924         until all the remaning functionallity has been ported.
925
926 2008-05-31  Johan Dahlin  <jdahlin@async.com.br>
927
928         * giscanner/giscannermodule.c (symbol_get_ident): Prevent
929         a crash when symbol->indent is NULL.
930
931         * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
932         a function to convert a CTYPE symbol to a string
933
934 2008-05-24  Johan Dahlin  <jdahlin@async.com.br>
935
936         * giscanner/ast.py:
937         * giscanner/girwriter.py:
938         * giscanner/giscannermodule.c
939         (pygi_source_scanner_append_filename),
940         (pygi_source_scanner_parse_file):
941         * giscanner/glibtransformer.py:
942         * giscanner/sourcescanner.py:
943         Revert back to using temporary files to send in headers.
944         Allow Functions to be passed in as callbacks, add a couple
945         of try/excepts missing features.
946         We can now scan pango
947
948 2008-05-08  Johan Dahlin  <johan@gnome.org>
949
950         * giscanner/glibtransformer.py:
951         * giscanner/transformer.py:
952         Move namespace stripping glibtransformer->transformer
953
954 2008-05-08  Johan Dahlin  <johan@gnome.org>
955
956         * giscanner/ast.py:
957         * giscanner/girwriter.py:
958         * giscanner/glibtransformer.py:
959         * giscanner/transformer.py:
960         * tools/g-ir-scanner:
961         Introduce a namespace ast node
962
963 2008-05-05  Johan Dahlin  <johan@gnome.org>
964
965         * giscanner/__init__.py:
966         * giscanner/sourcescanner.py:
967         * giscanner/transformer.py:
968         Move sourcescanner symbols to the sourcescanner module, instead
969         of in the global __init__ namespace.
970
971 2008-05-03  Johan Dahlin  <johan@gnome.org>
972
973         * giscanner/glibtransformer.py:
974         * tools/g-ir-scanner:
975         Handle missing parameters better, allow - and + in .la dlname
976         filenames.
977
978 2008-05-03  Johan Dahlin  <johan@gnome.org>
979
980         * giscanner/__init__.py:
981         * giscanner/ast.py:
982         * giscanner/girwriter.py:
983         * giscanner/glibtransformer.py:
984         * giscanner/transformer.py:
985         Parse struct fields properly, improve debugging.
986
987 2008-04-29  Johan Dahlin  <johan@gnome.org>
988
989         * giscanner/ast.py:
990         * giscanner/girwriter.py:
991         * giscanner/transformer.py:
992         * tests/parser/Foo-expected.gir:
993         * TODO:
994         Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
995
996 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
997
998         * Makefile.am:
999         * docs/g-ir-scanner.1:
1000         * metadata-annotations-proposal.txt:
1001         * metadata-format.txt:
1002         Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
1003
1004 2008-04-29  Johan Dahlin  <jdahlin@async.com.br>
1005
1006         * giscanner/girwriter.py:
1007         * giscanner/glibtransformer.py:
1008         * giscanner/transformer.py:
1009         * giscanner/xmlwriter.py:
1010         * tests/parser/Foo-expected.gir:
1011         * tests/parser/foo-object.h:
1012         Write record/structs to gir file too. Add a couple of tests,
1013         fix an off by one error in xmlwriter.py.
1014
1015 2008-04-28  Johan Dahlin  <johan@gnome.org>
1016
1017         * giscanner/xmlwriter.py: Calculate the line length properly,
1018         include the provided extra indentation in the calculation, really.
1019
1020 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
1021
1022         * giscanner/ast.py:
1023         * giscanner/glibast.py:
1024         * giscanner/glibtransformer.py:
1025         * giscanner/transformer.py:
1026         * tools/g-ir-scanner:
1027         Add a --strip-prefix and sort out confusion between names and symbols
1028         for functions and struct + derivaties.
1029         Refactor bootstrap of g-ir-scanner, so we can set options on
1030         Transformer() before parsing everything.
1031
1032 2008-04-28  Johan Dahlin  <johan@gnome.org>
1033
1034         * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
1035         when scanning girepository.h
1036
1037         * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
1038         a __GI_SCANNER__ when we run.
1039
1040 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
1041
1042         * giscanner/ast.py:
1043         * giscanner/girwriter.py:
1044         * giscanner/glibast.py:
1045         * giscanner/glibtransformer.py:
1046         * tests/parser/Foo-expected.gir:
1047         * tests/parser/utility-expected.gir:
1048         Rename most c:identifier to c:type. Add new ones to
1049         class/interface/enum/boxed.
1050
1051 2008-04-28  Johan Dahlin  <jdahlin@async.com.br>
1052
1053         * giscanner/ast.py:
1054         * giscanner/girwriter.py:
1055         * giscanner/glibtransformer.py:
1056         * tests/parser/Foo-expected.gidl:
1057         * tests/parser/Makefile.am:
1058         Move c:identifier from return-value to subchild type,
1059         as per Jürgs suggestion
1060
1061 2008-04-28  Johan Dahlin  <johan@gnome.org>
1062
1063         * giscanner/girwriter.py:
1064         * tests/parser/Foo-expected.gir:
1065         Write property.type as a child node.
1066
1067 2008-04-27  Johan Dahlin  <johan@gnome.org>
1068
1069         * Makefile.am:
1070         * configure.ac:
1071         * gidl/Makefile.am:
1072         * gidl/gobject-2.0.gidl:
1073         * gir/Makefile.am:
1074         * gir/gobject-2.0.gir:
1075         * tests/parser/Makefile.am:
1076         Replace the GObject gidl with a GObject gir.
1077
1078 2008-04-27  Johan Dahlin  <johan@gnome.org>
1079
1080         * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
1081         not a program.
1082
1083         * giscanner/xmlwriter.py:
1084         * tests/parser/Foo-expected.gir:
1085         Include indentation in line length calculation
1086
1087 2008-04-27  Johan Dahlin  <johan@gnome.org>
1088
1089         * giscanner/girparser.py:
1090         Prettify NS parsing using elementtree.
1091
1092 2008-04-27  Johan Dahlin  <johan@gnome.org>
1093
1094         * configure.ac:
1095         * giscanner/Makefile.am:
1096         * giscanner/girparser.py:
1097         * giscanner/glibtransformer.py:
1098         * tests/parser/Foo-expected.gidl:
1099         * tests/parser/Foo-expected.gir:
1100         * tests/parser/Makefile.am:
1101         * tests/parser/utility-expected.gidl:
1102         * tests/parser/utility-expected.gir:
1103         * tools/g-ir-scanner:
1104         Switch over to GIR as the default format. Add a simple GIDL
1105         parser.
1106         Update tests and fix simplify makefiles by depending
1107         on GNU make extensions.
1108
1109 2008-04-27  Johan Dahlin  <johan@gnome.org>
1110
1111         * giscanner/xmlwriter.py:
1112         Wrap attributes for lines which are wider than 79 characters
1113
1114         * giscanner/scannerlexer.l:
1115         Allow parenthesis in annotations
1116
1117         * giscanner/ast.py:
1118         * giscanner/gidlwriter.py:
1119         * giscanner/girwriter.py:
1120         * giscanner/glibtransformer.py:
1121         * giscanner/transformer.py:
1122         Add initial sequence support, including annotation.
1123         Refactor type handling a bit.
1124
1125 2008-04-27  Johan Dahlin  <johan@gnome.org>
1126
1127         * tests/parser/Foo-expected.gidl:
1128         * tests/parser/foo-object.h:
1129         * tests/parser/foo.c (foo_object_class_init),
1130         (foo_object_get_strings), (foo_object_get_objects):
1131         Add two new functions to check sequence return values.
1132         Also fixes a compilation warning.
1133
1134 2008-04-27  Johan Dahlin  <johan@gnome.org>
1135
1136         * giscanner/giscannermodule.c (]): Cast the getter, avoids
1137         a compilation warning.
1138
1139         * tools/Makefile.am (g_ir_scanner_SOURCES):
1140         g-ir-scanner has no sources.
1141
1142 2008-04-25  Johan Dahlin  <johan@gnome.org>
1143
1144         * giscanner/Makefile.am:
1145         * giscanner/ast.py:
1146         * giscanner/gidlparser.py:
1147         * giscanner/gidlwriter.py:
1148         * giscanner/girwriter.py:
1149         * giscanner/glibast.py:
1150         * giscanner/glibtransformer.py:
1151         * giscanner/transformer.py:
1152         Split out nodes to ast.py and glibast.py
1153
1154 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
1155
1156         * giscanner/Makefile.am:
1157         * giscanner/gidlparser.py:
1158         * giscanner/gidlwriter.py:
1159         * giscanner/girwriter.py:
1160         * giscanner/glibtransformer.py:
1161         * giscanner/gobjecttreebuilder.py:
1162         * giscanner/transformer.py:
1163         * giscanner/treebuilder.py:
1164         * tools/g-ir-scanner:
1165         Rename treebuilder to transformer and
1166         gobjectreebuilder to glibtransformer.
1167
1168 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
1169
1170         * giscanner/Makefile.am:
1171         * giscanner/__init__.py:
1172         * giscanner/cgobject.py:
1173         * giscanner/gidlparser.py:
1174         * giscanner/gidlwriter.py:
1175         * giscanner/girwriter.py:
1176         * giscanner/gobjecttreebuilder.py:
1177         * giscanner/odict.py:
1178         * giscanner/sourcescanner.py:
1179         * giscanner/treebuilder.py:
1180         * giscanner/xmlwriter.py:
1181         * tools/Makefile.am:
1182         * tools/g-ir-scanner:
1183         Add LGPLv2 license header and install all python files
1184
1185 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
1186
1187         * TODO:
1188         * giscanner/gidlwriter.py:
1189         * giscanner/giscannermodule.c (pygi_source_directive_new),
1190         (directive_get_options), (pygi_source_symbol_new),
1191         (symbol_get_base_type), (pygi_source_type_new),
1192         (type_get_base_type), (type_get_child_list),
1193         (pygi_source_scanner_get_symbols),
1194         (pygi_source_scanner_get_directives):
1195         * giscanner/gobjecttreebuilder.py:
1196         * giscanner/sourcescanner.py:
1197         * giscanner/treebuilder.py:
1198         * tests/parser/foo-object.h:
1199         Add support for virtual methods.
1200         Pair struct FooClass with struct Foo.
1201         Clean up the SourceScanner bindings a bit.
1202         Add a testcase for virtual methods.
1203
1204 2008-04-25  Johan Dahlin  <jdahlin@async.com.br>
1205
1206         * giscanner/cgobject.py:
1207         * giscanner/gidlwriter.py:
1208         * giscanner/gobjecttreebuilder.py:
1209         Add support for signals
1210
1211         * tests/parser/foo.c (foo_object_class_init):
1212         * Foo-expected.gidl:
1213         Add a signal and update the expected output.
1214
1215 2008-04-24  Johan Dahlin  <jdahlin@async.com.br>
1216
1217         * giscanner/gidlwriter.py:
1218         * giscanner/girwriter.py:
1219         * giscanner/giscannermodule.c (directive_get_name),
1220         (directive_get_value), (directive_get_options),
1221         (symbol_get_directives), (symbol_set_directives),
1222         (pygi_source_scanner_parse_file),
1223         (pygi_source_scanner_lex_filename),
1224         (pygi_source_scanner_get_directives), (init_giscanner):
1225         * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1226         * giscanner/sourcescanner.h:
1227         * giscanner/sourcescanner.py:
1228         * giscanner/treebuilder.py:
1229         * tools/g-ir-scanner:
1230         Add support for source/header annotations.
1231
1232 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1233
1234         * giscanner/gidlwriter.py:
1235         * giscanner/girwriter.py:
1236         * giscanner/gobjecttreebuilder.py:
1237         * giscanner/treebuilder.py:
1238         Add support for Callbacks
1239
1240 2008-04-22  Havoc Pennington  <hp@pobox.com>
1241
1242         * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1243         not in metadata->module, look for it in the global module, in case
1244         some other object or the app itself provides the symbol.
1245
1246 2008-04-22  Havoc Pennington  <hp@pobox.com>
1247
1248         * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1249         dlopening a library that is already in the main app, by checking
1250         whether one of the lib's symbols is already loaded.
1251
1252 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1253
1254         * tests/parser/Foo-expected.gidl:
1255         * tests/parser/foo-object.h:
1256         Add a callback test
1257
1258 2008-04-22  Havoc Pennington  <hp@pobox.com>
1259
1260         * girepository/ginfo.c (g_interface_info_find_method):
1261         Use interface_blob_size not object_blob_size to compute offset.
1262
1263 2008-04-22  Havoc Pennington  <hp@pobox.com>
1264
1265         * girepository/gmetadata.c (_g_metadata_init): remove
1266         G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1267         (Glade and Clutter for example) rely on being loaded globally.
1268
1269 2008-04-22  Havoc Pennington  <hp@pobox.com>
1270
1271         * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1272         function to get the GType given a RegisteredTypeInfo
1273
1274 2008-04-22  Johan Dahlin  <johan@gnome.org>
1275
1276         * COPYING: Add a LGPL license, to prevent automake to
1277         put in a copy of GPL here. Pointed out by Havoc.
1278
1279         * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1280         (g_type_info_is_pointer), (g_type_info_get_tag),
1281         (g_type_info_get_param_type), (g_type_info_get_interface),
1282         (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1283         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1284         (g_error_domain_info_get_codes), (g_enum_info_get_value),
1285         (g_object_info_get_interface), (g_object_info_get_field),
1286         (g_interface_info_get_prerequisite),
1287         (g_signal_info_get_class_closure), (g_constant_info_get_value):
1288         * girepository/ginvoke.c (get_ffi_type):
1289         * girepository/girepository.h:
1290         * girepository/gmetadata.c (g_metadata_get_dir_entry),
1291         (g_metadata_check_sanity), (validate_header),
1292         (validate_array_type_blob), (validate_iface_type_blob),
1293         (validate_param_type_blob), (validate_error_type_blob),
1294         (validate_type_blob), (validate_constant_blob),
1295         (validate_struct_blob), (validate_enum_blob):
1296         * girepository/gmetadata.h:
1297         * tests/Makefile.am:
1298         * tests/invoke/Makefile.am:
1299         * tests/invoke/invoke.c (main):
1300         * tests/roundtrips.sh:
1301         * tools/Makefile.am:
1302         * tools/compiler.c (format_output), (write_out_metadata), (main):
1303         * tools/generate.c (write_type_name), (write_type_info),
1304         (write_constant_value), (write_enum_info), (load_metadata), (main):
1305         * tools/gidlcompilercontext.c:
1306         * tools/gidlcompilercontext.h:
1307         * tools/gidlcompilerentrynode.c:
1308         * tools/gidlcompilerentrynode.h:
1309         * tools/gidlcompilertypenode.c:
1310         * tools/gidlcompilertypenode.h:
1311         * tools/gidlmodule.c (g_idl_module_build_metadata):
1312         * tools/gidlmodule.h:
1313         * tools/gidlnode.c (init_stats), (dump_stats),
1314         (g_idl_node_get_size), (g_idl_node_get_full_size),
1315         (g_idl_node_cmp), (g_idl_node_can_have_member),
1316         (g_idl_node_add_member), (g_idl_node_param_direction_string),
1317         (parse_int_value), (parse_uint_value), (parse_float_value),
1318         (parse_boolean_value), (find_entry_node), (find_entry),
1319         (serialize_type), (g_idl_node_build_metadata), (write_string):
1320         * tools/gidlnode.h:
1321         * tools/gidlparser.c (parse_type_internal):
1322         * tools/quote-file.sh:
1323         Revert revisions 157,149-148,136-129 and 120.
1324         Move back to using g-idl-generate to generate the metadata and
1325         avoids dependency on a c compiler.
1326
1327 2008-04-22  Johan Dahlin  <jdahlin@async.com.br>
1328
1329         * giscanner/girwriter.py:
1330         * tools/g-ir-scanner:
1331         Add an initial GIR writer and a --format option to g-ir-scanner
1332
1333 2008-04-21  Johan Dahlin  <johan@gnome.org>
1334
1335         * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1336         gobject-2.0 and raise ImportError if not found.
1337
1338         * giscanner/gidlparser.py:
1339         * giscanner/gidlwriter.py:
1340         * giscanner/gobjecttreebuilder.py:
1341         * tools/g-ir-scanner:
1342         Add a --include argument to include types from other idls.
1343         Add a minimalistic GIDL parser (just objects for now)
1344         Implement resolving of external type references and use it to
1345         resolve parent types, argument types and return types.
1346
1347 2008-04-21  Johan Dahlin  <johan@gnome.org>
1348
1349         * giscanner/gidlwriter.py:
1350         * giscanner/gobjecttreebuilder.py:
1351         * giscanner/treebuilder.py:
1352         Add support for properties.
1353         Refactor Class/Interface support a bit, to share more code and
1354         always initialize their method attribute to an empty list.
1355
1356 2008-04-21  Johan Dahlin  <johan@gnome.org>
1357
1358         * giscanner/cgobject.py:
1359         Add a workaround for a glib bug interface introspection bug
1360         (object_interface_list_properties, object_class_list_properties):
1361         Cast the return value to GParamSpec.
1362
1363         * tests/parser/Foo-expected.gidl: Update
1364         * tests/parser/foo.c: Add a string property
1365
1366         * giscanner/gobjecttreebuilder.py:
1367         After stripping namespaces, remove the original
1368         item to avoid duplication (GtkButton struct and Button object)
1369
1370 2008-04-21  Johan Dahlin  <johan@gnome.org>
1371
1372         * giscanner/gobjecttreebuilder.py:
1373         * giscanner/treebuilder.py:
1374         Strip namespaces before objects, so we'll export
1375         GtkButton as Button in the gtk namespace
1376
1377 2008-04-21  Johan Dahlin  <johan@gnome.org>
1378
1379         * giscanner/gidlwriter.py:
1380         * giscanner/gobjecttreebuilder.py:
1381         * giscanner/treebuilder.py:
1382         Add constructors for object/boxed types.
1383
1384 2008-04-21  Johan Dahlin  <johan@gnome.org>
1385
1386         * giscanner/gidlwriter.py:
1387         * giscanner/gobjecttreebuilder.py:
1388         Add support for boxed types
1389
1390 2008-04-21  Johan Dahlin  <johan@gnome.org>
1391
1392         * giscanner/giscannermodule.c: Mark structures as const,
1393         wrap SourceType.const_string.
1394
1395         * tests/parser/foo-object.h: Add a couple of constants.
1396
1397         * giscanner/gidlwriter.py:
1398         * giscanner/gobjecttreebuilder.py:
1399         * giscanner/treebuilder.py:
1400         Add basic support for interfaces
1401
1402         * tools/g-ir-scanner:
1403         Add -o/--output for writing to a file
1404
1405 2008-04-21  Havoc Pennington  <hp@redhat.com>
1406
1407         * TODO: add some C API wishlist items I could think of quickly
1408
1409 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
1410
1411         * giscanner/gidlwriter.py:
1412         * giscanner/xmlwriter.py:
1413         Add a simple api for writing tags which can be used 
1414         with the new 'with statement' in python 2.5
1415
1416 2008-04-21  Johan Dahlin  <johan@gnome.org>
1417
1418         * giscanner/gobjecttreebuilder.py:
1419         Strip namespace and object prefix from method names.
1420
1421 2008-04-21  Johan Dahlin  <johan@gnome.org>
1422
1423         * tools/g-ir-scanner (main): Add --pkg option to pass in
1424         pkg-config modules to get cflags from.
1425
1426         * giscanner/gidlwriter.py (GIDLWriter._write_method): 
1427         Avoid duplication, reuse function writer for methods.
1428
1429 2008-04-21  Johan Dahlin  <jdahlin@async.com.br>
1430
1431         * giscanner/gidlwriter.py:
1432         * giscanner/gobjecttreebuilder.py:
1433         * giscanner/treebuilder.py:
1434         * tools/g-ir-scanner:
1435         Resolve libtool .la files.
1436         Strip name spaces for methods.
1437         Add function symbols
1438
1439 2008-04-20  Johan Dahlin  <jdahlin@async.com.br>
1440
1441         * giscanner/cgobject.py:
1442         * giscanner/gidlwriter.py:
1443         * giscanner/gobjecttreebuilder.py:
1444         * giscanner/treebuilder.py:
1445         Add support for classes and methods
1446
1447 2008-04-20  Johan Dahlin  <johan@gnome.org>
1448
1449         * giscanner/gidlwriter.py:
1450         * giscanner/gobjecttreebuilder.py:
1451         * giscanner/odict.py:
1452         Avoid conflicts, keep the output ordered similar to
1453         the order of the input.
1454         Add a simple ordered dictionary implemenation
1455
1456 2008-04-19  Johan Dahlin  <johan@gnome.org>
1457
1458         * giscanner/cgobject.py:
1459         * giscanner/gidlwriter.py:
1460         * giscanner/gobjecttreebuilder.py:
1461         * tools/g-ir-scanner:
1462         Start introspecting get-type functions.
1463         Implement support for GLib/GFlags GTypes.
1464         Add a ctype based GObject binding.
1465
1466 2008-04-18  Johan Dahlin  <jdahlin@async.com.br>
1467
1468         * giscanner/gidlwriter.py:
1469         * giscanner/xmlwriter.py:
1470         * tools/g-ir-scanner:
1471         Add a simplistic gidl writer, which can't do too much.
1472
1473 2008-04-18  Johan Dahlin  <johan@gnome.org>
1474
1475         * giscanner/sourcescanner.py:
1476         * giscanner/treebuilder.py:
1477         * tools/g-ir-scanner:
1478         split tree building and source scanning interface to separate files.
1479
1480 2008-04-18  Johan Dahlin  <johan@gnome.org>
1481
1482         * tools/g-ir-scanner (Parameter.__init__): Start constructing
1483         a real node tree.
1484         - Add support for struct/parameter/return, start parsing of ctypes
1485
1486         * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1487         fix the style
1488
1489 2008-03-31  Johan Dahlin  <johan@gnome.org>
1490
1491         * tools/g-ir-scanner:
1492         Start to build abstract syntax node of scanned sources.
1493         Add support for cpp options.
1494
1495 2008-03-27  Johan Dahlin  <johan@gnome.org>
1496
1497         * giscanner/giscannermodule.c:
1498         * giscanner/scannerlexer.l:
1499         * giscanner/sourcescanner.c:
1500         * tools/g-ir-scanner:
1501
1502         Add simple pre-processor using subprocess and a PIPE.
1503         Change the parse_file apis to accept a file descriptor.
1504
1505 2008-03-25  Johan Dahlin  <johan@gnome.org>
1506
1507         * giscanner/__init__.py:
1508         * tools/g-ir-scanner:
1509         Fix a typo and add an example python test program.
1510
1511 2008-03-25  Johan Dahlin  <johan@gnome.org>
1512         
1513         * giscanner/__init__.py:
1514         * giscanner/giscannermodule.c:
1515         * giscanner/sourcescanner.c:
1516         * giscanner/sourcescanner.h:
1517         Add constants and wrap a few more SymbolType fields
1518
1519 2008-03-25  Johan Dahlin  <johan@gnome.org>
1520         
1521         * configure.ac:
1522         * giscanner:
1523         * giscanner/__init__.py:
1524         * giscanner/giscannermodule.c:
1525         * giscanner/Makefile.am:
1526
1527         Add initial python bindings for the scanner and 
1528         depend on python 2.5.
1529
1530 2008-03-25  Johan Dahlin  <johan@gnome.org>
1531
1532         * Makefile.am:
1533         * configure.ac:
1534         * giscanner/Makefile.am:
1535         * giscanner/sourcescanner.c:
1536         * giscanner/sourcescanner.h:
1537         * tools/Makefile.am:
1538         * tools/grealpath.h:
1539         * tools/sourcescanner.c:
1540         * tools/sourcescanner.h:
1541
1542         Move the scanner to a separate library.
1543         
1544 2008-03-23  Johan Dahlin  <johan@gnome.org>
1545
1546         * tools/Makefile.am:
1547         * tools/scanner.c:
1548         * tools/scanner.h:
1549         * tools/scannerlexer.l:
1550         * tools/scannerparser.y:
1551         * tools/sourcescanner.c:
1552         * tools/sourcescanner.h:
1553         Split out the source scanner from the generator.
1554         Rename the symbols used in the scanner to use the gi_ prefix.
1555         This should make it possible to use the raw C parser from
1556         other programs.
1557
1558 2008-03-23  Johan Dahlin  <johan@gnome.org>
1559
1560         * tests/parser/Makefile.am (utility.gidl): 
1561         * tests/parser/utility-expected.gidl: 
1562         Pass in the gobject.gidl since we're defining a GObject.
1563
1564 2008-03-12  Johan Dahlin  <johan@gnome.org>
1565
1566         * relaxng/relaxng.rng:
1567         Add a releaxng in relaxng we can use to validate the relaxngs
1568         schemas
1569
1570 2008-03-12  Jürg Billeter  <j@bitron.ch>
1571
1572         * tools/scanner.c: (g_igenerator_new):
1573         * tools/scannerparser.y:
1574         Fix compiler warnings.
1575
1576 2008-03-12  Jürg Billeter  <j@bitron.ch>
1577
1578         * tools/scanner.c:
1579         * tools/scanner.h:
1580         * tools/scannerparser.y:
1581         Start fixing memory management in g-idl-scanner.
1582
1583 2008-03-12  Rob Taylor  <rob.taylor@codethink.co.uk>
1584
1585         * tools/gidlcompilercontext.c: (write_compiled):
1586         Fix critical warning when no shlib passed to g-idl-compiler.
1587
1588 2008-03-12  Johan Dahlin  <johan@gnome.org>
1589
1590         * tests/parser/utility-expected.gidl:
1591         * tests/parser/utility.h:
1592         Add a get_type-function, so the scanner actually
1593         parses it as an object.
1594         
1595 2008-03-12  Johan Dahlin  <johan@gnome.org>
1596
1597         * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1598         Bad Philip!
1599
1600         * tests/parser/Foo-expected.gidl:
1601         * tests/parser/Makefile.am:
1602         * tests/parser/foo-object.h:
1603         * tests/parser/foo.c:
1604         * tests/parser/utility-expected.gidl:
1605         * tests/parser/utility.c:
1606         * tests/parser/utility.h:
1607
1608         Add a new gidl test. 'utility.gidl', which is used to be able
1609         to test external type references. Add a reference to UtilityObject*
1610         in the idl file.
1611
1612 2008-03-11  Johan Dahlin  <johan@gnome.org>
1613
1614         * tools/compiler.c:
1615         * tools/generate.c:
1616         Remove most global variables
1617
1618 2008-03-11  Philip Van Hoof  <me@pvanhoof.be>
1619  
1620         * tools/scannerlexer.l:
1621         * tools/scanner.c:
1622         * tests/parser/Foo-expected.gidl:
1623         * tests/parser/foo.c:
1624         * tests/parser/Makefile.am:
1625         * tests/parser/foo-object.h:
1626  
1627         Added a few extra tests. Which resulted in finding a few
1628         bugs. Which resulted in me fixing those bugs
1629
1630 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
1631
1632         * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1633         (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1634         Add some comments for strings into generated output for
1635         easier debugging.
1636
1637 2008-03-11  Rob Taylor  <rob.taylor@codethink.co.uk>
1638
1639         * tools/gidlcompilercontext.c: (write_compiled):
1640         Write out the shlibs variable before writing out the strings
1641         length. Fixes compiler warning when using '-l' flag with
1642         g-idl-compiler
1643
1644 2008-03-11  Johan Dahlin  <johan@gnome.org>
1645
1646         * tests/parser/Foo-expected.gidl:
1647         * tests/parser/foo-object.h:
1648         * tools/scanner.c:
1649         * tools/scanner.h:
1650         * tools/scannerlexer.l:
1651         Add support for parsing return arguments. Add support for
1652         caller-owns return types.
1653         Patch by Philip Van Hoof.
1654         
1655         * tools/scannerparser.y:
1656         Remove parsing of the @deprecated syntax used in headers.
1657         We will support gtk-doc deprecation in the future instead.
1658
1659 2008-03-11  Johan Dahlin  <johan@gnome.org>
1660
1661         * tools/compiler.c (main): Coding style fixes
1662
1663 2008-03-10  Johan Dahlin  <johan@gnome.org>
1664
1665         * configure.ac:
1666         Add GCOV_LIBS to GILIBS
1667
1668 2008-03-10  Johan Dahlin  <johan@gnome.org>
1669
1670         * tests/parser/Foo-expected.gidl:
1671         * tests/parser/foo.c:
1672         Rename null-ok to direction=out
1673
1674 2008-03-10  Philip Van Hoof  <me@pvanhoof.be>
1675
1676         reviewed and extensively tested by Johan
1677
1678         * tests/parser/Foo-expected.gidl:
1679         * tests/parser/foo-object.h:
1680         * tests/parser/foo.c:
1681         * tools/gidlnode.c:
1682         * tools/gidlnode.h:
1683         * tools/gidlwriter.c:
1684         * tools/scanner.c:
1685         * tools/scanner.h:
1686         * tools/scannerlexer.l:
1687         * tools/scannerparser.y:
1688
1689         Add support for scanning for gtk-doc comments inside
1690         C source files. Add tests
1691
1692 2008-03-10  Johan Dahlin  <johan@gnome.org>
1693
1694         * tests/parser/Makefile.am:
1695         * tests/parser/foo.c:
1696         * tools/scanner.c:
1697         * tools/scanner.h:
1698         * tools/scannerparser.y:
1699         Add an api to lex filenames.
1700         Lex all source .c files passed in on the command line.
1701         Scan sources in a test and a couple of private structures
1702         which should not be included in the generated gidl
1703
1704 2008-03-10  Johan Dahlin  <johan@gnome.org>
1705
1706         * tests/invoke/Makefile.am: Make the generated metadata 
1707         depend on the g-idl-compiler
1708
1709 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1710
1711         * tools/gidlmodule.c
1712         * tools/gidlmodule.h
1713         * tools/gidlnode.c
1714         * tools/gidlnode.h
1715         Remove the old g-idl-compiler code.
1716
1717
1718 2008-02-22  Mark Doffman  <mark.doffman@codethink.co.uk>
1719
1720         * tools/quote-file.sh
1721         * tools/compiler.c
1722         * tools/generate.c
1723         Move to using the 'C' struct compiler code.
1724
1725 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1726
1727         * girepository/ginfo.c
1728         * tools/generate.c
1729         Change the way that external references with no namespace
1730         are dealt with. External references with no namespace
1731         are placed into the XML as-if they are a local reference.
1732         This is temporary, but helps with roundtrip tests.
1733
1734 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1735
1736         * girepository/ginfo.c
1737         Add the ability to get the value of a constant of
1738         type TYPE_TAG_SYMBOL. In the case of a symbol the value
1739         is provided as a string.
1740
1741         This would deal properly with:
1742         typedef char* random;
1743         const random = "A string";
1744
1745 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1746
1747         * girepository/ginfo.c
1748         * girepository/girepository.h
1749         * tools/generate.c
1750         Add a function to check if an enum is registered or not.
1751         Previously anything testing this relied on the g-type
1752         string offset having a value of 0.
1753
1754         * girepository/gmetadata.c
1755         * girepository/gmetadata.h
1756         * tools/generate.c
1757         Remove unneccesary or erroneous checks. There were two
1758         metadata validation checks which made sure that the blob
1759         sizes were the same as some magic numbers compiled into the code.
1760         This is wrong as it breaks any forwards compatibility that may
1761         be possible.
1762
1763         Checks were also present that made sure that unregistered type
1764         blobs had a value of 0 in the g-type offset field. This is
1765         unneccessary. If a type blob is unregistered then any value
1766         in its g-type field is simply invalid.
1767
1768 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1769
1770         * girepository/ginfo.c
1771         * girepository/gmetadata.c
1772         * girepository/gmetadata.h
1773
1774           Change the metadata format to have a standard header
1775           for all the type blobs. Merge the SimpleTypeBlob
1776           and InterfaceTypeBlob into a union. A union of these
1777           two blobs existed previously but was not explicit
1778           in the metadata format.
1779
1780 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1781
1782         * tools/gidlcompilercontext.c
1783         * tools/gidlcompilercontext.h
1784         * tools/gidlcompilerentrynode.c
1785         * tools/gidlcompilerentrynode.h
1786         * tools/gidlcompilertypenode.c
1787         * tools/gidlcompilertypenode.h
1788
1789         Add code to compile a tree of GIdlNodes to
1790         a 'C' struct representing the metadata.
1791         This is to aid cross-compiling. Previously
1792         the g-idl-compiler created a binary blob with
1793         data written in the byte order and alignment
1794         of the tool rather than the intended target.
1795
1796         Cleaned up and improved by Johan and Robert :-)
1797
1798 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1799
1800         * girepository/ginvoke.c
1801         * girepository/girepository.h
1802         * girepository/gmetadata.c
1803         * girepository/gmetadata.h
1804         * tools/generate.c
1805         * tools/gidlparser.c
1806         Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1807         to avoid confusion with the interface blob.
1808
1809         * tools/generate.c
1810         * tools/gidlparser.c
1811         Remove magic numbers and replace with type-tag
1812         enumeration symbols.
1813
1814         * girepository/gmetadata.c
1815         Add validate declaration.
1816
1817 2008-03-10  Jürg Billeter  <j@bitron.ch>
1818
1819         * tools/gidlparser.c: (parse_type_internal):
1820         * tools/scannerlexer.l:
1821         * tools/scannerparser.y:
1822         Support C99 _Bool type in scanner.
1823
1824 2008-03-10  Jürg Billeter  <j@bitron.ch>
1825
1826         * tests/parser/Foo-expected.gidl:
1827         * tests/parser/foo-object.h:
1828         * tests/parser/foo.c: (foo_enum_method):
1829         * tools/scanner.c: (g_igenerator_process_function_symbol):
1830         Don't skip functions that are defined in the namespace of a type
1831         that doesn't support methods, as for example enums.
1832
1833 2008-03-10  Johan Dahlin  <johan@gnome.org>
1834
1835         * gidl.dtd: Remove, we're using relaxng for now
1836
1837         * tests/parser/Foo-expected.gidl:
1838         * tests/parser/foo-object.h:
1839         * tests/parser/foo.c:
1840         Rename the enum/flags get_type functions to include the whole type.
1841
1842 2008-03-08  Marc-Andre Lureau  <marcandre.lureau@gmail.com>
1843
1844         * tools/gidlwriter.c (enum_generate): added "type-name",
1845         "get-type" and "deprecated" missing arguments.
1846         * tests/parser/Foo-expected.gidl:
1847         * tests/parser/foo-object.h: test enum type, and no type.
1848
1849 2008-03-06  Johan Dahlin  <jdahlin@async.com.br>
1850
1851         * configure.ac:
1852         Consistent checks, add missing 'test'
1853
1854 2008-03-05  Havoc Pennington  <hp@redhat.com>
1855
1856         * configure.ac: Take advantage of a libffi.pc if one exists, as it
1857         does on Fedora 8. Make libffi a hard requirement, since it was in
1858         practice anyway (was not really conditional in the code or
1859         makefile, only in configure).
1860
1861 2008-02-21  Mark Doffman  <mark.doffman@codethink.co.uk>
1862
1863         reviewed by: Rob Taylor  <rob.taylor@codethink.co.uk>
1864         reviewed by: Johan Dahlin  <johan@gnome.org>
1865
1866         * tests/Makefile.am:
1867         * tests/roundtrips.sh:
1868         Modify the roundtrips test so that they do not use the
1869         --raw option of the gidl compiler but instead compile a
1870         shared library to use with g_module.
1871
1872         * tests/invoke/Makefile.am:
1873         * tests/invoke/invoke.c:
1874         Modify the invoke tests to build a shared library rather
1875         than use the --raw option.
1876
1877         * tests/invoke/invoke-namespace-find.sh: Removed:
1878         Noone knows why this was here, so removed.
1879
1880 2008-02-19  Rob Taylor  <rob.taylor@codethink.co.uk>
1881
1882         * tools/scanner.c: (g_igenerator_process_function_symbol):
1883         Move g_idl_node_can_have_member test later, as it broke spotting
1884         get_type's for nodes that can't have members.
1885
1886 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1887
1888         * tools/gidlnode.h:
1889         * tools/gidlnode.c: (g_idl_node_can_have_member):
1890         Add g_idl_node_can_have_member.
1891
1892         * tools/scanner.c: (g_igenerator_process_function_symbol):
1893         Use g_idl_node_can_have_member to test if we should add a function
1894         as a member of the type node.
1895
1896 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1897
1898         * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1899         * gidl/Makefile.am:
1900         * tests/parser/Makefile.am:
1901         Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1902
1903 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1904
1905         * tools/scanner.c: (main):
1906         Ignore -pthread when passed to g-idl-scanner.
1907
1908 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1909
1910         * tools/grealpath.h: Added:
1911         * tools/scanner.c: (main):
1912         * tools/scannerlexer.l:
1913         * tools/Makefile.am:
1914         Always use absolute paths with symbolic links resolved when
1915         comparing filenames.
1916
1917 2008-02-18  Rob Taylor  <rob.taylor@codethink.co.uk>
1918
1919         * gobject-introspection.pc.in:
1920         Provide variables for g-idl-parser, scanner and compiler in the
1921         pkgconfig file.
1922
1923 2008-02-13  Rob Taylor  <rob.taylor@codethink.co.uk>
1924
1925         * gcov.mak:
1926         * girepository/Makefile.am:
1927         * tools/Makefile.am:
1928         Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1929
1930 2008-02-10  Johan Dahlin  <johan@gnome.org>
1931
1932         * tests/parser/Foo-expected.gidl:
1933         * tests/parser/foo-object.h:
1934         * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1935         (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1936         Add boxed test.
1937
1938 2008-02-10  Johan Dahlin  <johan@gnome.org>
1939
1940         * tests/parser/Foo-expected.gidl:
1941         * tests/parser/foo-object.h:
1942         * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1943         Add enum and flags test.
1944
1945 2008-02-10  Johan Dahlin  <johan@gnome.org>
1946
1947         * Makefile.am:
1948         * configure.ac:
1949         * girepository/Makefile.am:
1950         Make 'make distcheck' work again.
1951
1952 2008-02-10  Johan Dahlin  <johan@gnome.org>
1953
1954         * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1955         not as-compiler.m4.
1956
1957         * tests/parser/Makefile.am: Only create Foo.gidl when running make
1958         check, eg exclude it from BUILT_SOURCES.
1959
1960 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
1961
1962         * Makefile.am:
1963         * configure.ac:
1964         * gcov.mak: Added:
1965         * girepository/Makefile.am:
1966         * m4/Makefile.am: Added:
1967         * m4/as-compiler-flag.m4: Added:
1968         * m4/gcov.m4: Added:
1969         * tools/Makefile.am:
1970         Add ability to generate a coverage report.
1971         Adds configure option --enable-gcov and make rule 'check-coverage'.
1972
1973 2008-02-08  Rob Taylor  <rob.taylor@codethink.co.uk>
1974
1975         * Makefile.am:
1976         * configure.ac:
1977         * gidl/Makefile.am: Added:
1978         * girepository/Makefile.am: Added:
1979         * src/Makefile.am: Renamed to tools/Makefile.am:
1980         * src/compiler.c: Renamed to tools/compiler.c:
1981         * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1982         * src/generate.c: Renamed to tools/generate.c:
1983         * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1984         * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1985         * src/gidlnode.c: Renamed to tools/gidlnode.c:
1986         * src/gidlnode.h: Renamed to tools/gidlnode.h:
1987         * src/gidlparser.c: Renamed to tools/gidlparser.c:
1988         * src/gidlparser.h: Renamed to tools/gidlparser.h:
1989         * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1990         * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1991         * src/ginfo.c: Renamed to girepository/ginfo.c:
1992         * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1993         * src/girepository.c: Renamed to girepository/girepository.c:
1994         * src/girepository.h: Renamed to girepository/girepository.h:
1995         * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1996         * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1997         * src/scanner.c: Renamed to tools/scanner.c:
1998         * src/scanner.h: Renamed to tools/scanner.h:
1999         * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
2000         * src/scannerparser.y: Renamed to tools/scannerparser.y:
2001         * tests/invoke/Makefile.am:
2002         Split src/ into girepository/ and tools/
2003
2004         * Makefile.am:
2005         * configure.ac:
2006         * girepository/Makefile.am:
2007         * tests/Makefile.am:
2008         * tests/invoke/Makefile.am:
2009         * tests/parser/Makefile.am:
2010         * tests/roundtrips.sh:
2011         * tools/Makefile.am:
2012         Make distcheck work.
2013
2014 2008-02-04  Rob Taylor  <rob.taylor@codethink.co.uk>
2015
2016         * tests/invoke/invoke.c: (main):
2017         * tests/invoke/testfns.c: (test6), (test7):
2018         * tests/invoke/testfns.xml:
2019         Add tests for invokation with a GList argument.
2020         Also tests caller-owns return values.
2021
2022 2008-02-04  Rob Taylor  <robtaylor@floopily.org>
2023
2024         * src/ginfo.c:
2025         Add some documentation for GICallableInfo
2026
2027 2008-02-01  Mark Doffman  <mark.doffman@codethink.co.uk>
2028
2029         * gidl.dtd:
2030         Correct syntax errors in the DTD file.
2031         * relaxng/api.xml:
2032         * relaxng/c-types.xml:
2033         * relaxng/g-types.xml:
2034         * relaxng/util.xml:
2035         Add a RelaxNG specification for the GObject Introspection XML data.
2036         The Specification has validated all of the test files.
2037
2038 2008-01-25  Rob Taylor  <robtaylor@floopily.org>
2039
2040         * tests/roundtrips.sh:
2041         * tests/struct.test:
2042         Add roundtrip tests for structs.
2043
2044 2008-01-11  Johan Dahlin  <johan@gnome.org>
2045
2046         * src/scanner.c (g_igenerator_process_function_symbol):
2047         Refactor out g_idle_node_add_member.
2048         (create_node_from_gtype, create_node_from_ctype):
2049         Use case instead of if...else
2050         (get_type_from_type_id):
2051         Rename to create_node_from_gtype
2052         (get_type_from_ctype):
2053         Rename to create_node_from_ctype
2054
2055         Rename ginode -> node, gitype -> type, gifunc -> func.
2056
2057         * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
2058         Two new functions, refactor out of scanner.c
2059
2060         * src/scanner.c: (g_igenerator_process_function_symbol):
2061         * src/scannerlexer.l:
2062         Do not save the content of the deprecated variable, only
2063         if it's set or not.
2064
2065 2008-01-11  Johan Dahlin  <johan@gnome.org>
2066
2067         * tests/parser/foo-object.h: Add a couple of comment parser tests.
2068
2069 2008-01-11  Jürg Billeter  <j@bitron.ch>
2070
2071         * src/scannerlexer.l:
2072         Fix GTK-Doc parsing.
2073
2074 2008-01-11  Jürg Billeter  <j@bitron.ch>
2075
2076         * src/scannerlexer.l:
2077         Fix GTK-Doc parsing.
2078
2079 2008-01-11  Jürg Billeter  <j@bitron.ch>
2080
2081         * src/scanner.c: (lookup_symbol):
2082         Return unresolved name if we find unknown symbol.
2083
2084 2008-01-11  Jürg Billeter  <j@bitron.ch>
2085
2086         * src/scanner.c: (g_igenerator_generate):
2087         Initialize GObject to fix scanning interface properties.
2088
2089         * tests/parser/Foo-expected.gidl:
2090         * tests/parser/foo-object.h:
2091         * tests/parser/foo.c: (foo_interface_get_type):
2092         Test interfaces with GObject prerequisite.
2093
2094         * tests/parser/Makefile.am:
2095         Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
2096
2097 2007-12-27  Johan Dahlin  <johan@gnome.org>
2098
2099         * src/scannerlexer.l:
2100         Parse gtk-doc comments.
2101
2102         * src/gidlwriter.c: (function_generate):
2103         Reorganize, avoid duplication and add support for
2104         writing deprecated functions.
2105
2106         * src/scannerparser.y:
2107         * src/scanner.h:
2108         Add new structure CDirective and functions to create/free them.
2109
2110         * src/scanner.c: (g_igenerator_process_function_symbol),
2111         (g_igenerator_process_unregistered_struct_typedef),
2112         (g_igenerator_process_struct_typedef),
2113         (g_igenerator_process_union_typedef),
2114         (g_igenerator_process_enum_typedef),
2115         (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
2116         (g_igenerator_start_preprocessor):
2117         Parse @deprecated directive for functions.
2118         Remove some more C99isms.
2119         Send in -C to cpp to avoid stripping comments.
2120
2121         * tests/parser/foo-object.h:
2122         * tests/parser/Foo-expected.gidl:
2123         Add deprecated directive
2124
2125 2007-12-27  Johan Dahlin  <johan@gnome.org>
2126
2127         * src/scannerlexer.l (intsuffix): Add emacs mode line and
2128         escape ' and " so it looks more like C.
2129
2130         * src/scanner.c:
2131         Unlink temporary file used.
2132
2133 2007-12-27  Johan Dahlin  <johan@gnome.org>
2134
2135         * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
2136         (g_igenerator_start_preprocessor), (main):
2137         * src/scanner.h:
2138         * src/scannerparser.y:
2139         Plug a couple of simple memory leaks.
2140
2141 2007-12-27  Johan Dahlin  <johan@gnome.org>
2142
2143         * src/scanner.c: (g_igenerator_parse_macros),
2144         (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
2145         (main):
2146         * src/scanner.h:
2147         * src/scannerparser.y:
2148         * tests/parser/Makefile.am:
2149
2150         Improve error reporting, return when the preprocessor fails.
2151         Add a verbose parameter, to aid debugging.
2152         Revert to using a temporary file to communicate between the
2153         preprocessor and the parser, because we need to wait for
2154         the exit code from the pre-processor before starting to parse.
2155
2156 2007-12-16  Johan Dahlin  <jdahlin@async.com.br>
2157
2158         * src/Makefile.am: Rename clexer.l to scannerlexer.l and
2159         cparser.y to scannerparser.y
2160
2161 2007-12-11  Johan Dahlin  <johan@gnome.org>
2162
2163         * src/clexer.l:
2164         * src/cparser.y:
2165         * src/scanner.c: (g_igenerator_new):
2166         * src/scanner.h:
2167         Get rid of the global the_generator variable.
2168
2169 2007-12-10  Johan Dahlin  <johan@gnome.org>
2170
2171         * src/scanner.c (main): Add an output option,
2172         add checks for required parameters
2173
2174         * src/Makefile.am:
2175         set BUILD_SOURCES and CLEANFILES properly
2176
2177         * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
2178         (g_writer_write_indent), (g_writer_write_unindent),
2179         (field_generate), (value_generate), (constant_generate),
2180         (property_generate), (function_generate), (vfunc_generate),
2181         (signal_generate), (interface_generate), (struct_generate),
2182         (union_generate), (boxed_generate), (enum_generate),
2183         (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
2184         * src/gidlwriter.h:
2185         * src/scanner.c: (g_igenerator_generate):
2186         * src/scanner.h:
2187         * src/scannerwriter.c:
2188
2189         Refactor scannerwriter to only be tied to a GIdlModule and move
2190         it (again!) to gidlwriter.c. Change the writer function to take
2191         a filename.
2192
2193 2007-12-10  Johan Dahlin  <johan@gnome.org>
2194
2195         * src/Makefile.am:
2196         * src/scanner.c: (g_igenerator_generate):
2197         * src/scanner.h:
2198         * src/scannerwriter.c: (g_igenerator_write_inline),
2199         (g_igenerator_write), (g_igenerator_write_indent),
2200         (g_igenerator_write_unindent), (field_generate), (value_generate),
2201         (constant_generate), (property_generate), (function_generate),
2202         (vfunc_generate), (signal_generate), (interface_generate),
2203         (struct_generate), (union_generate), (boxed_generate),
2204         (enum_generate), (node_generate), (module_generate),
2205         (g_scanner_write_file):
2206
2207         Move the scanner gidl writing to a separate source file.
2208
2209 2007-12-10  Johan Dahlin  <johan@gnome.org>
2210
2211         * src/cparser.y:
2212         * src/scanner.c:
2213         * src/scanner.h:
2214         Move over all CType construction functions.
2215
2216         * tests/parser/Makefile.am:
2217         Be verbose when printing parsing tests results.
2218
2219 2007-12-10  Johan Dahlin  <johan@gnome.org>
2220
2221         * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2222         preprocessor handling to here. Start cpp insteado of cc -E,
2223         always include -U__GNUC__, since it's specific to the preprocessor
2224         we use.
2225
2226         * tests/parser/Makefile.am (check-local): Silent diff and skip
2227         -U__GNUC__ which is always defined now
2228
2229 2007-12-10  Johan Dahlin,,,  <jdahlin@plasttroll>
2230
2231         reviewed by: <delete if not using a buddy>
2232
2233         * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2234         * tests/parser/Makefile.am:
2235
2236 2007-12-09  Johan Dahlin  <johan@gnome.org>
2237
2238         * src/scanner.c:
2239         Use GOption for command line options.
2240         (g_igenerator_new, main): Simplify constructor and they way
2241         parameters are passed into it.
2242
2243         * src/cparser.y:
2244         * src/Makefile.am:
2245         * src/clexer.l:
2246         * src/cparser.y:
2247         * src/gen-introspect.c:
2248         * src/gen-introspect.h:
2249         * src/scanner.c:
2250         Rename gen-introspect.[ch] to scanner.[ch]
2251
2252 2007-12-09  Johan Dahlin  <johan@gnome.org>
2253
2254         * TODO: Update
2255
2256         * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2257         don't make the repository library and the other utilites link against
2258         gthread-2.0
2259
2260         * src/gen-introspect.c: (g_igenerator_create_object),
2261         (g_igenerator_create_interface), (g_igenerator_create_boxed),
2262         (g_igenerator_create_enum), (g_igenerator_create_flags),
2263         (g_igenerator_process_module_symbol),
2264         (g_igenerator_process_module), (g_igenerator_generate), (main):
2265         * src/gen-introspect.h:
2266         Refactor g_igenerator_process_types into smaller pieces.
2267
2268         * tests/parser/Makefile.am:
2269         Depend on the gen-introspect binary
2270
2271 2007-12-09  Johan Dahlin  <johan@gnome.org>
2272
2273         * src/gen-introspect.c (g_igenerator_process_types):
2274         Break into smaller pieces, one for each generated node type.
2275
2276 2007-12-08  Johan Dahlin  <johan@gnome.org>
2277
2278         * src/gen-introspect.c: (g_igenerator_process_types),
2279         (g_igenerator_add_module):
2280         * tests/parser/Foo-expected.gidl:
2281         * tests/parser/foo-object.h:
2282         * tests/parser/foo.c: (foo_subobject_class_init),
2283         (foo_subobject_init):
2284
2285         Add a subobject test and make sure to register defined classes
2286         in the lookup symbol hash table.
2287
2288 2007-12-08  Johan Dahlin  <johan@gnome.org>
2289
2290         * gidl/GLib.gidl:
2291         * src/Makefile.am:
2292         * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2293         (g_igenerator_process_types), (g_igenerator_add_module),
2294         (g_igenerator_add_include_idl), (main):
2295         * src/gen-introspect.h:
2296         * tests/parser/Makefile.am:
2297         * tests/parser/Foo-expected.gidl:
2298
2299         Change the gen-introspect to generate namespaced module names,
2300         such as GLib.Object instead of GObject.
2301         Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2302         add a --include-idl parameter to gen-introspect,
2303         and update the parser test.
2304
2305 2007-12-08  Johan Dahlin  <johan@gnome.org>
2306
2307         * src/gen-introspect.c:
2308         Move main to the end of the file and attempt to make it valid
2309         ansi c.
2310
2311         * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2312         we're not quite ready to generate metadata yet.
2313
2314         * tests/parser/:
2315         * configure.ac:
2316
2317         Add a simple gen-introspect parser test
2318
2319 2007-12-06  Gustavo J. A. M. Carneiro  <gjc@gnome.org>
2320
2321         reviewed by: Johan Dahlin  <johan@gnome.org>
2322
2323         * configure.ac:
2324         * gobject-introspection.pc.in:
2325         * src/Makefile.am:
2326         * src/compiler.c: (format_output), (write_out_metadata), (main):
2327         * src/gen-introspect.c: (main):
2328         * src/gen-introspect.h:
2329         * src/generate.c: (write_callable_info), (write_repository),
2330         (load_metadata), (main):
2331         * src/gidlmodule.c: (g_idl_module_new),
2332         (g_idl_module_build_metadata):
2333         * src/gidlmodule.h:
2334         * src/gidlparser.c: (start_element_handler):
2335         * src/ginfo.c: (g_info_new), (g_info_from_entry),
2336         (g_base_info_get_name), (g_base_info_get_namespace),
2337         (g_base_info_is_deprecated), (g_base_info_get_annotation),
2338         (g_base_info_get_metadata), (g_function_info_get_symbol),
2339         (g_function_info_get_flags), (g_function_info_get_property),
2340         (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2341         (g_callable_info_may_return_null),
2342         (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2343         (g_callable_info_get_arg), (g_arg_info_get_direction),
2344         (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2345         (g_arg_info_is_optional), (g_arg_info_may_be_null),
2346         (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2347         (g_type_info_get_tag), (g_type_info_get_param_type),
2348         (g_type_info_get_interface), (g_type_info_get_array_length),
2349         (g_type_info_is_zero_terminated),
2350         (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2351         (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2352         (g_value_info_get_value), (g_field_info_get_flags),
2353         (g_field_info_get_size), (g_field_info_get_offset),
2354         (g_registered_type_info_get_type_name),
2355         (g_registered_type_info_get_type_init),
2356         (g_struct_info_get_n_fields), (g_struct_info_get_field),
2357         (g_struct_info_get_n_methods), (g_struct_info_get_method),
2358         (find_method), (g_struct_info_find_method),
2359         (g_enum_info_get_n_values), (g_enum_info_get_value),
2360         (g_object_info_get_parent), (g_object_info_get_type_name),
2361         (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2362         (g_object_info_get_interface), (g_object_info_get_n_fields),
2363         (g_object_info_get_field), (g_object_info_get_n_properties),
2364         (g_object_info_get_property), (g_object_info_get_n_methods),
2365         (g_object_info_get_method), (g_object_info_find_method),
2366         (g_object_info_get_n_signals), (g_object_info_get_signal),
2367         (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2368         (g_object_info_get_n_constants), (g_object_info_get_constant),
2369         (g_interface_info_get_n_prerequisites),
2370         (g_interface_info_get_prerequisite),
2371         (g_interface_info_get_n_properties),
2372         (g_interface_info_get_property), (g_interface_info_get_n_methods),
2373         (g_interface_info_get_method), (g_interface_info_find_method),
2374         (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2375         (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2376         (g_interface_info_get_n_constants),
2377         (g_interface_info_get_constant), (g_property_info_get_flags),
2378         (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2379         (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2380         (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2381         (g_constant_info_get_value), (g_union_info_get_n_fields),
2382         (g_union_info_get_field), (g_union_info_get_n_methods),
2383         (g_union_info_get_method), (g_union_info_is_discriminated),
2384         (g_union_info_get_discriminator_offset),
2385         (g_union_info_get_discriminator):
2386         * src/ginvoke.c: (g_function_info_invoke):
2387         * src/girepository.c: (g_irepository_register),
2388         (g_irepository_unregister), (g_irepository_get_default),
2389         (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2390         (g_irepository_get_info), (g_irepository_find_by_name),
2391         (g_irepository_get_shared_library),
2392         (g_irepository_build_search_path), (g_irepository_register_file),
2393         (g_irepository_error_quark):
2394         * src/girepository.h:
2395         * src/gmetadata.c: (g_metadata_get_dir_entry),
2396         (g_metadata_check_sanity), (validate_header),
2397         (validate_array_type_blob), (validate_iface_type_blob),
2398         (validate_param_type_blob), (validate_error_type_blob),
2399         (validate_type_blob), (validate_arg_blob),
2400         (validate_signature_blob), (validate_function_blob),
2401         (validate_callback_blob), (validate_constant_blob),
2402         (validate_value_blob), (validate_field_blob),
2403         (validate_property_blob), (validate_signal_blob),
2404         (validate_vfunc_blob), (validate_struct_blob),
2405         (validate_enum_blob), (validate_object_blob),
2406         (validate_interface_blob), (validate_errordomain_blob),
2407         (validate_union_blob), (validate_blob), (validate_directory),
2408         (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2409         (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2410         (g_metadata_new_from_mapped_file), (g_metadata_free),
2411         (g_metadata_set_module), (g_metadata_get_namespace):
2412         * src/gmetadata.h:
2413         * tests/Makefile.am:
2414         * tests/invoke/Makefile.am:
2415         * tests/invoke/invoke-namespace-find.sh:
2416         * tests/invoke/invoke.c: (main):
2417
2418         Add a namespace/shared library mapping. fixes #313268.
2419
2420 2007-12-03  Johan Dahlin  <johan@gnome.org>
2421
2422         * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2423         guchar for now.
2424
2425 2007-11-30  Jürg Billeter  <j@bitron.ch>
2426
2427         * configure.ac:
2428         * src/Makefile.am:
2429         * src/clexer.l:
2430         * src/cparser.y:
2431         * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2432         (g_igenerator_write_inline), (g_igenerator_write),
2433         (g_igenerator_write_indent), (g_igenerator_write_unindent),
2434         (field_generate), (value_generate), (constant_generate),
2435         (property_generate), (function_generate), (vfunc_generate),
2436         (signal_generate), (interface_generate), (struct_generate),
2437         (union_generate), (boxed_generate), (enum_generate),
2438         (node_generate), (module_generate), (get_type_from_type_id),
2439         (str_replace), (g_igenerator_process_properties),
2440         (g_igenerator_process_signals), (g_igenerator_process_types),
2441         (get_type_from_ctype), (g_igenerator_process_function_symbol),
2442         (g_igenerator_process_unregistered_struct_typedef),
2443         (g_igenerator_process_struct_typedef),
2444         (g_igenerator_process_union_typedef),
2445         (g_igenerator_process_enum_typedef),
2446         (g_igenerator_process_function_typedef),
2447         (g_igenerator_process_constant), (g_igenerator_process_symbols),
2448         (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2449         (g_igenerator_generate), (main), (csymbol_new),
2450         (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2451         (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2452         (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2453         (eat_hspace), (eat_line), (read_identifier),
2454         (g_igenerator_parse_macros):
2455         * src/gen-introspect.h:
2456
2457         Import gen-introspect to generate introspection information by
2458         parsing C headers.
2459
2460 2007-11-30  Jürg Billeter  <j@bitron.ch>
2461
2462         * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2463
2464 2007-11-30  Jürg Billeter  <j@bitron.ch>
2465
2466         * src/gidlparser.c: (end_element_handler): Don't leave requires
2467         state too early.
2468
2469 2007-11-29  Johan Dahlin  <johan@gnome.org>
2470
2471         * src/gidlparser.c (parse_type_internal): Add char,
2472         gchar and guchar to the builtin types.
2473
2474 2007-11-26  Johan Dahlin  <johan@gnome.org>
2475
2476         * src/ginfo.c: (g_object_info_get_type_name),
2477         (g_object_info_get_type_init):
2478         * src/girepository.c: (g_irepository_is_registered):
2479         * src/girepository.h:
2480
2481         Add g_object_info_get_type_name, g_object_info_get_type_init and
2482         g_irepository_is_registered.
2483
2484 2006-08-14  Jürg Billeter  <j@bitron.ch>
2485
2486       * src/gidlparser.c: (end_element_handler): Don't leave
2487         namespace and implements states too early.
2488         Fixes #351264
2489
2490 2007-11-26  Johan Dahlin  <johan@gnome.org>
2491
2492         * src/gmetadata.c (validate_struct_blob):
2493         pass blob_type to validate_function_blob instead of
2494         hard-coding BLOB_TYPE_STRUCT.
2495
2496         Patch by Torsten Schoenfeld, fixes #314190
2497
2498 2006-10-03  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2499
2500         * src/compiler.c, src/generate.c, src/gidlnode.c,
2501         src/gidlparser.c, src/ginfo.c, src/girepository.c,
2502         tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2503         warnings about return values, signedness mismatches, unused
2504         variables, and unhandles enum values in switch statements.
2505
2506         * tests/invoke/Makefile.am: Don't install the invoke test program.
2507         Add -I ../../src to the cflags used for the test functions files.
2508
2509 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2510
2511         * src/girepository.h: Export g_invoke_error_quark.
2512
2513 2005-08-31  Torsten Schoenfeld  <tsch@cvs.gnome.org>
2514
2515         * src/ginvoke.c: Remove the fallback implementation of
2516         g_function_info_invoke since we now formally depend on libffi.
2517
2518 2005-07-25  Matthias Clasen  <mclasen@redhat.com>
2519
2520         * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2521         Remove these files from cvs, as they are now generated.
2522
2523         * src/gmetadata.c (validate_iface_type_blob): Don't
2524         complain if blob->pointer is not set, since that
2525         happens for enum and flag types.  (#308935, Gustavo
2526         Carneiro)
2527
2528         * Commit an autoconf-conversion patch by
2529         Gustavo Carneiro (#308708)
2530
2531 2005-05-24  Matthias Clasen  <mclasen@redhat.com>
2532
2533         * src/compiler.c (main): Use it here to validate
2534         the generated metadata.
2535
2536         * src/gmetadata.[hc]: Add code to validate a
2537         metadata blob.
2538
2539         * metadata-format.txt: Updates
2540
2541 2005-05-22  Matthias Clasen  <mclasen@redhat.com>
2542
2543         * tests/*: Add struct offsets to field and vfunc
2544         elements.
2545
2546         * src/generate.c (write_vfunc_info): Write offset
2547         information for vfuncs.
2548
2549         * src/gidlnode.c (g_idl_node_build_metadata): Write
2550         the struct offsets into the metadata.
2551
2552         * src/gidlparser.c: Parse the offset attributes of
2553         field and vfunc elements.
2554
2555         * src/gidlnode.h: Add offset members to field and
2556         vfunc nodes.
2557
2558 2005-05-21  Matthias Clasen  <mclasen@redhat.com>
2559
2560         * TODO: Updates.
2561
2562         * gidl.dtd: Updates.
2563
2564         * src/g-idl-offsets.pl: A perl script which reads a .gidl
2565         file, creates, compiles and runs a C file, and folds the
2566         resulting struct offsets back into the .gidl file.
2567
2568 2005-05-20  Matthias Clasen  <mclasen@redhat.com>
2569
2570         * src/gidlparser.c (start_field): Make fields in objects
2571         work.
2572
2573         * src/gidlmodule.c: Include string.h
2574
2575         * TODO: Updates.
2576         :
2577
2578         * metadata-format.txt: Cleanup basic types.
2579         * src/*: Adapt to the changes.
2580         * tests/*: Adapt to the changes.
2581         * examples/gdk-pixbuf.gidl: Adapt to the changes.
2582
2583         * src/gidlnode.c (g_idl_node_get_size): Report the correct
2584         size for enum blobs.
2585         (g_idl_node_get_full_size): Report the correct size for
2586         function blobs.
2587
2588         * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2589         error checking for blob sizes.
2590
2591 2005-05-19  Matthias Clasen  <mclasen@redhat.com>
2592
2593         * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2594         interface types for which is_pointer is FALSE, e.g. enums.
2595
2596         * src/gidlnode.c (g_idl_node_get_full_size)
2597         * src/gidlparser.c (parse_type_internal):
2598         * src/generate.c (write_type_info): Support unspecialized
2599         lists, hashtables and errors. Also emit a '*' after these.
2600
2601         * TODO: Updates
2602
2603 2005-05-17  Matthias Clasen  <mclasen@redhat.com>
2604
2605         * TODO: Updates
2606
2607         * metadata-format.txt: Cleanups by Maciej Katafiasz.
2608
2609 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
2610
2611         * src/*.c: Change the directory to be addressed by
2612         1-based indexes, and use an index of zero to mean
2613         'no object'.
2614
2615 2005-05-15  Matthias Clasen  <mclasen@redhat.com>
2616
2617         * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2618
2619         * tests/union.test: Add a union test.
2620
2621         * src/generate.c: Handle unions.
2622
2623         * src/girepository.h:
2624         * src/ginfo.c: Add GIUnionInfo and functions to access it.
2625
2626         * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2627
2628         * src/gidlparser.c (start_union): Parse <union> elements.
2629
2630         * src/gidlnode.h: Add a GIdlNodeUnion.
2631
2632         * gidl.dtd: Add a <union> element.
2633
2634         * src/gmetadata.c (g_metadata_check_sanity): Check
2635         union_blob_size.
2636
2637         * src/gmetadata.h: Add union_blob_size to Header,
2638         add a UnionBlob.
2639
2640         * metadata-format.txt: Add a UnionBlob.
2641
2642 2005-05-13  Matthias Clasen  <mclasen@redhat.com>
2643
2644         * tests/*: Update testcases.
2645
2646         * src/generate.c (write_callable_info): Don't forget to
2647         write transfer and null-ok attributes for return types
2648         and parameters.
2649
2650         * src/girepository.h:
2651         * src/ginfo.c (g_callable_info_may_return_null):
2652         New function to find out if a function may return NULL.
2653
2654         * src/compiler.c (format_output): Make the generated
2655         C code compile.
2656
2657         * README: Point to a recent libffi snapshot.
2658
2659         * tests/invoke/*: Some invoke tests.
2660
2661         * src/Makefile: Add ginvoke.c and the necessary
2662         libffi information.
2663
2664         * src/girepository.h (g_function_info_invoke): Add
2665         a GError argument.
2666
2667         * src/ginvoke.c (g_function_info_invoke): Initial
2668         implementation of invoke functionality based on libffi.
2669
2670         * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2671         strings and types hash tables in the right order when
2672         recursing.
2673         (find_entry_node): Free the name parts.
2674
2675 2005-05-12  Johan Dahlin  <johan@gnome.org>
2676
2677         * src/generate.c: Generate consistent end tags.
2678
2679         * tests/*: Update
2680
2681 2005-05-12  Matthias Clasen  <mclasen@redhat.com>
2682
2683         * TODO: Updates
2684
2685         * src/gidlparser.c (start_function): Actually add
2686         methods to objects.  (Steven Walter)
2687
2688         * src/girepository.h:
2689         * src/ginfo.c: Rename Transfer and Direction to
2690         GITransfer and GIDirection. (Torsten Schoenfeld)
2691
2692         * tests/*: Make tests work with the changes in name
2693         handling.
2694
2695         * src/gidlnode.c (find_entry_node): Parse qualified
2696         names and generate xref nodes for them if needed. Don't
2697         require all modules to be loaded any more.
2698
2699         * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2700         on '.' in names.
2701
2702         * src/ginfo.c (g_object_info_get_parent): Return NULL
2703         if blob->parent is 0. Still need to make sure index
2704         0 is not used.
2705
2706         * src/generate.c: Generate qualified names when
2707         referring to non-local types. Emit transfer attribute
2708         for return types.
2709
2710         * src/compiler.c (format_output): Put the function
2711         attributes where gcc accepts them.
2712
2713 2005-05-11  Matthias Clasen  <mclasen@redhat.com>
2714
2715         * src/compiler.c (main): Add a --verbose cmdline option
2716         and only log messages if it is specified.
2717
2718         * src/gidlnode.h:
2719         * src/gidlnode.c (init_stats, dump_stats): Collect some
2720         statistics on string and type sharing.
2721
2722         * src/gidlmodule.c (g_idl_module_build_metadata): Use
2723         g_message() instead of fprintf().
2724
2725         * src/gidlnode.c (g_idl_node_free): Make this more robust.
2726         (g_idl_node_get_size): Implement for structs.
2727         (g_idl_node_get_full_size): Handle parent being NULL.
2728         (serialize_type): Handle lookup failures more gracefully.
2729
2730 2005-05-10  Matthias Clasen  <mclasen@redhat.com>
2731
2732         * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2733         size calculation for 2-parameter types and for objects.
2734
2735         * src/compiler.c: Add a cmdline option for debug output
2736         and install a log handler to implement it.
2737         * src/gidlnode.c: Add some debug spew.
2738
2739         * TODO: Updates
2740
2741         * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2742         forget to count the module name when calculating the
2743         required size for the metadata.
2744
2745         * src/gidlnode.c:
2746         * src/gidlparser.c: Fix compiler warnings.
2747
2748 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2749
2750         * src/compiler.c (main): Free the option context.
2751
2752         * gidl.dtd: Clean up handling of names. All elements
2753         have a "name", only the elements corresponding to
2754         actual callable functions (function, method, constructor),
2755         have an additional "symbol" attribute holding the
2756         dlsym()-able function name.
2757
2758         * src/generate.c: Adapt to generate xml matching the
2759         new dtd.
2760
2761         * src/gidlparser.c:
2762         * src/gidlnode.c: Adapt to parse the new dtd.
2763
2764         * tests/*.test: Adjust to the new dtd.
2765
2766         * metadata-format.txt:
2767         * src/gmetadata.h: Remove the short_name field
2768         from the ValueBlob.
2769         * src/gmetadata.c: Shrink size of ValueBlob to 12.
2770         * src/girepository.h:
2771         * src/ginfo.c (g_value_info_get_short_name): Removed
2772
2773 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2774
2775         * gidl.dtd: Allow constructors for boxed types,
2776         patch by Jonathan Blandford.
2777
2778
2779 2005-05-09  Matthias Clasen  <mclasen@redhat.com>
2780
2781         * --- Initial import ---