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