1 2008-08-23 Colin Walters <walters@verbum.org>
3 * girepository/girparser.c: Ignore <include>.
4 * giscanner/girparser.py: Parse them.
5 * giscanner/girwriter.py: Generate them.
6 * giscanner/transformer.py: Process <include>
7 recursively. Don't require full path for
8 includes, look in {$XDG_DATA_DIRS}/gir.
9 * tools/g-ir-scanner: Pass through includes.
10 * Makefile.am: Remove extra --include
12 * *-expected.gir: Add expected includes.
14 2008-08-23 Johan Dahlin <johan@gnome.org>
16 * tests/scanner/Makefile.am:
17 * tests/scanner/annotation-expected.gir:
18 * tests/scanner/drawable-expected.gir:
19 Avoid duplication in the Makefile, regenerate with new
20 namespaces (same as the filename)
22 2008-08-22 Colin Walters <walters@verbum.org>
24 * girepository/girnode.c: Don't hardcode integers,
27 2008-08-22 Johan Dahlin <johan@gnome.org>
29 * giscanner/sourcescanner.py:
30 Check for ../gobject-introspection-1.0.pc.in to determine
31 if we run installed or uninstalled.
33 2008-08-22 Johan Dahlin <johan@gnome.org>
36 * giscanner/sourcescanner.py:
37 Send in undefs/defines via writing it directly to stdin
38 of cpp instead of via arguments.
40 2008-08-22 Colin Walters <walters@verbum.org>
42 * tools/generate.c, tools/compiler.c: Default
44 * all Makefile.am: Update.
46 2008-08-22 Colin Walters <walters@verbum.org>
48 * girepository/girparser.c: Pass through
49 recursive types. Avoid overwriting errors.
50 * giscanner/xmlwriter.py: Always write the
52 * tests/*.gir: Adjust.
53 * tests/scanner/Makefile.am: Build typelibs,
54 and generate XML from those. Once we
55 have a good diff mechanism...
56 * tests/scanner/*-expected.gir: Add XML
58 * tools/g-ir-scanner: Accept --typelib-xml
60 * tools/generate.c: Better defaults for transfer.
62 2008-08-22 Johan Dahlin <johan@gnome.org>
66 * giscanner/Makefile.am:
67 * giscanner/config.py.in:
68 * giscanner/sourcescanner.py:
69 Use the generated glibconfig.h for all scanner invokations.
70 Rename it to glibconfig-scanner.h and install it.
71 Add a config.py which so far contains the include dir.
73 2008-08-22 Johan Dahlin <johan@gnome.org>
76 Replace glibconfig.h with our own, do some replacement
77 for CPP/C features we do not support
79 2008-08-22 Colin Walters <walters@verbum.org>
81 * tools/generate.c (write_callable_info): Fix unref
84 2008-08-22 Colin Walters <walters@verbum.org>
86 * gobject-introspection-1.0.pc.in: Add g-ir-generate.
87 * tests/Makefile.am: Support $(DEBUG)
88 * tools/generate.c: Do immediate close tags if no
91 2008-08-21 Colin Walters <walters@verbum.org>
93 * tests/scanner/drawable-expected.gir,
94 * tests/scanner/drawable.c,
95 * tests/scanner/drawable.h:
98 2008-08-21 Colin Walters <walters@verbum.org>
100 * giscanner/glibtransformer.py: Compute prefix
101 by searching through the symbol for bits
102 rather than going directly from ctype; this fixes
105 2008-08-21 Colin Walters <walters@verbum.org>
107 * giscanner/glibtransformer.py: Also try squashing
108 underscores from namespace, fixes webkit_web_view_new.
110 2008-08-21 Colin Walters <walters@verbum.org>
112 * giscanner/glibtransformer.py: More ctor work,
113 avoid having gtk_window_group_new end up under
116 2008-08-21 Colin Walters <walters@verbum.org>
118 * giscanner/glibtransformer.py: Much simpler approach
119 of mapping uscored names to classes.
120 * giscanner/utils.py: Remove unnecessary function.
122 2008-08-21 Johan Dahlin <johan@gnome.org>
124 * girepository/girepository.c (g_irepository_require):
125 Plug memory leak and avoid using freed memory.
126 Resolve the whole module path, here as well.
128 2008-08-21 Colin Walters <walters@verbum.org>
130 * giscanner/glibtransformer.py: Look up all permutations
131 of class names when scanning methods/ctors based on
132 the prefix instead of using the return value. This
133 associates gtk_window_new with the right class.
135 2008-08-21 Colin Walters <walters@verbum.org>
137 * girepository/girmodule.c (g_ir_module_build_typelib):
138 Revert change to increment header_size; we do that in
141 2008-08-21 Colin Walters <walters@verbum.org>
143 * girepository/girnode.c (write_string): Tweak to
144 use UINT instead of INT. Not likely to matter.
145 * girepository/girmodule.c (g_ir_module_build_typelib):
146 Add to header_offset as well for header strings
147 to match what write_string does.
148 * girepository/gtypelib.c: Replace is_name with
149 validate_name, which more strongly validates and
150 handles errors in a better way. Update all callers.
151 * giscanner/glibtransformer.py: Handle constructors
154 2008-08-21 Johan Dahlin <johan@gnome.org>
156 * gir/Makefile.am (typelibs_DATA): Build and
157 install the Gio.typelib too
159 * girepository/gtypelib.c (_g_typelib_init):
160 Use g_module_build_path to resolve the shlib name
162 2008-08-21 Colin Walters <walters@verbum.org>
164 * gir/Makefile.am: CLEANFILES typelibs too.
166 2008-08-21 Johan Dahlin <johan@gnome.org>
168 * giscanner/glibtransformer.py:
169 Do not send .la files through find_library.
171 2008-08-21 Colin Walters <walters@verbum.org>
173 * girepository/girparser.c (g_irepository_require):
174 Fix one small leak in error case.
176 2008-08-21 Johan Dahlin <johan@gnome.org>
179 Parse glibconfig.h as well and install the compiled
182 2008-08-21 Johan Dahlin <johan@gnome.org>
185 * giscanner/glibtransformer.py:
186 * tools/g-ir-scanner:
187 Do not hard-core library names in the Makefile, reuse
188 ctypes find_library instead.
190 2008-08-21 Johan Dahlin <johan@gnome.org>
192 * girepository/girparser.c (resolve_aliases):
193 Remove compilation warnings
195 2008-08-21 Johan Dahlin <johan@gnome.org>
197 * girepository/girepository.c (g_irepository_require):
198 Rewrap and fix double free bug by leaking a bit.
200 2008-08-20 Colin Walters <walters@verbum.org>
202 * girepository/girepository.c: Add new function
203 g_irepository_get_typelib_path which tells
204 us from where we loaded a namespace.
206 2008-08-20 Colin Walters <walters@verbum.org>
208 * tests/scanner/*-expected.gir: Adjust for
209 added shared-library.
210 * giscanner/giwriter.py: Make pylint happy.
212 2008-08-20 Colin Walters <walters@verbum.org>
214 * girepository/girmodule.c (g_ir_module_build_typelib):
215 Calculate size correctly, avoid use-after-free.
217 2008-08-20 Colin Walters <walters@verbum.org>
219 * girepository/girepository.c: Remove
220 g_irepository_register_file in favor of
221 g_irepository_require. There are two
222 possible deployment scenarios for typelibs:
223 First, separate in $DATADIR/gitypelibs/. Second,
224 they may be embedded in shlibs. However since
225 the first is now the normal case, the API is
228 Refactor internals to look up typelibs for
229 namespaces just-in-time, but we expect
230 consumers to call g_irepository_require.
232 Also, add some docs. No one has died from that
234 * gir/Makefile.am: Need --library for glib.
235 * giscanner/girwriter.py: Write out shared-library.
236 * tools/g-ir-writer: Take the first --library
237 argument as the target of shared-library. In
238 the future we should make this nicer with pkg-config
241 2008-08-20 Colin Walters <walters@verbum.org>
243 * girepository/girparser.py: And parse them.
245 2008-08-20 Johan Dahlin <johan@gnome.org>
247 * giscanner/glibast.py: Add gshort/gushort types
249 2008-08-20 Colin Walters <walters@verbum.org>
251 * gir/Makefile.am: Rename .gir files using GI namespace.
252 * girepository/girepository.c: Use XDG_DATA_DIRS for
253 looking up typelibs. Also typelibs are now suffixed
255 * tests/invoke/Makefile.am: Only use metadata.
256 * girepository/Makefile.am: Remove unnecessary include.
257 * tests/scanner/Makefile.am: Update using GI namespaces
258 for scanner includes.
260 2008-08-20 Colin Walters <walters@verbum.org>
262 * girepository/transformer.py: Suppress aliases whose
264 * girepository/ast.py: Define some more aliases.
266 2008-08-20 Colin Walters <walters@verbum.org>
268 * girepository/girparser.c: Avoid alias infloops.
270 2008-08-20 Colin Walters <walters@verbum.org>
272 * tests/scanner/foo-expected.gir: Fix expected list type.
274 2008-08-20 Johan Dahlin <johan@gnome.org>
276 * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
277 Add a workaround for #548689.
278 We can now compile gtk!
280 2008-08-20 Colin Walters <walters@verbum.org>
282 * giscanner/glibtransformer.py: Try to look up
283 aliases using the c:type too.
285 2008-08-20 Colin Walters <walters@verbum.org>
287 * girepository/girparser.c: Parse union fields.
289 2008-08-20 Johan Dahlin <johan@gnome.org>
291 * giscanner/ast.py: Make time_t an alias for long
293 * gir/gio-2.0-good.gir:
294 * gir/glib-2.0-good.gir:
295 * gir/gobject-2.0-good.gir:
297 * giscanner/glibtransformer.py:
298 Do not delete Class structures, we need them in gdk/gtk.
299 * tests/scanner/drawable-expected.gir:
300 * tests/scanner/foo-expected.gir:
301 * tests/scanner/utility-expected.gir:
304 2008-08-20 Johan Dahlin <johan@gnome.org>
306 * tests/scanner/Makefile.am:
307 * tests/scanner/annotation-expected.gir:
308 * tests/scanner/annotation.c (annotation_object_class_init),
309 (annotation_object_init), (annotation_object_method),
310 (annotation_object_in), (annotation_object_out),
311 (annotation_object_inout), (annotation_object_inout2),
312 (annotation_object_inout3), (annotation_object_calleeowns),
313 (annotation_object_calleesowns), (annotation_object_get_strings),
314 (annotation_object_with_voidp), (annotation_object_get_objects),
315 (annotation_object_create_object), (annotation_object_allow_none):
316 * tests/scanner/annotation.h:
317 * tests/scanner/foo-expected.gir:
318 * tests/scanner/foo.c:
319 * tests/scanner/foo.h:
320 Split out annotation tests out of foo
322 2008-08-20 Johan Dahlin <johan@gnome.org>
324 * tests/scanner/Foo-expected.gir:
325 * tests/scanner/Makefile.am:
326 * tests/scanner/foo-expected.gir:
327 * tests/scanner/foo-object.h:
328 * tests/scanner/foo.c:
329 Foo->foo, foo-object.h -> foo.h
331 2008-08-20 Johan Dahlin <johan@gnome.org>
333 * tests/scanner/Foo-expected.gir:
334 * tests/scanner/Makefile.am:
335 * tests/scanner/drawable-expected.gir:
336 * tests/scanner/drawable.c (test_drawable_class_init),
337 (test_drawable_init):
338 * tests/scanner/drawable.h:
339 * tests/scanner/foo-object.h:
340 * tests/scanner/foo.c (foo_boxed_method):
341 Move the drawable parts out of Foo to its own test.
343 2008-08-20 Johan Dahlin <johan@gnome.org>
345 * tests/scanner/Foo-expected.gir:
346 * tests/scanner/foo-object.h:
347 * tests/scanner/foo.c (foo_drawable_class_init),
349 Add a based on GdkDrawable which generates
352 2008-08-19 Colin Walters <walters@verbum.org>
354 * giscanner/transformer.py: Don't try
355 to strip prefix before namespace.
357 2008-08-19 Johan Dahlin <johan@gnome.org>
359 * giscanner/transformer.py:
360 * tests/scanner/Foo-expected.gir:
361 * tests/scanner/foo-object.h:
362 Add support for typedef void foo type of
365 2008-08-19 Johan Dahlin <johan@gnome.org>
368 * giscanner/girwriter.py:
369 * giscanner/glibtransformer.py:
370 * giscanner/transformer.py:
371 * tests/scanner/Foo-expected.gir:
372 Add basic support for union, base the code much
373 on Struct. Add a testcase.
375 2008-08-19 Johan Dahlin <johan@gnome.org>
377 * tests/scanner/Foo-expected.gir:
378 * tests/scanner/foo-object.h:
379 Add a union testcase which the compiler currently
382 2008-08-19 Johan Dahlin <johan@gnome.org>
384 * gobject-introspection-1.0.pc.in:
385 Add a g_ir_compiler variable
387 2008-08-19 Colin Walters <walters@verbum.org>
389 * giscanner/ast.py: Rework types to be more closely
391 * giscanner/girparser.py: Parse more bits.
392 * giscanner/girwriter.py: Write sequences in a new
393 way that specifies container type.
394 * giscanner/glibast.py: Adjust for ast.py changes,
395 add 'ctype' property to GLibObject and GLibInterface
396 so we can look things up by it later.
397 * gicanner/transformer.py: Names is new class holding
398 the various namespaces we manage. Do not confuse
399 with Namespace which is toplevel XML node effectively.
400 Rework all type resolution to go through
401 _resolve_type_name_1.
402 * giscanner/glibtransformer.py: Raise UnknownTypeError
403 instead of ValueError for cleanliness. Add Unresolved
404 class to mark types whose parent we haven't seen yet.
405 Use new Names object from transformer.py.
406 Correctly look up parent=.
407 Fix type validation to handle sequences.
408 * tests/scanner/Foo-expected.gir: Update for sequence
409 work, int instead of int32.
410 * tools/g-ir-scanner: Add --noclosure option
411 * gir/Makefile.am: Use --noclosure by default for
414 2008-08-18 Johan Dahlin <johan@gnome.org>
416 * gir/gio-2.0-good.gir:
417 * gir/glib-2.0-good.gir:
418 * gir/gobject-2.0-good.gir:
421 2008-08-18 Johan Dahlin <johan@gnome.org>
424 * giscanner/girparser.py:
425 * giscanner/girwriter.py:
426 * giscanner/glibast.py:
427 * giscanner/glibtransformer.py:
428 * giscanner/transformer.py:
429 * tests/scanner/Foo-expected.gir:
430 * tests/scanner/foo-object.h:
431 * tests/scanner/utility-expected.gir:
432 * tests/scanner/utility.h:
433 Redo type resolving and validation.
434 Add a couple of new tests.
435 Patch mostly written by Colin.
437 2008-08-18 Johan Dahlin <johan@gnome.org>
440 * giscanner/girparser.py:
442 * giscanner/transformer.py:
443 Improve enum parsing for enums without a GType.
444 Make flags/enum references to other girs work
445 * giscanner/utils.py:
447 * tests/scanner/Makefile.am:
448 * tests/scanner/foo-object.h:
449 * tests/scanner/utility-expected.gir:
450 * tests/scanner/utility.h:
451 Add a new test for external enum references
453 2008-08-18 Johan Dahlin <johan@gnome.org>
455 * docs/global-module-registry.txt: Update
457 * tests/array.gir: Update with new type proposal
459 * girepository/girepository.c (g_type_tag_to_string):
460 * girepository/girepository.h:
461 * girepository/girnode.c (g_ir_node_get_full_size_internal),
463 * girepository/girnode.h:
464 Make enum serializing functions public. Clean up some whitespace.
466 2008-08-17 Johan Dahlin <johan@gnome.org>
468 * docs/global-module-registry.txt:
469 Add a document for an on disk module registry format
471 2008-08-17 Johan Dahlin <johan@gnome.org>
474 * gir/gio-2.0-good.gir:
477 2008-08-17 Johan Dahlin <johan@gnome.org>
480 * gir/glib-2.0-good.gir:
481 * gir/gobject-2.0-good.gir:
482 * giscanner/cgobject.py:
483 * giscanner/glibtransformer.py:
484 Regenerate GObject & GType.
485 Avoid warnings when generating gobject-2.0.gir.
486 Introspect a little more, and skip *_get_type functions.
488 2008-08-17 Colin Walters <walters@verbum.org>
490 * gir/glib-2.0.gir, gir/gobject-2.0.gir:
491 Rename to -good, always generate during build.
492 * gir/Makefile.am: Ensure .gir files dep on
494 * Makefile.am: Switch build order to ensure
495 the scanner is ready before we do gir/.
496 * tools/g-ir-scanner: Look for .git too.
498 2008-08-17 Johan Dahlin <johan@gnome.org>
500 * girepository/gtypelib.c (validate_enum_blob):
501 * giscanner/glibtransformer.py:
502 * giscanner/transformer.py:
503 Remove resolve_possible_typedefs, it was unused.
504 Allow multiple enum values of the sample value in an enum,
505 since it's actually pretty common.
506 Register enums so they can be resolved too.
508 2008-08-16 Johan Dahlin <johan@gnome.org>
510 * giscanner/girparser.py:
511 Parse enumeration/bitfield.
513 2008-08-16 Johan Dahlin <johan@gnome.org>
515 * giscanner/girparser.py:
518 2008-08-16 Johan Dahlin <johan@gnome.org>
520 * giscanner/glibtransformer.py:
521 Resolve type names for alias targets
522 * giscanner/transformer.py:
523 Skip FILE* parameters fow now
525 2008-08-16 Johan Dahlin <johan@gnome.org>
528 * gir/gobject-2.0.gir:
531 * tests/scanner/Makefile.am:
534 2008-08-15 Colin Walters <walters@verbum.org>
536 * giscanner/glibtransformer.py: Explicitly construct
537 new list, since we're deleting as we iterate.
538 Don't delete all structures which end in Class; just
539 ones which have a paired GObject.
540 Fix printing of type warning.
541 * giscanner/transformer.py: Make strip_namespace_object
542 be the identity function if it doesn't match the
545 2008-08-15 Colin Walters <walters@verbum.org>
547 * giscanner/cgobject.py: Define yet more argument
548 prototypes; fix prototype for g_type_fundamental.
550 2008-08-14 Johan Dahlin <johan@gnome.org>
553 * tests/constant.gir:
556 * tools/generate.c (write_struct_info):
557 Fix generator for constant/gobject/struct
559 2008-08-14 Johan Dahlin <johan@gnome.org>
563 * tools/generate.c (write_enum_info):
564 Fix generation of enum/bitfields
566 2008-08-14 Johan Dahlin <johan@gnome.org>
568 * girepository/girparser.c (start_field), (start_constant),
569 (start_type), (end_element_handler):
570 Clear up constant parsing
575 * tools/generate.c (write_callable_info), (write_function_info),
576 (write_callback_info), (write_constant_info), (write_signal_info),
577 (write_vfunc_info), (write_property_info), (write_object_info),
578 (write_interface_info):
579 Constants/Signals are handled now.
581 2008-08-14 Johan Dahlin <johan@gnome.org>
583 * girepository/girparser.c (start_type):
584 Don't require c:type.
588 Update, remove parts we don't support yet
589 * tests/roundtrips.sh:
591 * tools/generate.c (write_type_info), (write_field_info),
592 (write_callable_info), (write_struct_info):
593 Make it emit proper gir.
595 2008-08-14 Johan Dahlin <johan@gnome.org>
597 * giscanner/transformer.py:
598 New internal function for adding a new node.
600 2008-08-14 Johan Dahlin <johan@gnome.org>
603 Define an internal _H_ variable so we skip parsing both
604 i18n headers, only one is needed.
606 Add the glib-2.0.gir too.
607 * giscanner/glibast.py:
608 Add gconstpointer as an alias for ANY
609 * giscanner/transformer.py:
610 Do not lower case enumeration names per se.
611 Skip functions which has parameters called 'va_list'
613 2008-08-14 Colin Walters <walters@verbum.org>
615 * giscanner/transformer.py: Comment data structures.
616 Also squash pointers in resolve_type_name to correspond
617 with what we do for params.
618 * giscanner/glibtransformer.py: Print warnings in more
619 situations. Rework checks for method/constructor to
620 look up in our GType database instead of just checking
621 for *. Avoid generating <record> for GObject which
622 duplicate the <class>.
623 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
626 2008-08-14 Johan Dahlin <johan@gnome.org>
628 * giscanner/girwriter.py:
629 * giscanner/glibast.py:
630 * giscanner/glibtransformer.py:
631 * giscanner/transformer.py:
634 Add pyflakes.py and run it in make check.
635 Update the source code to fix the errors reported by
638 2008-08-14 Johan Dahlin <johan@gnome.org>
641 * giscanner/girparser.py:
642 * giscanner/glibast.py:
643 * giscanner/glibtransformer.py:
644 Refactor the parser a bit.
645 Add parent type to interfaces and update callsites.
647 2008-08-14 Johan Dahlin <johan@gnome.org>
649 * giscanner/glibtransformer.py:
650 * giscanner/utils.py:
651 Refactor a bit, avoid isinstance and add a method
652 for each type we parse.
654 2008-08-14 Johan Dahlin <johan@gnome.org>
657 * giscanner/girparser.py:
658 * giscanner/glibtransformer.py:
660 Run pep8.py in make check, fix old errors.
662 2008-08-13 Colin Walters <walters@verbum.org>
664 * giscanner/girparser.py: Parse records.
666 2008-08-13 Colin Walters <walters@verbum.org>
668 * gir/Makefile.am: Install again.
669 * gir/gobject-2.0.gir: Add some more bits.
671 2008-08-13 Colin Walters <walters@verbum.org>
673 * gir/gobject-2.0.gir: Use correct namespace, add GType.
674 * giscanner/girparser.py: Handle aliases.
675 * giscanner/transformer.py: Record aliases. Make resolver
676 functions public; we now call into these explicitly from
677 glibtransformer. Handle resolving aliases.
678 * giscanner/glibtransformer.py: Separate our internal namespace
679 from included ones. Call up into transformer's resolver functions.
681 2008-08-13 Johan Dahlin <johan@gnome.org>
683 * girepository/girnode.c (g_ir_node_get_full_size_internal):
684 * girepository/girparser.c (start_class):
685 * giscanner/glibtransformer.py:
686 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
688 2008-08-13 Johan Dahlin <johan@gnome.org>
690 * giscanner/cgobject.py:
691 Register GInitiallyUnowned
692 * giscanner/girwriter.py:
693 * giscanner/glibtransformer.py:
694 Special case GObject/GInitially owned as they are a bit special to use.
696 2008-08-13 Colin Walters <walters@verbum.org>
698 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
699 Object is in GObject namespace.
701 2008-08-13 Colin Walters <walters@verbum.org>
703 * giscanner/girparser.py: Fix processing of functions
706 2008-08-13 Colin Walters <walters@verbum.org>
708 * giscanner/girparser.py: Parse more than just <class.
709 * giscanner/glibtransformer.py: Put aliases in a separate
710 data structure since their name is not canonicall.
711 * giscanner/transformer.py: Handle resolving type names
714 2008-08-13 Johan Dahlin <johan@gnome.org>
716 * tools/g-ir-scanner:
717 Allow multiple libraries
718 * giscanner/glibtransformer.py:
719 Rename load_library to add_library, traverse over all libraries
720 when trying to resolve a function
722 2008-08-12 Colin Walters <walters@verbum.org>
724 * giscanner/transformer.py: Record typedefs as <alias> elements.
725 Also attempt to look up types in external namespaces.
726 * giscanner/girwriter.py: Write them.
727 * giscanner/glibtransformer.py: Rework resolver using real instanceof
728 checks. Resolve interface methods and properties.
729 * tests/scanner/foo-object.h: Add a method with typedef.
730 * tests/scanner/Foo-expected.gir: Update.
731 * girepository/girnode.c: Debug tweaks.
732 * girepository/girparser.c: Make a first pass through the XML where we
733 record all the aliases. This lets us resolve them as we go through the
735 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
738 2008-08-12 Colin Walters <walters@verbum.org>
740 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
741 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
743 * giscanner/transformer.py: Record typedefs and expose public API for resolving
745 * tests/scanner/Foo-expected.gir: Fix expected callback types.
747 2008-08-12 Colin Walters <walters@verbum.org>
749 * giscanner/glibtransformer.py: Also transform object properties.
751 2008-08-12 Colin Walters <walters@verbum.org>
753 * giscanner/glibtransformer.py: Also transform callbacks
754 and structure field types.
755 * tests/scanner/Fooe-expected.gir: Update to expect correct
756 names for callbacks and structs.
758 2008-08-12 Colin Walters <walters@verbum.org>
760 * girepository/girparser.c: Handle 'any'.
761 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
764 2008-08-12 Colin Walters <walters@verbum.org>
766 * giscanner/glibtransformer.py: We need to do type
767 resolution in a second pass after we've seen all the
770 2008-08-12 Colin Walters <walters@verbum.org>
772 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
773 Add enum return value.
774 * giscanner/glibtransformer.py: Transform function return types
777 2008-08-12 Colin Walters <walters@verbum.org>
779 * tests/scanner/Makefile.am: Dep .gir files on scanner
780 sources too. Also remove @ so we see scanner invocations.
782 2008-08-12 Colin Walters <walters@verbum.org>
784 * girepository/girparser.c, girepository/gtypelib.c,
785 girepository/gtypelib.h, girepository/girnode.c:
786 Remove usage of (GAPI-oriented) TypeTag in favor of
787 GITypeTag from girepository.h.
789 2008-08-10 Colin Walters <walters@verbum.org>
791 * tests/roundtrips.sh: Use the correct tests.
793 2008-08-10 Colin Walters <walters@verbum.org>
795 * giscanner/cgobject.py: Declare/wrap a few more functions.
796 Fix parameter types for g_object_new and g_type_fundamental.
798 2008-08-10 Colin Walters <walters@verbum.org>
800 * giscanner/cgobject.py: Add new decorator @gwrap which forces
801 us to declare types for both return value and parameters. The
802 ctypes default of 'int' is bad because it hides 32/64 bit
803 problems. Convert all existing functions to use it.
805 2008-08-09 Johan Dahlin <johan@gnome.org>
807 * giscanner/__init__.py:
809 * giscanner/cgobject.py:
810 * giscanner/gidlparser.py:
811 * giscanner/gidlwriter.py:
812 * giscanner/girparser.py:
813 * giscanner/girwriter.py:
814 * giscanner/glibast.py:
815 * giscanner/glibtransformer.py:
816 * giscanner/odict.py:
817 * giscanner/sourcescanner.py:
818 * giscanner/transformer.py:
819 * giscanner/utils.py:
820 * giscanner/xmlwriter.py:
821 * tools/g-ir-scanner:
825 2008-08-09 Johan Dahlin <johan@gnome.org>
828 * relaxng/c-types.xml:
829 * relaxng/g-types.xml:
830 * relaxng/relaxng.rng:
832 Remove outdated relaxng schemas.
834 2008-08-09 Johan Dahlin <johan@gnome.org>
837 Rename metadata to typelib in variable names,
840 2008-08-09 Johan Dahlin <johan@gnome.org>
844 Remove old C scanner, which got rewritten in python.
846 2008-08-09 Johan Dahlin <johan@gnome.org>
848 * girepository/Makefile.am:
858 Move shared *.[ch] files to girepository from tools
860 2008-08-09 Johan Dahlin <johan@gnome.org>
865 * tests/constant.test:
868 * tests/function.test:
869 * tests/gobject.test:
870 * tests/interface.test:
877 Rename *.test to *.gir
879 2008-08-09 Johan Dahlin <johan@gnome.org>
883 * tests/parser/Foo-expected.gir:
884 * tests/parser/Makefile.am:
885 * tests/parser/foo-object.h:
886 * tests/parser/foo.c:
887 * tests/parser/utility-expected.gir:
888 * tests/parser/utility.c:
889 * tests/parser/utility.h:
890 * tests/scanner/Makefile.am:
891 Rename tests/parser to test/scanner
893 2008-08-08 Colin Walters <walters@verbum.org>
895 * tests/roundtrips.sh: Use local .gir files again.
897 2008-08-08 Colin Walters <walters@verbum.org>
899 * tests/invoke/Makefile.am: .gir file depends on libtool
902 2008-08-08 Colin Walters <walters@verbum.org>
904 * tools/girnode.c: Pass through parent node so we can
905 print the node whose child is NULL, if that occurs.
907 2008-08-08 Johan Dahlin <johan@gnome.org>
910 Disable roundtrip tests which are not yet working
911 * tests/invoke/testfns.gir:
914 2008-08-08 Johan Dahlin <johan@gnome.org>
916 * giscanner/girwriter.py:
918 * giscanner/glibast.py:
919 * giscanner/glibtransformer.py:
920 Swap order of members, to keep it consistent with
923 2008-08-08 Johan Dahlin <johan@gnome.org>
925 * girepository/gtypelib.c (validate_header):
926 * girepository/gtypelib.h:
928 * giscanner/girwriter.py:
929 * giscanner/sourcescanner.c (gi_source_symbol_ref),
930 (gi_source_symbol_unref):
933 * tests/constant.test:
936 * tests/function.test:
937 * tests/gobject.test:
938 * tests/interface.test:
939 * tests/invoke/Makefile.am:
940 * tests/invoke/testfns.xml:
942 * tests/parser/Makefile.am:
943 * tests/roundtrips.sh:
950 * tools/compiler.c (main):
951 * tools/generate.c (write_callable_info), (write_function_info),
953 * tools/gidlmodule.c:
954 * tools/gidlmodule.h:
957 * tools/gidlparser.c:
958 * tools/gidlparser.h:
959 * tools/gidlwriter.c:
960 * tools/gidlwriter.h:
961 * tools/scanner.c (create_node_from_gtype),
962 (create_node_from_ctype), (g_igenerator_process_properties),
963 (g_igenerator_process_signals), (g_igenerator_create_object),
964 (g_igenerator_create_interface), (g_igenerator_create_boxed),
965 (g_igenerator_create_enum), (g_igenerator_create_flags),
966 (g_igenerator_process_function_symbol),
967 (g_igenerator_process_unregistered_struct_typedef),
968 (g_igenerator_process_struct_typedef),
969 (g_igenerator_process_union_typedef),
970 (g_igenerator_process_enum_typedef),
971 (g_igenerator_process_function_typedef),
972 (g_igenerator_process_constant), (g_igenerator_process_symbols),
973 (g_igenerator_add_module), (g_igenerator_add_include_idl):
974 Merge in the gir-compiler branch.
975 Thanks to Philip and Colin for their help.
977 2008-07-26 Colin Walters <walters@verbum.org>
979 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
980 and g-idl-generate to go along with how we're changing this
981 module to be installed.
982 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
984 2008-07-24 Colin Walters <walters@verbum.org>
986 * girepository/girepository.c (g_irepository_register): Add
987 environment variable G_IREPOSITORY_VERBOSE so we can print
988 out what we're doing.
989 * girepository/girepository.c (g_irepository_register_file):
990 Add GError error message to g_debug call.
992 2008-07-08 Jürg Billeter <j@bitron.ch>
994 * giscanner/glibast.py:
998 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
1000 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
1003 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
1006 * giscanner/girwriter.py:
1007 * giscanner/transformer.py:
1008 * tests/parser/Foo-expected.gir:
1009 * tests/parser/foo-object.h:
1010 * tests/parser/foo.c (foo_object_allow_none):
1011 Add support for gtk-doc annotations for allow-none.
1014 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
1017 * giscanner/girwriter.py:
1018 * giscanner/glibast.py:
1019 * giscanner/glibtransformer.py:
1020 * giscanner/transformer.py:
1021 * tests/parser/Foo-expected.gir:
1022 Start using abstract type instead of the raw C types.
1023 Register a bunch of glib types we care about.
1025 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
1030 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
1032 * girepository/girepository.c:
1033 * girepository/gtypelib.c:
1034 * girepository/ginfo.c:
1035 * girepository/ginvoke.c:
1036 * girepository/girepository.h:
1037 * girepository/gtypelib.h:
1038 * girepository/gmetadata.c:
1039 * girepository/Makefile.am:
1040 * girepository/gmetadata.h:
1042 * tools/gidlmodule.c:
1045 * tools/gidlmodule.h:
1046 * tools/gidlparser.c:
1048 Renamed GMetadata to GTypelib
1050 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
1052 * giscanner/xmlwriter.py:
1053 Improve line wrapping when > 79 charaters
1055 2008-06-05 Jürg Billeter <j@bitron.ch>
1058 * giscanner/girwriter.py:
1059 * giscanner/transformer.py:
1060 Use <type> element for field types
1061 * tests/parser/Foo-expected.gir:
1064 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
1066 * giscanner/glibtransformer.py:
1067 Fix a bug which prevented GdkEvent from being generated
1069 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
1071 * giscanner/Makefile.am:
1073 * giscanner/girwriter.py:
1074 * giscanner/glibast.py:
1075 * giscanner/glibtransformer.py:
1076 * giscanner/transformer.py:
1077 * giscanner/utils.py:
1078 * tests/parser/Foo-expected.gir:
1079 Improve enum member parsing and introspection
1081 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
1083 * giscanner/scannerparser.y:
1084 * giscanner/sourcescanner.h:
1085 * giscanner/sourcescanner.py:
1086 Add a new source type enum for member.
1087 Use __repr__ for improved debugging
1088 * giscanner/girparser.py:
1090 * giscanner/transformer.py:
1091 Improve parsing of struct members.
1092 * tests/parser/foo-object.h:
1095 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
1097 * giscanner/xmlwriter.py:
1098 Improve error reporting when trying to quote None.
1099 * giscanner/girparser.py:
1100 Do not print warnings when including more complete .gir files
1101 * giscanner/girwriter.py:
1102 Do not require a name for parameters, add a todo for singletons
1103 * giscanner/glibtransformer.py:
1104 Refactor the way structs are done, add a couple of hacks to allow
1106 * giscanner/transformer.py:
1107 Add enough hacks so cairo, atk and pango.gir can be parsed properly
1108 * gobject-introspection-1.0.pc.in:
1109 Export girdir, so we can access gobject-2.0.gir from outside
1111 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
1113 * tools/g-ir-scanner:
1114 * tests/parser/Makefile.am:
1115 Update sys.path before running the parser so we don't have
1116 to setup PYTHONPATH ourselves.
1120 * girepository/Makefile.am:
1121 * giscanner/transformer.py:
1122 * gobject-introspection-1.0.pc.in:
1123 * gobject-introspection.pc.in:
1124 * tools/Makefile.am:
1126 Rename pkg-config name to gobject-introspection-1.0,
1127 Do not installed anything which is not using the gir format.
1128 Disable compililation the old C scanner, but still keep the source
1129 until all the remaning functionallity has been ported.
1131 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
1133 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
1134 a crash when symbol->indent is NULL.
1136 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
1137 a function to convert a CTYPE symbol to a string
1139 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
1142 * giscanner/girwriter.py:
1143 * giscanner/giscannermodule.c
1144 (pygi_source_scanner_append_filename),
1145 (pygi_source_scanner_parse_file):
1146 * giscanner/glibtransformer.py:
1147 * giscanner/sourcescanner.py:
1148 Revert back to using temporary files to send in headers.
1149 Allow Functions to be passed in as callbacks, add a couple
1150 of try/excepts missing features.
1151 We can now scan pango
1153 2008-05-08 Johan Dahlin <johan@gnome.org>
1155 * giscanner/glibtransformer.py:
1156 * giscanner/transformer.py:
1157 Move namespace stripping glibtransformer->transformer
1159 2008-05-08 Johan Dahlin <johan@gnome.org>
1162 * giscanner/girwriter.py:
1163 * giscanner/glibtransformer.py:
1164 * giscanner/transformer.py:
1165 * tools/g-ir-scanner:
1166 Introduce a namespace ast node
1168 2008-05-05 Johan Dahlin <johan@gnome.org>
1170 * giscanner/__init__.py:
1171 * giscanner/sourcescanner.py:
1172 * giscanner/transformer.py:
1173 Move sourcescanner symbols to the sourcescanner module, instead
1174 of in the global __init__ namespace.
1176 2008-05-03 Johan Dahlin <johan@gnome.org>
1178 * giscanner/glibtransformer.py:
1179 * tools/g-ir-scanner:
1180 Handle missing parameters better, allow - and + in .la dlname
1183 2008-05-03 Johan Dahlin <johan@gnome.org>
1185 * giscanner/__init__.py:
1187 * giscanner/girwriter.py:
1188 * giscanner/glibtransformer.py:
1189 * giscanner/transformer.py:
1190 Parse struct fields properly, improve debugging.
1192 2008-04-29 Johan Dahlin <johan@gnome.org>
1195 * giscanner/girwriter.py:
1196 * giscanner/transformer.py:
1197 * tests/parser/Foo-expected.gir:
1199 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
1201 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1204 * docs/g-ir-scanner.1:
1205 * metadata-annotations-proposal.txt:
1206 * metadata-format.txt:
1207 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
1209 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1211 * giscanner/girwriter.py:
1212 * giscanner/glibtransformer.py:
1213 * giscanner/transformer.py:
1214 * giscanner/xmlwriter.py:
1215 * tests/parser/Foo-expected.gir:
1216 * tests/parser/foo-object.h:
1217 Write record/structs to gir file too. Add a couple of tests,
1218 fix an off by one error in xmlwriter.py.
1220 2008-04-28 Johan Dahlin <johan@gnome.org>
1222 * giscanner/xmlwriter.py: Calculate the line length properly,
1223 include the provided extra indentation in the calculation, really.
1225 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1228 * giscanner/glibast.py:
1229 * giscanner/glibtransformer.py:
1230 * giscanner/transformer.py:
1231 * tools/g-ir-scanner:
1232 Add a --strip-prefix and sort out confusion between names and symbols
1233 for functions and struct + derivaties.
1234 Refactor bootstrap of g-ir-scanner, so we can set options on
1235 Transformer() before parsing everything.
1237 2008-04-28 Johan Dahlin <johan@gnome.org>
1239 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
1240 when scanning girepository.h
1242 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
1243 a __GI_SCANNER__ when we run.
1245 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1248 * giscanner/girwriter.py:
1249 * giscanner/glibast.py:
1250 * giscanner/glibtransformer.py:
1251 * tests/parser/Foo-expected.gir:
1252 * tests/parser/utility-expected.gir:
1253 Rename most c:identifier to c:type. Add new ones to
1254 class/interface/enum/boxed.
1256 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1259 * giscanner/girwriter.py:
1260 * giscanner/glibtransformer.py:
1261 * tests/parser/Foo-expected.gidl:
1262 * tests/parser/Makefile.am:
1263 Move c:identifier from return-value to subchild type,
1264 as per Jürgs suggestion
1266 2008-04-28 Johan Dahlin <johan@gnome.org>
1268 * giscanner/girwriter.py:
1269 * tests/parser/Foo-expected.gir:
1270 Write property.type as a child node.
1272 2008-04-27 Johan Dahlin <johan@gnome.org>
1277 * gidl/gobject-2.0.gidl:
1279 * gir/gobject-2.0.gir:
1280 * tests/parser/Makefile.am:
1281 Replace the GObject gidl with a GObject gir.
1283 2008-04-27 Johan Dahlin <johan@gnome.org>
1285 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
1288 * giscanner/xmlwriter.py:
1289 * tests/parser/Foo-expected.gir:
1290 Include indentation in line length calculation
1292 2008-04-27 Johan Dahlin <johan@gnome.org>
1294 * giscanner/girparser.py:
1295 Prettify NS parsing using elementtree.
1297 2008-04-27 Johan Dahlin <johan@gnome.org>
1300 * giscanner/Makefile.am:
1301 * giscanner/girparser.py:
1302 * giscanner/glibtransformer.py:
1303 * tests/parser/Foo-expected.gidl:
1304 * tests/parser/Foo-expected.gir:
1305 * tests/parser/Makefile.am:
1306 * tests/parser/utility-expected.gidl:
1307 * tests/parser/utility-expected.gir:
1308 * tools/g-ir-scanner:
1309 Switch over to GIR as the default format. Add a simple GIDL
1311 Update tests and fix simplify makefiles by depending
1312 on GNU make extensions.
1314 2008-04-27 Johan Dahlin <johan@gnome.org>
1316 * giscanner/xmlwriter.py:
1317 Wrap attributes for lines which are wider than 79 characters
1319 * giscanner/scannerlexer.l:
1320 Allow parenthesis in annotations
1323 * giscanner/gidlwriter.py:
1324 * giscanner/girwriter.py:
1325 * giscanner/glibtransformer.py:
1326 * giscanner/transformer.py:
1327 Add initial sequence support, including annotation.
1328 Refactor type handling a bit.
1330 2008-04-27 Johan Dahlin <johan@gnome.org>
1332 * tests/parser/Foo-expected.gidl:
1333 * tests/parser/foo-object.h:
1334 * tests/parser/foo.c (foo_object_class_init),
1335 (foo_object_get_strings), (foo_object_get_objects):
1336 Add two new functions to check sequence return values.
1337 Also fixes a compilation warning.
1339 2008-04-27 Johan Dahlin <johan@gnome.org>
1341 * giscanner/giscannermodule.c (]): Cast the getter, avoids
1342 a compilation warning.
1344 * tools/Makefile.am (g_ir_scanner_SOURCES):
1345 g-ir-scanner has no sources.
1347 2008-04-25 Johan Dahlin <johan@gnome.org>
1349 * giscanner/Makefile.am:
1351 * giscanner/gidlparser.py:
1352 * giscanner/gidlwriter.py:
1353 * giscanner/girwriter.py:
1354 * giscanner/glibast.py:
1355 * giscanner/glibtransformer.py:
1356 * giscanner/transformer.py:
1357 Split out nodes to ast.py and glibast.py
1359 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1361 * giscanner/Makefile.am:
1362 * giscanner/gidlparser.py:
1363 * giscanner/gidlwriter.py:
1364 * giscanner/girwriter.py:
1365 * giscanner/glibtransformer.py:
1366 * giscanner/gobjecttreebuilder.py:
1367 * giscanner/transformer.py:
1368 * giscanner/treebuilder.py:
1369 * tools/g-ir-scanner:
1370 Rename treebuilder to transformer and
1371 gobjectreebuilder to glibtransformer.
1373 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1375 * giscanner/Makefile.am:
1376 * giscanner/__init__.py:
1377 * giscanner/cgobject.py:
1378 * giscanner/gidlparser.py:
1379 * giscanner/gidlwriter.py:
1380 * giscanner/girwriter.py:
1381 * giscanner/gobjecttreebuilder.py:
1382 * giscanner/odict.py:
1383 * giscanner/sourcescanner.py:
1384 * giscanner/treebuilder.py:
1385 * giscanner/xmlwriter.py:
1386 * tools/Makefile.am:
1387 * tools/g-ir-scanner:
1388 Add LGPLv2 license header and install all python files
1390 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1393 * giscanner/gidlwriter.py:
1394 * giscanner/giscannermodule.c (pygi_source_directive_new),
1395 (directive_get_options), (pygi_source_symbol_new),
1396 (symbol_get_base_type), (pygi_source_type_new),
1397 (type_get_base_type), (type_get_child_list),
1398 (pygi_source_scanner_get_symbols),
1399 (pygi_source_scanner_get_directives):
1400 * giscanner/gobjecttreebuilder.py:
1401 * giscanner/sourcescanner.py:
1402 * giscanner/treebuilder.py:
1403 * tests/parser/foo-object.h:
1404 Add support for virtual methods.
1405 Pair struct FooClass with struct Foo.
1406 Clean up the SourceScanner bindings a bit.
1407 Add a testcase for virtual methods.
1409 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1411 * giscanner/cgobject.py:
1412 * giscanner/gidlwriter.py:
1413 * giscanner/gobjecttreebuilder.py:
1414 Add support for signals
1416 * tests/parser/foo.c (foo_object_class_init):
1417 * Foo-expected.gidl:
1418 Add a signal and update the expected output.
1420 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
1422 * giscanner/gidlwriter.py:
1423 * giscanner/girwriter.py:
1424 * giscanner/giscannermodule.c (directive_get_name),
1425 (directive_get_value), (directive_get_options),
1426 (symbol_get_directives), (symbol_set_directives),
1427 (pygi_source_scanner_parse_file),
1428 (pygi_source_scanner_lex_filename),
1429 (pygi_source_scanner_get_directives), (init_giscanner):
1430 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1431 * giscanner/sourcescanner.h:
1432 * giscanner/sourcescanner.py:
1433 * giscanner/treebuilder.py:
1434 * tools/g-ir-scanner:
1435 Add support for source/header annotations.
1437 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1439 * giscanner/gidlwriter.py:
1440 * giscanner/girwriter.py:
1441 * giscanner/gobjecttreebuilder.py:
1442 * giscanner/treebuilder.py:
1443 Add support for Callbacks
1445 2008-04-22 Havoc Pennington <hp@pobox.com>
1447 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1448 not in metadata->module, look for it in the global module, in case
1449 some other object or the app itself provides the symbol.
1451 2008-04-22 Havoc Pennington <hp@pobox.com>
1453 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1454 dlopening a library that is already in the main app, by checking
1455 whether one of the lib's symbols is already loaded.
1457 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1459 * tests/parser/Foo-expected.gidl:
1460 * tests/parser/foo-object.h:
1463 2008-04-22 Havoc Pennington <hp@pobox.com>
1465 * girepository/ginfo.c (g_interface_info_find_method):
1466 Use interface_blob_size not object_blob_size to compute offset.
1468 2008-04-22 Havoc Pennington <hp@pobox.com>
1470 * girepository/gmetadata.c (_g_metadata_init): remove
1471 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1472 (Glade and Clutter for example) rely on being loaded globally.
1474 2008-04-22 Havoc Pennington <hp@pobox.com>
1476 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1477 function to get the GType given a RegisteredTypeInfo
1479 2008-04-22 Johan Dahlin <johan@gnome.org>
1481 * COPYING: Add a LGPL license, to prevent automake to
1482 put in a copy of GPL here. Pointed out by Havoc.
1484 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1485 (g_type_info_is_pointer), (g_type_info_get_tag),
1486 (g_type_info_get_param_type), (g_type_info_get_interface),
1487 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1488 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1489 (g_error_domain_info_get_codes), (g_enum_info_get_value),
1490 (g_object_info_get_interface), (g_object_info_get_field),
1491 (g_interface_info_get_prerequisite),
1492 (g_signal_info_get_class_closure), (g_constant_info_get_value):
1493 * girepository/ginvoke.c (get_ffi_type):
1494 * girepository/girepository.h:
1495 * girepository/gmetadata.c (g_metadata_get_dir_entry),
1496 (g_metadata_check_sanity), (validate_header),
1497 (validate_array_type_blob), (validate_iface_type_blob),
1498 (validate_param_type_blob), (validate_error_type_blob),
1499 (validate_type_blob), (validate_constant_blob),
1500 (validate_struct_blob), (validate_enum_blob):
1501 * girepository/gmetadata.h:
1502 * tests/Makefile.am:
1503 * tests/invoke/Makefile.am:
1504 * tests/invoke/invoke.c (main):
1505 * tests/roundtrips.sh:
1506 * tools/Makefile.am:
1507 * tools/compiler.c (format_output), (write_out_metadata), (main):
1508 * tools/generate.c (write_type_name), (write_type_info),
1509 (write_constant_value), (write_enum_info), (load_metadata), (main):
1510 * tools/gidlcompilercontext.c:
1511 * tools/gidlcompilercontext.h:
1512 * tools/gidlcompilerentrynode.c:
1513 * tools/gidlcompilerentrynode.h:
1514 * tools/gidlcompilertypenode.c:
1515 * tools/gidlcompilertypenode.h:
1516 * tools/gidlmodule.c (g_idl_module_build_metadata):
1517 * tools/gidlmodule.h:
1518 * tools/gidlnode.c (init_stats), (dump_stats),
1519 (g_idl_node_get_size), (g_idl_node_get_full_size),
1520 (g_idl_node_cmp), (g_idl_node_can_have_member),
1521 (g_idl_node_add_member), (g_idl_node_param_direction_string),
1522 (parse_int_value), (parse_uint_value), (parse_float_value),
1523 (parse_boolean_value), (find_entry_node), (find_entry),
1524 (serialize_type), (g_idl_node_build_metadata), (write_string):
1526 * tools/gidlparser.c (parse_type_internal):
1527 * tools/quote-file.sh:
1528 Revert revisions 157,149-148,136-129 and 120.
1529 Move back to using g-idl-generate to generate the metadata and
1530 avoids dependency on a c compiler.
1532 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1534 * giscanner/girwriter.py:
1535 * tools/g-ir-scanner:
1536 Add an initial GIR writer and a --format option to g-ir-scanner
1538 2008-04-21 Johan Dahlin <johan@gnome.org>
1540 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1541 gobject-2.0 and raise ImportError if not found.
1543 * giscanner/gidlparser.py:
1544 * giscanner/gidlwriter.py:
1545 * giscanner/gobjecttreebuilder.py:
1546 * tools/g-ir-scanner:
1547 Add a --include argument to include types from other idls.
1548 Add a minimalistic GIDL parser (just objects for now)
1549 Implement resolving of external type references and use it to
1550 resolve parent types, argument types and return types.
1552 2008-04-21 Johan Dahlin <johan@gnome.org>
1554 * giscanner/gidlwriter.py:
1555 * giscanner/gobjecttreebuilder.py:
1556 * giscanner/treebuilder.py:
1557 Add support for properties.
1558 Refactor Class/Interface support a bit, to share more code and
1559 always initialize their method attribute to an empty list.
1561 2008-04-21 Johan Dahlin <johan@gnome.org>
1563 * giscanner/cgobject.py:
1564 Add a workaround for a glib bug interface introspection bug
1565 (object_interface_list_properties, object_class_list_properties):
1566 Cast the return value to GParamSpec.
1568 * tests/parser/Foo-expected.gidl: Update
1569 * tests/parser/foo.c: Add a string property
1571 * giscanner/gobjecttreebuilder.py:
1572 After stripping namespaces, remove the original
1573 item to avoid duplication (GtkButton struct and Button object)
1575 2008-04-21 Johan Dahlin <johan@gnome.org>
1577 * giscanner/gobjecttreebuilder.py:
1578 * giscanner/treebuilder.py:
1579 Strip namespaces before objects, so we'll export
1580 GtkButton as Button in the gtk namespace
1582 2008-04-21 Johan Dahlin <johan@gnome.org>
1584 * giscanner/gidlwriter.py:
1585 * giscanner/gobjecttreebuilder.py:
1586 * giscanner/treebuilder.py:
1587 Add constructors for object/boxed types.
1589 2008-04-21 Johan Dahlin <johan@gnome.org>
1591 * giscanner/gidlwriter.py:
1592 * giscanner/gobjecttreebuilder.py:
1593 Add support for boxed types
1595 2008-04-21 Johan Dahlin <johan@gnome.org>
1597 * giscanner/giscannermodule.c: Mark structures as const,
1598 wrap SourceType.const_string.
1600 * tests/parser/foo-object.h: Add a couple of constants.
1602 * giscanner/gidlwriter.py:
1603 * giscanner/gobjecttreebuilder.py:
1604 * giscanner/treebuilder.py:
1605 Add basic support for interfaces
1607 * tools/g-ir-scanner:
1608 Add -o/--output for writing to a file
1610 2008-04-21 Havoc Pennington <hp@redhat.com>
1612 * TODO: add some C API wishlist items I could think of quickly
1614 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1616 * giscanner/gidlwriter.py:
1617 * giscanner/xmlwriter.py:
1618 Add a simple api for writing tags which can be used
1619 with the new 'with statement' in python 2.5
1621 2008-04-21 Johan Dahlin <johan@gnome.org>
1623 * giscanner/gobjecttreebuilder.py:
1624 Strip namespace and object prefix from method names.
1626 2008-04-21 Johan Dahlin <johan@gnome.org>
1628 * tools/g-ir-scanner (main): Add --pkg option to pass in
1629 pkg-config modules to get cflags from.
1631 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1632 Avoid duplication, reuse function writer for methods.
1634 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1636 * giscanner/gidlwriter.py:
1637 * giscanner/gobjecttreebuilder.py:
1638 * giscanner/treebuilder.py:
1639 * tools/g-ir-scanner:
1640 Resolve libtool .la files.
1641 Strip name spaces for methods.
1642 Add function symbols
1644 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1646 * giscanner/cgobject.py:
1647 * giscanner/gidlwriter.py:
1648 * giscanner/gobjecttreebuilder.py:
1649 * giscanner/treebuilder.py:
1650 Add support for classes and methods
1652 2008-04-20 Johan Dahlin <johan@gnome.org>
1654 * giscanner/gidlwriter.py:
1655 * giscanner/gobjecttreebuilder.py:
1656 * giscanner/odict.py:
1657 Avoid conflicts, keep the output ordered similar to
1658 the order of the input.
1659 Add a simple ordered dictionary implemenation
1661 2008-04-19 Johan Dahlin <johan@gnome.org>
1663 * giscanner/cgobject.py:
1664 * giscanner/gidlwriter.py:
1665 * giscanner/gobjecttreebuilder.py:
1666 * tools/g-ir-scanner:
1667 Start introspecting get-type functions.
1668 Implement support for GLib/GFlags GTypes.
1669 Add a ctype based GObject binding.
1671 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1673 * giscanner/gidlwriter.py:
1674 * giscanner/xmlwriter.py:
1675 * tools/g-ir-scanner:
1676 Add a simplistic gidl writer, which can't do too much.
1678 2008-04-18 Johan Dahlin <johan@gnome.org>
1680 * giscanner/sourcescanner.py:
1681 * giscanner/treebuilder.py:
1682 * tools/g-ir-scanner:
1683 split tree building and source scanning interface to separate files.
1685 2008-04-18 Johan Dahlin <johan@gnome.org>
1687 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1689 - Add support for struct/parameter/return, start parsing of ctypes
1691 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1694 2008-03-31 Johan Dahlin <johan@gnome.org>
1696 * tools/g-ir-scanner:
1697 Start to build abstract syntax node of scanned sources.
1698 Add support for cpp options.
1700 2008-03-27 Johan Dahlin <johan@gnome.org>
1702 * giscanner/giscannermodule.c:
1703 * giscanner/scannerlexer.l:
1704 * giscanner/sourcescanner.c:
1705 * tools/g-ir-scanner:
1707 Add simple pre-processor using subprocess and a PIPE.
1708 Change the parse_file apis to accept a file descriptor.
1710 2008-03-25 Johan Dahlin <johan@gnome.org>
1712 * giscanner/__init__.py:
1713 * tools/g-ir-scanner:
1714 Fix a typo and add an example python test program.
1716 2008-03-25 Johan Dahlin <johan@gnome.org>
1718 * giscanner/__init__.py:
1719 * giscanner/giscannermodule.c:
1720 * giscanner/sourcescanner.c:
1721 * giscanner/sourcescanner.h:
1722 Add constants and wrap a few more SymbolType fields
1724 2008-03-25 Johan Dahlin <johan@gnome.org>
1728 * giscanner/__init__.py:
1729 * giscanner/giscannermodule.c:
1730 * giscanner/Makefile.am:
1732 Add initial python bindings for the scanner and
1733 depend on python 2.5.
1735 2008-03-25 Johan Dahlin <johan@gnome.org>
1739 * giscanner/Makefile.am:
1740 * giscanner/sourcescanner.c:
1741 * giscanner/sourcescanner.h:
1742 * tools/Makefile.am:
1743 * tools/grealpath.h:
1744 * tools/sourcescanner.c:
1745 * tools/sourcescanner.h:
1747 Move the scanner to a separate library.
1749 2008-03-23 Johan Dahlin <johan@gnome.org>
1751 * tools/Makefile.am:
1754 * tools/scannerlexer.l:
1755 * tools/scannerparser.y:
1756 * tools/sourcescanner.c:
1757 * tools/sourcescanner.h:
1758 Split out the source scanner from the generator.
1759 Rename the symbols used in the scanner to use the gi_ prefix.
1760 This should make it possible to use the raw C parser from
1763 2008-03-23 Johan Dahlin <johan@gnome.org>
1765 * tests/parser/Makefile.am (utility.gidl):
1766 * tests/parser/utility-expected.gidl:
1767 Pass in the gobject.gidl since we're defining a GObject.
1769 2008-03-12 Johan Dahlin <johan@gnome.org>
1771 * relaxng/relaxng.rng:
1772 Add a releaxng in relaxng we can use to validate the relaxngs
1775 2008-03-12 Jürg Billeter <j@bitron.ch>
1777 * tools/scanner.c: (g_igenerator_new):
1778 * tools/scannerparser.y:
1779 Fix compiler warnings.
1781 2008-03-12 Jürg Billeter <j@bitron.ch>
1785 * tools/scannerparser.y:
1786 Start fixing memory management in g-idl-scanner.
1788 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1790 * tools/gidlcompilercontext.c: (write_compiled):
1791 Fix critical warning when no shlib passed to g-idl-compiler.
1793 2008-03-12 Johan Dahlin <johan@gnome.org>
1795 * tests/parser/utility-expected.gidl:
1796 * tests/parser/utility.h:
1797 Add a get_type-function, so the scanner actually
1798 parses it as an object.
1800 2008-03-12 Johan Dahlin <johan@gnome.org>
1802 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1805 * tests/parser/Foo-expected.gidl:
1806 * tests/parser/Makefile.am:
1807 * tests/parser/foo-object.h:
1808 * tests/parser/foo.c:
1809 * tests/parser/utility-expected.gidl:
1810 * tests/parser/utility.c:
1811 * tests/parser/utility.h:
1813 Add a new gidl test. 'utility.gidl', which is used to be able
1814 to test external type references. Add a reference to UtilityObject*
1817 2008-03-11 Johan Dahlin <johan@gnome.org>
1821 Remove most global variables
1823 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1825 * tools/scannerlexer.l:
1827 * tests/parser/Foo-expected.gidl:
1828 * tests/parser/foo.c:
1829 * tests/parser/Makefile.am:
1830 * tests/parser/foo-object.h:
1832 Added a few extra tests. Which resulted in finding a few
1833 bugs. Which resulted in me fixing those bugs
1835 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1837 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1838 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1839 Add some comments for strings into generated output for
1842 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1844 * tools/gidlcompilercontext.c: (write_compiled):
1845 Write out the shlibs variable before writing out the strings
1846 length. Fixes compiler warning when using '-l' flag with
1849 2008-03-11 Johan Dahlin <johan@gnome.org>
1851 * tests/parser/Foo-expected.gidl:
1852 * tests/parser/foo-object.h:
1855 * tools/scannerlexer.l:
1856 Add support for parsing return arguments. Add support for
1857 caller-owns return types.
1858 Patch by Philip Van Hoof.
1860 * tools/scannerparser.y:
1861 Remove parsing of the @deprecated syntax used in headers.
1862 We will support gtk-doc deprecation in the future instead.
1864 2008-03-11 Johan Dahlin <johan@gnome.org>
1866 * tools/compiler.c (main): Coding style fixes
1868 2008-03-10 Johan Dahlin <johan@gnome.org>
1871 Add GCOV_LIBS to GILIBS
1873 2008-03-10 Johan Dahlin <johan@gnome.org>
1875 * tests/parser/Foo-expected.gidl:
1876 * tests/parser/foo.c:
1877 Rename null-ok to direction=out
1879 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1881 reviewed and extensively tested by Johan
1883 * tests/parser/Foo-expected.gidl:
1884 * tests/parser/foo-object.h:
1885 * tests/parser/foo.c:
1888 * tools/gidlwriter.c:
1891 * tools/scannerlexer.l:
1892 * tools/scannerparser.y:
1894 Add support for scanning for gtk-doc comments inside
1895 C source files. Add tests
1897 2008-03-10 Johan Dahlin <johan@gnome.org>
1899 * tests/parser/Makefile.am:
1900 * tests/parser/foo.c:
1903 * tools/scannerparser.y:
1904 Add an api to lex filenames.
1905 Lex all source .c files passed in on the command line.
1906 Scan sources in a test and a couple of private structures
1907 which should not be included in the generated gidl
1909 2008-03-10 Johan Dahlin <johan@gnome.org>
1911 * tests/invoke/Makefile.am: Make the generated metadata
1912 depend on the g-idl-compiler
1914 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1916 * tools/gidlmodule.c
1917 * tools/gidlmodule.h
1920 Remove the old g-idl-compiler code.
1923 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1925 * tools/quote-file.sh
1928 Move to using the 'C' struct compiler code.
1930 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1932 * girepository/ginfo.c
1934 Change the way that external references with no namespace
1935 are dealt with. External references with no namespace
1936 are placed into the XML as-if they are a local reference.
1937 This is temporary, but helps with roundtrip tests.
1939 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1941 * girepository/ginfo.c
1942 Add the ability to get the value of a constant of
1943 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1944 is provided as a string.
1946 This would deal properly with:
1947 typedef char* random;
1948 const random = "A string";
1950 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1952 * girepository/ginfo.c
1953 * girepository/girepository.h
1955 Add a function to check if an enum is registered or not.
1956 Previously anything testing this relied on the g-type
1957 string offset having a value of 0.
1959 * girepository/gmetadata.c
1960 * girepository/gmetadata.h
1962 Remove unneccesary or erroneous checks. There were two
1963 metadata validation checks which made sure that the blob
1964 sizes were the same as some magic numbers compiled into the code.
1965 This is wrong as it breaks any forwards compatibility that may
1968 Checks were also present that made sure that unregistered type
1969 blobs had a value of 0 in the g-type offset field. This is
1970 unneccessary. If a type blob is unregistered then any value
1971 in its g-type field is simply invalid.
1973 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1975 * girepository/ginfo.c
1976 * girepository/gmetadata.c
1977 * girepository/gmetadata.h
1979 Change the metadata format to have a standard header
1980 for all the type blobs. Merge the SimpleTypeBlob
1981 and InterfaceTypeBlob into a union. A union of these
1982 two blobs existed previously but was not explicit
1983 in the metadata format.
1985 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1987 * tools/gidlcompilercontext.c
1988 * tools/gidlcompilercontext.h
1989 * tools/gidlcompilerentrynode.c
1990 * tools/gidlcompilerentrynode.h
1991 * tools/gidlcompilertypenode.c
1992 * tools/gidlcompilertypenode.h
1994 Add code to compile a tree of GIdlNodes to
1995 a 'C' struct representing the metadata.
1996 This is to aid cross-compiling. Previously
1997 the g-idl-compiler created a binary blob with
1998 data written in the byte order and alignment
1999 of the tool rather than the intended target.
2001 Cleaned up and improved by Johan and Robert :-)
2003 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
2005 * girepository/ginvoke.c
2006 * girepository/girepository.h
2007 * girepository/gmetadata.c
2008 * girepository/gmetadata.h
2010 * tools/gidlparser.c
2011 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
2012 to avoid confusion with the interface blob.
2015 * tools/gidlparser.c
2016 Remove magic numbers and replace with type-tag
2017 enumeration symbols.
2019 * girepository/gmetadata.c
2020 Add validate declaration.
2022 2008-03-10 Jürg Billeter <j@bitron.ch>
2024 * tools/gidlparser.c: (parse_type_internal):
2025 * tools/scannerlexer.l:
2026 * tools/scannerparser.y:
2027 Support C99 _Bool type in scanner.
2029 2008-03-10 Jürg Billeter <j@bitron.ch>
2031 * tests/parser/Foo-expected.gidl:
2032 * tests/parser/foo-object.h:
2033 * tests/parser/foo.c: (foo_enum_method):
2034 * tools/scanner.c: (g_igenerator_process_function_symbol):
2035 Don't skip functions that are defined in the namespace of a type
2036 that doesn't support methods, as for example enums.
2038 2008-03-10 Johan Dahlin <johan@gnome.org>
2040 * gidl.dtd: Remove, we're using relaxng for now
2042 * tests/parser/Foo-expected.gidl:
2043 * tests/parser/foo-object.h:
2044 * tests/parser/foo.c:
2045 Rename the enum/flags get_type functions to include the whole type.
2047 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
2049 * tools/gidlwriter.c (enum_generate): added "type-name",
2050 "get-type" and "deprecated" missing arguments.
2051 * tests/parser/Foo-expected.gidl:
2052 * tests/parser/foo-object.h: test enum type, and no type.
2054 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
2057 Consistent checks, add missing 'test'
2059 2008-03-05 Havoc Pennington <hp@redhat.com>
2061 * configure.ac: Take advantage of a libffi.pc if one exists, as it
2062 does on Fedora 8. Make libffi a hard requirement, since it was in
2063 practice anyway (was not really conditional in the code or
2064 makefile, only in configure).
2066 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
2068 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
2069 reviewed by: Johan Dahlin <johan@gnome.org>
2071 * tests/Makefile.am:
2072 * tests/roundtrips.sh:
2073 Modify the roundtrips test so that they do not use the
2074 --raw option of the gidl compiler but instead compile a
2075 shared library to use with g_module.
2077 * tests/invoke/Makefile.am:
2078 * tests/invoke/invoke.c:
2079 Modify the invoke tests to build a shared library rather
2080 than use the --raw option.
2082 * tests/invoke/invoke-namespace-find.sh: Removed:
2083 Noone knows why this was here, so removed.
2085 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
2087 * tools/scanner.c: (g_igenerator_process_function_symbol):
2088 Move g_idl_node_can_have_member test later, as it broke spotting
2089 get_type's for nodes that can't have members.
2091 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
2094 * tools/gidlnode.c: (g_idl_node_can_have_member):
2095 Add g_idl_node_can_have_member.
2097 * tools/scanner.c: (g_igenerator_process_function_symbol):
2098 Use g_idl_node_can_have_member to test if we should add a function
2099 as a member of the type node.
2101 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
2103 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
2105 * tests/parser/Makefile.am:
2106 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
2108 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
2110 * tools/scanner.c: (main):
2111 Ignore -pthread when passed to g-idl-scanner.
2113 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
2115 * tools/grealpath.h: Added:
2116 * tools/scanner.c: (main):
2117 * tools/scannerlexer.l:
2118 * tools/Makefile.am:
2119 Always use absolute paths with symbolic links resolved when
2120 comparing filenames.
2122 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
2124 * gobject-introspection.pc.in:
2125 Provide variables for g-idl-parser, scanner and compiler in the
2128 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
2131 * girepository/Makefile.am:
2132 * tools/Makefile.am:
2133 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
2135 2008-02-10 Johan Dahlin <johan@gnome.org>
2137 * tests/parser/Foo-expected.gidl:
2138 * tests/parser/foo-object.h:
2139 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
2140 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
2143 2008-02-10 Johan Dahlin <johan@gnome.org>
2145 * tests/parser/Foo-expected.gidl:
2146 * tests/parser/foo-object.h:
2147 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
2148 Add enum and flags test.
2150 2008-02-10 Johan Dahlin <johan@gnome.org>
2154 * girepository/Makefile.am:
2155 Make 'make distcheck' work again.
2157 2008-02-10 Johan Dahlin <johan@gnome.org>
2159 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
2162 * tests/parser/Makefile.am: Only create Foo.gidl when running make
2163 check, eg exclude it from BUILT_SOURCES.
2165 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2170 * girepository/Makefile.am:
2171 * m4/Makefile.am: Added:
2172 * m4/as-compiler-flag.m4: Added:
2173 * m4/gcov.m4: Added:
2174 * tools/Makefile.am:
2175 Add ability to generate a coverage report.
2176 Adds configure option --enable-gcov and make rule 'check-coverage'.
2178 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2182 * gidl/Makefile.am: Added:
2183 * girepository/Makefile.am: Added:
2184 * src/Makefile.am: Renamed to tools/Makefile.am:
2185 * src/compiler.c: Renamed to tools/compiler.c:
2186 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
2187 * src/generate.c: Renamed to tools/generate.c:
2188 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
2189 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
2190 * src/gidlnode.c: Renamed to tools/gidlnode.c:
2191 * src/gidlnode.h: Renamed to tools/gidlnode.h:
2192 * src/gidlparser.c: Renamed to tools/gidlparser.c:
2193 * src/gidlparser.h: Renamed to tools/gidlparser.h:
2194 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
2195 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
2196 * src/ginfo.c: Renamed to girepository/ginfo.c:
2197 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
2198 * src/girepository.c: Renamed to girepository/girepository.c:
2199 * src/girepository.h: Renamed to girepository/girepository.h:
2200 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
2201 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
2202 * src/scanner.c: Renamed to tools/scanner.c:
2203 * src/scanner.h: Renamed to tools/scanner.h:
2204 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
2205 * src/scannerparser.y: Renamed to tools/scannerparser.y:
2206 * tests/invoke/Makefile.am:
2207 Split src/ into girepository/ and tools/
2211 * girepository/Makefile.am:
2212 * tests/Makefile.am:
2213 * tests/invoke/Makefile.am:
2214 * tests/parser/Makefile.am:
2215 * tests/roundtrips.sh:
2216 * tools/Makefile.am:
2217 Make distcheck work.
2219 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
2221 * tests/invoke/invoke.c: (main):
2222 * tests/invoke/testfns.c: (test6), (test7):
2223 * tests/invoke/testfns.xml:
2224 Add tests for invokation with a GList argument.
2225 Also tests caller-owns return values.
2227 2008-02-04 Rob Taylor <robtaylor@floopily.org>
2230 Add some documentation for GICallableInfo
2232 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
2235 Correct syntax errors in the DTD file.
2237 * relaxng/c-types.xml:
2238 * relaxng/g-types.xml:
2240 Add a RelaxNG specification for the GObject Introspection XML data.
2241 The Specification has validated all of the test files.
2243 2008-01-25 Rob Taylor <robtaylor@floopily.org>
2245 * tests/roundtrips.sh:
2246 * tests/struct.test:
2247 Add roundtrip tests for structs.
2249 2008-01-11 Johan Dahlin <johan@gnome.org>
2251 * src/scanner.c (g_igenerator_process_function_symbol):
2252 Refactor out g_idle_node_add_member.
2253 (create_node_from_gtype, create_node_from_ctype):
2254 Use case instead of if...else
2255 (get_type_from_type_id):
2256 Rename to create_node_from_gtype
2257 (get_type_from_ctype):
2258 Rename to create_node_from_ctype
2260 Rename ginode -> node, gitype -> type, gifunc -> func.
2262 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
2263 Two new functions, refactor out of scanner.c
2265 * src/scanner.c: (g_igenerator_process_function_symbol):
2266 * src/scannerlexer.l:
2267 Do not save the content of the deprecated variable, only
2270 2008-01-11 Johan Dahlin <johan@gnome.org>
2272 * tests/parser/foo-object.h: Add a couple of comment parser tests.
2274 2008-01-11 Jürg Billeter <j@bitron.ch>
2276 * src/scannerlexer.l:
2277 Fix GTK-Doc parsing.
2279 2008-01-11 Jürg Billeter <j@bitron.ch>
2281 * src/scannerlexer.l:
2282 Fix GTK-Doc parsing.
2284 2008-01-11 Jürg Billeter <j@bitron.ch>
2286 * src/scanner.c: (lookup_symbol):
2287 Return unresolved name if we find unknown symbol.
2289 2008-01-11 Jürg Billeter <j@bitron.ch>
2291 * src/scanner.c: (g_igenerator_generate):
2292 Initialize GObject to fix scanning interface properties.
2294 * tests/parser/Foo-expected.gidl:
2295 * tests/parser/foo-object.h:
2296 * tests/parser/foo.c: (foo_interface_get_type):
2297 Test interfaces with GObject prerequisite.
2299 * tests/parser/Makefile.am:
2300 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
2302 2007-12-27 Johan Dahlin <johan@gnome.org>
2304 * src/scannerlexer.l:
2305 Parse gtk-doc comments.
2307 * src/gidlwriter.c: (function_generate):
2308 Reorganize, avoid duplication and add support for
2309 writing deprecated functions.
2311 * src/scannerparser.y:
2313 Add new structure CDirective and functions to create/free them.
2315 * src/scanner.c: (g_igenerator_process_function_symbol),
2316 (g_igenerator_process_unregistered_struct_typedef),
2317 (g_igenerator_process_struct_typedef),
2318 (g_igenerator_process_union_typedef),
2319 (g_igenerator_process_enum_typedef),
2320 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
2321 (g_igenerator_start_preprocessor):
2322 Parse @deprecated directive for functions.
2323 Remove some more C99isms.
2324 Send in -C to cpp to avoid stripping comments.
2326 * tests/parser/foo-object.h:
2327 * tests/parser/Foo-expected.gidl:
2328 Add deprecated directive
2330 2007-12-27 Johan Dahlin <johan@gnome.org>
2332 * src/scannerlexer.l (intsuffix): Add emacs mode line and
2333 escape ' and " so it looks more like C.
2336 Unlink temporary file used.
2338 2007-12-27 Johan Dahlin <johan@gnome.org>
2340 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
2341 (g_igenerator_start_preprocessor), (main):
2343 * src/scannerparser.y:
2344 Plug a couple of simple memory leaks.
2346 2007-12-27 Johan Dahlin <johan@gnome.org>
2348 * src/scanner.c: (g_igenerator_parse_macros),
2349 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
2352 * src/scannerparser.y:
2353 * tests/parser/Makefile.am:
2355 Improve error reporting, return when the preprocessor fails.
2356 Add a verbose parameter, to aid debugging.
2357 Revert to using a temporary file to communicate between the
2358 preprocessor and the parser, because we need to wait for
2359 the exit code from the pre-processor before starting to parse.
2361 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
2363 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
2364 cparser.y to scannerparser.y
2366 2007-12-11 Johan Dahlin <johan@gnome.org>
2370 * src/scanner.c: (g_igenerator_new):
2372 Get rid of the global the_generator variable.
2374 2007-12-10 Johan Dahlin <johan@gnome.org>
2376 * src/scanner.c (main): Add an output option,
2377 add checks for required parameters
2380 set BUILD_SOURCES and CLEANFILES properly
2382 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
2383 (g_writer_write_indent), (g_writer_write_unindent),
2384 (field_generate), (value_generate), (constant_generate),
2385 (property_generate), (function_generate), (vfunc_generate),
2386 (signal_generate), (interface_generate), (struct_generate),
2387 (union_generate), (boxed_generate), (enum_generate),
2388 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
2390 * src/scanner.c: (g_igenerator_generate):
2392 * src/scannerwriter.c:
2394 Refactor scannerwriter to only be tied to a GIdlModule and move
2395 it (again!) to gidlwriter.c. Change the writer function to take
2398 2007-12-10 Johan Dahlin <johan@gnome.org>
2401 * src/scanner.c: (g_igenerator_generate):
2403 * src/scannerwriter.c: (g_igenerator_write_inline),
2404 (g_igenerator_write), (g_igenerator_write_indent),
2405 (g_igenerator_write_unindent), (field_generate), (value_generate),
2406 (constant_generate), (property_generate), (function_generate),
2407 (vfunc_generate), (signal_generate), (interface_generate),
2408 (struct_generate), (union_generate), (boxed_generate),
2409 (enum_generate), (node_generate), (module_generate),
2410 (g_scanner_write_file):
2412 Move the scanner gidl writing to a separate source file.
2414 2007-12-10 Johan Dahlin <johan@gnome.org>
2419 Move over all CType construction functions.
2421 * tests/parser/Makefile.am:
2422 Be verbose when printing parsing tests results.
2424 2007-12-10 Johan Dahlin <johan@gnome.org>
2426 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2427 preprocessor handling to here. Start cpp insteado of cc -E,
2428 always include -U__GNUC__, since it's specific to the preprocessor
2431 * tests/parser/Makefile.am (check-local): Silent diff and skip
2432 -U__GNUC__ which is always defined now
2434 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
2436 reviewed by: <delete if not using a buddy>
2438 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2439 * tests/parser/Makefile.am:
2441 2007-12-09 Johan Dahlin <johan@gnome.org>
2444 Use GOption for command line options.
2445 (g_igenerator_new, main): Simplify constructor and they way
2446 parameters are passed into it.
2452 * src/gen-introspect.c:
2453 * src/gen-introspect.h:
2455 Rename gen-introspect.[ch] to scanner.[ch]
2457 2007-12-09 Johan Dahlin <johan@gnome.org>
2461 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2462 don't make the repository library and the other utilites link against
2465 * src/gen-introspect.c: (g_igenerator_create_object),
2466 (g_igenerator_create_interface), (g_igenerator_create_boxed),
2467 (g_igenerator_create_enum), (g_igenerator_create_flags),
2468 (g_igenerator_process_module_symbol),
2469 (g_igenerator_process_module), (g_igenerator_generate), (main):
2470 * src/gen-introspect.h:
2471 Refactor g_igenerator_process_types into smaller pieces.
2473 * tests/parser/Makefile.am:
2474 Depend on the gen-introspect binary
2476 2007-12-09 Johan Dahlin <johan@gnome.org>
2478 * src/gen-introspect.c (g_igenerator_process_types):
2479 Break into smaller pieces, one for each generated node type.
2481 2007-12-08 Johan Dahlin <johan@gnome.org>
2483 * src/gen-introspect.c: (g_igenerator_process_types),
2484 (g_igenerator_add_module):
2485 * tests/parser/Foo-expected.gidl:
2486 * tests/parser/foo-object.h:
2487 * tests/parser/foo.c: (foo_subobject_class_init),
2488 (foo_subobject_init):
2490 Add a subobject test and make sure to register defined classes
2491 in the lookup symbol hash table.
2493 2007-12-08 Johan Dahlin <johan@gnome.org>
2497 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2498 (g_igenerator_process_types), (g_igenerator_add_module),
2499 (g_igenerator_add_include_idl), (main):
2500 * src/gen-introspect.h:
2501 * tests/parser/Makefile.am:
2502 * tests/parser/Foo-expected.gidl:
2504 Change the gen-introspect to generate namespaced module names,
2505 such as GLib.Object instead of GObject.
2506 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2507 add a --include-idl parameter to gen-introspect,
2508 and update the parser test.
2510 2007-12-08 Johan Dahlin <johan@gnome.org>
2512 * src/gen-introspect.c:
2513 Move main to the end of the file and attempt to make it valid
2516 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2517 we're not quite ready to generate metadata yet.
2522 Add a simple gen-introspect parser test
2524 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2526 reviewed by: Johan Dahlin <johan@gnome.org>
2529 * gobject-introspection.pc.in:
2531 * src/compiler.c: (format_output), (write_out_metadata), (main):
2532 * src/gen-introspect.c: (main):
2533 * src/gen-introspect.h:
2534 * src/generate.c: (write_callable_info), (write_repository),
2535 (load_metadata), (main):
2536 * src/gidlmodule.c: (g_idl_module_new),
2537 (g_idl_module_build_metadata):
2539 * src/gidlparser.c: (start_element_handler):
2540 * src/ginfo.c: (g_info_new), (g_info_from_entry),
2541 (g_base_info_get_name), (g_base_info_get_namespace),
2542 (g_base_info_is_deprecated), (g_base_info_get_annotation),
2543 (g_base_info_get_metadata), (g_function_info_get_symbol),
2544 (g_function_info_get_flags), (g_function_info_get_property),
2545 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2546 (g_callable_info_may_return_null),
2547 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2548 (g_callable_info_get_arg), (g_arg_info_get_direction),
2549 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2550 (g_arg_info_is_optional), (g_arg_info_may_be_null),
2551 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2552 (g_type_info_get_tag), (g_type_info_get_param_type),
2553 (g_type_info_get_interface), (g_type_info_get_array_length),
2554 (g_type_info_is_zero_terminated),
2555 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2556 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2557 (g_value_info_get_value), (g_field_info_get_flags),
2558 (g_field_info_get_size), (g_field_info_get_offset),
2559 (g_registered_type_info_get_type_name),
2560 (g_registered_type_info_get_type_init),
2561 (g_struct_info_get_n_fields), (g_struct_info_get_field),
2562 (g_struct_info_get_n_methods), (g_struct_info_get_method),
2563 (find_method), (g_struct_info_find_method),
2564 (g_enum_info_get_n_values), (g_enum_info_get_value),
2565 (g_object_info_get_parent), (g_object_info_get_type_name),
2566 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2567 (g_object_info_get_interface), (g_object_info_get_n_fields),
2568 (g_object_info_get_field), (g_object_info_get_n_properties),
2569 (g_object_info_get_property), (g_object_info_get_n_methods),
2570 (g_object_info_get_method), (g_object_info_find_method),
2571 (g_object_info_get_n_signals), (g_object_info_get_signal),
2572 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2573 (g_object_info_get_n_constants), (g_object_info_get_constant),
2574 (g_interface_info_get_n_prerequisites),
2575 (g_interface_info_get_prerequisite),
2576 (g_interface_info_get_n_properties),
2577 (g_interface_info_get_property), (g_interface_info_get_n_methods),
2578 (g_interface_info_get_method), (g_interface_info_find_method),
2579 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2580 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2581 (g_interface_info_get_n_constants),
2582 (g_interface_info_get_constant), (g_property_info_get_flags),
2583 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2584 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2585 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2586 (g_constant_info_get_value), (g_union_info_get_n_fields),
2587 (g_union_info_get_field), (g_union_info_get_n_methods),
2588 (g_union_info_get_method), (g_union_info_is_discriminated),
2589 (g_union_info_get_discriminator_offset),
2590 (g_union_info_get_discriminator):
2591 * src/ginvoke.c: (g_function_info_invoke):
2592 * src/girepository.c: (g_irepository_register),
2593 (g_irepository_unregister), (g_irepository_get_default),
2594 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2595 (g_irepository_get_info), (g_irepository_find_by_name),
2596 (g_irepository_get_shared_library),
2597 (g_irepository_build_search_path), (g_irepository_register_file),
2598 (g_irepository_error_quark):
2599 * src/girepository.h:
2600 * src/gmetadata.c: (g_metadata_get_dir_entry),
2601 (g_metadata_check_sanity), (validate_header),
2602 (validate_array_type_blob), (validate_iface_type_blob),
2603 (validate_param_type_blob), (validate_error_type_blob),
2604 (validate_type_blob), (validate_arg_blob),
2605 (validate_signature_blob), (validate_function_blob),
2606 (validate_callback_blob), (validate_constant_blob),
2607 (validate_value_blob), (validate_field_blob),
2608 (validate_property_blob), (validate_signal_blob),
2609 (validate_vfunc_blob), (validate_struct_blob),
2610 (validate_enum_blob), (validate_object_blob),
2611 (validate_interface_blob), (validate_errordomain_blob),
2612 (validate_union_blob), (validate_blob), (validate_directory),
2613 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2614 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2615 (g_metadata_new_from_mapped_file), (g_metadata_free),
2616 (g_metadata_set_module), (g_metadata_get_namespace):
2618 * tests/Makefile.am:
2619 * tests/invoke/Makefile.am:
2620 * tests/invoke/invoke-namespace-find.sh:
2621 * tests/invoke/invoke.c: (main):
2623 Add a namespace/shared library mapping. fixes #313268.
2625 2007-12-03 Johan Dahlin <johan@gnome.org>
2627 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2630 2007-11-30 Jürg Billeter <j@bitron.ch>
2636 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2637 (g_igenerator_write_inline), (g_igenerator_write),
2638 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2639 (field_generate), (value_generate), (constant_generate),
2640 (property_generate), (function_generate), (vfunc_generate),
2641 (signal_generate), (interface_generate), (struct_generate),
2642 (union_generate), (boxed_generate), (enum_generate),
2643 (node_generate), (module_generate), (get_type_from_type_id),
2644 (str_replace), (g_igenerator_process_properties),
2645 (g_igenerator_process_signals), (g_igenerator_process_types),
2646 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2647 (g_igenerator_process_unregistered_struct_typedef),
2648 (g_igenerator_process_struct_typedef),
2649 (g_igenerator_process_union_typedef),
2650 (g_igenerator_process_enum_typedef),
2651 (g_igenerator_process_function_typedef),
2652 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2653 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2654 (g_igenerator_generate), (main), (csymbol_new),
2655 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2656 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2657 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2658 (eat_hspace), (eat_line), (read_identifier),
2659 (g_igenerator_parse_macros):
2660 * src/gen-introspect.h:
2662 Import gen-introspect to generate introspection information by
2665 2007-11-30 Jürg Billeter <j@bitron.ch>
2667 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2669 2007-11-30 Jürg Billeter <j@bitron.ch>
2671 * src/gidlparser.c: (end_element_handler): Don't leave requires
2674 2007-11-29 Johan Dahlin <johan@gnome.org>
2676 * src/gidlparser.c (parse_type_internal): Add char,
2677 gchar and guchar to the builtin types.
2679 2007-11-26 Johan Dahlin <johan@gnome.org>
2681 * src/ginfo.c: (g_object_info_get_type_name),
2682 (g_object_info_get_type_init):
2683 * src/girepository.c: (g_irepository_is_registered):
2684 * src/girepository.h:
2686 Add g_object_info_get_type_name, g_object_info_get_type_init and
2687 g_irepository_is_registered.
2689 2006-08-14 Jürg Billeter <j@bitron.ch>
2691 * src/gidlparser.c: (end_element_handler): Don't leave
2692 namespace and implements states too early.
2695 2007-11-26 Johan Dahlin <johan@gnome.org>
2697 * src/gmetadata.c (validate_struct_blob):
2698 pass blob_type to validate_function_blob instead of
2699 hard-coding BLOB_TYPE_STRUCT.
2701 Patch by Torsten Schoenfeld, fixes #314190
2703 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2705 * src/compiler.c, src/generate.c, src/gidlnode.c,
2706 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2707 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2708 warnings about return values, signedness mismatches, unused
2709 variables, and unhandles enum values in switch statements.
2711 * tests/invoke/Makefile.am: Don't install the invoke test program.
2712 Add -I ../../src to the cflags used for the test functions files.
2714 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2716 * src/girepository.h: Export g_invoke_error_quark.
2718 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2720 * src/ginvoke.c: Remove the fallback implementation of
2721 g_function_info_invoke since we now formally depend on libffi.
2723 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2725 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2726 Remove these files from cvs, as they are now generated.
2728 * src/gmetadata.c (validate_iface_type_blob): Don't
2729 complain if blob->pointer is not set, since that
2730 happens for enum and flag types. (#308935, Gustavo
2733 * Commit an autoconf-conversion patch by
2734 Gustavo Carneiro (#308708)
2736 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2738 * src/compiler.c (main): Use it here to validate
2739 the generated metadata.
2741 * src/gmetadata.[hc]: Add code to validate a
2744 * metadata-format.txt: Updates
2746 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2748 * tests/*: Add struct offsets to field and vfunc
2751 * src/generate.c (write_vfunc_info): Write offset
2752 information for vfuncs.
2754 * src/gidlnode.c (g_idl_node_build_metadata): Write
2755 the struct offsets into the metadata.
2757 * src/gidlparser.c: Parse the offset attributes of
2758 field and vfunc elements.
2760 * src/gidlnode.h: Add offset members to field and
2763 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2767 * gidl.dtd: Updates.
2769 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2770 file, creates, compiles and runs a C file, and folds the
2771 resulting struct offsets back into the .gidl file.
2773 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2775 * src/gidlparser.c (start_field): Make fields in objects
2778 * src/gidlmodule.c: Include string.h
2783 * metadata-format.txt: Cleanup basic types.
2784 * src/*: Adapt to the changes.
2785 * tests/*: Adapt to the changes.
2786 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2788 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2789 size for enum blobs.
2790 (g_idl_node_get_full_size): Report the correct size for
2793 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2794 error checking for blob sizes.
2796 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2798 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2799 interface types for which is_pointer is FALSE, e.g. enums.
2801 * src/gidlnode.c (g_idl_node_get_full_size)
2802 * src/gidlparser.c (parse_type_internal):
2803 * src/generate.c (write_type_info): Support unspecialized
2804 lists, hashtables and errors. Also emit a '*' after these.
2808 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2812 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2814 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2816 * src/*.c: Change the directory to be addressed by
2817 1-based indexes, and use an index of zero to mean
2820 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2822 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2824 * tests/union.test: Add a union test.
2826 * src/generate.c: Handle unions.
2828 * src/girepository.h:
2829 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2831 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2833 * src/gidlparser.c (start_union): Parse <union> elements.
2835 * src/gidlnode.h: Add a GIdlNodeUnion.
2837 * gidl.dtd: Add a <union> element.
2839 * src/gmetadata.c (g_metadata_check_sanity): Check
2842 * src/gmetadata.h: Add union_blob_size to Header,
2845 * metadata-format.txt: Add a UnionBlob.
2847 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2849 * tests/*: Update testcases.
2851 * src/generate.c (write_callable_info): Don't forget to
2852 write transfer and null-ok attributes for return types
2855 * src/girepository.h:
2856 * src/ginfo.c (g_callable_info_may_return_null):
2857 New function to find out if a function may return NULL.
2859 * src/compiler.c (format_output): Make the generated
2862 * README: Point to a recent libffi snapshot.
2864 * tests/invoke/*: Some invoke tests.
2866 * src/Makefile: Add ginvoke.c and the necessary
2869 * src/girepository.h (g_function_info_invoke): Add
2872 * src/ginvoke.c (g_function_info_invoke): Initial
2873 implementation of invoke functionality based on libffi.
2875 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2876 strings and types hash tables in the right order when
2878 (find_entry_node): Free the name parts.
2880 2005-05-12 Johan Dahlin <johan@gnome.org>
2882 * src/generate.c: Generate consistent end tags.
2886 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2890 * src/gidlparser.c (start_function): Actually add
2891 methods to objects. (Steven Walter)
2893 * src/girepository.h:
2894 * src/ginfo.c: Rename Transfer and Direction to
2895 GITransfer and GIDirection. (Torsten Schoenfeld)
2897 * tests/*: Make tests work with the changes in name
2900 * src/gidlnode.c (find_entry_node): Parse qualified
2901 names and generate xref nodes for them if needed. Don't
2902 require all modules to be loaded any more.
2904 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2907 * src/ginfo.c (g_object_info_get_parent): Return NULL
2908 if blob->parent is 0. Still need to make sure index
2911 * src/generate.c: Generate qualified names when
2912 referring to non-local types. Emit transfer attribute
2915 * src/compiler.c (format_output): Put the function
2916 attributes where gcc accepts them.
2918 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2920 * src/compiler.c (main): Add a --verbose cmdline option
2921 and only log messages if it is specified.
2924 * src/gidlnode.c (init_stats, dump_stats): Collect some
2925 statistics on string and type sharing.
2927 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2928 g_message() instead of fprintf().
2930 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2931 (g_idl_node_get_size): Implement for structs.
2932 (g_idl_node_get_full_size): Handle parent being NULL.
2933 (serialize_type): Handle lookup failures more gracefully.
2935 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2937 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2938 size calculation for 2-parameter types and for objects.
2940 * src/compiler.c: Add a cmdline option for debug output
2941 and install a log handler to implement it.
2942 * src/gidlnode.c: Add some debug spew.
2946 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2947 forget to count the module name when calculating the
2948 required size for the metadata.
2951 * src/gidlparser.c: Fix compiler warnings.
2953 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2955 * src/compiler.c (main): Free the option context.
2957 * gidl.dtd: Clean up handling of names. All elements
2958 have a "name", only the elements corresponding to
2959 actual callable functions (function, method, constructor),
2960 have an additional "symbol" attribute holding the
2961 dlsym()-able function name.
2963 * src/generate.c: Adapt to generate xml matching the
2967 * src/gidlnode.c: Adapt to parse the new dtd.
2969 * tests/*.test: Adjust to the new dtd.
2971 * metadata-format.txt:
2972 * src/gmetadata.h: Remove the short_name field
2974 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2975 * src/girepository.h:
2976 * src/ginfo.c (g_value_info_get_short_name): Removed
2978 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2980 * gidl.dtd: Allow constructors for boxed types,
2981 patch by Jonathan Blandford.
2984 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2986 * --- Initial import ---