1 2008-08-21 Johan Dahlin <johan@gnome.org>
3 * girepository/gtypelib.c (_g_typelib_init):
4 Use g_module_build_path to resolve the shlib name
6 2008-08-21 Colin Walters <walters@verbum.org>
8 * gir/Makefile.am: CLEANFILES typelibs too.
10 2008-08-21 Johan Dahlin <johan@gnome.org>
12 * giscanner/glibtransformer.py:
13 Do not send .la files through find_library.
15 2008-08-21 Colin Walters <walters@verbum.org>
17 * girepository/girparser.c (g_irepository_require):
18 Fix one small leak in error case.
20 2008-08-21 Johan Dahlin <johan@gnome.org>
23 Parse glibconfig.h as well and install the compiled
26 2008-08-21 Johan Dahlin <johan@gnome.org>
29 * giscanner/glibtransformer.py:
31 Do not hard-core library names in the Makefile, reuse
32 ctypes find_library instead.
34 2008-08-21 Johan Dahlin <johan@gnome.org>
36 * girepository/girparser.c (resolve_aliases):
37 Remove compilation warnings
39 2008-08-21 Johan Dahlin <johan@gnome.org>
41 * girepository/girepository.c (g_irepository_require):
42 Rewrap and fix double free bug by leaking a bit.
44 2008-08-20 Colin Walters <walters@verbum.org>
46 * girepository/girepository.c: Add new function
47 g_irepository_get_typelib_path which tells
48 us from where we loaded a namespace.
50 2008-08-20 Colin Walters <walters@verbum.org>
52 * tests/scanner/*-expected.gir: Adjust for
54 * giscanner/giwriter.py: Make pylint happy.
56 2008-08-20 Colin Walters <walters@verbum.org>
58 * girepository/girmodule.c (g_ir_module_build_typelib):
59 Calculate size correctly, avoid use-after-free.
61 2008-08-20 Colin Walters <walters@verbum.org>
63 * girepository/girepository.c: Remove
64 g_irepository_register_file in favor of
65 g_irepository_require. There are two
66 possible deployment scenarios for typelibs:
67 First, separate in $DATADIR/gitypelibs/. Second,
68 they may be embedded in shlibs. However since
69 the first is now the normal case, the API is
72 Refactor internals to look up typelibs for
73 namespaces just-in-time, but we expect
74 consumers to call g_irepository_require.
76 Also, add some docs. No one has died from that
78 * gir/Makefile.am: Need --library for glib.
79 * giscanner/girwriter.py: Write out shared-library.
80 * tools/g-ir-writer: Take the first --library
81 argument as the target of shared-library. In
82 the future we should make this nicer with pkg-config
85 2008-08-20 Colin Walters <walters@verbum.org>
87 * girepository/girparser.py: And parse them.
89 2008-08-20 Johan Dahlin <johan@gnome.org>
91 * giscanner/glibast.py: Add gshort/gushort types
93 2008-08-20 Colin Walters <walters@verbum.org>
95 * gir/Makefile.am: Rename .gir files using GI namespace.
96 * girepository/girepository.c: Use XDG_DATA_DIRS for
97 looking up typelibs. Also typelibs are now suffixed
99 * tests/invoke/Makefile.am: Only use metadata.
100 * girepository/Makefile.am: Remove unnecessary include.
101 * tests/scanner/Makefile.am: Update using GI namespaces
102 for scanner includes.
104 2008-08-20 Colin Walters <walters@verbum.org>
106 * girepository/transformer.py: Suppress aliases whose
108 * girepository/ast.py: Define some more aliases.
110 2008-08-20 Colin Walters <walters@verbum.org>
112 * girepository/girparser.c: Avoid alias infloops.
114 2008-08-20 Colin Walters <walters@verbum.org>
116 * tests/scanner/foo-expected.gir: Fix expected list type.
118 2008-08-20 Johan Dahlin <johan@gnome.org>
120 * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
121 Add a workaround for #548689.
122 We can now compile gtk!
124 2008-08-20 Colin Walters <walters@verbum.org>
126 * giscanner/glibtransformer.py: Try to look up
127 aliases using the c:type too.
129 2008-08-20 Colin Walters <walters@verbum.org>
131 * girepository/girparser.c: Parse union fields.
133 2008-08-20 Johan Dahlin <johan@gnome.org>
135 * giscanner/ast.py: Make time_t an alias for long
137 * gir/gio-2.0-good.gir:
138 * gir/glib-2.0-good.gir:
139 * gir/gobject-2.0-good.gir:
141 * giscanner/glibtransformer.py:
142 Do not delete Class structures, we need them in gdk/gtk.
143 * tests/scanner/drawable-expected.gir:
144 * tests/scanner/foo-expected.gir:
145 * tests/scanner/utility-expected.gir:
148 2008-08-20 Johan Dahlin <johan@gnome.org>
150 * tests/scanner/Makefile.am:
151 * tests/scanner/annotation-expected.gir:
152 * tests/scanner/annotation.c (annotation_object_class_init),
153 (annotation_object_init), (annotation_object_method),
154 (annotation_object_in), (annotation_object_out),
155 (annotation_object_inout), (annotation_object_inout2),
156 (annotation_object_inout3), (annotation_object_calleeowns),
157 (annotation_object_calleesowns), (annotation_object_get_strings),
158 (annotation_object_with_voidp), (annotation_object_get_objects),
159 (annotation_object_create_object), (annotation_object_allow_none):
160 * tests/scanner/annotation.h:
161 * tests/scanner/foo-expected.gir:
162 * tests/scanner/foo.c:
163 * tests/scanner/foo.h:
164 Split out annotation tests out of foo
166 2008-08-20 Johan Dahlin <johan@gnome.org>
168 * tests/scanner/Foo-expected.gir:
169 * tests/scanner/Makefile.am:
170 * tests/scanner/foo-expected.gir:
171 * tests/scanner/foo-object.h:
172 * tests/scanner/foo.c:
173 Foo->foo, foo-object.h -> foo.h
175 2008-08-20 Johan Dahlin <johan@gnome.org>
177 * tests/scanner/Foo-expected.gir:
178 * tests/scanner/Makefile.am:
179 * tests/scanner/drawable-expected.gir:
180 * tests/scanner/drawable.c (test_drawable_class_init),
181 (test_drawable_init):
182 * tests/scanner/drawable.h:
183 * tests/scanner/foo-object.h:
184 * tests/scanner/foo.c (foo_boxed_method):
185 Move the drawable parts out of Foo to its own test.
187 2008-08-20 Johan Dahlin <johan@gnome.org>
189 * tests/scanner/Foo-expected.gir:
190 * tests/scanner/foo-object.h:
191 * tests/scanner/foo.c (foo_drawable_class_init),
193 Add a based on GdkDrawable which generates
196 2008-08-19 Colin Walters <walters@verbum.org>
198 * giscanner/transformer.py: Don't try
199 to strip prefix before namespace.
201 2008-08-19 Johan Dahlin <johan@gnome.org>
203 * giscanner/transformer.py:
204 * tests/scanner/Foo-expected.gir:
205 * tests/scanner/foo-object.h:
206 Add support for typedef void foo type of
209 2008-08-19 Johan Dahlin <johan@gnome.org>
212 * giscanner/girwriter.py:
213 * giscanner/glibtransformer.py:
214 * giscanner/transformer.py:
215 * tests/scanner/Foo-expected.gir:
216 Add basic support for union, base the code much
217 on Struct. Add a testcase.
219 2008-08-19 Johan Dahlin <johan@gnome.org>
221 * tests/scanner/Foo-expected.gir:
222 * tests/scanner/foo-object.h:
223 Add a union testcase which the compiler currently
226 2008-08-19 Johan Dahlin <johan@gnome.org>
228 * gobject-introspection-1.0.pc.in:
229 Add a g_ir_compiler variable
231 2008-08-19 Colin Walters <walters@verbum.org>
233 * giscanner/ast.py: Rework types to be more closely
235 * giscanner/girparser.py: Parse more bits.
236 * giscanner/girwriter.py: Write sequences in a new
237 way that specifies container type.
238 * giscanner/glibast.py: Adjust for ast.py changes,
239 add 'ctype' property to GLibObject and GLibInterface
240 so we can look things up by it later.
241 * gicanner/transformer.py: Names is new class holding
242 the various namespaces we manage. Do not confuse
243 with Namespace which is toplevel XML node effectively.
244 Rework all type resolution to go through
245 _resolve_type_name_1.
246 * giscanner/glibtransformer.py: Raise UnknownTypeError
247 instead of ValueError for cleanliness. Add Unresolved
248 class to mark types whose parent we haven't seen yet.
249 Use new Names object from transformer.py.
250 Correctly look up parent=.
251 Fix type validation to handle sequences.
252 * tests/scanner/Foo-expected.gir: Update for sequence
253 work, int instead of int32.
254 * tools/g-ir-scanner: Add --noclosure option
255 * gir/Makefile.am: Use --noclosure by default for
258 2008-08-18 Johan Dahlin <johan@gnome.org>
260 * gir/gio-2.0-good.gir:
261 * gir/glib-2.0-good.gir:
262 * gir/gobject-2.0-good.gir:
265 2008-08-18 Johan Dahlin <johan@gnome.org>
268 * giscanner/girparser.py:
269 * giscanner/girwriter.py:
270 * giscanner/glibast.py:
271 * giscanner/glibtransformer.py:
272 * giscanner/transformer.py:
273 * tests/scanner/Foo-expected.gir:
274 * tests/scanner/foo-object.h:
275 * tests/scanner/utility-expected.gir:
276 * tests/scanner/utility.h:
277 Redo type resolving and validation.
278 Add a couple of new tests.
279 Patch mostly written by Colin.
281 2008-08-18 Johan Dahlin <johan@gnome.org>
284 * giscanner/girparser.py:
286 * giscanner/transformer.py:
287 Improve enum parsing for enums without a GType.
288 Make flags/enum references to other girs work
289 * giscanner/utils.py:
291 * tests/scanner/Makefile.am:
292 * tests/scanner/foo-object.h:
293 * tests/scanner/utility-expected.gir:
294 * tests/scanner/utility.h:
295 Add a new test for external enum references
297 2008-08-18 Johan Dahlin <johan@gnome.org>
299 * docs/global-module-registry.txt: Update
301 * tests/array.gir: Update with new type proposal
303 * girepository/girepository.c (g_type_tag_to_string):
304 * girepository/girepository.h:
305 * girepository/girnode.c (g_ir_node_get_full_size_internal),
307 * girepository/girnode.h:
308 Make enum serializing functions public. Clean up some whitespace.
310 2008-08-17 Johan Dahlin <johan@gnome.org>
312 * docs/global-module-registry.txt:
313 Add a document for an on disk module registry format
315 2008-08-17 Johan Dahlin <johan@gnome.org>
318 * gir/gio-2.0-good.gir:
321 2008-08-17 Johan Dahlin <johan@gnome.org>
324 * gir/glib-2.0-good.gir:
325 * gir/gobject-2.0-good.gir:
326 * giscanner/cgobject.py:
327 * giscanner/glibtransformer.py:
328 Regenerate GObject & GType.
329 Avoid warnings when generating gobject-2.0.gir.
330 Introspect a little more, and skip *_get_type functions.
332 2008-08-17 Colin Walters <walters@verbum.org>
334 * gir/glib-2.0.gir, gir/gobject-2.0.gir:
335 Rename to -good, always generate during build.
336 * gir/Makefile.am: Ensure .gir files dep on
338 * Makefile.am: Switch build order to ensure
339 the scanner is ready before we do gir/.
340 * tools/g-ir-scanner: Look for .git too.
342 2008-08-17 Johan Dahlin <johan@gnome.org>
344 * girepository/gtypelib.c (validate_enum_blob):
345 * giscanner/glibtransformer.py:
346 * giscanner/transformer.py:
347 Remove resolve_possible_typedefs, it was unused.
348 Allow multiple enum values of the sample value in an enum,
349 since it's actually pretty common.
350 Register enums so they can be resolved too.
352 2008-08-16 Johan Dahlin <johan@gnome.org>
354 * giscanner/girparser.py:
355 Parse enumeration/bitfield.
357 2008-08-16 Johan Dahlin <johan@gnome.org>
359 * giscanner/girparser.py:
362 2008-08-16 Johan Dahlin <johan@gnome.org>
364 * giscanner/glibtransformer.py:
365 Resolve type names for alias targets
366 * giscanner/transformer.py:
367 Skip FILE* parameters fow now
369 2008-08-16 Johan Dahlin <johan@gnome.org>
372 * gir/gobject-2.0.gir:
375 * tests/scanner/Makefile.am:
378 2008-08-15 Colin Walters <walters@verbum.org>
380 * giscanner/glibtransformer.py: Explicitly construct
381 new list, since we're deleting as we iterate.
382 Don't delete all structures which end in Class; just
383 ones which have a paired GObject.
384 Fix printing of type warning.
385 * giscanner/transformer.py: Make strip_namespace_object
386 be the identity function if it doesn't match the
389 2008-08-15 Colin Walters <walters@verbum.org>
391 * giscanner/cgobject.py: Define yet more argument
392 prototypes; fix prototype for g_type_fundamental.
394 2008-08-14 Johan Dahlin <johan@gnome.org>
397 * tests/constant.gir:
400 * tools/generate.c (write_struct_info):
401 Fix generator for constant/gobject/struct
403 2008-08-14 Johan Dahlin <johan@gnome.org>
407 * tools/generate.c (write_enum_info):
408 Fix generation of enum/bitfields
410 2008-08-14 Johan Dahlin <johan@gnome.org>
412 * girepository/girparser.c (start_field), (start_constant),
413 (start_type), (end_element_handler):
414 Clear up constant parsing
419 * tools/generate.c (write_callable_info), (write_function_info),
420 (write_callback_info), (write_constant_info), (write_signal_info),
421 (write_vfunc_info), (write_property_info), (write_object_info),
422 (write_interface_info):
423 Constants/Signals are handled now.
425 2008-08-14 Johan Dahlin <johan@gnome.org>
427 * girepository/girparser.c (start_type):
428 Don't require c:type.
432 Update, remove parts we don't support yet
433 * tests/roundtrips.sh:
435 * tools/generate.c (write_type_info), (write_field_info),
436 (write_callable_info), (write_struct_info):
437 Make it emit proper gir.
439 2008-08-14 Johan Dahlin <johan@gnome.org>
441 * giscanner/transformer.py:
442 New internal function for adding a new node.
444 2008-08-14 Johan Dahlin <johan@gnome.org>
447 Define an internal _H_ variable so we skip parsing both
448 i18n headers, only one is needed.
450 Add the glib-2.0.gir too.
451 * giscanner/glibast.py:
452 Add gconstpointer as an alias for ANY
453 * giscanner/transformer.py:
454 Do not lower case enumeration names per se.
455 Skip functions which has parameters called 'va_list'
457 2008-08-14 Colin Walters <walters@verbum.org>
459 * giscanner/transformer.py: Comment data structures.
460 Also squash pointers in resolve_type_name to correspond
461 with what we do for params.
462 * giscanner/glibtransformer.py: Print warnings in more
463 situations. Rework checks for method/constructor to
464 look up in our GType database instead of just checking
465 for *. Avoid generating <record> for GObject which
466 duplicate the <class>.
467 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
470 2008-08-14 Johan Dahlin <johan@gnome.org>
472 * giscanner/girwriter.py:
473 * giscanner/glibast.py:
474 * giscanner/glibtransformer.py:
475 * giscanner/transformer.py:
478 Add pyflakes.py and run it in make check.
479 Update the source code to fix the errors reported by
482 2008-08-14 Johan Dahlin <johan@gnome.org>
485 * giscanner/girparser.py:
486 * giscanner/glibast.py:
487 * giscanner/glibtransformer.py:
488 Refactor the parser a bit.
489 Add parent type to interfaces and update callsites.
491 2008-08-14 Johan Dahlin <johan@gnome.org>
493 * giscanner/glibtransformer.py:
494 * giscanner/utils.py:
495 Refactor a bit, avoid isinstance and add a method
496 for each type we parse.
498 2008-08-14 Johan Dahlin <johan@gnome.org>
501 * giscanner/girparser.py:
502 * giscanner/glibtransformer.py:
504 Run pep8.py in make check, fix old errors.
506 2008-08-13 Colin Walters <walters@verbum.org>
508 * giscanner/girparser.py: Parse records.
510 2008-08-13 Colin Walters <walters@verbum.org>
512 * gir/Makefile.am: Install again.
513 * gir/gobject-2.0.gir: Add some more bits.
515 2008-08-13 Colin Walters <walters@verbum.org>
517 * gir/gobject-2.0.gir: Use correct namespace, add GType.
518 * giscanner/girparser.py: Handle aliases.
519 * giscanner/transformer.py: Record aliases. Make resolver
520 functions public; we now call into these explicitly from
521 glibtransformer. Handle resolving aliases.
522 * giscanner/glibtransformer.py: Separate our internal namespace
523 from included ones. Call up into transformer's resolver functions.
525 2008-08-13 Johan Dahlin <johan@gnome.org>
527 * girepository/girnode.c (g_ir_node_get_full_size_internal):
528 * girepository/girparser.c (start_class):
529 * giscanner/glibtransformer.py:
530 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
532 2008-08-13 Johan Dahlin <johan@gnome.org>
534 * giscanner/cgobject.py:
535 Register GInitiallyUnowned
536 * giscanner/girwriter.py:
537 * giscanner/glibtransformer.py:
538 Special case GObject/GInitially owned as they are a bit special to use.
540 2008-08-13 Colin Walters <walters@verbum.org>
542 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
543 Object is in GObject namespace.
545 2008-08-13 Colin Walters <walters@verbum.org>
547 * giscanner/girparser.py: Fix processing of functions
550 2008-08-13 Colin Walters <walters@verbum.org>
552 * giscanner/girparser.py: Parse more than just <class.
553 * giscanner/glibtransformer.py: Put aliases in a separate
554 data structure since their name is not canonicall.
555 * giscanner/transformer.py: Handle resolving type names
558 2008-08-13 Johan Dahlin <johan@gnome.org>
560 * tools/g-ir-scanner:
561 Allow multiple libraries
562 * giscanner/glibtransformer.py:
563 Rename load_library to add_library, traverse over all libraries
564 when trying to resolve a function
566 2008-08-12 Colin Walters <walters@verbum.org>
568 * giscanner/transformer.py: Record typedefs as <alias> elements.
569 Also attempt to look up types in external namespaces.
570 * giscanner/girwriter.py: Write them.
571 * giscanner/glibtransformer.py: Rework resolver using real instanceof
572 checks. Resolve interface methods and properties.
573 * tests/scanner/foo-object.h: Add a method with typedef.
574 * tests/scanner/Foo-expected.gir: Update.
575 * girepository/girnode.c: Debug tweaks.
576 * girepository/girparser.c: Make a first pass through the XML where we
577 record all the aliases. This lets us resolve them as we go through the
579 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
582 2008-08-12 Colin Walters <walters@verbum.org>
584 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
585 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
587 * giscanner/transformer.py: Record typedefs and expose public API for resolving
589 * tests/scanner/Foo-expected.gir: Fix expected callback types.
591 2008-08-12 Colin Walters <walters@verbum.org>
593 * giscanner/glibtransformer.py: Also transform object properties.
595 2008-08-12 Colin Walters <walters@verbum.org>
597 * giscanner/glibtransformer.py: Also transform callbacks
598 and structure field types.
599 * tests/scanner/Fooe-expected.gir: Update to expect correct
600 names for callbacks and structs.
602 2008-08-12 Colin Walters <walters@verbum.org>
604 * girepository/girparser.c: Handle 'any'.
605 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
608 2008-08-12 Colin Walters <walters@verbum.org>
610 * giscanner/glibtransformer.py: We need to do type
611 resolution in a second pass after we've seen all the
614 2008-08-12 Colin Walters <walters@verbum.org>
616 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
617 Add enum return value.
618 * giscanner/glibtransformer.py: Transform function return types
621 2008-08-12 Colin Walters <walters@verbum.org>
623 * tests/scanner/Makefile.am: Dep .gir files on scanner
624 sources too. Also remove @ so we see scanner invocations.
626 2008-08-12 Colin Walters <walters@verbum.org>
628 * girepository/girparser.c, girepository/gtypelib.c,
629 girepository/gtypelib.h, girepository/girnode.c:
630 Remove usage of (GAPI-oriented) TypeTag in favor of
631 GITypeTag from girepository.h.
633 2008-08-10 Colin Walters <walters@verbum.org>
635 * tests/roundtrips.sh: Use the correct tests.
637 2008-08-10 Colin Walters <walters@verbum.org>
639 * giscanner/cgobject.py: Declare/wrap a few more functions.
640 Fix parameter types for g_object_new and g_type_fundamental.
642 2008-08-10 Colin Walters <walters@verbum.org>
644 * giscanner/cgobject.py: Add new decorator @gwrap which forces
645 us to declare types for both return value and parameters. The
646 ctypes default of 'int' is bad because it hides 32/64 bit
647 problems. Convert all existing functions to use it.
649 2008-08-09 Johan Dahlin <johan@gnome.org>
651 * giscanner/__init__.py:
653 * giscanner/cgobject.py:
654 * giscanner/gidlparser.py:
655 * giscanner/gidlwriter.py:
656 * giscanner/girparser.py:
657 * giscanner/girwriter.py:
658 * giscanner/glibast.py:
659 * giscanner/glibtransformer.py:
660 * giscanner/odict.py:
661 * giscanner/sourcescanner.py:
662 * giscanner/transformer.py:
663 * giscanner/utils.py:
664 * giscanner/xmlwriter.py:
665 * tools/g-ir-scanner:
669 2008-08-09 Johan Dahlin <johan@gnome.org>
672 * relaxng/c-types.xml:
673 * relaxng/g-types.xml:
674 * relaxng/relaxng.rng:
676 Remove outdated relaxng schemas.
678 2008-08-09 Johan Dahlin <johan@gnome.org>
681 Rename metadata to typelib in variable names,
684 2008-08-09 Johan Dahlin <johan@gnome.org>
688 Remove old C scanner, which got rewritten in python.
690 2008-08-09 Johan Dahlin <johan@gnome.org>
692 * girepository/Makefile.am:
702 Move shared *.[ch] files to girepository from tools
704 2008-08-09 Johan Dahlin <johan@gnome.org>
709 * tests/constant.test:
712 * tests/function.test:
713 * tests/gobject.test:
714 * tests/interface.test:
721 Rename *.test to *.gir
723 2008-08-09 Johan Dahlin <johan@gnome.org>
727 * tests/parser/Foo-expected.gir:
728 * tests/parser/Makefile.am:
729 * tests/parser/foo-object.h:
730 * tests/parser/foo.c:
731 * tests/parser/utility-expected.gir:
732 * tests/parser/utility.c:
733 * tests/parser/utility.h:
734 * tests/scanner/Makefile.am:
735 Rename tests/parser to test/scanner
737 2008-08-08 Colin Walters <walters@verbum.org>
739 * tests/roundtrips.sh: Use local .gir files again.
741 2008-08-08 Colin Walters <walters@verbum.org>
743 * tests/invoke/Makefile.am: .gir file depends on libtool
746 2008-08-08 Colin Walters <walters@verbum.org>
748 * tools/girnode.c: Pass through parent node so we can
749 print the node whose child is NULL, if that occurs.
751 2008-08-08 Johan Dahlin <johan@gnome.org>
754 Disable roundtrip tests which are not yet working
755 * tests/invoke/testfns.gir:
758 2008-08-08 Johan Dahlin <johan@gnome.org>
760 * giscanner/girwriter.py:
762 * giscanner/glibast.py:
763 * giscanner/glibtransformer.py:
764 Swap order of members, to keep it consistent with
767 2008-08-08 Johan Dahlin <johan@gnome.org>
769 * girepository/gtypelib.c (validate_header):
770 * girepository/gtypelib.h:
772 * giscanner/girwriter.py:
773 * giscanner/sourcescanner.c (gi_source_symbol_ref),
774 (gi_source_symbol_unref):
777 * tests/constant.test:
780 * tests/function.test:
781 * tests/gobject.test:
782 * tests/interface.test:
783 * tests/invoke/Makefile.am:
784 * tests/invoke/testfns.xml:
786 * tests/parser/Makefile.am:
787 * tests/roundtrips.sh:
794 * tools/compiler.c (main):
795 * tools/generate.c (write_callable_info), (write_function_info),
797 * tools/gidlmodule.c:
798 * tools/gidlmodule.h:
801 * tools/gidlparser.c:
802 * tools/gidlparser.h:
803 * tools/gidlwriter.c:
804 * tools/gidlwriter.h:
805 * tools/scanner.c (create_node_from_gtype),
806 (create_node_from_ctype), (g_igenerator_process_properties),
807 (g_igenerator_process_signals), (g_igenerator_create_object),
808 (g_igenerator_create_interface), (g_igenerator_create_boxed),
809 (g_igenerator_create_enum), (g_igenerator_create_flags),
810 (g_igenerator_process_function_symbol),
811 (g_igenerator_process_unregistered_struct_typedef),
812 (g_igenerator_process_struct_typedef),
813 (g_igenerator_process_union_typedef),
814 (g_igenerator_process_enum_typedef),
815 (g_igenerator_process_function_typedef),
816 (g_igenerator_process_constant), (g_igenerator_process_symbols),
817 (g_igenerator_add_module), (g_igenerator_add_include_idl):
818 Merge in the gir-compiler branch.
819 Thanks to Philip and Colin for their help.
821 2008-07-26 Colin Walters <walters@verbum.org>
823 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
824 and g-idl-generate to go along with how we're changing this
825 module to be installed.
826 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
828 2008-07-24 Colin Walters <walters@verbum.org>
830 * girepository/girepository.c (g_irepository_register): Add
831 environment variable G_IREPOSITORY_VERBOSE so we can print
832 out what we're doing.
833 * girepository/girepository.c (g_irepository_register_file):
834 Add GError error message to g_debug call.
836 2008-07-08 Jürg Billeter <j@bitron.ch>
838 * giscanner/glibast.py:
842 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
844 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
847 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
850 * giscanner/girwriter.py:
851 * giscanner/transformer.py:
852 * tests/parser/Foo-expected.gir:
853 * tests/parser/foo-object.h:
854 * tests/parser/foo.c (foo_object_allow_none):
855 Add support for gtk-doc annotations for allow-none.
858 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
861 * giscanner/girwriter.py:
862 * giscanner/glibast.py:
863 * giscanner/glibtransformer.py:
864 * giscanner/transformer.py:
865 * tests/parser/Foo-expected.gir:
866 Start using abstract type instead of the raw C types.
867 Register a bunch of glib types we care about.
869 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
874 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
876 * girepository/girepository.c:
877 * girepository/gtypelib.c:
878 * girepository/ginfo.c:
879 * girepository/ginvoke.c:
880 * girepository/girepository.h:
881 * girepository/gtypelib.h:
882 * girepository/gmetadata.c:
883 * girepository/Makefile.am:
884 * girepository/gmetadata.h:
886 * tools/gidlmodule.c:
889 * tools/gidlmodule.h:
890 * tools/gidlparser.c:
892 Renamed GMetadata to GTypelib
894 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
896 * giscanner/xmlwriter.py:
897 Improve line wrapping when > 79 charaters
899 2008-06-05 Jürg Billeter <j@bitron.ch>
902 * giscanner/girwriter.py:
903 * giscanner/transformer.py:
904 Use <type> element for field types
905 * tests/parser/Foo-expected.gir:
908 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
910 * giscanner/glibtransformer.py:
911 Fix a bug which prevented GdkEvent from being generated
913 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
915 * giscanner/Makefile.am:
917 * giscanner/girwriter.py:
918 * giscanner/glibast.py:
919 * giscanner/glibtransformer.py:
920 * giscanner/transformer.py:
921 * giscanner/utils.py:
922 * tests/parser/Foo-expected.gir:
923 Improve enum member parsing and introspection
925 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
927 * giscanner/scannerparser.y:
928 * giscanner/sourcescanner.h:
929 * giscanner/sourcescanner.py:
930 Add a new source type enum for member.
931 Use __repr__ for improved debugging
932 * giscanner/girparser.py:
934 * giscanner/transformer.py:
935 Improve parsing of struct members.
936 * tests/parser/foo-object.h:
939 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
941 * giscanner/xmlwriter.py:
942 Improve error reporting when trying to quote None.
943 * giscanner/girparser.py:
944 Do not print warnings when including more complete .gir files
945 * giscanner/girwriter.py:
946 Do not require a name for parameters, add a todo for singletons
947 * giscanner/glibtransformer.py:
948 Refactor the way structs are done, add a couple of hacks to allow
950 * giscanner/transformer.py:
951 Add enough hacks so cairo, atk and pango.gir can be parsed properly
952 * gobject-introspection-1.0.pc.in:
953 Export girdir, so we can access gobject-2.0.gir from outside
955 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
957 * tools/g-ir-scanner:
958 * tests/parser/Makefile.am:
959 Update sys.path before running the parser so we don't have
960 to setup PYTHONPATH ourselves.
964 * girepository/Makefile.am:
965 * giscanner/transformer.py:
966 * gobject-introspection-1.0.pc.in:
967 * gobject-introspection.pc.in:
970 Rename pkg-config name to gobject-introspection-1.0,
971 Do not installed anything which is not using the gir format.
972 Disable compililation the old C scanner, but still keep the source
973 until all the remaning functionallity has been ported.
975 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
977 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
978 a crash when symbol->indent is NULL.
980 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
981 a function to convert a CTYPE symbol to a string
983 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
986 * giscanner/girwriter.py:
987 * giscanner/giscannermodule.c
988 (pygi_source_scanner_append_filename),
989 (pygi_source_scanner_parse_file):
990 * giscanner/glibtransformer.py:
991 * giscanner/sourcescanner.py:
992 Revert back to using temporary files to send in headers.
993 Allow Functions to be passed in as callbacks, add a couple
994 of try/excepts missing features.
995 We can now scan pango
997 2008-05-08 Johan Dahlin <johan@gnome.org>
999 * giscanner/glibtransformer.py:
1000 * giscanner/transformer.py:
1001 Move namespace stripping glibtransformer->transformer
1003 2008-05-08 Johan Dahlin <johan@gnome.org>
1006 * giscanner/girwriter.py:
1007 * giscanner/glibtransformer.py:
1008 * giscanner/transformer.py:
1009 * tools/g-ir-scanner:
1010 Introduce a namespace ast node
1012 2008-05-05 Johan Dahlin <johan@gnome.org>
1014 * giscanner/__init__.py:
1015 * giscanner/sourcescanner.py:
1016 * giscanner/transformer.py:
1017 Move sourcescanner symbols to the sourcescanner module, instead
1018 of in the global __init__ namespace.
1020 2008-05-03 Johan Dahlin <johan@gnome.org>
1022 * giscanner/glibtransformer.py:
1023 * tools/g-ir-scanner:
1024 Handle missing parameters better, allow - and + in .la dlname
1027 2008-05-03 Johan Dahlin <johan@gnome.org>
1029 * giscanner/__init__.py:
1031 * giscanner/girwriter.py:
1032 * giscanner/glibtransformer.py:
1033 * giscanner/transformer.py:
1034 Parse struct fields properly, improve debugging.
1036 2008-04-29 Johan Dahlin <johan@gnome.org>
1039 * giscanner/girwriter.py:
1040 * giscanner/transformer.py:
1041 * tests/parser/Foo-expected.gir:
1043 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
1045 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1048 * docs/g-ir-scanner.1:
1049 * metadata-annotations-proposal.txt:
1050 * metadata-format.txt:
1051 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
1053 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1055 * giscanner/girwriter.py:
1056 * giscanner/glibtransformer.py:
1057 * giscanner/transformer.py:
1058 * giscanner/xmlwriter.py:
1059 * tests/parser/Foo-expected.gir:
1060 * tests/parser/foo-object.h:
1061 Write record/structs to gir file too. Add a couple of tests,
1062 fix an off by one error in xmlwriter.py.
1064 2008-04-28 Johan Dahlin <johan@gnome.org>
1066 * giscanner/xmlwriter.py: Calculate the line length properly,
1067 include the provided extra indentation in the calculation, really.
1069 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1072 * giscanner/glibast.py:
1073 * giscanner/glibtransformer.py:
1074 * giscanner/transformer.py:
1075 * tools/g-ir-scanner:
1076 Add a --strip-prefix and sort out confusion between names and symbols
1077 for functions and struct + derivaties.
1078 Refactor bootstrap of g-ir-scanner, so we can set options on
1079 Transformer() before parsing everything.
1081 2008-04-28 Johan Dahlin <johan@gnome.org>
1083 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
1084 when scanning girepository.h
1086 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
1087 a __GI_SCANNER__ when we run.
1089 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1092 * giscanner/girwriter.py:
1093 * giscanner/glibast.py:
1094 * giscanner/glibtransformer.py:
1095 * tests/parser/Foo-expected.gir:
1096 * tests/parser/utility-expected.gir:
1097 Rename most c:identifier to c:type. Add new ones to
1098 class/interface/enum/boxed.
1100 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1103 * giscanner/girwriter.py:
1104 * giscanner/glibtransformer.py:
1105 * tests/parser/Foo-expected.gidl:
1106 * tests/parser/Makefile.am:
1107 Move c:identifier from return-value to subchild type,
1108 as per Jürgs suggestion
1110 2008-04-28 Johan Dahlin <johan@gnome.org>
1112 * giscanner/girwriter.py:
1113 * tests/parser/Foo-expected.gir:
1114 Write property.type as a child node.
1116 2008-04-27 Johan Dahlin <johan@gnome.org>
1121 * gidl/gobject-2.0.gidl:
1123 * gir/gobject-2.0.gir:
1124 * tests/parser/Makefile.am:
1125 Replace the GObject gidl with a GObject gir.
1127 2008-04-27 Johan Dahlin <johan@gnome.org>
1129 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
1132 * giscanner/xmlwriter.py:
1133 * tests/parser/Foo-expected.gir:
1134 Include indentation in line length calculation
1136 2008-04-27 Johan Dahlin <johan@gnome.org>
1138 * giscanner/girparser.py:
1139 Prettify NS parsing using elementtree.
1141 2008-04-27 Johan Dahlin <johan@gnome.org>
1144 * giscanner/Makefile.am:
1145 * giscanner/girparser.py:
1146 * giscanner/glibtransformer.py:
1147 * tests/parser/Foo-expected.gidl:
1148 * tests/parser/Foo-expected.gir:
1149 * tests/parser/Makefile.am:
1150 * tests/parser/utility-expected.gidl:
1151 * tests/parser/utility-expected.gir:
1152 * tools/g-ir-scanner:
1153 Switch over to GIR as the default format. Add a simple GIDL
1155 Update tests and fix simplify makefiles by depending
1156 on GNU make extensions.
1158 2008-04-27 Johan Dahlin <johan@gnome.org>
1160 * giscanner/xmlwriter.py:
1161 Wrap attributes for lines which are wider than 79 characters
1163 * giscanner/scannerlexer.l:
1164 Allow parenthesis in annotations
1167 * giscanner/gidlwriter.py:
1168 * giscanner/girwriter.py:
1169 * giscanner/glibtransformer.py:
1170 * giscanner/transformer.py:
1171 Add initial sequence support, including annotation.
1172 Refactor type handling a bit.
1174 2008-04-27 Johan Dahlin <johan@gnome.org>
1176 * tests/parser/Foo-expected.gidl:
1177 * tests/parser/foo-object.h:
1178 * tests/parser/foo.c (foo_object_class_init),
1179 (foo_object_get_strings), (foo_object_get_objects):
1180 Add two new functions to check sequence return values.
1181 Also fixes a compilation warning.
1183 2008-04-27 Johan Dahlin <johan@gnome.org>
1185 * giscanner/giscannermodule.c (]): Cast the getter, avoids
1186 a compilation warning.
1188 * tools/Makefile.am (g_ir_scanner_SOURCES):
1189 g-ir-scanner has no sources.
1191 2008-04-25 Johan Dahlin <johan@gnome.org>
1193 * giscanner/Makefile.am:
1195 * giscanner/gidlparser.py:
1196 * giscanner/gidlwriter.py:
1197 * giscanner/girwriter.py:
1198 * giscanner/glibast.py:
1199 * giscanner/glibtransformer.py:
1200 * giscanner/transformer.py:
1201 Split out nodes to ast.py and glibast.py
1203 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1205 * giscanner/Makefile.am:
1206 * giscanner/gidlparser.py:
1207 * giscanner/gidlwriter.py:
1208 * giscanner/girwriter.py:
1209 * giscanner/glibtransformer.py:
1210 * giscanner/gobjecttreebuilder.py:
1211 * giscanner/transformer.py:
1212 * giscanner/treebuilder.py:
1213 * tools/g-ir-scanner:
1214 Rename treebuilder to transformer and
1215 gobjectreebuilder to glibtransformer.
1217 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1219 * giscanner/Makefile.am:
1220 * giscanner/__init__.py:
1221 * giscanner/cgobject.py:
1222 * giscanner/gidlparser.py:
1223 * giscanner/gidlwriter.py:
1224 * giscanner/girwriter.py:
1225 * giscanner/gobjecttreebuilder.py:
1226 * giscanner/odict.py:
1227 * giscanner/sourcescanner.py:
1228 * giscanner/treebuilder.py:
1229 * giscanner/xmlwriter.py:
1230 * tools/Makefile.am:
1231 * tools/g-ir-scanner:
1232 Add LGPLv2 license header and install all python files
1234 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1237 * giscanner/gidlwriter.py:
1238 * giscanner/giscannermodule.c (pygi_source_directive_new),
1239 (directive_get_options), (pygi_source_symbol_new),
1240 (symbol_get_base_type), (pygi_source_type_new),
1241 (type_get_base_type), (type_get_child_list),
1242 (pygi_source_scanner_get_symbols),
1243 (pygi_source_scanner_get_directives):
1244 * giscanner/gobjecttreebuilder.py:
1245 * giscanner/sourcescanner.py:
1246 * giscanner/treebuilder.py:
1247 * tests/parser/foo-object.h:
1248 Add support for virtual methods.
1249 Pair struct FooClass with struct Foo.
1250 Clean up the SourceScanner bindings a bit.
1251 Add a testcase for virtual methods.
1253 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1255 * giscanner/cgobject.py:
1256 * giscanner/gidlwriter.py:
1257 * giscanner/gobjecttreebuilder.py:
1258 Add support for signals
1260 * tests/parser/foo.c (foo_object_class_init):
1261 * Foo-expected.gidl:
1262 Add a signal and update the expected output.
1264 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
1266 * giscanner/gidlwriter.py:
1267 * giscanner/girwriter.py:
1268 * giscanner/giscannermodule.c (directive_get_name),
1269 (directive_get_value), (directive_get_options),
1270 (symbol_get_directives), (symbol_set_directives),
1271 (pygi_source_scanner_parse_file),
1272 (pygi_source_scanner_lex_filename),
1273 (pygi_source_scanner_get_directives), (init_giscanner):
1274 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1275 * giscanner/sourcescanner.h:
1276 * giscanner/sourcescanner.py:
1277 * giscanner/treebuilder.py:
1278 * tools/g-ir-scanner:
1279 Add support for source/header annotations.
1281 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1283 * giscanner/gidlwriter.py:
1284 * giscanner/girwriter.py:
1285 * giscanner/gobjecttreebuilder.py:
1286 * giscanner/treebuilder.py:
1287 Add support for Callbacks
1289 2008-04-22 Havoc Pennington <hp@pobox.com>
1291 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1292 not in metadata->module, look for it in the global module, in case
1293 some other object or the app itself provides the symbol.
1295 2008-04-22 Havoc Pennington <hp@pobox.com>
1297 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1298 dlopening a library that is already in the main app, by checking
1299 whether one of the lib's symbols is already loaded.
1301 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1303 * tests/parser/Foo-expected.gidl:
1304 * tests/parser/foo-object.h:
1307 2008-04-22 Havoc Pennington <hp@pobox.com>
1309 * girepository/ginfo.c (g_interface_info_find_method):
1310 Use interface_blob_size not object_blob_size to compute offset.
1312 2008-04-22 Havoc Pennington <hp@pobox.com>
1314 * girepository/gmetadata.c (_g_metadata_init): remove
1315 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1316 (Glade and Clutter for example) rely on being loaded globally.
1318 2008-04-22 Havoc Pennington <hp@pobox.com>
1320 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1321 function to get the GType given a RegisteredTypeInfo
1323 2008-04-22 Johan Dahlin <johan@gnome.org>
1325 * COPYING: Add a LGPL license, to prevent automake to
1326 put in a copy of GPL here. Pointed out by Havoc.
1328 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1329 (g_type_info_is_pointer), (g_type_info_get_tag),
1330 (g_type_info_get_param_type), (g_type_info_get_interface),
1331 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1332 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1333 (g_error_domain_info_get_codes), (g_enum_info_get_value),
1334 (g_object_info_get_interface), (g_object_info_get_field),
1335 (g_interface_info_get_prerequisite),
1336 (g_signal_info_get_class_closure), (g_constant_info_get_value):
1337 * girepository/ginvoke.c (get_ffi_type):
1338 * girepository/girepository.h:
1339 * girepository/gmetadata.c (g_metadata_get_dir_entry),
1340 (g_metadata_check_sanity), (validate_header),
1341 (validate_array_type_blob), (validate_iface_type_blob),
1342 (validate_param_type_blob), (validate_error_type_blob),
1343 (validate_type_blob), (validate_constant_blob),
1344 (validate_struct_blob), (validate_enum_blob):
1345 * girepository/gmetadata.h:
1346 * tests/Makefile.am:
1347 * tests/invoke/Makefile.am:
1348 * tests/invoke/invoke.c (main):
1349 * tests/roundtrips.sh:
1350 * tools/Makefile.am:
1351 * tools/compiler.c (format_output), (write_out_metadata), (main):
1352 * tools/generate.c (write_type_name), (write_type_info),
1353 (write_constant_value), (write_enum_info), (load_metadata), (main):
1354 * tools/gidlcompilercontext.c:
1355 * tools/gidlcompilercontext.h:
1356 * tools/gidlcompilerentrynode.c:
1357 * tools/gidlcompilerentrynode.h:
1358 * tools/gidlcompilertypenode.c:
1359 * tools/gidlcompilertypenode.h:
1360 * tools/gidlmodule.c (g_idl_module_build_metadata):
1361 * tools/gidlmodule.h:
1362 * tools/gidlnode.c (init_stats), (dump_stats),
1363 (g_idl_node_get_size), (g_idl_node_get_full_size),
1364 (g_idl_node_cmp), (g_idl_node_can_have_member),
1365 (g_idl_node_add_member), (g_idl_node_param_direction_string),
1366 (parse_int_value), (parse_uint_value), (parse_float_value),
1367 (parse_boolean_value), (find_entry_node), (find_entry),
1368 (serialize_type), (g_idl_node_build_metadata), (write_string):
1370 * tools/gidlparser.c (parse_type_internal):
1371 * tools/quote-file.sh:
1372 Revert revisions 157,149-148,136-129 and 120.
1373 Move back to using g-idl-generate to generate the metadata and
1374 avoids dependency on a c compiler.
1376 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1378 * giscanner/girwriter.py:
1379 * tools/g-ir-scanner:
1380 Add an initial GIR writer and a --format option to g-ir-scanner
1382 2008-04-21 Johan Dahlin <johan@gnome.org>
1384 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1385 gobject-2.0 and raise ImportError if not found.
1387 * giscanner/gidlparser.py:
1388 * giscanner/gidlwriter.py:
1389 * giscanner/gobjecttreebuilder.py:
1390 * tools/g-ir-scanner:
1391 Add a --include argument to include types from other idls.
1392 Add a minimalistic GIDL parser (just objects for now)
1393 Implement resolving of external type references and use it to
1394 resolve parent types, argument types and return types.
1396 2008-04-21 Johan Dahlin <johan@gnome.org>
1398 * giscanner/gidlwriter.py:
1399 * giscanner/gobjecttreebuilder.py:
1400 * giscanner/treebuilder.py:
1401 Add support for properties.
1402 Refactor Class/Interface support a bit, to share more code and
1403 always initialize their method attribute to an empty list.
1405 2008-04-21 Johan Dahlin <johan@gnome.org>
1407 * giscanner/cgobject.py:
1408 Add a workaround for a glib bug interface introspection bug
1409 (object_interface_list_properties, object_class_list_properties):
1410 Cast the return value to GParamSpec.
1412 * tests/parser/Foo-expected.gidl: Update
1413 * tests/parser/foo.c: Add a string property
1415 * giscanner/gobjecttreebuilder.py:
1416 After stripping namespaces, remove the original
1417 item to avoid duplication (GtkButton struct and Button object)
1419 2008-04-21 Johan Dahlin <johan@gnome.org>
1421 * giscanner/gobjecttreebuilder.py:
1422 * giscanner/treebuilder.py:
1423 Strip namespaces before objects, so we'll export
1424 GtkButton as Button in the gtk namespace
1426 2008-04-21 Johan Dahlin <johan@gnome.org>
1428 * giscanner/gidlwriter.py:
1429 * giscanner/gobjecttreebuilder.py:
1430 * giscanner/treebuilder.py:
1431 Add constructors for object/boxed types.
1433 2008-04-21 Johan Dahlin <johan@gnome.org>
1435 * giscanner/gidlwriter.py:
1436 * giscanner/gobjecttreebuilder.py:
1437 Add support for boxed types
1439 2008-04-21 Johan Dahlin <johan@gnome.org>
1441 * giscanner/giscannermodule.c: Mark structures as const,
1442 wrap SourceType.const_string.
1444 * tests/parser/foo-object.h: Add a couple of constants.
1446 * giscanner/gidlwriter.py:
1447 * giscanner/gobjecttreebuilder.py:
1448 * giscanner/treebuilder.py:
1449 Add basic support for interfaces
1451 * tools/g-ir-scanner:
1452 Add -o/--output for writing to a file
1454 2008-04-21 Havoc Pennington <hp@redhat.com>
1456 * TODO: add some C API wishlist items I could think of quickly
1458 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1460 * giscanner/gidlwriter.py:
1461 * giscanner/xmlwriter.py:
1462 Add a simple api for writing tags which can be used
1463 with the new 'with statement' in python 2.5
1465 2008-04-21 Johan Dahlin <johan@gnome.org>
1467 * giscanner/gobjecttreebuilder.py:
1468 Strip namespace and object prefix from method names.
1470 2008-04-21 Johan Dahlin <johan@gnome.org>
1472 * tools/g-ir-scanner (main): Add --pkg option to pass in
1473 pkg-config modules to get cflags from.
1475 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1476 Avoid duplication, reuse function writer for methods.
1478 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1480 * giscanner/gidlwriter.py:
1481 * giscanner/gobjecttreebuilder.py:
1482 * giscanner/treebuilder.py:
1483 * tools/g-ir-scanner:
1484 Resolve libtool .la files.
1485 Strip name spaces for methods.
1486 Add function symbols
1488 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1490 * giscanner/cgobject.py:
1491 * giscanner/gidlwriter.py:
1492 * giscanner/gobjecttreebuilder.py:
1493 * giscanner/treebuilder.py:
1494 Add support for classes and methods
1496 2008-04-20 Johan Dahlin <johan@gnome.org>
1498 * giscanner/gidlwriter.py:
1499 * giscanner/gobjecttreebuilder.py:
1500 * giscanner/odict.py:
1501 Avoid conflicts, keep the output ordered similar to
1502 the order of the input.
1503 Add a simple ordered dictionary implemenation
1505 2008-04-19 Johan Dahlin <johan@gnome.org>
1507 * giscanner/cgobject.py:
1508 * giscanner/gidlwriter.py:
1509 * giscanner/gobjecttreebuilder.py:
1510 * tools/g-ir-scanner:
1511 Start introspecting get-type functions.
1512 Implement support for GLib/GFlags GTypes.
1513 Add a ctype based GObject binding.
1515 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1517 * giscanner/gidlwriter.py:
1518 * giscanner/xmlwriter.py:
1519 * tools/g-ir-scanner:
1520 Add a simplistic gidl writer, which can't do too much.
1522 2008-04-18 Johan Dahlin <johan@gnome.org>
1524 * giscanner/sourcescanner.py:
1525 * giscanner/treebuilder.py:
1526 * tools/g-ir-scanner:
1527 split tree building and source scanning interface to separate files.
1529 2008-04-18 Johan Dahlin <johan@gnome.org>
1531 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1533 - Add support for struct/parameter/return, start parsing of ctypes
1535 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1538 2008-03-31 Johan Dahlin <johan@gnome.org>
1540 * tools/g-ir-scanner:
1541 Start to build abstract syntax node of scanned sources.
1542 Add support for cpp options.
1544 2008-03-27 Johan Dahlin <johan@gnome.org>
1546 * giscanner/giscannermodule.c:
1547 * giscanner/scannerlexer.l:
1548 * giscanner/sourcescanner.c:
1549 * tools/g-ir-scanner:
1551 Add simple pre-processor using subprocess and a PIPE.
1552 Change the parse_file apis to accept a file descriptor.
1554 2008-03-25 Johan Dahlin <johan@gnome.org>
1556 * giscanner/__init__.py:
1557 * tools/g-ir-scanner:
1558 Fix a typo and add an example python test program.
1560 2008-03-25 Johan Dahlin <johan@gnome.org>
1562 * giscanner/__init__.py:
1563 * giscanner/giscannermodule.c:
1564 * giscanner/sourcescanner.c:
1565 * giscanner/sourcescanner.h:
1566 Add constants and wrap a few more SymbolType fields
1568 2008-03-25 Johan Dahlin <johan@gnome.org>
1572 * giscanner/__init__.py:
1573 * giscanner/giscannermodule.c:
1574 * giscanner/Makefile.am:
1576 Add initial python bindings for the scanner and
1577 depend on python 2.5.
1579 2008-03-25 Johan Dahlin <johan@gnome.org>
1583 * giscanner/Makefile.am:
1584 * giscanner/sourcescanner.c:
1585 * giscanner/sourcescanner.h:
1586 * tools/Makefile.am:
1587 * tools/grealpath.h:
1588 * tools/sourcescanner.c:
1589 * tools/sourcescanner.h:
1591 Move the scanner to a separate library.
1593 2008-03-23 Johan Dahlin <johan@gnome.org>
1595 * tools/Makefile.am:
1598 * tools/scannerlexer.l:
1599 * tools/scannerparser.y:
1600 * tools/sourcescanner.c:
1601 * tools/sourcescanner.h:
1602 Split out the source scanner from the generator.
1603 Rename the symbols used in the scanner to use the gi_ prefix.
1604 This should make it possible to use the raw C parser from
1607 2008-03-23 Johan Dahlin <johan@gnome.org>
1609 * tests/parser/Makefile.am (utility.gidl):
1610 * tests/parser/utility-expected.gidl:
1611 Pass in the gobject.gidl since we're defining a GObject.
1613 2008-03-12 Johan Dahlin <johan@gnome.org>
1615 * relaxng/relaxng.rng:
1616 Add a releaxng in relaxng we can use to validate the relaxngs
1619 2008-03-12 Jürg Billeter <j@bitron.ch>
1621 * tools/scanner.c: (g_igenerator_new):
1622 * tools/scannerparser.y:
1623 Fix compiler warnings.
1625 2008-03-12 Jürg Billeter <j@bitron.ch>
1629 * tools/scannerparser.y:
1630 Start fixing memory management in g-idl-scanner.
1632 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1634 * tools/gidlcompilercontext.c: (write_compiled):
1635 Fix critical warning when no shlib passed to g-idl-compiler.
1637 2008-03-12 Johan Dahlin <johan@gnome.org>
1639 * tests/parser/utility-expected.gidl:
1640 * tests/parser/utility.h:
1641 Add a get_type-function, so the scanner actually
1642 parses it as an object.
1644 2008-03-12 Johan Dahlin <johan@gnome.org>
1646 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1649 * tests/parser/Foo-expected.gidl:
1650 * tests/parser/Makefile.am:
1651 * tests/parser/foo-object.h:
1652 * tests/parser/foo.c:
1653 * tests/parser/utility-expected.gidl:
1654 * tests/parser/utility.c:
1655 * tests/parser/utility.h:
1657 Add a new gidl test. 'utility.gidl', which is used to be able
1658 to test external type references. Add a reference to UtilityObject*
1661 2008-03-11 Johan Dahlin <johan@gnome.org>
1665 Remove most global variables
1667 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1669 * tools/scannerlexer.l:
1671 * tests/parser/Foo-expected.gidl:
1672 * tests/parser/foo.c:
1673 * tests/parser/Makefile.am:
1674 * tests/parser/foo-object.h:
1676 Added a few extra tests. Which resulted in finding a few
1677 bugs. Which resulted in me fixing those bugs
1679 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1681 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1682 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1683 Add some comments for strings into generated output for
1686 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1688 * tools/gidlcompilercontext.c: (write_compiled):
1689 Write out the shlibs variable before writing out the strings
1690 length. Fixes compiler warning when using '-l' flag with
1693 2008-03-11 Johan Dahlin <johan@gnome.org>
1695 * tests/parser/Foo-expected.gidl:
1696 * tests/parser/foo-object.h:
1699 * tools/scannerlexer.l:
1700 Add support for parsing return arguments. Add support for
1701 caller-owns return types.
1702 Patch by Philip Van Hoof.
1704 * tools/scannerparser.y:
1705 Remove parsing of the @deprecated syntax used in headers.
1706 We will support gtk-doc deprecation in the future instead.
1708 2008-03-11 Johan Dahlin <johan@gnome.org>
1710 * tools/compiler.c (main): Coding style fixes
1712 2008-03-10 Johan Dahlin <johan@gnome.org>
1715 Add GCOV_LIBS to GILIBS
1717 2008-03-10 Johan Dahlin <johan@gnome.org>
1719 * tests/parser/Foo-expected.gidl:
1720 * tests/parser/foo.c:
1721 Rename null-ok to direction=out
1723 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1725 reviewed and extensively tested by Johan
1727 * tests/parser/Foo-expected.gidl:
1728 * tests/parser/foo-object.h:
1729 * tests/parser/foo.c:
1732 * tools/gidlwriter.c:
1735 * tools/scannerlexer.l:
1736 * tools/scannerparser.y:
1738 Add support for scanning for gtk-doc comments inside
1739 C source files. Add tests
1741 2008-03-10 Johan Dahlin <johan@gnome.org>
1743 * tests/parser/Makefile.am:
1744 * tests/parser/foo.c:
1747 * tools/scannerparser.y:
1748 Add an api to lex filenames.
1749 Lex all source .c files passed in on the command line.
1750 Scan sources in a test and a couple of private structures
1751 which should not be included in the generated gidl
1753 2008-03-10 Johan Dahlin <johan@gnome.org>
1755 * tests/invoke/Makefile.am: Make the generated metadata
1756 depend on the g-idl-compiler
1758 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1760 * tools/gidlmodule.c
1761 * tools/gidlmodule.h
1764 Remove the old g-idl-compiler code.
1767 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1769 * tools/quote-file.sh
1772 Move to using the 'C' struct compiler code.
1774 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1776 * girepository/ginfo.c
1778 Change the way that external references with no namespace
1779 are dealt with. External references with no namespace
1780 are placed into the XML as-if they are a local reference.
1781 This is temporary, but helps with roundtrip tests.
1783 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1785 * girepository/ginfo.c
1786 Add the ability to get the value of a constant of
1787 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1788 is provided as a string.
1790 This would deal properly with:
1791 typedef char* random;
1792 const random = "A string";
1794 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1796 * girepository/ginfo.c
1797 * girepository/girepository.h
1799 Add a function to check if an enum is registered or not.
1800 Previously anything testing this relied on the g-type
1801 string offset having a value of 0.
1803 * girepository/gmetadata.c
1804 * girepository/gmetadata.h
1806 Remove unneccesary or erroneous checks. There were two
1807 metadata validation checks which made sure that the blob
1808 sizes were the same as some magic numbers compiled into the code.
1809 This is wrong as it breaks any forwards compatibility that may
1812 Checks were also present that made sure that unregistered type
1813 blobs had a value of 0 in the g-type offset field. This is
1814 unneccessary. If a type blob is unregistered then any value
1815 in its g-type field is simply invalid.
1817 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1819 * girepository/ginfo.c
1820 * girepository/gmetadata.c
1821 * girepository/gmetadata.h
1823 Change the metadata format to have a standard header
1824 for all the type blobs. Merge the SimpleTypeBlob
1825 and InterfaceTypeBlob into a union. A union of these
1826 two blobs existed previously but was not explicit
1827 in the metadata format.
1829 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1831 * tools/gidlcompilercontext.c
1832 * tools/gidlcompilercontext.h
1833 * tools/gidlcompilerentrynode.c
1834 * tools/gidlcompilerentrynode.h
1835 * tools/gidlcompilertypenode.c
1836 * tools/gidlcompilertypenode.h
1838 Add code to compile a tree of GIdlNodes to
1839 a 'C' struct representing the metadata.
1840 This is to aid cross-compiling. Previously
1841 the g-idl-compiler created a binary blob with
1842 data written in the byte order and alignment
1843 of the tool rather than the intended target.
1845 Cleaned up and improved by Johan and Robert :-)
1847 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1849 * girepository/ginvoke.c
1850 * girepository/girepository.h
1851 * girepository/gmetadata.c
1852 * girepository/gmetadata.h
1854 * tools/gidlparser.c
1855 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1856 to avoid confusion with the interface blob.
1859 * tools/gidlparser.c
1860 Remove magic numbers and replace with type-tag
1861 enumeration symbols.
1863 * girepository/gmetadata.c
1864 Add validate declaration.
1866 2008-03-10 Jürg Billeter <j@bitron.ch>
1868 * tools/gidlparser.c: (parse_type_internal):
1869 * tools/scannerlexer.l:
1870 * tools/scannerparser.y:
1871 Support C99 _Bool type in scanner.
1873 2008-03-10 Jürg Billeter <j@bitron.ch>
1875 * tests/parser/Foo-expected.gidl:
1876 * tests/parser/foo-object.h:
1877 * tests/parser/foo.c: (foo_enum_method):
1878 * tools/scanner.c: (g_igenerator_process_function_symbol):
1879 Don't skip functions that are defined in the namespace of a type
1880 that doesn't support methods, as for example enums.
1882 2008-03-10 Johan Dahlin <johan@gnome.org>
1884 * gidl.dtd: Remove, we're using relaxng for now
1886 * tests/parser/Foo-expected.gidl:
1887 * tests/parser/foo-object.h:
1888 * tests/parser/foo.c:
1889 Rename the enum/flags get_type functions to include the whole type.
1891 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1893 * tools/gidlwriter.c (enum_generate): added "type-name",
1894 "get-type" and "deprecated" missing arguments.
1895 * tests/parser/Foo-expected.gidl:
1896 * tests/parser/foo-object.h: test enum type, and no type.
1898 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1901 Consistent checks, add missing 'test'
1903 2008-03-05 Havoc Pennington <hp@redhat.com>
1905 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1906 does on Fedora 8. Make libffi a hard requirement, since it was in
1907 practice anyway (was not really conditional in the code or
1908 makefile, only in configure).
1910 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1912 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1913 reviewed by: Johan Dahlin <johan@gnome.org>
1915 * tests/Makefile.am:
1916 * tests/roundtrips.sh:
1917 Modify the roundtrips test so that they do not use the
1918 --raw option of the gidl compiler but instead compile a
1919 shared library to use with g_module.
1921 * tests/invoke/Makefile.am:
1922 * tests/invoke/invoke.c:
1923 Modify the invoke tests to build a shared library rather
1924 than use the --raw option.
1926 * tests/invoke/invoke-namespace-find.sh: Removed:
1927 Noone knows why this was here, so removed.
1929 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1931 * tools/scanner.c: (g_igenerator_process_function_symbol):
1932 Move g_idl_node_can_have_member test later, as it broke spotting
1933 get_type's for nodes that can't have members.
1935 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1938 * tools/gidlnode.c: (g_idl_node_can_have_member):
1939 Add g_idl_node_can_have_member.
1941 * tools/scanner.c: (g_igenerator_process_function_symbol):
1942 Use g_idl_node_can_have_member to test if we should add a function
1943 as a member of the type node.
1945 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1947 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1949 * tests/parser/Makefile.am:
1950 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1952 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1954 * tools/scanner.c: (main):
1955 Ignore -pthread when passed to g-idl-scanner.
1957 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1959 * tools/grealpath.h: Added:
1960 * tools/scanner.c: (main):
1961 * tools/scannerlexer.l:
1962 * tools/Makefile.am:
1963 Always use absolute paths with symbolic links resolved when
1964 comparing filenames.
1966 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1968 * gobject-introspection.pc.in:
1969 Provide variables for g-idl-parser, scanner and compiler in the
1972 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1975 * girepository/Makefile.am:
1976 * tools/Makefile.am:
1977 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1979 2008-02-10 Johan Dahlin <johan@gnome.org>
1981 * tests/parser/Foo-expected.gidl:
1982 * tests/parser/foo-object.h:
1983 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1984 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1987 2008-02-10 Johan Dahlin <johan@gnome.org>
1989 * tests/parser/Foo-expected.gidl:
1990 * tests/parser/foo-object.h:
1991 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1992 Add enum and flags test.
1994 2008-02-10 Johan Dahlin <johan@gnome.org>
1998 * girepository/Makefile.am:
1999 Make 'make distcheck' work again.
2001 2008-02-10 Johan Dahlin <johan@gnome.org>
2003 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
2006 * tests/parser/Makefile.am: Only create Foo.gidl when running make
2007 check, eg exclude it from BUILT_SOURCES.
2009 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2014 * girepository/Makefile.am:
2015 * m4/Makefile.am: Added:
2016 * m4/as-compiler-flag.m4: Added:
2017 * m4/gcov.m4: Added:
2018 * tools/Makefile.am:
2019 Add ability to generate a coverage report.
2020 Adds configure option --enable-gcov and make rule 'check-coverage'.
2022 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2026 * gidl/Makefile.am: Added:
2027 * girepository/Makefile.am: Added:
2028 * src/Makefile.am: Renamed to tools/Makefile.am:
2029 * src/compiler.c: Renamed to tools/compiler.c:
2030 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
2031 * src/generate.c: Renamed to tools/generate.c:
2032 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
2033 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
2034 * src/gidlnode.c: Renamed to tools/gidlnode.c:
2035 * src/gidlnode.h: Renamed to tools/gidlnode.h:
2036 * src/gidlparser.c: Renamed to tools/gidlparser.c:
2037 * src/gidlparser.h: Renamed to tools/gidlparser.h:
2038 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
2039 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
2040 * src/ginfo.c: Renamed to girepository/ginfo.c:
2041 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
2042 * src/girepository.c: Renamed to girepository/girepository.c:
2043 * src/girepository.h: Renamed to girepository/girepository.h:
2044 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
2045 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
2046 * src/scanner.c: Renamed to tools/scanner.c:
2047 * src/scanner.h: Renamed to tools/scanner.h:
2048 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
2049 * src/scannerparser.y: Renamed to tools/scannerparser.y:
2050 * tests/invoke/Makefile.am:
2051 Split src/ into girepository/ and tools/
2055 * girepository/Makefile.am:
2056 * tests/Makefile.am:
2057 * tests/invoke/Makefile.am:
2058 * tests/parser/Makefile.am:
2059 * tests/roundtrips.sh:
2060 * tools/Makefile.am:
2061 Make distcheck work.
2063 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
2065 * tests/invoke/invoke.c: (main):
2066 * tests/invoke/testfns.c: (test6), (test7):
2067 * tests/invoke/testfns.xml:
2068 Add tests for invokation with a GList argument.
2069 Also tests caller-owns return values.
2071 2008-02-04 Rob Taylor <robtaylor@floopily.org>
2074 Add some documentation for GICallableInfo
2076 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
2079 Correct syntax errors in the DTD file.
2081 * relaxng/c-types.xml:
2082 * relaxng/g-types.xml:
2084 Add a RelaxNG specification for the GObject Introspection XML data.
2085 The Specification has validated all of the test files.
2087 2008-01-25 Rob Taylor <robtaylor@floopily.org>
2089 * tests/roundtrips.sh:
2090 * tests/struct.test:
2091 Add roundtrip tests for structs.
2093 2008-01-11 Johan Dahlin <johan@gnome.org>
2095 * src/scanner.c (g_igenerator_process_function_symbol):
2096 Refactor out g_idle_node_add_member.
2097 (create_node_from_gtype, create_node_from_ctype):
2098 Use case instead of if...else
2099 (get_type_from_type_id):
2100 Rename to create_node_from_gtype
2101 (get_type_from_ctype):
2102 Rename to create_node_from_ctype
2104 Rename ginode -> node, gitype -> type, gifunc -> func.
2106 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
2107 Two new functions, refactor out of scanner.c
2109 * src/scanner.c: (g_igenerator_process_function_symbol):
2110 * src/scannerlexer.l:
2111 Do not save the content of the deprecated variable, only
2114 2008-01-11 Johan Dahlin <johan@gnome.org>
2116 * tests/parser/foo-object.h: Add a couple of comment parser tests.
2118 2008-01-11 Jürg Billeter <j@bitron.ch>
2120 * src/scannerlexer.l:
2121 Fix GTK-Doc parsing.
2123 2008-01-11 Jürg Billeter <j@bitron.ch>
2125 * src/scannerlexer.l:
2126 Fix GTK-Doc parsing.
2128 2008-01-11 Jürg Billeter <j@bitron.ch>
2130 * src/scanner.c: (lookup_symbol):
2131 Return unresolved name if we find unknown symbol.
2133 2008-01-11 Jürg Billeter <j@bitron.ch>
2135 * src/scanner.c: (g_igenerator_generate):
2136 Initialize GObject to fix scanning interface properties.
2138 * tests/parser/Foo-expected.gidl:
2139 * tests/parser/foo-object.h:
2140 * tests/parser/foo.c: (foo_interface_get_type):
2141 Test interfaces with GObject prerequisite.
2143 * tests/parser/Makefile.am:
2144 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
2146 2007-12-27 Johan Dahlin <johan@gnome.org>
2148 * src/scannerlexer.l:
2149 Parse gtk-doc comments.
2151 * src/gidlwriter.c: (function_generate):
2152 Reorganize, avoid duplication and add support for
2153 writing deprecated functions.
2155 * src/scannerparser.y:
2157 Add new structure CDirective and functions to create/free them.
2159 * src/scanner.c: (g_igenerator_process_function_symbol),
2160 (g_igenerator_process_unregistered_struct_typedef),
2161 (g_igenerator_process_struct_typedef),
2162 (g_igenerator_process_union_typedef),
2163 (g_igenerator_process_enum_typedef),
2164 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
2165 (g_igenerator_start_preprocessor):
2166 Parse @deprecated directive for functions.
2167 Remove some more C99isms.
2168 Send in -C to cpp to avoid stripping comments.
2170 * tests/parser/foo-object.h:
2171 * tests/parser/Foo-expected.gidl:
2172 Add deprecated directive
2174 2007-12-27 Johan Dahlin <johan@gnome.org>
2176 * src/scannerlexer.l (intsuffix): Add emacs mode line and
2177 escape ' and " so it looks more like C.
2180 Unlink temporary file used.
2182 2007-12-27 Johan Dahlin <johan@gnome.org>
2184 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
2185 (g_igenerator_start_preprocessor), (main):
2187 * src/scannerparser.y:
2188 Plug a couple of simple memory leaks.
2190 2007-12-27 Johan Dahlin <johan@gnome.org>
2192 * src/scanner.c: (g_igenerator_parse_macros),
2193 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
2196 * src/scannerparser.y:
2197 * tests/parser/Makefile.am:
2199 Improve error reporting, return when the preprocessor fails.
2200 Add a verbose parameter, to aid debugging.
2201 Revert to using a temporary file to communicate between the
2202 preprocessor and the parser, because we need to wait for
2203 the exit code from the pre-processor before starting to parse.
2205 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
2207 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
2208 cparser.y to scannerparser.y
2210 2007-12-11 Johan Dahlin <johan@gnome.org>
2214 * src/scanner.c: (g_igenerator_new):
2216 Get rid of the global the_generator variable.
2218 2007-12-10 Johan Dahlin <johan@gnome.org>
2220 * src/scanner.c (main): Add an output option,
2221 add checks for required parameters
2224 set BUILD_SOURCES and CLEANFILES properly
2226 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
2227 (g_writer_write_indent), (g_writer_write_unindent),
2228 (field_generate), (value_generate), (constant_generate),
2229 (property_generate), (function_generate), (vfunc_generate),
2230 (signal_generate), (interface_generate), (struct_generate),
2231 (union_generate), (boxed_generate), (enum_generate),
2232 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
2234 * src/scanner.c: (g_igenerator_generate):
2236 * src/scannerwriter.c:
2238 Refactor scannerwriter to only be tied to a GIdlModule and move
2239 it (again!) to gidlwriter.c. Change the writer function to take
2242 2007-12-10 Johan Dahlin <johan@gnome.org>
2245 * src/scanner.c: (g_igenerator_generate):
2247 * src/scannerwriter.c: (g_igenerator_write_inline),
2248 (g_igenerator_write), (g_igenerator_write_indent),
2249 (g_igenerator_write_unindent), (field_generate), (value_generate),
2250 (constant_generate), (property_generate), (function_generate),
2251 (vfunc_generate), (signal_generate), (interface_generate),
2252 (struct_generate), (union_generate), (boxed_generate),
2253 (enum_generate), (node_generate), (module_generate),
2254 (g_scanner_write_file):
2256 Move the scanner gidl writing to a separate source file.
2258 2007-12-10 Johan Dahlin <johan@gnome.org>
2263 Move over all CType construction functions.
2265 * tests/parser/Makefile.am:
2266 Be verbose when printing parsing tests results.
2268 2007-12-10 Johan Dahlin <johan@gnome.org>
2270 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2271 preprocessor handling to here. Start cpp insteado of cc -E,
2272 always include -U__GNUC__, since it's specific to the preprocessor
2275 * tests/parser/Makefile.am (check-local): Silent diff and skip
2276 -U__GNUC__ which is always defined now
2278 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
2280 reviewed by: <delete if not using a buddy>
2282 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2283 * tests/parser/Makefile.am:
2285 2007-12-09 Johan Dahlin <johan@gnome.org>
2288 Use GOption for command line options.
2289 (g_igenerator_new, main): Simplify constructor and they way
2290 parameters are passed into it.
2296 * src/gen-introspect.c:
2297 * src/gen-introspect.h:
2299 Rename gen-introspect.[ch] to scanner.[ch]
2301 2007-12-09 Johan Dahlin <johan@gnome.org>
2305 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2306 don't make the repository library and the other utilites link against
2309 * src/gen-introspect.c: (g_igenerator_create_object),
2310 (g_igenerator_create_interface), (g_igenerator_create_boxed),
2311 (g_igenerator_create_enum), (g_igenerator_create_flags),
2312 (g_igenerator_process_module_symbol),
2313 (g_igenerator_process_module), (g_igenerator_generate), (main):
2314 * src/gen-introspect.h:
2315 Refactor g_igenerator_process_types into smaller pieces.
2317 * tests/parser/Makefile.am:
2318 Depend on the gen-introspect binary
2320 2007-12-09 Johan Dahlin <johan@gnome.org>
2322 * src/gen-introspect.c (g_igenerator_process_types):
2323 Break into smaller pieces, one for each generated node type.
2325 2007-12-08 Johan Dahlin <johan@gnome.org>
2327 * src/gen-introspect.c: (g_igenerator_process_types),
2328 (g_igenerator_add_module):
2329 * tests/parser/Foo-expected.gidl:
2330 * tests/parser/foo-object.h:
2331 * tests/parser/foo.c: (foo_subobject_class_init),
2332 (foo_subobject_init):
2334 Add a subobject test and make sure to register defined classes
2335 in the lookup symbol hash table.
2337 2007-12-08 Johan Dahlin <johan@gnome.org>
2341 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2342 (g_igenerator_process_types), (g_igenerator_add_module),
2343 (g_igenerator_add_include_idl), (main):
2344 * src/gen-introspect.h:
2345 * tests/parser/Makefile.am:
2346 * tests/parser/Foo-expected.gidl:
2348 Change the gen-introspect to generate namespaced module names,
2349 such as GLib.Object instead of GObject.
2350 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2351 add a --include-idl parameter to gen-introspect,
2352 and update the parser test.
2354 2007-12-08 Johan Dahlin <johan@gnome.org>
2356 * src/gen-introspect.c:
2357 Move main to the end of the file and attempt to make it valid
2360 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2361 we're not quite ready to generate metadata yet.
2366 Add a simple gen-introspect parser test
2368 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2370 reviewed by: Johan Dahlin <johan@gnome.org>
2373 * gobject-introspection.pc.in:
2375 * src/compiler.c: (format_output), (write_out_metadata), (main):
2376 * src/gen-introspect.c: (main):
2377 * src/gen-introspect.h:
2378 * src/generate.c: (write_callable_info), (write_repository),
2379 (load_metadata), (main):
2380 * src/gidlmodule.c: (g_idl_module_new),
2381 (g_idl_module_build_metadata):
2383 * src/gidlparser.c: (start_element_handler):
2384 * src/ginfo.c: (g_info_new), (g_info_from_entry),
2385 (g_base_info_get_name), (g_base_info_get_namespace),
2386 (g_base_info_is_deprecated), (g_base_info_get_annotation),
2387 (g_base_info_get_metadata), (g_function_info_get_symbol),
2388 (g_function_info_get_flags), (g_function_info_get_property),
2389 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2390 (g_callable_info_may_return_null),
2391 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2392 (g_callable_info_get_arg), (g_arg_info_get_direction),
2393 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2394 (g_arg_info_is_optional), (g_arg_info_may_be_null),
2395 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2396 (g_type_info_get_tag), (g_type_info_get_param_type),
2397 (g_type_info_get_interface), (g_type_info_get_array_length),
2398 (g_type_info_is_zero_terminated),
2399 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2400 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2401 (g_value_info_get_value), (g_field_info_get_flags),
2402 (g_field_info_get_size), (g_field_info_get_offset),
2403 (g_registered_type_info_get_type_name),
2404 (g_registered_type_info_get_type_init),
2405 (g_struct_info_get_n_fields), (g_struct_info_get_field),
2406 (g_struct_info_get_n_methods), (g_struct_info_get_method),
2407 (find_method), (g_struct_info_find_method),
2408 (g_enum_info_get_n_values), (g_enum_info_get_value),
2409 (g_object_info_get_parent), (g_object_info_get_type_name),
2410 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2411 (g_object_info_get_interface), (g_object_info_get_n_fields),
2412 (g_object_info_get_field), (g_object_info_get_n_properties),
2413 (g_object_info_get_property), (g_object_info_get_n_methods),
2414 (g_object_info_get_method), (g_object_info_find_method),
2415 (g_object_info_get_n_signals), (g_object_info_get_signal),
2416 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2417 (g_object_info_get_n_constants), (g_object_info_get_constant),
2418 (g_interface_info_get_n_prerequisites),
2419 (g_interface_info_get_prerequisite),
2420 (g_interface_info_get_n_properties),
2421 (g_interface_info_get_property), (g_interface_info_get_n_methods),
2422 (g_interface_info_get_method), (g_interface_info_find_method),
2423 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2424 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2425 (g_interface_info_get_n_constants),
2426 (g_interface_info_get_constant), (g_property_info_get_flags),
2427 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2428 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2429 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2430 (g_constant_info_get_value), (g_union_info_get_n_fields),
2431 (g_union_info_get_field), (g_union_info_get_n_methods),
2432 (g_union_info_get_method), (g_union_info_is_discriminated),
2433 (g_union_info_get_discriminator_offset),
2434 (g_union_info_get_discriminator):
2435 * src/ginvoke.c: (g_function_info_invoke):
2436 * src/girepository.c: (g_irepository_register),
2437 (g_irepository_unregister), (g_irepository_get_default),
2438 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2439 (g_irepository_get_info), (g_irepository_find_by_name),
2440 (g_irepository_get_shared_library),
2441 (g_irepository_build_search_path), (g_irepository_register_file),
2442 (g_irepository_error_quark):
2443 * src/girepository.h:
2444 * src/gmetadata.c: (g_metadata_get_dir_entry),
2445 (g_metadata_check_sanity), (validate_header),
2446 (validate_array_type_blob), (validate_iface_type_blob),
2447 (validate_param_type_blob), (validate_error_type_blob),
2448 (validate_type_blob), (validate_arg_blob),
2449 (validate_signature_blob), (validate_function_blob),
2450 (validate_callback_blob), (validate_constant_blob),
2451 (validate_value_blob), (validate_field_blob),
2452 (validate_property_blob), (validate_signal_blob),
2453 (validate_vfunc_blob), (validate_struct_blob),
2454 (validate_enum_blob), (validate_object_blob),
2455 (validate_interface_blob), (validate_errordomain_blob),
2456 (validate_union_blob), (validate_blob), (validate_directory),
2457 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2458 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2459 (g_metadata_new_from_mapped_file), (g_metadata_free),
2460 (g_metadata_set_module), (g_metadata_get_namespace):
2462 * tests/Makefile.am:
2463 * tests/invoke/Makefile.am:
2464 * tests/invoke/invoke-namespace-find.sh:
2465 * tests/invoke/invoke.c: (main):
2467 Add a namespace/shared library mapping. fixes #313268.
2469 2007-12-03 Johan Dahlin <johan@gnome.org>
2471 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2474 2007-11-30 Jürg Billeter <j@bitron.ch>
2480 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2481 (g_igenerator_write_inline), (g_igenerator_write),
2482 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2483 (field_generate), (value_generate), (constant_generate),
2484 (property_generate), (function_generate), (vfunc_generate),
2485 (signal_generate), (interface_generate), (struct_generate),
2486 (union_generate), (boxed_generate), (enum_generate),
2487 (node_generate), (module_generate), (get_type_from_type_id),
2488 (str_replace), (g_igenerator_process_properties),
2489 (g_igenerator_process_signals), (g_igenerator_process_types),
2490 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2491 (g_igenerator_process_unregistered_struct_typedef),
2492 (g_igenerator_process_struct_typedef),
2493 (g_igenerator_process_union_typedef),
2494 (g_igenerator_process_enum_typedef),
2495 (g_igenerator_process_function_typedef),
2496 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2497 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2498 (g_igenerator_generate), (main), (csymbol_new),
2499 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2500 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2501 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2502 (eat_hspace), (eat_line), (read_identifier),
2503 (g_igenerator_parse_macros):
2504 * src/gen-introspect.h:
2506 Import gen-introspect to generate introspection information by
2509 2007-11-30 Jürg Billeter <j@bitron.ch>
2511 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2513 2007-11-30 Jürg Billeter <j@bitron.ch>
2515 * src/gidlparser.c: (end_element_handler): Don't leave requires
2518 2007-11-29 Johan Dahlin <johan@gnome.org>
2520 * src/gidlparser.c (parse_type_internal): Add char,
2521 gchar and guchar to the builtin types.
2523 2007-11-26 Johan Dahlin <johan@gnome.org>
2525 * src/ginfo.c: (g_object_info_get_type_name),
2526 (g_object_info_get_type_init):
2527 * src/girepository.c: (g_irepository_is_registered):
2528 * src/girepository.h:
2530 Add g_object_info_get_type_name, g_object_info_get_type_init and
2531 g_irepository_is_registered.
2533 2006-08-14 Jürg Billeter <j@bitron.ch>
2535 * src/gidlparser.c: (end_element_handler): Don't leave
2536 namespace and implements states too early.
2539 2007-11-26 Johan Dahlin <johan@gnome.org>
2541 * src/gmetadata.c (validate_struct_blob):
2542 pass blob_type to validate_function_blob instead of
2543 hard-coding BLOB_TYPE_STRUCT.
2545 Patch by Torsten Schoenfeld, fixes #314190
2547 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2549 * src/compiler.c, src/generate.c, src/gidlnode.c,
2550 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2551 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2552 warnings about return values, signedness mismatches, unused
2553 variables, and unhandles enum values in switch statements.
2555 * tests/invoke/Makefile.am: Don't install the invoke test program.
2556 Add -I ../../src to the cflags used for the test functions files.
2558 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2560 * src/girepository.h: Export g_invoke_error_quark.
2562 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2564 * src/ginvoke.c: Remove the fallback implementation of
2565 g_function_info_invoke since we now formally depend on libffi.
2567 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2569 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2570 Remove these files from cvs, as they are now generated.
2572 * src/gmetadata.c (validate_iface_type_blob): Don't
2573 complain if blob->pointer is not set, since that
2574 happens for enum and flag types. (#308935, Gustavo
2577 * Commit an autoconf-conversion patch by
2578 Gustavo Carneiro (#308708)
2580 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2582 * src/compiler.c (main): Use it here to validate
2583 the generated metadata.
2585 * src/gmetadata.[hc]: Add code to validate a
2588 * metadata-format.txt: Updates
2590 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2592 * tests/*: Add struct offsets to field and vfunc
2595 * src/generate.c (write_vfunc_info): Write offset
2596 information for vfuncs.
2598 * src/gidlnode.c (g_idl_node_build_metadata): Write
2599 the struct offsets into the metadata.
2601 * src/gidlparser.c: Parse the offset attributes of
2602 field and vfunc elements.
2604 * src/gidlnode.h: Add offset members to field and
2607 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2611 * gidl.dtd: Updates.
2613 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2614 file, creates, compiles and runs a C file, and folds the
2615 resulting struct offsets back into the .gidl file.
2617 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2619 * src/gidlparser.c (start_field): Make fields in objects
2622 * src/gidlmodule.c: Include string.h
2627 * metadata-format.txt: Cleanup basic types.
2628 * src/*: Adapt to the changes.
2629 * tests/*: Adapt to the changes.
2630 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2632 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2633 size for enum blobs.
2634 (g_idl_node_get_full_size): Report the correct size for
2637 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2638 error checking for blob sizes.
2640 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2642 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2643 interface types for which is_pointer is FALSE, e.g. enums.
2645 * src/gidlnode.c (g_idl_node_get_full_size)
2646 * src/gidlparser.c (parse_type_internal):
2647 * src/generate.c (write_type_info): Support unspecialized
2648 lists, hashtables and errors. Also emit a '*' after these.
2652 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2656 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2658 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2660 * src/*.c: Change the directory to be addressed by
2661 1-based indexes, and use an index of zero to mean
2664 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2666 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2668 * tests/union.test: Add a union test.
2670 * src/generate.c: Handle unions.
2672 * src/girepository.h:
2673 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2675 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2677 * src/gidlparser.c (start_union): Parse <union> elements.
2679 * src/gidlnode.h: Add a GIdlNodeUnion.
2681 * gidl.dtd: Add a <union> element.
2683 * src/gmetadata.c (g_metadata_check_sanity): Check
2686 * src/gmetadata.h: Add union_blob_size to Header,
2689 * metadata-format.txt: Add a UnionBlob.
2691 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2693 * tests/*: Update testcases.
2695 * src/generate.c (write_callable_info): Don't forget to
2696 write transfer and null-ok attributes for return types
2699 * src/girepository.h:
2700 * src/ginfo.c (g_callable_info_may_return_null):
2701 New function to find out if a function may return NULL.
2703 * src/compiler.c (format_output): Make the generated
2706 * README: Point to a recent libffi snapshot.
2708 * tests/invoke/*: Some invoke tests.
2710 * src/Makefile: Add ginvoke.c and the necessary
2713 * src/girepository.h (g_function_info_invoke): Add
2716 * src/ginvoke.c (g_function_info_invoke): Initial
2717 implementation of invoke functionality based on libffi.
2719 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2720 strings and types hash tables in the right order when
2722 (find_entry_node): Free the name parts.
2724 2005-05-12 Johan Dahlin <johan@gnome.org>
2726 * src/generate.c: Generate consistent end tags.
2730 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2734 * src/gidlparser.c (start_function): Actually add
2735 methods to objects. (Steven Walter)
2737 * src/girepository.h:
2738 * src/ginfo.c: Rename Transfer and Direction to
2739 GITransfer and GIDirection. (Torsten Schoenfeld)
2741 * tests/*: Make tests work with the changes in name
2744 * src/gidlnode.c (find_entry_node): Parse qualified
2745 names and generate xref nodes for them if needed. Don't
2746 require all modules to be loaded any more.
2748 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2751 * src/ginfo.c (g_object_info_get_parent): Return NULL
2752 if blob->parent is 0. Still need to make sure index
2755 * src/generate.c: Generate qualified names when
2756 referring to non-local types. Emit transfer attribute
2759 * src/compiler.c (format_output): Put the function
2760 attributes where gcc accepts them.
2762 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2764 * src/compiler.c (main): Add a --verbose cmdline option
2765 and only log messages if it is specified.
2768 * src/gidlnode.c (init_stats, dump_stats): Collect some
2769 statistics on string and type sharing.
2771 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2772 g_message() instead of fprintf().
2774 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2775 (g_idl_node_get_size): Implement for structs.
2776 (g_idl_node_get_full_size): Handle parent being NULL.
2777 (serialize_type): Handle lookup failures more gracefully.
2779 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2781 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2782 size calculation for 2-parameter types and for objects.
2784 * src/compiler.c: Add a cmdline option for debug output
2785 and install a log handler to implement it.
2786 * src/gidlnode.c: Add some debug spew.
2790 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2791 forget to count the module name when calculating the
2792 required size for the metadata.
2795 * src/gidlparser.c: Fix compiler warnings.
2797 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2799 * src/compiler.c (main): Free the option context.
2801 * gidl.dtd: Clean up handling of names. All elements
2802 have a "name", only the elements corresponding to
2803 actual callable functions (function, method, constructor),
2804 have an additional "symbol" attribute holding the
2805 dlsym()-able function name.
2807 * src/generate.c: Adapt to generate xml matching the
2811 * src/gidlnode.c: Adapt to parse the new dtd.
2813 * tests/*.test: Adjust to the new dtd.
2815 * metadata-format.txt:
2816 * src/gmetadata.h: Remove the short_name field
2818 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2819 * src/girepository.h:
2820 * src/ginfo.c (g_value_info_get_short_name): Removed
2822 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2824 * gidl.dtd: Allow constructors for boxed types,
2825 patch by Jonathan Blandford.
2828 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2830 * --- Initial import ---