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