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