1 2008-08-21 Johan Dahlin <johan@gnome.org>
3 * gir/Makefile.am (typelibs_DATA): Build and
4 install the Gio.typelib too
6 * girepository/gtypelib.c (_g_typelib_init):
7 Use g_module_build_path to resolve the shlib name
9 2008-08-21 Colin Walters <walters@verbum.org>
11 * gir/Makefile.am: CLEANFILES typelibs too.
13 2008-08-21 Johan Dahlin <johan@gnome.org>
15 * giscanner/glibtransformer.py:
16 Do not send .la files through find_library.
18 2008-08-21 Colin Walters <walters@verbum.org>
20 * girepository/girparser.c (g_irepository_require):
21 Fix one small leak in error case.
23 2008-08-21 Johan Dahlin <johan@gnome.org>
26 Parse glibconfig.h as well and install the compiled
29 2008-08-21 Johan Dahlin <johan@gnome.org>
32 * giscanner/glibtransformer.py:
34 Do not hard-core library names in the Makefile, reuse
35 ctypes find_library instead.
37 2008-08-21 Johan Dahlin <johan@gnome.org>
39 * girepository/girparser.c (resolve_aliases):
40 Remove compilation warnings
42 2008-08-21 Johan Dahlin <johan@gnome.org>
44 * girepository/girepository.c (g_irepository_require):
45 Rewrap and fix double free bug by leaking a bit.
47 2008-08-20 Colin Walters <walters@verbum.org>
49 * girepository/girepository.c: Add new function
50 g_irepository_get_typelib_path which tells
51 us from where we loaded a namespace.
53 2008-08-20 Colin Walters <walters@verbum.org>
55 * tests/scanner/*-expected.gir: Adjust for
57 * giscanner/giwriter.py: Make pylint happy.
59 2008-08-20 Colin Walters <walters@verbum.org>
61 * girepository/girmodule.c (g_ir_module_build_typelib):
62 Calculate size correctly, avoid use-after-free.
64 2008-08-20 Colin Walters <walters@verbum.org>
66 * girepository/girepository.c: Remove
67 g_irepository_register_file in favor of
68 g_irepository_require. There are two
69 possible deployment scenarios for typelibs:
70 First, separate in $DATADIR/gitypelibs/. Second,
71 they may be embedded in shlibs. However since
72 the first is now the normal case, the API is
75 Refactor internals to look up typelibs for
76 namespaces just-in-time, but we expect
77 consumers to call g_irepository_require.
79 Also, add some docs. No one has died from that
81 * gir/Makefile.am: Need --library for glib.
82 * giscanner/girwriter.py: Write out shared-library.
83 * tools/g-ir-writer: Take the first --library
84 argument as the target of shared-library. In
85 the future we should make this nicer with pkg-config
88 2008-08-20 Colin Walters <walters@verbum.org>
90 * girepository/girparser.py: And parse them.
92 2008-08-20 Johan Dahlin <johan@gnome.org>
94 * giscanner/glibast.py: Add gshort/gushort types
96 2008-08-20 Colin Walters <walters@verbum.org>
98 * gir/Makefile.am: Rename .gir files using GI namespace.
99 * girepository/girepository.c: Use XDG_DATA_DIRS for
100 looking up typelibs. Also typelibs are now suffixed
102 * tests/invoke/Makefile.am: Only use metadata.
103 * girepository/Makefile.am: Remove unnecessary include.
104 * tests/scanner/Makefile.am: Update using GI namespaces
105 for scanner includes.
107 2008-08-20 Colin Walters <walters@verbum.org>
109 * girepository/transformer.py: Suppress aliases whose
111 * girepository/ast.py: Define some more aliases.
113 2008-08-20 Colin Walters <walters@verbum.org>
115 * girepository/girparser.c: Avoid alias infloops.
117 2008-08-20 Colin Walters <walters@verbum.org>
119 * tests/scanner/foo-expected.gir: Fix expected list type.
121 2008-08-20 Johan Dahlin <johan@gnome.org>
123 * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
124 Add a workaround for #548689.
125 We can now compile gtk!
127 2008-08-20 Colin Walters <walters@verbum.org>
129 * giscanner/glibtransformer.py: Try to look up
130 aliases using the c:type too.
132 2008-08-20 Colin Walters <walters@verbum.org>
134 * girepository/girparser.c: Parse union fields.
136 2008-08-20 Johan Dahlin <johan@gnome.org>
138 * giscanner/ast.py: Make time_t an alias for long
140 * gir/gio-2.0-good.gir:
141 * gir/glib-2.0-good.gir:
142 * gir/gobject-2.0-good.gir:
144 * giscanner/glibtransformer.py:
145 Do not delete Class structures, we need them in gdk/gtk.
146 * tests/scanner/drawable-expected.gir:
147 * tests/scanner/foo-expected.gir:
148 * tests/scanner/utility-expected.gir:
151 2008-08-20 Johan Dahlin <johan@gnome.org>
153 * tests/scanner/Makefile.am:
154 * tests/scanner/annotation-expected.gir:
155 * tests/scanner/annotation.c (annotation_object_class_init),
156 (annotation_object_init), (annotation_object_method),
157 (annotation_object_in), (annotation_object_out),
158 (annotation_object_inout), (annotation_object_inout2),
159 (annotation_object_inout3), (annotation_object_calleeowns),
160 (annotation_object_calleesowns), (annotation_object_get_strings),
161 (annotation_object_with_voidp), (annotation_object_get_objects),
162 (annotation_object_create_object), (annotation_object_allow_none):
163 * tests/scanner/annotation.h:
164 * tests/scanner/foo-expected.gir:
165 * tests/scanner/foo.c:
166 * tests/scanner/foo.h:
167 Split out annotation tests out of foo
169 2008-08-20 Johan Dahlin <johan@gnome.org>
171 * tests/scanner/Foo-expected.gir:
172 * tests/scanner/Makefile.am:
173 * tests/scanner/foo-expected.gir:
174 * tests/scanner/foo-object.h:
175 * tests/scanner/foo.c:
176 Foo->foo, foo-object.h -> foo.h
178 2008-08-20 Johan Dahlin <johan@gnome.org>
180 * tests/scanner/Foo-expected.gir:
181 * tests/scanner/Makefile.am:
182 * tests/scanner/drawable-expected.gir:
183 * tests/scanner/drawable.c (test_drawable_class_init),
184 (test_drawable_init):
185 * tests/scanner/drawable.h:
186 * tests/scanner/foo-object.h:
187 * tests/scanner/foo.c (foo_boxed_method):
188 Move the drawable parts out of Foo to its own test.
190 2008-08-20 Johan Dahlin <johan@gnome.org>
192 * tests/scanner/Foo-expected.gir:
193 * tests/scanner/foo-object.h:
194 * tests/scanner/foo.c (foo_drawable_class_init),
196 Add a based on GdkDrawable which generates
199 2008-08-19 Colin Walters <walters@verbum.org>
201 * giscanner/transformer.py: Don't try
202 to strip prefix before namespace.
204 2008-08-19 Johan Dahlin <johan@gnome.org>
206 * giscanner/transformer.py:
207 * tests/scanner/Foo-expected.gir:
208 * tests/scanner/foo-object.h:
209 Add support for typedef void foo type of
212 2008-08-19 Johan Dahlin <johan@gnome.org>
215 * giscanner/girwriter.py:
216 * giscanner/glibtransformer.py:
217 * giscanner/transformer.py:
218 * tests/scanner/Foo-expected.gir:
219 Add basic support for union, base the code much
220 on Struct. Add a testcase.
222 2008-08-19 Johan Dahlin <johan@gnome.org>
224 * tests/scanner/Foo-expected.gir:
225 * tests/scanner/foo-object.h:
226 Add a union testcase which the compiler currently
229 2008-08-19 Johan Dahlin <johan@gnome.org>
231 * gobject-introspection-1.0.pc.in:
232 Add a g_ir_compiler variable
234 2008-08-19 Colin Walters <walters@verbum.org>
236 * giscanner/ast.py: Rework types to be more closely
238 * giscanner/girparser.py: Parse more bits.
239 * giscanner/girwriter.py: Write sequences in a new
240 way that specifies container type.
241 * giscanner/glibast.py: Adjust for ast.py changes,
242 add 'ctype' property to GLibObject and GLibInterface
243 so we can look things up by it later.
244 * gicanner/transformer.py: Names is new class holding
245 the various namespaces we manage. Do not confuse
246 with Namespace which is toplevel XML node effectively.
247 Rework all type resolution to go through
248 _resolve_type_name_1.
249 * giscanner/glibtransformer.py: Raise UnknownTypeError
250 instead of ValueError for cleanliness. Add Unresolved
251 class to mark types whose parent we haven't seen yet.
252 Use new Names object from transformer.py.
253 Correctly look up parent=.
254 Fix type validation to handle sequences.
255 * tests/scanner/Foo-expected.gir: Update for sequence
256 work, int instead of int32.
257 * tools/g-ir-scanner: Add --noclosure option
258 * gir/Makefile.am: Use --noclosure by default for
261 2008-08-18 Johan Dahlin <johan@gnome.org>
263 * gir/gio-2.0-good.gir:
264 * gir/glib-2.0-good.gir:
265 * gir/gobject-2.0-good.gir:
268 2008-08-18 Johan Dahlin <johan@gnome.org>
271 * giscanner/girparser.py:
272 * giscanner/girwriter.py:
273 * giscanner/glibast.py:
274 * giscanner/glibtransformer.py:
275 * giscanner/transformer.py:
276 * tests/scanner/Foo-expected.gir:
277 * tests/scanner/foo-object.h:
278 * tests/scanner/utility-expected.gir:
279 * tests/scanner/utility.h:
280 Redo type resolving and validation.
281 Add a couple of new tests.
282 Patch mostly written by Colin.
284 2008-08-18 Johan Dahlin <johan@gnome.org>
287 * giscanner/girparser.py:
289 * giscanner/transformer.py:
290 Improve enum parsing for enums without a GType.
291 Make flags/enum references to other girs work
292 * giscanner/utils.py:
294 * tests/scanner/Makefile.am:
295 * tests/scanner/foo-object.h:
296 * tests/scanner/utility-expected.gir:
297 * tests/scanner/utility.h:
298 Add a new test for external enum references
300 2008-08-18 Johan Dahlin <johan@gnome.org>
302 * docs/global-module-registry.txt: Update
304 * tests/array.gir: Update with new type proposal
306 * girepository/girepository.c (g_type_tag_to_string):
307 * girepository/girepository.h:
308 * girepository/girnode.c (g_ir_node_get_full_size_internal),
310 * girepository/girnode.h:
311 Make enum serializing functions public. Clean up some whitespace.
313 2008-08-17 Johan Dahlin <johan@gnome.org>
315 * docs/global-module-registry.txt:
316 Add a document for an on disk module registry format
318 2008-08-17 Johan Dahlin <johan@gnome.org>
321 * gir/gio-2.0-good.gir:
324 2008-08-17 Johan Dahlin <johan@gnome.org>
327 * gir/glib-2.0-good.gir:
328 * gir/gobject-2.0-good.gir:
329 * giscanner/cgobject.py:
330 * giscanner/glibtransformer.py:
331 Regenerate GObject & GType.
332 Avoid warnings when generating gobject-2.0.gir.
333 Introspect a little more, and skip *_get_type functions.
335 2008-08-17 Colin Walters <walters@verbum.org>
337 * gir/glib-2.0.gir, gir/gobject-2.0.gir:
338 Rename to -good, always generate during build.
339 * gir/Makefile.am: Ensure .gir files dep on
341 * Makefile.am: Switch build order to ensure
342 the scanner is ready before we do gir/.
343 * tools/g-ir-scanner: Look for .git too.
345 2008-08-17 Johan Dahlin <johan@gnome.org>
347 * girepository/gtypelib.c (validate_enum_blob):
348 * giscanner/glibtransformer.py:
349 * giscanner/transformer.py:
350 Remove resolve_possible_typedefs, it was unused.
351 Allow multiple enum values of the sample value in an enum,
352 since it's actually pretty common.
353 Register enums so they can be resolved too.
355 2008-08-16 Johan Dahlin <johan@gnome.org>
357 * giscanner/girparser.py:
358 Parse enumeration/bitfield.
360 2008-08-16 Johan Dahlin <johan@gnome.org>
362 * giscanner/girparser.py:
365 2008-08-16 Johan Dahlin <johan@gnome.org>
367 * giscanner/glibtransformer.py:
368 Resolve type names for alias targets
369 * giscanner/transformer.py:
370 Skip FILE* parameters fow now
372 2008-08-16 Johan Dahlin <johan@gnome.org>
375 * gir/gobject-2.0.gir:
378 * tests/scanner/Makefile.am:
381 2008-08-15 Colin Walters <walters@verbum.org>
383 * giscanner/glibtransformer.py: Explicitly construct
384 new list, since we're deleting as we iterate.
385 Don't delete all structures which end in Class; just
386 ones which have a paired GObject.
387 Fix printing of type warning.
388 * giscanner/transformer.py: Make strip_namespace_object
389 be the identity function if it doesn't match the
392 2008-08-15 Colin Walters <walters@verbum.org>
394 * giscanner/cgobject.py: Define yet more argument
395 prototypes; fix prototype for g_type_fundamental.
397 2008-08-14 Johan Dahlin <johan@gnome.org>
400 * tests/constant.gir:
403 * tools/generate.c (write_struct_info):
404 Fix generator for constant/gobject/struct
406 2008-08-14 Johan Dahlin <johan@gnome.org>
410 * tools/generate.c (write_enum_info):
411 Fix generation of enum/bitfields
413 2008-08-14 Johan Dahlin <johan@gnome.org>
415 * girepository/girparser.c (start_field), (start_constant),
416 (start_type), (end_element_handler):
417 Clear up constant parsing
422 * tools/generate.c (write_callable_info), (write_function_info),
423 (write_callback_info), (write_constant_info), (write_signal_info),
424 (write_vfunc_info), (write_property_info), (write_object_info),
425 (write_interface_info):
426 Constants/Signals are handled now.
428 2008-08-14 Johan Dahlin <johan@gnome.org>
430 * girepository/girparser.c (start_type):
431 Don't require c:type.
435 Update, remove parts we don't support yet
436 * tests/roundtrips.sh:
438 * tools/generate.c (write_type_info), (write_field_info),
439 (write_callable_info), (write_struct_info):
440 Make it emit proper gir.
442 2008-08-14 Johan Dahlin <johan@gnome.org>
444 * giscanner/transformer.py:
445 New internal function for adding a new node.
447 2008-08-14 Johan Dahlin <johan@gnome.org>
450 Define an internal _H_ variable so we skip parsing both
451 i18n headers, only one is needed.
453 Add the glib-2.0.gir too.
454 * giscanner/glibast.py:
455 Add gconstpointer as an alias for ANY
456 * giscanner/transformer.py:
457 Do not lower case enumeration names per se.
458 Skip functions which has parameters called 'va_list'
460 2008-08-14 Colin Walters <walters@verbum.org>
462 * giscanner/transformer.py: Comment data structures.
463 Also squash pointers in resolve_type_name to correspond
464 with what we do for params.
465 * giscanner/glibtransformer.py: Print warnings in more
466 situations. Rework checks for method/constructor to
467 look up in our GType database instead of just checking
468 for *. Avoid generating <record> for GObject which
469 duplicate the <class>.
470 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
473 2008-08-14 Johan Dahlin <johan@gnome.org>
475 * giscanner/girwriter.py:
476 * giscanner/glibast.py:
477 * giscanner/glibtransformer.py:
478 * giscanner/transformer.py:
481 Add pyflakes.py and run it in make check.
482 Update the source code to fix the errors reported by
485 2008-08-14 Johan Dahlin <johan@gnome.org>
488 * giscanner/girparser.py:
489 * giscanner/glibast.py:
490 * giscanner/glibtransformer.py:
491 Refactor the parser a bit.
492 Add parent type to interfaces and update callsites.
494 2008-08-14 Johan Dahlin <johan@gnome.org>
496 * giscanner/glibtransformer.py:
497 * giscanner/utils.py:
498 Refactor a bit, avoid isinstance and add a method
499 for each type we parse.
501 2008-08-14 Johan Dahlin <johan@gnome.org>
504 * giscanner/girparser.py:
505 * giscanner/glibtransformer.py:
507 Run pep8.py in make check, fix old errors.
509 2008-08-13 Colin Walters <walters@verbum.org>
511 * giscanner/girparser.py: Parse records.
513 2008-08-13 Colin Walters <walters@verbum.org>
515 * gir/Makefile.am: Install again.
516 * gir/gobject-2.0.gir: Add some more bits.
518 2008-08-13 Colin Walters <walters@verbum.org>
520 * gir/gobject-2.0.gir: Use correct namespace, add GType.
521 * giscanner/girparser.py: Handle aliases.
522 * giscanner/transformer.py: Record aliases. Make resolver
523 functions public; we now call into these explicitly from
524 glibtransformer. Handle resolving aliases.
525 * giscanner/glibtransformer.py: Separate our internal namespace
526 from included ones. Call up into transformer's resolver functions.
528 2008-08-13 Johan Dahlin <johan@gnome.org>
530 * girepository/girnode.c (g_ir_node_get_full_size_internal):
531 * girepository/girparser.c (start_class):
532 * giscanner/glibtransformer.py:
533 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
535 2008-08-13 Johan Dahlin <johan@gnome.org>
537 * giscanner/cgobject.py:
538 Register GInitiallyUnowned
539 * giscanner/girwriter.py:
540 * giscanner/glibtransformer.py:
541 Special case GObject/GInitially owned as they are a bit special to use.
543 2008-08-13 Colin Walters <walters@verbum.org>
545 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
546 Object is in GObject namespace.
548 2008-08-13 Colin Walters <walters@verbum.org>
550 * giscanner/girparser.py: Fix processing of functions
553 2008-08-13 Colin Walters <walters@verbum.org>
555 * giscanner/girparser.py: Parse more than just <class.
556 * giscanner/glibtransformer.py: Put aliases in a separate
557 data structure since their name is not canonicall.
558 * giscanner/transformer.py: Handle resolving type names
561 2008-08-13 Johan Dahlin <johan@gnome.org>
563 * tools/g-ir-scanner:
564 Allow multiple libraries
565 * giscanner/glibtransformer.py:
566 Rename load_library to add_library, traverse over all libraries
567 when trying to resolve a function
569 2008-08-12 Colin Walters <walters@verbum.org>
571 * giscanner/transformer.py: Record typedefs as <alias> elements.
572 Also attempt to look up types in external namespaces.
573 * giscanner/girwriter.py: Write them.
574 * giscanner/glibtransformer.py: Rework resolver using real instanceof
575 checks. Resolve interface methods and properties.
576 * tests/scanner/foo-object.h: Add a method with typedef.
577 * tests/scanner/Foo-expected.gir: Update.
578 * girepository/girnode.c: Debug tweaks.
579 * girepository/girparser.c: Make a first pass through the XML where we
580 record all the aliases. This lets us resolve them as we go through the
582 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
585 2008-08-12 Colin Walters <walters@verbum.org>
587 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
588 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
590 * giscanner/transformer.py: Record typedefs and expose public API for resolving
592 * tests/scanner/Foo-expected.gir: Fix expected callback types.
594 2008-08-12 Colin Walters <walters@verbum.org>
596 * giscanner/glibtransformer.py: Also transform object properties.
598 2008-08-12 Colin Walters <walters@verbum.org>
600 * giscanner/glibtransformer.py: Also transform callbacks
601 and structure field types.
602 * tests/scanner/Fooe-expected.gir: Update to expect correct
603 names for callbacks and structs.
605 2008-08-12 Colin Walters <walters@verbum.org>
607 * girepository/girparser.c: Handle 'any'.
608 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
611 2008-08-12 Colin Walters <walters@verbum.org>
613 * giscanner/glibtransformer.py: We need to do type
614 resolution in a second pass after we've seen all the
617 2008-08-12 Colin Walters <walters@verbum.org>
619 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
620 Add enum return value.
621 * giscanner/glibtransformer.py: Transform function return types
624 2008-08-12 Colin Walters <walters@verbum.org>
626 * tests/scanner/Makefile.am: Dep .gir files on scanner
627 sources too. Also remove @ so we see scanner invocations.
629 2008-08-12 Colin Walters <walters@verbum.org>
631 * girepository/girparser.c, girepository/gtypelib.c,
632 girepository/gtypelib.h, girepository/girnode.c:
633 Remove usage of (GAPI-oriented) TypeTag in favor of
634 GITypeTag from girepository.h.
636 2008-08-10 Colin Walters <walters@verbum.org>
638 * tests/roundtrips.sh: Use the correct tests.
640 2008-08-10 Colin Walters <walters@verbum.org>
642 * giscanner/cgobject.py: Declare/wrap a few more functions.
643 Fix parameter types for g_object_new and g_type_fundamental.
645 2008-08-10 Colin Walters <walters@verbum.org>
647 * giscanner/cgobject.py: Add new decorator @gwrap which forces
648 us to declare types for both return value and parameters. The
649 ctypes default of 'int' is bad because it hides 32/64 bit
650 problems. Convert all existing functions to use it.
652 2008-08-09 Johan Dahlin <johan@gnome.org>
654 * giscanner/__init__.py:
656 * giscanner/cgobject.py:
657 * giscanner/gidlparser.py:
658 * giscanner/gidlwriter.py:
659 * giscanner/girparser.py:
660 * giscanner/girwriter.py:
661 * giscanner/glibast.py:
662 * giscanner/glibtransformer.py:
663 * giscanner/odict.py:
664 * giscanner/sourcescanner.py:
665 * giscanner/transformer.py:
666 * giscanner/utils.py:
667 * giscanner/xmlwriter.py:
668 * tools/g-ir-scanner:
672 2008-08-09 Johan Dahlin <johan@gnome.org>
675 * relaxng/c-types.xml:
676 * relaxng/g-types.xml:
677 * relaxng/relaxng.rng:
679 Remove outdated relaxng schemas.
681 2008-08-09 Johan Dahlin <johan@gnome.org>
684 Rename metadata to typelib in variable names,
687 2008-08-09 Johan Dahlin <johan@gnome.org>
691 Remove old C scanner, which got rewritten in python.
693 2008-08-09 Johan Dahlin <johan@gnome.org>
695 * girepository/Makefile.am:
705 Move shared *.[ch] files to girepository from tools
707 2008-08-09 Johan Dahlin <johan@gnome.org>
712 * tests/constant.test:
715 * tests/function.test:
716 * tests/gobject.test:
717 * tests/interface.test:
724 Rename *.test to *.gir
726 2008-08-09 Johan Dahlin <johan@gnome.org>
730 * tests/parser/Foo-expected.gir:
731 * tests/parser/Makefile.am:
732 * tests/parser/foo-object.h:
733 * tests/parser/foo.c:
734 * tests/parser/utility-expected.gir:
735 * tests/parser/utility.c:
736 * tests/parser/utility.h:
737 * tests/scanner/Makefile.am:
738 Rename tests/parser to test/scanner
740 2008-08-08 Colin Walters <walters@verbum.org>
742 * tests/roundtrips.sh: Use local .gir files again.
744 2008-08-08 Colin Walters <walters@verbum.org>
746 * tests/invoke/Makefile.am: .gir file depends on libtool
749 2008-08-08 Colin Walters <walters@verbum.org>
751 * tools/girnode.c: Pass through parent node so we can
752 print the node whose child is NULL, if that occurs.
754 2008-08-08 Johan Dahlin <johan@gnome.org>
757 Disable roundtrip tests which are not yet working
758 * tests/invoke/testfns.gir:
761 2008-08-08 Johan Dahlin <johan@gnome.org>
763 * giscanner/girwriter.py:
765 * giscanner/glibast.py:
766 * giscanner/glibtransformer.py:
767 Swap order of members, to keep it consistent with
770 2008-08-08 Johan Dahlin <johan@gnome.org>
772 * girepository/gtypelib.c (validate_header):
773 * girepository/gtypelib.h:
775 * giscanner/girwriter.py:
776 * giscanner/sourcescanner.c (gi_source_symbol_ref),
777 (gi_source_symbol_unref):
780 * tests/constant.test:
783 * tests/function.test:
784 * tests/gobject.test:
785 * tests/interface.test:
786 * tests/invoke/Makefile.am:
787 * tests/invoke/testfns.xml:
789 * tests/parser/Makefile.am:
790 * tests/roundtrips.sh:
797 * tools/compiler.c (main):
798 * tools/generate.c (write_callable_info), (write_function_info),
800 * tools/gidlmodule.c:
801 * tools/gidlmodule.h:
804 * tools/gidlparser.c:
805 * tools/gidlparser.h:
806 * tools/gidlwriter.c:
807 * tools/gidlwriter.h:
808 * tools/scanner.c (create_node_from_gtype),
809 (create_node_from_ctype), (g_igenerator_process_properties),
810 (g_igenerator_process_signals), (g_igenerator_create_object),
811 (g_igenerator_create_interface), (g_igenerator_create_boxed),
812 (g_igenerator_create_enum), (g_igenerator_create_flags),
813 (g_igenerator_process_function_symbol),
814 (g_igenerator_process_unregistered_struct_typedef),
815 (g_igenerator_process_struct_typedef),
816 (g_igenerator_process_union_typedef),
817 (g_igenerator_process_enum_typedef),
818 (g_igenerator_process_function_typedef),
819 (g_igenerator_process_constant), (g_igenerator_process_symbols),
820 (g_igenerator_add_module), (g_igenerator_add_include_idl):
821 Merge in the gir-compiler branch.
822 Thanks to Philip and Colin for their help.
824 2008-07-26 Colin Walters <walters@verbum.org>
826 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
827 and g-idl-generate to go along with how we're changing this
828 module to be installed.
829 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
831 2008-07-24 Colin Walters <walters@verbum.org>
833 * girepository/girepository.c (g_irepository_register): Add
834 environment variable G_IREPOSITORY_VERBOSE so we can print
835 out what we're doing.
836 * girepository/girepository.c (g_irepository_register_file):
837 Add GError error message to g_debug call.
839 2008-07-08 Jürg Billeter <j@bitron.ch>
841 * giscanner/glibast.py:
845 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
847 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
850 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
853 * giscanner/girwriter.py:
854 * giscanner/transformer.py:
855 * tests/parser/Foo-expected.gir:
856 * tests/parser/foo-object.h:
857 * tests/parser/foo.c (foo_object_allow_none):
858 Add support for gtk-doc annotations for allow-none.
861 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
864 * giscanner/girwriter.py:
865 * giscanner/glibast.py:
866 * giscanner/glibtransformer.py:
867 * giscanner/transformer.py:
868 * tests/parser/Foo-expected.gir:
869 Start using abstract type instead of the raw C types.
870 Register a bunch of glib types we care about.
872 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
877 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
879 * girepository/girepository.c:
880 * girepository/gtypelib.c:
881 * girepository/ginfo.c:
882 * girepository/ginvoke.c:
883 * girepository/girepository.h:
884 * girepository/gtypelib.h:
885 * girepository/gmetadata.c:
886 * girepository/Makefile.am:
887 * girepository/gmetadata.h:
889 * tools/gidlmodule.c:
892 * tools/gidlmodule.h:
893 * tools/gidlparser.c:
895 Renamed GMetadata to GTypelib
897 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
899 * giscanner/xmlwriter.py:
900 Improve line wrapping when > 79 charaters
902 2008-06-05 Jürg Billeter <j@bitron.ch>
905 * giscanner/girwriter.py:
906 * giscanner/transformer.py:
907 Use <type> element for field types
908 * tests/parser/Foo-expected.gir:
911 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
913 * giscanner/glibtransformer.py:
914 Fix a bug which prevented GdkEvent from being generated
916 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
918 * giscanner/Makefile.am:
920 * giscanner/girwriter.py:
921 * giscanner/glibast.py:
922 * giscanner/glibtransformer.py:
923 * giscanner/transformer.py:
924 * giscanner/utils.py:
925 * tests/parser/Foo-expected.gir:
926 Improve enum member parsing and introspection
928 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
930 * giscanner/scannerparser.y:
931 * giscanner/sourcescanner.h:
932 * giscanner/sourcescanner.py:
933 Add a new source type enum for member.
934 Use __repr__ for improved debugging
935 * giscanner/girparser.py:
937 * giscanner/transformer.py:
938 Improve parsing of struct members.
939 * tests/parser/foo-object.h:
942 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
944 * giscanner/xmlwriter.py:
945 Improve error reporting when trying to quote None.
946 * giscanner/girparser.py:
947 Do not print warnings when including more complete .gir files
948 * giscanner/girwriter.py:
949 Do not require a name for parameters, add a todo for singletons
950 * giscanner/glibtransformer.py:
951 Refactor the way structs are done, add a couple of hacks to allow
953 * giscanner/transformer.py:
954 Add enough hacks so cairo, atk and pango.gir can be parsed properly
955 * gobject-introspection-1.0.pc.in:
956 Export girdir, so we can access gobject-2.0.gir from outside
958 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
960 * tools/g-ir-scanner:
961 * tests/parser/Makefile.am:
962 Update sys.path before running the parser so we don't have
963 to setup PYTHONPATH ourselves.
967 * girepository/Makefile.am:
968 * giscanner/transformer.py:
969 * gobject-introspection-1.0.pc.in:
970 * gobject-introspection.pc.in:
973 Rename pkg-config name to gobject-introspection-1.0,
974 Do not installed anything which is not using the gir format.
975 Disable compililation the old C scanner, but still keep the source
976 until all the remaning functionallity has been ported.
978 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
980 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
981 a crash when symbol->indent is NULL.
983 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
984 a function to convert a CTYPE symbol to a string
986 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
989 * giscanner/girwriter.py:
990 * giscanner/giscannermodule.c
991 (pygi_source_scanner_append_filename),
992 (pygi_source_scanner_parse_file):
993 * giscanner/glibtransformer.py:
994 * giscanner/sourcescanner.py:
995 Revert back to using temporary files to send in headers.
996 Allow Functions to be passed in as callbacks, add a couple
997 of try/excepts missing features.
998 We can now scan pango
1000 2008-05-08 Johan Dahlin <johan@gnome.org>
1002 * giscanner/glibtransformer.py:
1003 * giscanner/transformer.py:
1004 Move namespace stripping glibtransformer->transformer
1006 2008-05-08 Johan Dahlin <johan@gnome.org>
1009 * giscanner/girwriter.py:
1010 * giscanner/glibtransformer.py:
1011 * giscanner/transformer.py:
1012 * tools/g-ir-scanner:
1013 Introduce a namespace ast node
1015 2008-05-05 Johan Dahlin <johan@gnome.org>
1017 * giscanner/__init__.py:
1018 * giscanner/sourcescanner.py:
1019 * giscanner/transformer.py:
1020 Move sourcescanner symbols to the sourcescanner module, instead
1021 of in the global __init__ namespace.
1023 2008-05-03 Johan Dahlin <johan@gnome.org>
1025 * giscanner/glibtransformer.py:
1026 * tools/g-ir-scanner:
1027 Handle missing parameters better, allow - and + in .la dlname
1030 2008-05-03 Johan Dahlin <johan@gnome.org>
1032 * giscanner/__init__.py:
1034 * giscanner/girwriter.py:
1035 * giscanner/glibtransformer.py:
1036 * giscanner/transformer.py:
1037 Parse struct fields properly, improve debugging.
1039 2008-04-29 Johan Dahlin <johan@gnome.org>
1042 * giscanner/girwriter.py:
1043 * giscanner/transformer.py:
1044 * tests/parser/Foo-expected.gir:
1046 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
1048 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1051 * docs/g-ir-scanner.1:
1052 * metadata-annotations-proposal.txt:
1053 * metadata-format.txt:
1054 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
1056 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1058 * giscanner/girwriter.py:
1059 * giscanner/glibtransformer.py:
1060 * giscanner/transformer.py:
1061 * giscanner/xmlwriter.py:
1062 * tests/parser/Foo-expected.gir:
1063 * tests/parser/foo-object.h:
1064 Write record/structs to gir file too. Add a couple of tests,
1065 fix an off by one error in xmlwriter.py.
1067 2008-04-28 Johan Dahlin <johan@gnome.org>
1069 * giscanner/xmlwriter.py: Calculate the line length properly,
1070 include the provided extra indentation in the calculation, really.
1072 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1075 * giscanner/glibast.py:
1076 * giscanner/glibtransformer.py:
1077 * giscanner/transformer.py:
1078 * tools/g-ir-scanner:
1079 Add a --strip-prefix and sort out confusion between names and symbols
1080 for functions and struct + derivaties.
1081 Refactor bootstrap of g-ir-scanner, so we can set options on
1082 Transformer() before parsing everything.
1084 2008-04-28 Johan Dahlin <johan@gnome.org>
1086 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
1087 when scanning girepository.h
1089 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
1090 a __GI_SCANNER__ when we run.
1092 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1095 * giscanner/girwriter.py:
1096 * giscanner/glibast.py:
1097 * giscanner/glibtransformer.py:
1098 * tests/parser/Foo-expected.gir:
1099 * tests/parser/utility-expected.gir:
1100 Rename most c:identifier to c:type. Add new ones to
1101 class/interface/enum/boxed.
1103 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1106 * giscanner/girwriter.py:
1107 * giscanner/glibtransformer.py:
1108 * tests/parser/Foo-expected.gidl:
1109 * tests/parser/Makefile.am:
1110 Move c:identifier from return-value to subchild type,
1111 as per Jürgs suggestion
1113 2008-04-28 Johan Dahlin <johan@gnome.org>
1115 * giscanner/girwriter.py:
1116 * tests/parser/Foo-expected.gir:
1117 Write property.type as a child node.
1119 2008-04-27 Johan Dahlin <johan@gnome.org>
1124 * gidl/gobject-2.0.gidl:
1126 * gir/gobject-2.0.gir:
1127 * tests/parser/Makefile.am:
1128 Replace the GObject gidl with a GObject gir.
1130 2008-04-27 Johan Dahlin <johan@gnome.org>
1132 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
1135 * giscanner/xmlwriter.py:
1136 * tests/parser/Foo-expected.gir:
1137 Include indentation in line length calculation
1139 2008-04-27 Johan Dahlin <johan@gnome.org>
1141 * giscanner/girparser.py:
1142 Prettify NS parsing using elementtree.
1144 2008-04-27 Johan Dahlin <johan@gnome.org>
1147 * giscanner/Makefile.am:
1148 * giscanner/girparser.py:
1149 * giscanner/glibtransformer.py:
1150 * tests/parser/Foo-expected.gidl:
1151 * tests/parser/Foo-expected.gir:
1152 * tests/parser/Makefile.am:
1153 * tests/parser/utility-expected.gidl:
1154 * tests/parser/utility-expected.gir:
1155 * tools/g-ir-scanner:
1156 Switch over to GIR as the default format. Add a simple GIDL
1158 Update tests and fix simplify makefiles by depending
1159 on GNU make extensions.
1161 2008-04-27 Johan Dahlin <johan@gnome.org>
1163 * giscanner/xmlwriter.py:
1164 Wrap attributes for lines which are wider than 79 characters
1166 * giscanner/scannerlexer.l:
1167 Allow parenthesis in annotations
1170 * giscanner/gidlwriter.py:
1171 * giscanner/girwriter.py:
1172 * giscanner/glibtransformer.py:
1173 * giscanner/transformer.py:
1174 Add initial sequence support, including annotation.
1175 Refactor type handling a bit.
1177 2008-04-27 Johan Dahlin <johan@gnome.org>
1179 * tests/parser/Foo-expected.gidl:
1180 * tests/parser/foo-object.h:
1181 * tests/parser/foo.c (foo_object_class_init),
1182 (foo_object_get_strings), (foo_object_get_objects):
1183 Add two new functions to check sequence return values.
1184 Also fixes a compilation warning.
1186 2008-04-27 Johan Dahlin <johan@gnome.org>
1188 * giscanner/giscannermodule.c (]): Cast the getter, avoids
1189 a compilation warning.
1191 * tools/Makefile.am (g_ir_scanner_SOURCES):
1192 g-ir-scanner has no sources.
1194 2008-04-25 Johan Dahlin <johan@gnome.org>
1196 * giscanner/Makefile.am:
1198 * giscanner/gidlparser.py:
1199 * giscanner/gidlwriter.py:
1200 * giscanner/girwriter.py:
1201 * giscanner/glibast.py:
1202 * giscanner/glibtransformer.py:
1203 * giscanner/transformer.py:
1204 Split out nodes to ast.py and glibast.py
1206 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1208 * giscanner/Makefile.am:
1209 * giscanner/gidlparser.py:
1210 * giscanner/gidlwriter.py:
1211 * giscanner/girwriter.py:
1212 * giscanner/glibtransformer.py:
1213 * giscanner/gobjecttreebuilder.py:
1214 * giscanner/transformer.py:
1215 * giscanner/treebuilder.py:
1216 * tools/g-ir-scanner:
1217 Rename treebuilder to transformer and
1218 gobjectreebuilder to glibtransformer.
1220 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1222 * giscanner/Makefile.am:
1223 * giscanner/__init__.py:
1224 * giscanner/cgobject.py:
1225 * giscanner/gidlparser.py:
1226 * giscanner/gidlwriter.py:
1227 * giscanner/girwriter.py:
1228 * giscanner/gobjecttreebuilder.py:
1229 * giscanner/odict.py:
1230 * giscanner/sourcescanner.py:
1231 * giscanner/treebuilder.py:
1232 * giscanner/xmlwriter.py:
1233 * tools/Makefile.am:
1234 * tools/g-ir-scanner:
1235 Add LGPLv2 license header and install all python files
1237 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1240 * giscanner/gidlwriter.py:
1241 * giscanner/giscannermodule.c (pygi_source_directive_new),
1242 (directive_get_options), (pygi_source_symbol_new),
1243 (symbol_get_base_type), (pygi_source_type_new),
1244 (type_get_base_type), (type_get_child_list),
1245 (pygi_source_scanner_get_symbols),
1246 (pygi_source_scanner_get_directives):
1247 * giscanner/gobjecttreebuilder.py:
1248 * giscanner/sourcescanner.py:
1249 * giscanner/treebuilder.py:
1250 * tests/parser/foo-object.h:
1251 Add support for virtual methods.
1252 Pair struct FooClass with struct Foo.
1253 Clean up the SourceScanner bindings a bit.
1254 Add a testcase for virtual methods.
1256 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1258 * giscanner/cgobject.py:
1259 * giscanner/gidlwriter.py:
1260 * giscanner/gobjecttreebuilder.py:
1261 Add support for signals
1263 * tests/parser/foo.c (foo_object_class_init):
1264 * Foo-expected.gidl:
1265 Add a signal and update the expected output.
1267 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
1269 * giscanner/gidlwriter.py:
1270 * giscanner/girwriter.py:
1271 * giscanner/giscannermodule.c (directive_get_name),
1272 (directive_get_value), (directive_get_options),
1273 (symbol_get_directives), (symbol_set_directives),
1274 (pygi_source_scanner_parse_file),
1275 (pygi_source_scanner_lex_filename),
1276 (pygi_source_scanner_get_directives), (init_giscanner):
1277 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1278 * giscanner/sourcescanner.h:
1279 * giscanner/sourcescanner.py:
1280 * giscanner/treebuilder.py:
1281 * tools/g-ir-scanner:
1282 Add support for source/header annotations.
1284 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1286 * giscanner/gidlwriter.py:
1287 * giscanner/girwriter.py:
1288 * giscanner/gobjecttreebuilder.py:
1289 * giscanner/treebuilder.py:
1290 Add support for Callbacks
1292 2008-04-22 Havoc Pennington <hp@pobox.com>
1294 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1295 not in metadata->module, look for it in the global module, in case
1296 some other object or the app itself provides the symbol.
1298 2008-04-22 Havoc Pennington <hp@pobox.com>
1300 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1301 dlopening a library that is already in the main app, by checking
1302 whether one of the lib's symbols is already loaded.
1304 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1306 * tests/parser/Foo-expected.gidl:
1307 * tests/parser/foo-object.h:
1310 2008-04-22 Havoc Pennington <hp@pobox.com>
1312 * girepository/ginfo.c (g_interface_info_find_method):
1313 Use interface_blob_size not object_blob_size to compute offset.
1315 2008-04-22 Havoc Pennington <hp@pobox.com>
1317 * girepository/gmetadata.c (_g_metadata_init): remove
1318 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1319 (Glade and Clutter for example) rely on being loaded globally.
1321 2008-04-22 Havoc Pennington <hp@pobox.com>
1323 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1324 function to get the GType given a RegisteredTypeInfo
1326 2008-04-22 Johan Dahlin <johan@gnome.org>
1328 * COPYING: Add a LGPL license, to prevent automake to
1329 put in a copy of GPL here. Pointed out by Havoc.
1331 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1332 (g_type_info_is_pointer), (g_type_info_get_tag),
1333 (g_type_info_get_param_type), (g_type_info_get_interface),
1334 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1335 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1336 (g_error_domain_info_get_codes), (g_enum_info_get_value),
1337 (g_object_info_get_interface), (g_object_info_get_field),
1338 (g_interface_info_get_prerequisite),
1339 (g_signal_info_get_class_closure), (g_constant_info_get_value):
1340 * girepository/ginvoke.c (get_ffi_type):
1341 * girepository/girepository.h:
1342 * girepository/gmetadata.c (g_metadata_get_dir_entry),
1343 (g_metadata_check_sanity), (validate_header),
1344 (validate_array_type_blob), (validate_iface_type_blob),
1345 (validate_param_type_blob), (validate_error_type_blob),
1346 (validate_type_blob), (validate_constant_blob),
1347 (validate_struct_blob), (validate_enum_blob):
1348 * girepository/gmetadata.h:
1349 * tests/Makefile.am:
1350 * tests/invoke/Makefile.am:
1351 * tests/invoke/invoke.c (main):
1352 * tests/roundtrips.sh:
1353 * tools/Makefile.am:
1354 * tools/compiler.c (format_output), (write_out_metadata), (main):
1355 * tools/generate.c (write_type_name), (write_type_info),
1356 (write_constant_value), (write_enum_info), (load_metadata), (main):
1357 * tools/gidlcompilercontext.c:
1358 * tools/gidlcompilercontext.h:
1359 * tools/gidlcompilerentrynode.c:
1360 * tools/gidlcompilerentrynode.h:
1361 * tools/gidlcompilertypenode.c:
1362 * tools/gidlcompilertypenode.h:
1363 * tools/gidlmodule.c (g_idl_module_build_metadata):
1364 * tools/gidlmodule.h:
1365 * tools/gidlnode.c (init_stats), (dump_stats),
1366 (g_idl_node_get_size), (g_idl_node_get_full_size),
1367 (g_idl_node_cmp), (g_idl_node_can_have_member),
1368 (g_idl_node_add_member), (g_idl_node_param_direction_string),
1369 (parse_int_value), (parse_uint_value), (parse_float_value),
1370 (parse_boolean_value), (find_entry_node), (find_entry),
1371 (serialize_type), (g_idl_node_build_metadata), (write_string):
1373 * tools/gidlparser.c (parse_type_internal):
1374 * tools/quote-file.sh:
1375 Revert revisions 157,149-148,136-129 and 120.
1376 Move back to using g-idl-generate to generate the metadata and
1377 avoids dependency on a c compiler.
1379 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1381 * giscanner/girwriter.py:
1382 * tools/g-ir-scanner:
1383 Add an initial GIR writer and a --format option to g-ir-scanner
1385 2008-04-21 Johan Dahlin <johan@gnome.org>
1387 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1388 gobject-2.0 and raise ImportError if not found.
1390 * giscanner/gidlparser.py:
1391 * giscanner/gidlwriter.py:
1392 * giscanner/gobjecttreebuilder.py:
1393 * tools/g-ir-scanner:
1394 Add a --include argument to include types from other idls.
1395 Add a minimalistic GIDL parser (just objects for now)
1396 Implement resolving of external type references and use it to
1397 resolve parent types, argument types and return types.
1399 2008-04-21 Johan Dahlin <johan@gnome.org>
1401 * giscanner/gidlwriter.py:
1402 * giscanner/gobjecttreebuilder.py:
1403 * giscanner/treebuilder.py:
1404 Add support for properties.
1405 Refactor Class/Interface support a bit, to share more code and
1406 always initialize their method attribute to an empty list.
1408 2008-04-21 Johan Dahlin <johan@gnome.org>
1410 * giscanner/cgobject.py:
1411 Add a workaround for a glib bug interface introspection bug
1412 (object_interface_list_properties, object_class_list_properties):
1413 Cast the return value to GParamSpec.
1415 * tests/parser/Foo-expected.gidl: Update
1416 * tests/parser/foo.c: Add a string property
1418 * giscanner/gobjecttreebuilder.py:
1419 After stripping namespaces, remove the original
1420 item to avoid duplication (GtkButton struct and Button object)
1422 2008-04-21 Johan Dahlin <johan@gnome.org>
1424 * giscanner/gobjecttreebuilder.py:
1425 * giscanner/treebuilder.py:
1426 Strip namespaces before objects, so we'll export
1427 GtkButton as Button in the gtk namespace
1429 2008-04-21 Johan Dahlin <johan@gnome.org>
1431 * giscanner/gidlwriter.py:
1432 * giscanner/gobjecttreebuilder.py:
1433 * giscanner/treebuilder.py:
1434 Add constructors for object/boxed types.
1436 2008-04-21 Johan Dahlin <johan@gnome.org>
1438 * giscanner/gidlwriter.py:
1439 * giscanner/gobjecttreebuilder.py:
1440 Add support for boxed types
1442 2008-04-21 Johan Dahlin <johan@gnome.org>
1444 * giscanner/giscannermodule.c: Mark structures as const,
1445 wrap SourceType.const_string.
1447 * tests/parser/foo-object.h: Add a couple of constants.
1449 * giscanner/gidlwriter.py:
1450 * giscanner/gobjecttreebuilder.py:
1451 * giscanner/treebuilder.py:
1452 Add basic support for interfaces
1454 * tools/g-ir-scanner:
1455 Add -o/--output for writing to a file
1457 2008-04-21 Havoc Pennington <hp@redhat.com>
1459 * TODO: add some C API wishlist items I could think of quickly
1461 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1463 * giscanner/gidlwriter.py:
1464 * giscanner/xmlwriter.py:
1465 Add a simple api for writing tags which can be used
1466 with the new 'with statement' in python 2.5
1468 2008-04-21 Johan Dahlin <johan@gnome.org>
1470 * giscanner/gobjecttreebuilder.py:
1471 Strip namespace and object prefix from method names.
1473 2008-04-21 Johan Dahlin <johan@gnome.org>
1475 * tools/g-ir-scanner (main): Add --pkg option to pass in
1476 pkg-config modules to get cflags from.
1478 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1479 Avoid duplication, reuse function writer for methods.
1481 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1483 * giscanner/gidlwriter.py:
1484 * giscanner/gobjecttreebuilder.py:
1485 * giscanner/treebuilder.py:
1486 * tools/g-ir-scanner:
1487 Resolve libtool .la files.
1488 Strip name spaces for methods.
1489 Add function symbols
1491 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1493 * giscanner/cgobject.py:
1494 * giscanner/gidlwriter.py:
1495 * giscanner/gobjecttreebuilder.py:
1496 * giscanner/treebuilder.py:
1497 Add support for classes and methods
1499 2008-04-20 Johan Dahlin <johan@gnome.org>
1501 * giscanner/gidlwriter.py:
1502 * giscanner/gobjecttreebuilder.py:
1503 * giscanner/odict.py:
1504 Avoid conflicts, keep the output ordered similar to
1505 the order of the input.
1506 Add a simple ordered dictionary implemenation
1508 2008-04-19 Johan Dahlin <johan@gnome.org>
1510 * giscanner/cgobject.py:
1511 * giscanner/gidlwriter.py:
1512 * giscanner/gobjecttreebuilder.py:
1513 * tools/g-ir-scanner:
1514 Start introspecting get-type functions.
1515 Implement support for GLib/GFlags GTypes.
1516 Add a ctype based GObject binding.
1518 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1520 * giscanner/gidlwriter.py:
1521 * giscanner/xmlwriter.py:
1522 * tools/g-ir-scanner:
1523 Add a simplistic gidl writer, which can't do too much.
1525 2008-04-18 Johan Dahlin <johan@gnome.org>
1527 * giscanner/sourcescanner.py:
1528 * giscanner/treebuilder.py:
1529 * tools/g-ir-scanner:
1530 split tree building and source scanning interface to separate files.
1532 2008-04-18 Johan Dahlin <johan@gnome.org>
1534 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1536 - Add support for struct/parameter/return, start parsing of ctypes
1538 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1541 2008-03-31 Johan Dahlin <johan@gnome.org>
1543 * tools/g-ir-scanner:
1544 Start to build abstract syntax node of scanned sources.
1545 Add support for cpp options.
1547 2008-03-27 Johan Dahlin <johan@gnome.org>
1549 * giscanner/giscannermodule.c:
1550 * giscanner/scannerlexer.l:
1551 * giscanner/sourcescanner.c:
1552 * tools/g-ir-scanner:
1554 Add simple pre-processor using subprocess and a PIPE.
1555 Change the parse_file apis to accept a file descriptor.
1557 2008-03-25 Johan Dahlin <johan@gnome.org>
1559 * giscanner/__init__.py:
1560 * tools/g-ir-scanner:
1561 Fix a typo and add an example python test program.
1563 2008-03-25 Johan Dahlin <johan@gnome.org>
1565 * giscanner/__init__.py:
1566 * giscanner/giscannermodule.c:
1567 * giscanner/sourcescanner.c:
1568 * giscanner/sourcescanner.h:
1569 Add constants and wrap a few more SymbolType fields
1571 2008-03-25 Johan Dahlin <johan@gnome.org>
1575 * giscanner/__init__.py:
1576 * giscanner/giscannermodule.c:
1577 * giscanner/Makefile.am:
1579 Add initial python bindings for the scanner and
1580 depend on python 2.5.
1582 2008-03-25 Johan Dahlin <johan@gnome.org>
1586 * giscanner/Makefile.am:
1587 * giscanner/sourcescanner.c:
1588 * giscanner/sourcescanner.h:
1589 * tools/Makefile.am:
1590 * tools/grealpath.h:
1591 * tools/sourcescanner.c:
1592 * tools/sourcescanner.h:
1594 Move the scanner to a separate library.
1596 2008-03-23 Johan Dahlin <johan@gnome.org>
1598 * tools/Makefile.am:
1601 * tools/scannerlexer.l:
1602 * tools/scannerparser.y:
1603 * tools/sourcescanner.c:
1604 * tools/sourcescanner.h:
1605 Split out the source scanner from the generator.
1606 Rename the symbols used in the scanner to use the gi_ prefix.
1607 This should make it possible to use the raw C parser from
1610 2008-03-23 Johan Dahlin <johan@gnome.org>
1612 * tests/parser/Makefile.am (utility.gidl):
1613 * tests/parser/utility-expected.gidl:
1614 Pass in the gobject.gidl since we're defining a GObject.
1616 2008-03-12 Johan Dahlin <johan@gnome.org>
1618 * relaxng/relaxng.rng:
1619 Add a releaxng in relaxng we can use to validate the relaxngs
1622 2008-03-12 Jürg Billeter <j@bitron.ch>
1624 * tools/scanner.c: (g_igenerator_new):
1625 * tools/scannerparser.y:
1626 Fix compiler warnings.
1628 2008-03-12 Jürg Billeter <j@bitron.ch>
1632 * tools/scannerparser.y:
1633 Start fixing memory management in g-idl-scanner.
1635 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1637 * tools/gidlcompilercontext.c: (write_compiled):
1638 Fix critical warning when no shlib passed to g-idl-compiler.
1640 2008-03-12 Johan Dahlin <johan@gnome.org>
1642 * tests/parser/utility-expected.gidl:
1643 * tests/parser/utility.h:
1644 Add a get_type-function, so the scanner actually
1645 parses it as an object.
1647 2008-03-12 Johan Dahlin <johan@gnome.org>
1649 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1652 * tests/parser/Foo-expected.gidl:
1653 * tests/parser/Makefile.am:
1654 * tests/parser/foo-object.h:
1655 * tests/parser/foo.c:
1656 * tests/parser/utility-expected.gidl:
1657 * tests/parser/utility.c:
1658 * tests/parser/utility.h:
1660 Add a new gidl test. 'utility.gidl', which is used to be able
1661 to test external type references. Add a reference to UtilityObject*
1664 2008-03-11 Johan Dahlin <johan@gnome.org>
1668 Remove most global variables
1670 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1672 * tools/scannerlexer.l:
1674 * tests/parser/Foo-expected.gidl:
1675 * tests/parser/foo.c:
1676 * tests/parser/Makefile.am:
1677 * tests/parser/foo-object.h:
1679 Added a few extra tests. Which resulted in finding a few
1680 bugs. Which resulted in me fixing those bugs
1682 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1684 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1685 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1686 Add some comments for strings into generated output for
1689 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1691 * tools/gidlcompilercontext.c: (write_compiled):
1692 Write out the shlibs variable before writing out the strings
1693 length. Fixes compiler warning when using '-l' flag with
1696 2008-03-11 Johan Dahlin <johan@gnome.org>
1698 * tests/parser/Foo-expected.gidl:
1699 * tests/parser/foo-object.h:
1702 * tools/scannerlexer.l:
1703 Add support for parsing return arguments. Add support for
1704 caller-owns return types.
1705 Patch by Philip Van Hoof.
1707 * tools/scannerparser.y:
1708 Remove parsing of the @deprecated syntax used in headers.
1709 We will support gtk-doc deprecation in the future instead.
1711 2008-03-11 Johan Dahlin <johan@gnome.org>
1713 * tools/compiler.c (main): Coding style fixes
1715 2008-03-10 Johan Dahlin <johan@gnome.org>
1718 Add GCOV_LIBS to GILIBS
1720 2008-03-10 Johan Dahlin <johan@gnome.org>
1722 * tests/parser/Foo-expected.gidl:
1723 * tests/parser/foo.c:
1724 Rename null-ok to direction=out
1726 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1728 reviewed and extensively tested by Johan
1730 * tests/parser/Foo-expected.gidl:
1731 * tests/parser/foo-object.h:
1732 * tests/parser/foo.c:
1735 * tools/gidlwriter.c:
1738 * tools/scannerlexer.l:
1739 * tools/scannerparser.y:
1741 Add support for scanning for gtk-doc comments inside
1742 C source files. Add tests
1744 2008-03-10 Johan Dahlin <johan@gnome.org>
1746 * tests/parser/Makefile.am:
1747 * tests/parser/foo.c:
1750 * tools/scannerparser.y:
1751 Add an api to lex filenames.
1752 Lex all source .c files passed in on the command line.
1753 Scan sources in a test and a couple of private structures
1754 which should not be included in the generated gidl
1756 2008-03-10 Johan Dahlin <johan@gnome.org>
1758 * tests/invoke/Makefile.am: Make the generated metadata
1759 depend on the g-idl-compiler
1761 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1763 * tools/gidlmodule.c
1764 * tools/gidlmodule.h
1767 Remove the old g-idl-compiler code.
1770 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1772 * tools/quote-file.sh
1775 Move to using the 'C' struct compiler code.
1777 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1779 * girepository/ginfo.c
1781 Change the way that external references with no namespace
1782 are dealt with. External references with no namespace
1783 are placed into the XML as-if they are a local reference.
1784 This is temporary, but helps with roundtrip tests.
1786 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1788 * girepository/ginfo.c
1789 Add the ability to get the value of a constant of
1790 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1791 is provided as a string.
1793 This would deal properly with:
1794 typedef char* random;
1795 const random = "A string";
1797 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1799 * girepository/ginfo.c
1800 * girepository/girepository.h
1802 Add a function to check if an enum is registered or not.
1803 Previously anything testing this relied on the g-type
1804 string offset having a value of 0.
1806 * girepository/gmetadata.c
1807 * girepository/gmetadata.h
1809 Remove unneccesary or erroneous checks. There were two
1810 metadata validation checks which made sure that the blob
1811 sizes were the same as some magic numbers compiled into the code.
1812 This is wrong as it breaks any forwards compatibility that may
1815 Checks were also present that made sure that unregistered type
1816 blobs had a value of 0 in the g-type offset field. This is
1817 unneccessary. If a type blob is unregistered then any value
1818 in its g-type field is simply invalid.
1820 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1822 * girepository/ginfo.c
1823 * girepository/gmetadata.c
1824 * girepository/gmetadata.h
1826 Change the metadata format to have a standard header
1827 for all the type blobs. Merge the SimpleTypeBlob
1828 and InterfaceTypeBlob into a union. A union of these
1829 two blobs existed previously but was not explicit
1830 in the metadata format.
1832 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1834 * tools/gidlcompilercontext.c
1835 * tools/gidlcompilercontext.h
1836 * tools/gidlcompilerentrynode.c
1837 * tools/gidlcompilerentrynode.h
1838 * tools/gidlcompilertypenode.c
1839 * tools/gidlcompilertypenode.h
1841 Add code to compile a tree of GIdlNodes to
1842 a 'C' struct representing the metadata.
1843 This is to aid cross-compiling. Previously
1844 the g-idl-compiler created a binary blob with
1845 data written in the byte order and alignment
1846 of the tool rather than the intended target.
1848 Cleaned up and improved by Johan and Robert :-)
1850 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1852 * girepository/ginvoke.c
1853 * girepository/girepository.h
1854 * girepository/gmetadata.c
1855 * girepository/gmetadata.h
1857 * tools/gidlparser.c
1858 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1859 to avoid confusion with the interface blob.
1862 * tools/gidlparser.c
1863 Remove magic numbers and replace with type-tag
1864 enumeration symbols.
1866 * girepository/gmetadata.c
1867 Add validate declaration.
1869 2008-03-10 Jürg Billeter <j@bitron.ch>
1871 * tools/gidlparser.c: (parse_type_internal):
1872 * tools/scannerlexer.l:
1873 * tools/scannerparser.y:
1874 Support C99 _Bool type in scanner.
1876 2008-03-10 Jürg Billeter <j@bitron.ch>
1878 * tests/parser/Foo-expected.gidl:
1879 * tests/parser/foo-object.h:
1880 * tests/parser/foo.c: (foo_enum_method):
1881 * tools/scanner.c: (g_igenerator_process_function_symbol):
1882 Don't skip functions that are defined in the namespace of a type
1883 that doesn't support methods, as for example enums.
1885 2008-03-10 Johan Dahlin <johan@gnome.org>
1887 * gidl.dtd: Remove, we're using relaxng for now
1889 * tests/parser/Foo-expected.gidl:
1890 * tests/parser/foo-object.h:
1891 * tests/parser/foo.c:
1892 Rename the enum/flags get_type functions to include the whole type.
1894 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1896 * tools/gidlwriter.c (enum_generate): added "type-name",
1897 "get-type" and "deprecated" missing arguments.
1898 * tests/parser/Foo-expected.gidl:
1899 * tests/parser/foo-object.h: test enum type, and no type.
1901 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1904 Consistent checks, add missing 'test'
1906 2008-03-05 Havoc Pennington <hp@redhat.com>
1908 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1909 does on Fedora 8. Make libffi a hard requirement, since it was in
1910 practice anyway (was not really conditional in the code or
1911 makefile, only in configure).
1913 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1915 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1916 reviewed by: Johan Dahlin <johan@gnome.org>
1918 * tests/Makefile.am:
1919 * tests/roundtrips.sh:
1920 Modify the roundtrips test so that they do not use the
1921 --raw option of the gidl compiler but instead compile a
1922 shared library to use with g_module.
1924 * tests/invoke/Makefile.am:
1925 * tests/invoke/invoke.c:
1926 Modify the invoke tests to build a shared library rather
1927 than use the --raw option.
1929 * tests/invoke/invoke-namespace-find.sh: Removed:
1930 Noone knows why this was here, so removed.
1932 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1934 * tools/scanner.c: (g_igenerator_process_function_symbol):
1935 Move g_idl_node_can_have_member test later, as it broke spotting
1936 get_type's for nodes that can't have members.
1938 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1941 * tools/gidlnode.c: (g_idl_node_can_have_member):
1942 Add g_idl_node_can_have_member.
1944 * tools/scanner.c: (g_igenerator_process_function_symbol):
1945 Use g_idl_node_can_have_member to test if we should add a function
1946 as a member of the type node.
1948 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1950 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1952 * tests/parser/Makefile.am:
1953 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1955 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1957 * tools/scanner.c: (main):
1958 Ignore -pthread when passed to g-idl-scanner.
1960 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1962 * tools/grealpath.h: Added:
1963 * tools/scanner.c: (main):
1964 * tools/scannerlexer.l:
1965 * tools/Makefile.am:
1966 Always use absolute paths with symbolic links resolved when
1967 comparing filenames.
1969 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1971 * gobject-introspection.pc.in:
1972 Provide variables for g-idl-parser, scanner and compiler in the
1975 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1978 * girepository/Makefile.am:
1979 * tools/Makefile.am:
1980 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1982 2008-02-10 Johan Dahlin <johan@gnome.org>
1984 * tests/parser/Foo-expected.gidl:
1985 * tests/parser/foo-object.h:
1986 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1987 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1990 2008-02-10 Johan Dahlin <johan@gnome.org>
1992 * tests/parser/Foo-expected.gidl:
1993 * tests/parser/foo-object.h:
1994 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1995 Add enum and flags test.
1997 2008-02-10 Johan Dahlin <johan@gnome.org>
2001 * girepository/Makefile.am:
2002 Make 'make distcheck' work again.
2004 2008-02-10 Johan Dahlin <johan@gnome.org>
2006 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
2009 * tests/parser/Makefile.am: Only create Foo.gidl when running make
2010 check, eg exclude it from BUILT_SOURCES.
2012 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2017 * girepository/Makefile.am:
2018 * m4/Makefile.am: Added:
2019 * m4/as-compiler-flag.m4: Added:
2020 * m4/gcov.m4: Added:
2021 * tools/Makefile.am:
2022 Add ability to generate a coverage report.
2023 Adds configure option --enable-gcov and make rule 'check-coverage'.
2025 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2029 * gidl/Makefile.am: Added:
2030 * girepository/Makefile.am: Added:
2031 * src/Makefile.am: Renamed to tools/Makefile.am:
2032 * src/compiler.c: Renamed to tools/compiler.c:
2033 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
2034 * src/generate.c: Renamed to tools/generate.c:
2035 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
2036 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
2037 * src/gidlnode.c: Renamed to tools/gidlnode.c:
2038 * src/gidlnode.h: Renamed to tools/gidlnode.h:
2039 * src/gidlparser.c: Renamed to tools/gidlparser.c:
2040 * src/gidlparser.h: Renamed to tools/gidlparser.h:
2041 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
2042 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
2043 * src/ginfo.c: Renamed to girepository/ginfo.c:
2044 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
2045 * src/girepository.c: Renamed to girepository/girepository.c:
2046 * src/girepository.h: Renamed to girepository/girepository.h:
2047 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
2048 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
2049 * src/scanner.c: Renamed to tools/scanner.c:
2050 * src/scanner.h: Renamed to tools/scanner.h:
2051 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
2052 * src/scannerparser.y: Renamed to tools/scannerparser.y:
2053 * tests/invoke/Makefile.am:
2054 Split src/ into girepository/ and tools/
2058 * girepository/Makefile.am:
2059 * tests/Makefile.am:
2060 * tests/invoke/Makefile.am:
2061 * tests/parser/Makefile.am:
2062 * tests/roundtrips.sh:
2063 * tools/Makefile.am:
2064 Make distcheck work.
2066 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
2068 * tests/invoke/invoke.c: (main):
2069 * tests/invoke/testfns.c: (test6), (test7):
2070 * tests/invoke/testfns.xml:
2071 Add tests for invokation with a GList argument.
2072 Also tests caller-owns return values.
2074 2008-02-04 Rob Taylor <robtaylor@floopily.org>
2077 Add some documentation for GICallableInfo
2079 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
2082 Correct syntax errors in the DTD file.
2084 * relaxng/c-types.xml:
2085 * relaxng/g-types.xml:
2087 Add a RelaxNG specification for the GObject Introspection XML data.
2088 The Specification has validated all of the test files.
2090 2008-01-25 Rob Taylor <robtaylor@floopily.org>
2092 * tests/roundtrips.sh:
2093 * tests/struct.test:
2094 Add roundtrip tests for structs.
2096 2008-01-11 Johan Dahlin <johan@gnome.org>
2098 * src/scanner.c (g_igenerator_process_function_symbol):
2099 Refactor out g_idle_node_add_member.
2100 (create_node_from_gtype, create_node_from_ctype):
2101 Use case instead of if...else
2102 (get_type_from_type_id):
2103 Rename to create_node_from_gtype
2104 (get_type_from_ctype):
2105 Rename to create_node_from_ctype
2107 Rename ginode -> node, gitype -> type, gifunc -> func.
2109 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
2110 Two new functions, refactor out of scanner.c
2112 * src/scanner.c: (g_igenerator_process_function_symbol):
2113 * src/scannerlexer.l:
2114 Do not save the content of the deprecated variable, only
2117 2008-01-11 Johan Dahlin <johan@gnome.org>
2119 * tests/parser/foo-object.h: Add a couple of comment parser tests.
2121 2008-01-11 Jürg Billeter <j@bitron.ch>
2123 * src/scannerlexer.l:
2124 Fix GTK-Doc parsing.
2126 2008-01-11 Jürg Billeter <j@bitron.ch>
2128 * src/scannerlexer.l:
2129 Fix GTK-Doc parsing.
2131 2008-01-11 Jürg Billeter <j@bitron.ch>
2133 * src/scanner.c: (lookup_symbol):
2134 Return unresolved name if we find unknown symbol.
2136 2008-01-11 Jürg Billeter <j@bitron.ch>
2138 * src/scanner.c: (g_igenerator_generate):
2139 Initialize GObject to fix scanning interface properties.
2141 * tests/parser/Foo-expected.gidl:
2142 * tests/parser/foo-object.h:
2143 * tests/parser/foo.c: (foo_interface_get_type):
2144 Test interfaces with GObject prerequisite.
2146 * tests/parser/Makefile.am:
2147 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
2149 2007-12-27 Johan Dahlin <johan@gnome.org>
2151 * src/scannerlexer.l:
2152 Parse gtk-doc comments.
2154 * src/gidlwriter.c: (function_generate):
2155 Reorganize, avoid duplication and add support for
2156 writing deprecated functions.
2158 * src/scannerparser.y:
2160 Add new structure CDirective and functions to create/free them.
2162 * src/scanner.c: (g_igenerator_process_function_symbol),
2163 (g_igenerator_process_unregistered_struct_typedef),
2164 (g_igenerator_process_struct_typedef),
2165 (g_igenerator_process_union_typedef),
2166 (g_igenerator_process_enum_typedef),
2167 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
2168 (g_igenerator_start_preprocessor):
2169 Parse @deprecated directive for functions.
2170 Remove some more C99isms.
2171 Send in -C to cpp to avoid stripping comments.
2173 * tests/parser/foo-object.h:
2174 * tests/parser/Foo-expected.gidl:
2175 Add deprecated directive
2177 2007-12-27 Johan Dahlin <johan@gnome.org>
2179 * src/scannerlexer.l (intsuffix): Add emacs mode line and
2180 escape ' and " so it looks more like C.
2183 Unlink temporary file used.
2185 2007-12-27 Johan Dahlin <johan@gnome.org>
2187 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
2188 (g_igenerator_start_preprocessor), (main):
2190 * src/scannerparser.y:
2191 Plug a couple of simple memory leaks.
2193 2007-12-27 Johan Dahlin <johan@gnome.org>
2195 * src/scanner.c: (g_igenerator_parse_macros),
2196 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
2199 * src/scannerparser.y:
2200 * tests/parser/Makefile.am:
2202 Improve error reporting, return when the preprocessor fails.
2203 Add a verbose parameter, to aid debugging.
2204 Revert to using a temporary file to communicate between the
2205 preprocessor and the parser, because we need to wait for
2206 the exit code from the pre-processor before starting to parse.
2208 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
2210 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
2211 cparser.y to scannerparser.y
2213 2007-12-11 Johan Dahlin <johan@gnome.org>
2217 * src/scanner.c: (g_igenerator_new):
2219 Get rid of the global the_generator variable.
2221 2007-12-10 Johan Dahlin <johan@gnome.org>
2223 * src/scanner.c (main): Add an output option,
2224 add checks for required parameters
2227 set BUILD_SOURCES and CLEANFILES properly
2229 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
2230 (g_writer_write_indent), (g_writer_write_unindent),
2231 (field_generate), (value_generate), (constant_generate),
2232 (property_generate), (function_generate), (vfunc_generate),
2233 (signal_generate), (interface_generate), (struct_generate),
2234 (union_generate), (boxed_generate), (enum_generate),
2235 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
2237 * src/scanner.c: (g_igenerator_generate):
2239 * src/scannerwriter.c:
2241 Refactor scannerwriter to only be tied to a GIdlModule and move
2242 it (again!) to gidlwriter.c. Change the writer function to take
2245 2007-12-10 Johan Dahlin <johan@gnome.org>
2248 * src/scanner.c: (g_igenerator_generate):
2250 * src/scannerwriter.c: (g_igenerator_write_inline),
2251 (g_igenerator_write), (g_igenerator_write_indent),
2252 (g_igenerator_write_unindent), (field_generate), (value_generate),
2253 (constant_generate), (property_generate), (function_generate),
2254 (vfunc_generate), (signal_generate), (interface_generate),
2255 (struct_generate), (union_generate), (boxed_generate),
2256 (enum_generate), (node_generate), (module_generate),
2257 (g_scanner_write_file):
2259 Move the scanner gidl writing to a separate source file.
2261 2007-12-10 Johan Dahlin <johan@gnome.org>
2266 Move over all CType construction functions.
2268 * tests/parser/Makefile.am:
2269 Be verbose when printing parsing tests results.
2271 2007-12-10 Johan Dahlin <johan@gnome.org>
2273 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2274 preprocessor handling to here. Start cpp insteado of cc -E,
2275 always include -U__GNUC__, since it's specific to the preprocessor
2278 * tests/parser/Makefile.am (check-local): Silent diff and skip
2279 -U__GNUC__ which is always defined now
2281 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
2283 reviewed by: <delete if not using a buddy>
2285 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2286 * tests/parser/Makefile.am:
2288 2007-12-09 Johan Dahlin <johan@gnome.org>
2291 Use GOption for command line options.
2292 (g_igenerator_new, main): Simplify constructor and they way
2293 parameters are passed into it.
2299 * src/gen-introspect.c:
2300 * src/gen-introspect.h:
2302 Rename gen-introspect.[ch] to scanner.[ch]
2304 2007-12-09 Johan Dahlin <johan@gnome.org>
2308 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2309 don't make the repository library and the other utilites link against
2312 * src/gen-introspect.c: (g_igenerator_create_object),
2313 (g_igenerator_create_interface), (g_igenerator_create_boxed),
2314 (g_igenerator_create_enum), (g_igenerator_create_flags),
2315 (g_igenerator_process_module_symbol),
2316 (g_igenerator_process_module), (g_igenerator_generate), (main):
2317 * src/gen-introspect.h:
2318 Refactor g_igenerator_process_types into smaller pieces.
2320 * tests/parser/Makefile.am:
2321 Depend on the gen-introspect binary
2323 2007-12-09 Johan Dahlin <johan@gnome.org>
2325 * src/gen-introspect.c (g_igenerator_process_types):
2326 Break into smaller pieces, one for each generated node type.
2328 2007-12-08 Johan Dahlin <johan@gnome.org>
2330 * src/gen-introspect.c: (g_igenerator_process_types),
2331 (g_igenerator_add_module):
2332 * tests/parser/Foo-expected.gidl:
2333 * tests/parser/foo-object.h:
2334 * tests/parser/foo.c: (foo_subobject_class_init),
2335 (foo_subobject_init):
2337 Add a subobject test and make sure to register defined classes
2338 in the lookup symbol hash table.
2340 2007-12-08 Johan Dahlin <johan@gnome.org>
2344 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2345 (g_igenerator_process_types), (g_igenerator_add_module),
2346 (g_igenerator_add_include_idl), (main):
2347 * src/gen-introspect.h:
2348 * tests/parser/Makefile.am:
2349 * tests/parser/Foo-expected.gidl:
2351 Change the gen-introspect to generate namespaced module names,
2352 such as GLib.Object instead of GObject.
2353 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2354 add a --include-idl parameter to gen-introspect,
2355 and update the parser test.
2357 2007-12-08 Johan Dahlin <johan@gnome.org>
2359 * src/gen-introspect.c:
2360 Move main to the end of the file and attempt to make it valid
2363 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2364 we're not quite ready to generate metadata yet.
2369 Add a simple gen-introspect parser test
2371 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2373 reviewed by: Johan Dahlin <johan@gnome.org>
2376 * gobject-introspection.pc.in:
2378 * src/compiler.c: (format_output), (write_out_metadata), (main):
2379 * src/gen-introspect.c: (main):
2380 * src/gen-introspect.h:
2381 * src/generate.c: (write_callable_info), (write_repository),
2382 (load_metadata), (main):
2383 * src/gidlmodule.c: (g_idl_module_new),
2384 (g_idl_module_build_metadata):
2386 * src/gidlparser.c: (start_element_handler):
2387 * src/ginfo.c: (g_info_new), (g_info_from_entry),
2388 (g_base_info_get_name), (g_base_info_get_namespace),
2389 (g_base_info_is_deprecated), (g_base_info_get_annotation),
2390 (g_base_info_get_metadata), (g_function_info_get_symbol),
2391 (g_function_info_get_flags), (g_function_info_get_property),
2392 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2393 (g_callable_info_may_return_null),
2394 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2395 (g_callable_info_get_arg), (g_arg_info_get_direction),
2396 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2397 (g_arg_info_is_optional), (g_arg_info_may_be_null),
2398 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2399 (g_type_info_get_tag), (g_type_info_get_param_type),
2400 (g_type_info_get_interface), (g_type_info_get_array_length),
2401 (g_type_info_is_zero_terminated),
2402 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2403 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2404 (g_value_info_get_value), (g_field_info_get_flags),
2405 (g_field_info_get_size), (g_field_info_get_offset),
2406 (g_registered_type_info_get_type_name),
2407 (g_registered_type_info_get_type_init),
2408 (g_struct_info_get_n_fields), (g_struct_info_get_field),
2409 (g_struct_info_get_n_methods), (g_struct_info_get_method),
2410 (find_method), (g_struct_info_find_method),
2411 (g_enum_info_get_n_values), (g_enum_info_get_value),
2412 (g_object_info_get_parent), (g_object_info_get_type_name),
2413 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2414 (g_object_info_get_interface), (g_object_info_get_n_fields),
2415 (g_object_info_get_field), (g_object_info_get_n_properties),
2416 (g_object_info_get_property), (g_object_info_get_n_methods),
2417 (g_object_info_get_method), (g_object_info_find_method),
2418 (g_object_info_get_n_signals), (g_object_info_get_signal),
2419 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2420 (g_object_info_get_n_constants), (g_object_info_get_constant),
2421 (g_interface_info_get_n_prerequisites),
2422 (g_interface_info_get_prerequisite),
2423 (g_interface_info_get_n_properties),
2424 (g_interface_info_get_property), (g_interface_info_get_n_methods),
2425 (g_interface_info_get_method), (g_interface_info_find_method),
2426 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2427 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2428 (g_interface_info_get_n_constants),
2429 (g_interface_info_get_constant), (g_property_info_get_flags),
2430 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2431 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2432 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2433 (g_constant_info_get_value), (g_union_info_get_n_fields),
2434 (g_union_info_get_field), (g_union_info_get_n_methods),
2435 (g_union_info_get_method), (g_union_info_is_discriminated),
2436 (g_union_info_get_discriminator_offset),
2437 (g_union_info_get_discriminator):
2438 * src/ginvoke.c: (g_function_info_invoke):
2439 * src/girepository.c: (g_irepository_register),
2440 (g_irepository_unregister), (g_irepository_get_default),
2441 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2442 (g_irepository_get_info), (g_irepository_find_by_name),
2443 (g_irepository_get_shared_library),
2444 (g_irepository_build_search_path), (g_irepository_register_file),
2445 (g_irepository_error_quark):
2446 * src/girepository.h:
2447 * src/gmetadata.c: (g_metadata_get_dir_entry),
2448 (g_metadata_check_sanity), (validate_header),
2449 (validate_array_type_blob), (validate_iface_type_blob),
2450 (validate_param_type_blob), (validate_error_type_blob),
2451 (validate_type_blob), (validate_arg_blob),
2452 (validate_signature_blob), (validate_function_blob),
2453 (validate_callback_blob), (validate_constant_blob),
2454 (validate_value_blob), (validate_field_blob),
2455 (validate_property_blob), (validate_signal_blob),
2456 (validate_vfunc_blob), (validate_struct_blob),
2457 (validate_enum_blob), (validate_object_blob),
2458 (validate_interface_blob), (validate_errordomain_blob),
2459 (validate_union_blob), (validate_blob), (validate_directory),
2460 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2461 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2462 (g_metadata_new_from_mapped_file), (g_metadata_free),
2463 (g_metadata_set_module), (g_metadata_get_namespace):
2465 * tests/Makefile.am:
2466 * tests/invoke/Makefile.am:
2467 * tests/invoke/invoke-namespace-find.sh:
2468 * tests/invoke/invoke.c: (main):
2470 Add a namespace/shared library mapping. fixes #313268.
2472 2007-12-03 Johan Dahlin <johan@gnome.org>
2474 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2477 2007-11-30 Jürg Billeter <j@bitron.ch>
2483 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2484 (g_igenerator_write_inline), (g_igenerator_write),
2485 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2486 (field_generate), (value_generate), (constant_generate),
2487 (property_generate), (function_generate), (vfunc_generate),
2488 (signal_generate), (interface_generate), (struct_generate),
2489 (union_generate), (boxed_generate), (enum_generate),
2490 (node_generate), (module_generate), (get_type_from_type_id),
2491 (str_replace), (g_igenerator_process_properties),
2492 (g_igenerator_process_signals), (g_igenerator_process_types),
2493 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2494 (g_igenerator_process_unregistered_struct_typedef),
2495 (g_igenerator_process_struct_typedef),
2496 (g_igenerator_process_union_typedef),
2497 (g_igenerator_process_enum_typedef),
2498 (g_igenerator_process_function_typedef),
2499 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2500 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2501 (g_igenerator_generate), (main), (csymbol_new),
2502 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2503 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2504 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2505 (eat_hspace), (eat_line), (read_identifier),
2506 (g_igenerator_parse_macros):
2507 * src/gen-introspect.h:
2509 Import gen-introspect to generate introspection information by
2512 2007-11-30 Jürg Billeter <j@bitron.ch>
2514 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2516 2007-11-30 Jürg Billeter <j@bitron.ch>
2518 * src/gidlparser.c: (end_element_handler): Don't leave requires
2521 2007-11-29 Johan Dahlin <johan@gnome.org>
2523 * src/gidlparser.c (parse_type_internal): Add char,
2524 gchar and guchar to the builtin types.
2526 2007-11-26 Johan Dahlin <johan@gnome.org>
2528 * src/ginfo.c: (g_object_info_get_type_name),
2529 (g_object_info_get_type_init):
2530 * src/girepository.c: (g_irepository_is_registered):
2531 * src/girepository.h:
2533 Add g_object_info_get_type_name, g_object_info_get_type_init and
2534 g_irepository_is_registered.
2536 2006-08-14 Jürg Billeter <j@bitron.ch>
2538 * src/gidlparser.c: (end_element_handler): Don't leave
2539 namespace and implements states too early.
2542 2007-11-26 Johan Dahlin <johan@gnome.org>
2544 * src/gmetadata.c (validate_struct_blob):
2545 pass blob_type to validate_function_blob instead of
2546 hard-coding BLOB_TYPE_STRUCT.
2548 Patch by Torsten Schoenfeld, fixes #314190
2550 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2552 * src/compiler.c, src/generate.c, src/gidlnode.c,
2553 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2554 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2555 warnings about return values, signedness mismatches, unused
2556 variables, and unhandles enum values in switch statements.
2558 * tests/invoke/Makefile.am: Don't install the invoke test program.
2559 Add -I ../../src to the cflags used for the test functions files.
2561 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2563 * src/girepository.h: Export g_invoke_error_quark.
2565 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2567 * src/ginvoke.c: Remove the fallback implementation of
2568 g_function_info_invoke since we now formally depend on libffi.
2570 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2572 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2573 Remove these files from cvs, as they are now generated.
2575 * src/gmetadata.c (validate_iface_type_blob): Don't
2576 complain if blob->pointer is not set, since that
2577 happens for enum and flag types. (#308935, Gustavo
2580 * Commit an autoconf-conversion patch by
2581 Gustavo Carneiro (#308708)
2583 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2585 * src/compiler.c (main): Use it here to validate
2586 the generated metadata.
2588 * src/gmetadata.[hc]: Add code to validate a
2591 * metadata-format.txt: Updates
2593 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2595 * tests/*: Add struct offsets to field and vfunc
2598 * src/generate.c (write_vfunc_info): Write offset
2599 information for vfuncs.
2601 * src/gidlnode.c (g_idl_node_build_metadata): Write
2602 the struct offsets into the metadata.
2604 * src/gidlparser.c: Parse the offset attributes of
2605 field and vfunc elements.
2607 * src/gidlnode.h: Add offset members to field and
2610 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2614 * gidl.dtd: Updates.
2616 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2617 file, creates, compiles and runs a C file, and folds the
2618 resulting struct offsets back into the .gidl file.
2620 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2622 * src/gidlparser.c (start_field): Make fields in objects
2625 * src/gidlmodule.c: Include string.h
2630 * metadata-format.txt: Cleanup basic types.
2631 * src/*: Adapt to the changes.
2632 * tests/*: Adapt to the changes.
2633 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2635 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2636 size for enum blobs.
2637 (g_idl_node_get_full_size): Report the correct size for
2640 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2641 error checking for blob sizes.
2643 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2645 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2646 interface types for which is_pointer is FALSE, e.g. enums.
2648 * src/gidlnode.c (g_idl_node_get_full_size)
2649 * src/gidlparser.c (parse_type_internal):
2650 * src/generate.c (write_type_info): Support unspecialized
2651 lists, hashtables and errors. Also emit a '*' after these.
2655 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2659 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2661 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2663 * src/*.c: Change the directory to be addressed by
2664 1-based indexes, and use an index of zero to mean
2667 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2669 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2671 * tests/union.test: Add a union test.
2673 * src/generate.c: Handle unions.
2675 * src/girepository.h:
2676 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2678 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2680 * src/gidlparser.c (start_union): Parse <union> elements.
2682 * src/gidlnode.h: Add a GIdlNodeUnion.
2684 * gidl.dtd: Add a <union> element.
2686 * src/gmetadata.c (g_metadata_check_sanity): Check
2689 * src/gmetadata.h: Add union_blob_size to Header,
2692 * metadata-format.txt: Add a UnionBlob.
2694 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2696 * tests/*: Update testcases.
2698 * src/generate.c (write_callable_info): Don't forget to
2699 write transfer and null-ok attributes for return types
2702 * src/girepository.h:
2703 * src/ginfo.c (g_callable_info_may_return_null):
2704 New function to find out if a function may return NULL.
2706 * src/compiler.c (format_output): Make the generated
2709 * README: Point to a recent libffi snapshot.
2711 * tests/invoke/*: Some invoke tests.
2713 * src/Makefile: Add ginvoke.c and the necessary
2716 * src/girepository.h (g_function_info_invoke): Add
2719 * src/ginvoke.c (g_function_info_invoke): Initial
2720 implementation of invoke functionality based on libffi.
2722 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2723 strings and types hash tables in the right order when
2725 (find_entry_node): Free the name parts.
2727 2005-05-12 Johan Dahlin <johan@gnome.org>
2729 * src/generate.c: Generate consistent end tags.
2733 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2737 * src/gidlparser.c (start_function): Actually add
2738 methods to objects. (Steven Walter)
2740 * src/girepository.h:
2741 * src/ginfo.c: Rename Transfer and Direction to
2742 GITransfer and GIDirection. (Torsten Schoenfeld)
2744 * tests/*: Make tests work with the changes in name
2747 * src/gidlnode.c (find_entry_node): Parse qualified
2748 names and generate xref nodes for them if needed. Don't
2749 require all modules to be loaded any more.
2751 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2754 * src/ginfo.c (g_object_info_get_parent): Return NULL
2755 if blob->parent is 0. Still need to make sure index
2758 * src/generate.c: Generate qualified names when
2759 referring to non-local types. Emit transfer attribute
2762 * src/compiler.c (format_output): Put the function
2763 attributes where gcc accepts them.
2765 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2767 * src/compiler.c (main): Add a --verbose cmdline option
2768 and only log messages if it is specified.
2771 * src/gidlnode.c (init_stats, dump_stats): Collect some
2772 statistics on string and type sharing.
2774 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2775 g_message() instead of fprintf().
2777 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2778 (g_idl_node_get_size): Implement for structs.
2779 (g_idl_node_get_full_size): Handle parent being NULL.
2780 (serialize_type): Handle lookup failures more gracefully.
2782 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2784 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2785 size calculation for 2-parameter types and for objects.
2787 * src/compiler.c: Add a cmdline option for debug output
2788 and install a log handler to implement it.
2789 * src/gidlnode.c: Add some debug spew.
2793 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2794 forget to count the module name when calculating the
2795 required size for the metadata.
2798 * src/gidlparser.c: Fix compiler warnings.
2800 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2802 * src/compiler.c (main): Free the option context.
2804 * gidl.dtd: Clean up handling of names. All elements
2805 have a "name", only the elements corresponding to
2806 actual callable functions (function, method, constructor),
2807 have an additional "symbol" attribute holding the
2808 dlsym()-able function name.
2810 * src/generate.c: Adapt to generate xml matching the
2814 * src/gidlnode.c: Adapt to parse the new dtd.
2816 * tests/*.test: Adjust to the new dtd.
2818 * metadata-format.txt:
2819 * src/gmetadata.h: Remove the short_name field
2821 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2822 * src/girepository.h:
2823 * src/ginfo.c (g_value_info_get_short_name): Removed
2825 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2827 * gidl.dtd: Allow constructors for boxed types,
2828 patch by Jonathan Blandford.
2831 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2833 * --- Initial import ---