1 2008-08-21 Johan Dahlin <johan@gnome.org>
4 * giscanner/glibtransformer.py:
6 Do not hard-core library names in the Makefile, reuse
7 ctypes find_library instead.
9 2008-08-21 Johan Dahlin <johan@gnome.org>
11 * girepository/girparser.c (resolve_aliases):
12 Remove compilation warnings
14 2008-08-21 Johan Dahlin <johan@gnome.org>
16 * girepository/girepository.c (g_irepository_require):
17 Rewrap and fix double free bug by leaking a bit.
19 2008-08-20 Colin Walters <walters@verbum.org>
21 * girepository/girepository.c: Add new function
22 g_irepository_get_typelib_path which tells
23 us from where we loaded a namespace.
25 2008-08-20 Colin Walters <walters@verbum.org>
27 * tests/scanner/*-expected.gir: Adjust for
29 * giscanner/giwriter.py: Make pylint happy.
31 2008-08-20 Colin Walters <walters@verbum.org>
33 * girepository/girmodule.c (g_ir_module_build_typelib):
34 Calculate size correctly, avoid use-after-free.
36 2008-08-20 Colin Walters <walters@verbum.org>
38 * girepository/girepository.c: Remove
39 g_irepository_register_file in favor of
40 g_irepository_require. There are two
41 possible deployment scenarios for typelibs:
42 First, separate in $DATADIR/gitypelibs/. Second,
43 they may be embedded in shlibs. However since
44 the first is now the normal case, the API is
47 Refactor internals to look up typelibs for
48 namespaces just-in-time, but we expect
49 consumers to call g_irepository_require.
51 Also, add some docs. No one has died from that
53 * gir/Makefile.am: Need --library for glib.
54 * giscanner/girwriter.py: Write out shared-library.
55 * tools/g-ir-writer: Take the first --library
56 argument as the target of shared-library. In
57 the future we should make this nicer with pkg-config
60 2008-08-20 Colin Walters <walters@verbum.org>
62 * girepository/girparser.py: And parse them.
64 2008-08-20 Johan Dahlin <johan@gnome.org>
66 * giscanner/glibast.py: Add gshort/gushort types
68 2008-08-20 Colin Walters <walters@verbum.org>
70 * gir/Makefile.am: Rename .gir files using GI namespace.
71 * girepository/girepository.c: Use XDG_DATA_DIRS for
72 looking up typelibs. Also typelibs are now suffixed
74 * tests/invoke/Makefile.am: Only use metadata.
75 * girepository/Makefile.am: Remove unnecessary include.
76 * tests/scanner/Makefile.am: Update using GI namespaces
79 2008-08-20 Colin Walters <walters@verbum.org>
81 * girepository/transformer.py: Suppress aliases whose
83 * girepository/ast.py: Define some more aliases.
85 2008-08-20 Colin Walters <walters@verbum.org>
87 * girepository/girparser.c: Avoid alias infloops.
89 2008-08-20 Colin Walters <walters@verbum.org>
91 * tests/scanner/foo-expected.gir: Fix expected list type.
93 2008-08-20 Johan Dahlin <johan@gnome.org>
95 * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name):
96 Add a workaround for #548689.
97 We can now compile gtk!
99 2008-08-20 Colin Walters <walters@verbum.org>
101 * giscanner/glibtransformer.py: Try to look up
102 aliases using the c:type too.
104 2008-08-20 Colin Walters <walters@verbum.org>
106 * girepository/girparser.c: Parse union fields.
108 2008-08-20 Johan Dahlin <johan@gnome.org>
110 * giscanner/ast.py: Make time_t an alias for long
112 * gir/gio-2.0-good.gir:
113 * gir/glib-2.0-good.gir:
114 * gir/gobject-2.0-good.gir:
116 * giscanner/glibtransformer.py:
117 Do not delete Class structures, we need them in gdk/gtk.
118 * tests/scanner/drawable-expected.gir:
119 * tests/scanner/foo-expected.gir:
120 * tests/scanner/utility-expected.gir:
123 2008-08-20 Johan Dahlin <johan@gnome.org>
125 * tests/scanner/Makefile.am:
126 * tests/scanner/annotation-expected.gir:
127 * tests/scanner/annotation.c (annotation_object_class_init),
128 (annotation_object_init), (annotation_object_method),
129 (annotation_object_in), (annotation_object_out),
130 (annotation_object_inout), (annotation_object_inout2),
131 (annotation_object_inout3), (annotation_object_calleeowns),
132 (annotation_object_calleesowns), (annotation_object_get_strings),
133 (annotation_object_with_voidp), (annotation_object_get_objects),
134 (annotation_object_create_object), (annotation_object_allow_none):
135 * tests/scanner/annotation.h:
136 * tests/scanner/foo-expected.gir:
137 * tests/scanner/foo.c:
138 * tests/scanner/foo.h:
139 Split out annotation tests out of foo
141 2008-08-20 Johan Dahlin <johan@gnome.org>
143 * tests/scanner/Foo-expected.gir:
144 * tests/scanner/Makefile.am:
145 * tests/scanner/foo-expected.gir:
146 * tests/scanner/foo-object.h:
147 * tests/scanner/foo.c:
148 Foo->foo, foo-object.h -> foo.h
150 2008-08-20 Johan Dahlin <johan@gnome.org>
152 * tests/scanner/Foo-expected.gir:
153 * tests/scanner/Makefile.am:
154 * tests/scanner/drawable-expected.gir:
155 * tests/scanner/drawable.c (test_drawable_class_init),
156 (test_drawable_init):
157 * tests/scanner/drawable.h:
158 * tests/scanner/foo-object.h:
159 * tests/scanner/foo.c (foo_boxed_method):
160 Move the drawable parts out of Foo to its own test.
162 2008-08-20 Johan Dahlin <johan@gnome.org>
164 * tests/scanner/Foo-expected.gir:
165 * tests/scanner/foo-object.h:
166 * tests/scanner/foo.c (foo_drawable_class_init),
168 Add a based on GdkDrawable which generates
171 2008-08-19 Colin Walters <walters@verbum.org>
173 * giscanner/transformer.py: Don't try
174 to strip prefix before namespace.
176 2008-08-19 Johan Dahlin <johan@gnome.org>
178 * giscanner/transformer.py:
179 * tests/scanner/Foo-expected.gir:
180 * tests/scanner/foo-object.h:
181 Add support for typedef void foo type of
184 2008-08-19 Johan Dahlin <johan@gnome.org>
187 * giscanner/girwriter.py:
188 * giscanner/glibtransformer.py:
189 * giscanner/transformer.py:
190 * tests/scanner/Foo-expected.gir:
191 Add basic support for union, base the code much
192 on Struct. Add a testcase.
194 2008-08-19 Johan Dahlin <johan@gnome.org>
196 * tests/scanner/Foo-expected.gir:
197 * tests/scanner/foo-object.h:
198 Add a union testcase which the compiler currently
201 2008-08-19 Johan Dahlin <johan@gnome.org>
203 * gobject-introspection-1.0.pc.in:
204 Add a g_ir_compiler variable
206 2008-08-19 Colin Walters <walters@verbum.org>
208 * giscanner/ast.py: Rework types to be more closely
210 * giscanner/girparser.py: Parse more bits.
211 * giscanner/girwriter.py: Write sequences in a new
212 way that specifies container type.
213 * giscanner/glibast.py: Adjust for ast.py changes,
214 add 'ctype' property to GLibObject and GLibInterface
215 so we can look things up by it later.
216 * gicanner/transformer.py: Names is new class holding
217 the various namespaces we manage. Do not confuse
218 with Namespace which is toplevel XML node effectively.
219 Rework all type resolution to go through
220 _resolve_type_name_1.
221 * giscanner/glibtransformer.py: Raise UnknownTypeError
222 instead of ValueError for cleanliness. Add Unresolved
223 class to mark types whose parent we haven't seen yet.
224 Use new Names object from transformer.py.
225 Correctly look up parent=.
226 Fix type validation to handle sequences.
227 * tests/scanner/Foo-expected.gir: Update for sequence
228 work, int instead of int32.
229 * tools/g-ir-scanner: Add --noclosure option
230 * gir/Makefile.am: Use --noclosure by default for
233 2008-08-18 Johan Dahlin <johan@gnome.org>
235 * gir/gio-2.0-good.gir:
236 * gir/glib-2.0-good.gir:
237 * gir/gobject-2.0-good.gir:
240 2008-08-18 Johan Dahlin <johan@gnome.org>
243 * giscanner/girparser.py:
244 * giscanner/girwriter.py:
245 * giscanner/glibast.py:
246 * giscanner/glibtransformer.py:
247 * giscanner/transformer.py:
248 * tests/scanner/Foo-expected.gir:
249 * tests/scanner/foo-object.h:
250 * tests/scanner/utility-expected.gir:
251 * tests/scanner/utility.h:
252 Redo type resolving and validation.
253 Add a couple of new tests.
254 Patch mostly written by Colin.
256 2008-08-18 Johan Dahlin <johan@gnome.org>
259 * giscanner/girparser.py:
261 * giscanner/transformer.py:
262 Improve enum parsing for enums without a GType.
263 Make flags/enum references to other girs work
264 * giscanner/utils.py:
266 * tests/scanner/Makefile.am:
267 * tests/scanner/foo-object.h:
268 * tests/scanner/utility-expected.gir:
269 * tests/scanner/utility.h:
270 Add a new test for external enum references
272 2008-08-18 Johan Dahlin <johan@gnome.org>
274 * docs/global-module-registry.txt: Update
276 * tests/array.gir: Update with new type proposal
278 * girepository/girepository.c (g_type_tag_to_string):
279 * girepository/girepository.h:
280 * girepository/girnode.c (g_ir_node_get_full_size_internal),
282 * girepository/girnode.h:
283 Make enum serializing functions public. Clean up some whitespace.
285 2008-08-17 Johan Dahlin <johan@gnome.org>
287 * docs/global-module-registry.txt:
288 Add a document for an on disk module registry format
290 2008-08-17 Johan Dahlin <johan@gnome.org>
293 * gir/gio-2.0-good.gir:
296 2008-08-17 Johan Dahlin <johan@gnome.org>
299 * gir/glib-2.0-good.gir:
300 * gir/gobject-2.0-good.gir:
301 * giscanner/cgobject.py:
302 * giscanner/glibtransformer.py:
303 Regenerate GObject & GType.
304 Avoid warnings when generating gobject-2.0.gir.
305 Introspect a little more, and skip *_get_type functions.
307 2008-08-17 Colin Walters <walters@verbum.org>
309 * gir/glib-2.0.gir, gir/gobject-2.0.gir:
310 Rename to -good, always generate during build.
311 * gir/Makefile.am: Ensure .gir files dep on
313 * Makefile.am: Switch build order to ensure
314 the scanner is ready before we do gir/.
315 * tools/g-ir-scanner: Look for .git too.
317 2008-08-17 Johan Dahlin <johan@gnome.org>
319 * girepository/gtypelib.c (validate_enum_blob):
320 * giscanner/glibtransformer.py:
321 * giscanner/transformer.py:
322 Remove resolve_possible_typedefs, it was unused.
323 Allow multiple enum values of the sample value in an enum,
324 since it's actually pretty common.
325 Register enums so they can be resolved too.
327 2008-08-16 Johan Dahlin <johan@gnome.org>
329 * giscanner/girparser.py:
330 Parse enumeration/bitfield.
332 2008-08-16 Johan Dahlin <johan@gnome.org>
334 * giscanner/girparser.py:
337 2008-08-16 Johan Dahlin <johan@gnome.org>
339 * giscanner/glibtransformer.py:
340 Resolve type names for alias targets
341 * giscanner/transformer.py:
342 Skip FILE* parameters fow now
344 2008-08-16 Johan Dahlin <johan@gnome.org>
347 * gir/gobject-2.0.gir:
350 * tests/scanner/Makefile.am:
353 2008-08-15 Colin Walters <walters@verbum.org>
355 * giscanner/glibtransformer.py: Explicitly construct
356 new list, since we're deleting as we iterate.
357 Don't delete all structures which end in Class; just
358 ones which have a paired GObject.
359 Fix printing of type warning.
360 * giscanner/transformer.py: Make strip_namespace_object
361 be the identity function if it doesn't match the
364 2008-08-15 Colin Walters <walters@verbum.org>
366 * giscanner/cgobject.py: Define yet more argument
367 prototypes; fix prototype for g_type_fundamental.
369 2008-08-14 Johan Dahlin <johan@gnome.org>
372 * tests/constant.gir:
375 * tools/generate.c (write_struct_info):
376 Fix generator for constant/gobject/struct
378 2008-08-14 Johan Dahlin <johan@gnome.org>
382 * tools/generate.c (write_enum_info):
383 Fix generation of enum/bitfields
385 2008-08-14 Johan Dahlin <johan@gnome.org>
387 * girepository/girparser.c (start_field), (start_constant),
388 (start_type), (end_element_handler):
389 Clear up constant parsing
394 * tools/generate.c (write_callable_info), (write_function_info),
395 (write_callback_info), (write_constant_info), (write_signal_info),
396 (write_vfunc_info), (write_property_info), (write_object_info),
397 (write_interface_info):
398 Constants/Signals are handled now.
400 2008-08-14 Johan Dahlin <johan@gnome.org>
402 * girepository/girparser.c (start_type):
403 Don't require c:type.
407 Update, remove parts we don't support yet
408 * tests/roundtrips.sh:
410 * tools/generate.c (write_type_info), (write_field_info),
411 (write_callable_info), (write_struct_info):
412 Make it emit proper gir.
414 2008-08-14 Johan Dahlin <johan@gnome.org>
416 * giscanner/transformer.py:
417 New internal function for adding a new node.
419 2008-08-14 Johan Dahlin <johan@gnome.org>
422 Define an internal _H_ variable so we skip parsing both
423 i18n headers, only one is needed.
425 Add the glib-2.0.gir too.
426 * giscanner/glibast.py:
427 Add gconstpointer as an alias for ANY
428 * giscanner/transformer.py:
429 Do not lower case enumeration names per se.
430 Skip functions which has parameters called 'va_list'
432 2008-08-14 Colin Walters <walters@verbum.org>
434 * giscanner/transformer.py: Comment data structures.
435 Also squash pointers in resolve_type_name to correspond
436 with what we do for params.
437 * giscanner/glibtransformer.py: Print warnings in more
438 situations. Rework checks for method/constructor to
439 look up in our GType database instead of just checking
440 for *. Avoid generating <record> for GObject which
441 duplicate the <class>.
442 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
445 2008-08-14 Johan Dahlin <johan@gnome.org>
447 * giscanner/girwriter.py:
448 * giscanner/glibast.py:
449 * giscanner/glibtransformer.py:
450 * giscanner/transformer.py:
453 Add pyflakes.py and run it in make check.
454 Update the source code to fix the errors reported by
457 2008-08-14 Johan Dahlin <johan@gnome.org>
460 * giscanner/girparser.py:
461 * giscanner/glibast.py:
462 * giscanner/glibtransformer.py:
463 Refactor the parser a bit.
464 Add parent type to interfaces and update callsites.
466 2008-08-14 Johan Dahlin <johan@gnome.org>
468 * giscanner/glibtransformer.py:
469 * giscanner/utils.py:
470 Refactor a bit, avoid isinstance and add a method
471 for each type we parse.
473 2008-08-14 Johan Dahlin <johan@gnome.org>
476 * giscanner/girparser.py:
477 * giscanner/glibtransformer.py:
479 Run pep8.py in make check, fix old errors.
481 2008-08-13 Colin Walters <walters@verbum.org>
483 * giscanner/girparser.py: Parse records.
485 2008-08-13 Colin Walters <walters@verbum.org>
487 * gir/Makefile.am: Install again.
488 * gir/gobject-2.0.gir: Add some more bits.
490 2008-08-13 Colin Walters <walters@verbum.org>
492 * gir/gobject-2.0.gir: Use correct namespace, add GType.
493 * giscanner/girparser.py: Handle aliases.
494 * giscanner/transformer.py: Record aliases. Make resolver
495 functions public; we now call into these explicitly from
496 glibtransformer. Handle resolving aliases.
497 * giscanner/glibtransformer.py: Separate our internal namespace
498 from included ones. Call up into transformer's resolver functions.
500 2008-08-13 Johan Dahlin <johan@gnome.org>
502 * girepository/girnode.c (g_ir_node_get_full_size_internal):
503 * girepository/girparser.c (start_class):
504 * giscanner/glibtransformer.py:
505 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
507 2008-08-13 Johan Dahlin <johan@gnome.org>
509 * giscanner/cgobject.py:
510 Register GInitiallyUnowned
511 * giscanner/girwriter.py:
512 * giscanner/glibtransformer.py:
513 Special case GObject/GInitially owned as they are a bit special to use.
515 2008-08-13 Colin Walters <walters@verbum.org>
517 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
518 Object is in GObject namespace.
520 2008-08-13 Colin Walters <walters@verbum.org>
522 * giscanner/girparser.py: Fix processing of functions
525 2008-08-13 Colin Walters <walters@verbum.org>
527 * giscanner/girparser.py: Parse more than just <class.
528 * giscanner/glibtransformer.py: Put aliases in a separate
529 data structure since their name is not canonicall.
530 * giscanner/transformer.py: Handle resolving type names
533 2008-08-13 Johan Dahlin <johan@gnome.org>
535 * tools/g-ir-scanner:
536 Allow multiple libraries
537 * giscanner/glibtransformer.py:
538 Rename load_library to add_library, traverse over all libraries
539 when trying to resolve a function
541 2008-08-12 Colin Walters <walters@verbum.org>
543 * giscanner/transformer.py: Record typedefs as <alias> elements.
544 Also attempt to look up types in external namespaces.
545 * giscanner/girwriter.py: Write them.
546 * giscanner/glibtransformer.py: Rework resolver using real instanceof
547 checks. Resolve interface methods and properties.
548 * tests/scanner/foo-object.h: Add a method with typedef.
549 * tests/scanner/Foo-expected.gir: Update.
550 * girepository/girnode.c: Debug tweaks.
551 * girepository/girparser.c: Make a first pass through the XML where we
552 record all the aliases. This lets us resolve them as we go through the
554 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
557 2008-08-12 Colin Walters <walters@verbum.org>
559 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
560 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
562 * giscanner/transformer.py: Record typedefs and expose public API for resolving
564 * tests/scanner/Foo-expected.gir: Fix expected callback types.
566 2008-08-12 Colin Walters <walters@verbum.org>
568 * giscanner/glibtransformer.py: Also transform object properties.
570 2008-08-12 Colin Walters <walters@verbum.org>
572 * giscanner/glibtransformer.py: Also transform callbacks
573 and structure field types.
574 * tests/scanner/Fooe-expected.gir: Update to expect correct
575 names for callbacks and structs.
577 2008-08-12 Colin Walters <walters@verbum.org>
579 * girepository/girparser.c: Handle 'any'.
580 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
583 2008-08-12 Colin Walters <walters@verbum.org>
585 * giscanner/glibtransformer.py: We need to do type
586 resolution in a second pass after we've seen all the
589 2008-08-12 Colin Walters <walters@verbum.org>
591 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
592 Add enum return value.
593 * giscanner/glibtransformer.py: Transform function return types
596 2008-08-12 Colin Walters <walters@verbum.org>
598 * tests/scanner/Makefile.am: Dep .gir files on scanner
599 sources too. Also remove @ so we see scanner invocations.
601 2008-08-12 Colin Walters <walters@verbum.org>
603 * girepository/girparser.c, girepository/gtypelib.c,
604 girepository/gtypelib.h, girepository/girnode.c:
605 Remove usage of (GAPI-oriented) TypeTag in favor of
606 GITypeTag from girepository.h.
608 2008-08-10 Colin Walters <walters@verbum.org>
610 * tests/roundtrips.sh: Use the correct tests.
612 2008-08-10 Colin Walters <walters@verbum.org>
614 * giscanner/cgobject.py: Declare/wrap a few more functions.
615 Fix parameter types for g_object_new and g_type_fundamental.
617 2008-08-10 Colin Walters <walters@verbum.org>
619 * giscanner/cgobject.py: Add new decorator @gwrap which forces
620 us to declare types for both return value and parameters. The
621 ctypes default of 'int' is bad because it hides 32/64 bit
622 problems. Convert all existing functions to use it.
624 2008-08-09 Johan Dahlin <johan@gnome.org>
626 * giscanner/__init__.py:
628 * giscanner/cgobject.py:
629 * giscanner/gidlparser.py:
630 * giscanner/gidlwriter.py:
631 * giscanner/girparser.py:
632 * giscanner/girwriter.py:
633 * giscanner/glibast.py:
634 * giscanner/glibtransformer.py:
635 * giscanner/odict.py:
636 * giscanner/sourcescanner.py:
637 * giscanner/transformer.py:
638 * giscanner/utils.py:
639 * giscanner/xmlwriter.py:
640 * tools/g-ir-scanner:
644 2008-08-09 Johan Dahlin <johan@gnome.org>
647 * relaxng/c-types.xml:
648 * relaxng/g-types.xml:
649 * relaxng/relaxng.rng:
651 Remove outdated relaxng schemas.
653 2008-08-09 Johan Dahlin <johan@gnome.org>
656 Rename metadata to typelib in variable names,
659 2008-08-09 Johan Dahlin <johan@gnome.org>
663 Remove old C scanner, which got rewritten in python.
665 2008-08-09 Johan Dahlin <johan@gnome.org>
667 * girepository/Makefile.am:
677 Move shared *.[ch] files to girepository from tools
679 2008-08-09 Johan Dahlin <johan@gnome.org>
684 * tests/constant.test:
687 * tests/function.test:
688 * tests/gobject.test:
689 * tests/interface.test:
696 Rename *.test to *.gir
698 2008-08-09 Johan Dahlin <johan@gnome.org>
702 * tests/parser/Foo-expected.gir:
703 * tests/parser/Makefile.am:
704 * tests/parser/foo-object.h:
705 * tests/parser/foo.c:
706 * tests/parser/utility-expected.gir:
707 * tests/parser/utility.c:
708 * tests/parser/utility.h:
709 * tests/scanner/Makefile.am:
710 Rename tests/parser to test/scanner
712 2008-08-08 Colin Walters <walters@verbum.org>
714 * tests/roundtrips.sh: Use local .gir files again.
716 2008-08-08 Colin Walters <walters@verbum.org>
718 * tests/invoke/Makefile.am: .gir file depends on libtool
721 2008-08-08 Colin Walters <walters@verbum.org>
723 * tools/girnode.c: Pass through parent node so we can
724 print the node whose child is NULL, if that occurs.
726 2008-08-08 Johan Dahlin <johan@gnome.org>
729 Disable roundtrip tests which are not yet working
730 * tests/invoke/testfns.gir:
733 2008-08-08 Johan Dahlin <johan@gnome.org>
735 * giscanner/girwriter.py:
737 * giscanner/glibast.py:
738 * giscanner/glibtransformer.py:
739 Swap order of members, to keep it consistent with
742 2008-08-08 Johan Dahlin <johan@gnome.org>
744 * girepository/gtypelib.c (validate_header):
745 * girepository/gtypelib.h:
747 * giscanner/girwriter.py:
748 * giscanner/sourcescanner.c (gi_source_symbol_ref),
749 (gi_source_symbol_unref):
752 * tests/constant.test:
755 * tests/function.test:
756 * tests/gobject.test:
757 * tests/interface.test:
758 * tests/invoke/Makefile.am:
759 * tests/invoke/testfns.xml:
761 * tests/parser/Makefile.am:
762 * tests/roundtrips.sh:
769 * tools/compiler.c (main):
770 * tools/generate.c (write_callable_info), (write_function_info),
772 * tools/gidlmodule.c:
773 * tools/gidlmodule.h:
776 * tools/gidlparser.c:
777 * tools/gidlparser.h:
778 * tools/gidlwriter.c:
779 * tools/gidlwriter.h:
780 * tools/scanner.c (create_node_from_gtype),
781 (create_node_from_ctype), (g_igenerator_process_properties),
782 (g_igenerator_process_signals), (g_igenerator_create_object),
783 (g_igenerator_create_interface), (g_igenerator_create_boxed),
784 (g_igenerator_create_enum), (g_igenerator_create_flags),
785 (g_igenerator_process_function_symbol),
786 (g_igenerator_process_unregistered_struct_typedef),
787 (g_igenerator_process_struct_typedef),
788 (g_igenerator_process_union_typedef),
789 (g_igenerator_process_enum_typedef),
790 (g_igenerator_process_function_typedef),
791 (g_igenerator_process_constant), (g_igenerator_process_symbols),
792 (g_igenerator_add_module), (g_igenerator_add_include_idl):
793 Merge in the gir-compiler branch.
794 Thanks to Philip and Colin for their help.
796 2008-07-26 Colin Walters <walters@verbum.org>
798 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
799 and g-idl-generate to go along with how we're changing this
800 module to be installed.
801 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
803 2008-07-24 Colin Walters <walters@verbum.org>
805 * girepository/girepository.c (g_irepository_register): Add
806 environment variable G_IREPOSITORY_VERBOSE so we can print
807 out what we're doing.
808 * girepository/girepository.c (g_irepository_register_file):
809 Add GError error message to g_debug call.
811 2008-07-08 Jürg Billeter <j@bitron.ch>
813 * giscanner/glibast.py:
817 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
819 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
822 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
825 * giscanner/girwriter.py:
826 * giscanner/transformer.py:
827 * tests/parser/Foo-expected.gir:
828 * tests/parser/foo-object.h:
829 * tests/parser/foo.c (foo_object_allow_none):
830 Add support for gtk-doc annotations for allow-none.
833 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
836 * giscanner/girwriter.py:
837 * giscanner/glibast.py:
838 * giscanner/glibtransformer.py:
839 * giscanner/transformer.py:
840 * tests/parser/Foo-expected.gir:
841 Start using abstract type instead of the raw C types.
842 Register a bunch of glib types we care about.
844 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
849 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
851 * girepository/girepository.c:
852 * girepository/gtypelib.c:
853 * girepository/ginfo.c:
854 * girepository/ginvoke.c:
855 * girepository/girepository.h:
856 * girepository/gtypelib.h:
857 * girepository/gmetadata.c:
858 * girepository/Makefile.am:
859 * girepository/gmetadata.h:
861 * tools/gidlmodule.c:
864 * tools/gidlmodule.h:
865 * tools/gidlparser.c:
867 Renamed GMetadata to GTypelib
869 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
871 * giscanner/xmlwriter.py:
872 Improve line wrapping when > 79 charaters
874 2008-06-05 Jürg Billeter <j@bitron.ch>
877 * giscanner/girwriter.py:
878 * giscanner/transformer.py:
879 Use <type> element for field types
880 * tests/parser/Foo-expected.gir:
883 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
885 * giscanner/glibtransformer.py:
886 Fix a bug which prevented GdkEvent from being generated
888 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
890 * giscanner/Makefile.am:
892 * giscanner/girwriter.py:
893 * giscanner/glibast.py:
894 * giscanner/glibtransformer.py:
895 * giscanner/transformer.py:
896 * giscanner/utils.py:
897 * tests/parser/Foo-expected.gir:
898 Improve enum member parsing and introspection
900 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
902 * giscanner/scannerparser.y:
903 * giscanner/sourcescanner.h:
904 * giscanner/sourcescanner.py:
905 Add a new source type enum for member.
906 Use __repr__ for improved debugging
907 * giscanner/girparser.py:
909 * giscanner/transformer.py:
910 Improve parsing of struct members.
911 * tests/parser/foo-object.h:
914 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
916 * giscanner/xmlwriter.py:
917 Improve error reporting when trying to quote None.
918 * giscanner/girparser.py:
919 Do not print warnings when including more complete .gir files
920 * giscanner/girwriter.py:
921 Do not require a name for parameters, add a todo for singletons
922 * giscanner/glibtransformer.py:
923 Refactor the way structs are done, add a couple of hacks to allow
925 * giscanner/transformer.py:
926 Add enough hacks so cairo, atk and pango.gir can be parsed properly
927 * gobject-introspection-1.0.pc.in:
928 Export girdir, so we can access gobject-2.0.gir from outside
930 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
932 * tools/g-ir-scanner:
933 * tests/parser/Makefile.am:
934 Update sys.path before running the parser so we don't have
935 to setup PYTHONPATH ourselves.
939 * girepository/Makefile.am:
940 * giscanner/transformer.py:
941 * gobject-introspection-1.0.pc.in:
942 * gobject-introspection.pc.in:
945 Rename pkg-config name to gobject-introspection-1.0,
946 Do not installed anything which is not using the gir format.
947 Disable compililation the old C scanner, but still keep the source
948 until all the remaning functionallity has been ported.
950 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
952 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
953 a crash when symbol->indent is NULL.
955 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
956 a function to convert a CTYPE symbol to a string
958 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
961 * giscanner/girwriter.py:
962 * giscanner/giscannermodule.c
963 (pygi_source_scanner_append_filename),
964 (pygi_source_scanner_parse_file):
965 * giscanner/glibtransformer.py:
966 * giscanner/sourcescanner.py:
967 Revert back to using temporary files to send in headers.
968 Allow Functions to be passed in as callbacks, add a couple
969 of try/excepts missing features.
970 We can now scan pango
972 2008-05-08 Johan Dahlin <johan@gnome.org>
974 * giscanner/glibtransformer.py:
975 * giscanner/transformer.py:
976 Move namespace stripping glibtransformer->transformer
978 2008-05-08 Johan Dahlin <johan@gnome.org>
981 * giscanner/girwriter.py:
982 * giscanner/glibtransformer.py:
983 * giscanner/transformer.py:
984 * tools/g-ir-scanner:
985 Introduce a namespace ast node
987 2008-05-05 Johan Dahlin <johan@gnome.org>
989 * giscanner/__init__.py:
990 * giscanner/sourcescanner.py:
991 * giscanner/transformer.py:
992 Move sourcescanner symbols to the sourcescanner module, instead
993 of in the global __init__ namespace.
995 2008-05-03 Johan Dahlin <johan@gnome.org>
997 * giscanner/glibtransformer.py:
998 * tools/g-ir-scanner:
999 Handle missing parameters better, allow - and + in .la dlname
1002 2008-05-03 Johan Dahlin <johan@gnome.org>
1004 * giscanner/__init__.py:
1006 * giscanner/girwriter.py:
1007 * giscanner/glibtransformer.py:
1008 * giscanner/transformer.py:
1009 Parse struct fields properly, improve debugging.
1011 2008-04-29 Johan Dahlin <johan@gnome.org>
1014 * giscanner/girwriter.py:
1015 * giscanner/transformer.py:
1016 * tests/parser/Foo-expected.gir:
1018 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
1020 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1023 * docs/g-ir-scanner.1:
1024 * metadata-annotations-proposal.txt:
1025 * metadata-format.txt:
1026 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
1028 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
1030 * giscanner/girwriter.py:
1031 * giscanner/glibtransformer.py:
1032 * giscanner/transformer.py:
1033 * giscanner/xmlwriter.py:
1034 * tests/parser/Foo-expected.gir:
1035 * tests/parser/foo-object.h:
1036 Write record/structs to gir file too. Add a couple of tests,
1037 fix an off by one error in xmlwriter.py.
1039 2008-04-28 Johan Dahlin <johan@gnome.org>
1041 * giscanner/xmlwriter.py: Calculate the line length properly,
1042 include the provided extra indentation in the calculation, really.
1044 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1047 * giscanner/glibast.py:
1048 * giscanner/glibtransformer.py:
1049 * giscanner/transformer.py:
1050 * tools/g-ir-scanner:
1051 Add a --strip-prefix and sort out confusion between names and symbols
1052 for functions and struct + derivaties.
1053 Refactor bootstrap of g-ir-scanner, so we can set options on
1054 Transformer() before parsing everything.
1056 2008-04-28 Johan Dahlin <johan@gnome.org>
1058 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
1059 when scanning girepository.h
1061 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
1062 a __GI_SCANNER__ when we run.
1064 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1067 * giscanner/girwriter.py:
1068 * giscanner/glibast.py:
1069 * giscanner/glibtransformer.py:
1070 * tests/parser/Foo-expected.gir:
1071 * tests/parser/utility-expected.gir:
1072 Rename most c:identifier to c:type. Add new ones to
1073 class/interface/enum/boxed.
1075 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
1078 * giscanner/girwriter.py:
1079 * giscanner/glibtransformer.py:
1080 * tests/parser/Foo-expected.gidl:
1081 * tests/parser/Makefile.am:
1082 Move c:identifier from return-value to subchild type,
1083 as per Jürgs suggestion
1085 2008-04-28 Johan Dahlin <johan@gnome.org>
1087 * giscanner/girwriter.py:
1088 * tests/parser/Foo-expected.gir:
1089 Write property.type as a child node.
1091 2008-04-27 Johan Dahlin <johan@gnome.org>
1096 * gidl/gobject-2.0.gidl:
1098 * gir/gobject-2.0.gir:
1099 * tests/parser/Makefile.am:
1100 Replace the GObject gidl with a GObject gir.
1102 2008-04-27 Johan Dahlin <johan@gnome.org>
1104 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
1107 * giscanner/xmlwriter.py:
1108 * tests/parser/Foo-expected.gir:
1109 Include indentation in line length calculation
1111 2008-04-27 Johan Dahlin <johan@gnome.org>
1113 * giscanner/girparser.py:
1114 Prettify NS parsing using elementtree.
1116 2008-04-27 Johan Dahlin <johan@gnome.org>
1119 * giscanner/Makefile.am:
1120 * giscanner/girparser.py:
1121 * giscanner/glibtransformer.py:
1122 * tests/parser/Foo-expected.gidl:
1123 * tests/parser/Foo-expected.gir:
1124 * tests/parser/Makefile.am:
1125 * tests/parser/utility-expected.gidl:
1126 * tests/parser/utility-expected.gir:
1127 * tools/g-ir-scanner:
1128 Switch over to GIR as the default format. Add a simple GIDL
1130 Update tests and fix simplify makefiles by depending
1131 on GNU make extensions.
1133 2008-04-27 Johan Dahlin <johan@gnome.org>
1135 * giscanner/xmlwriter.py:
1136 Wrap attributes for lines which are wider than 79 characters
1138 * giscanner/scannerlexer.l:
1139 Allow parenthesis in annotations
1142 * giscanner/gidlwriter.py:
1143 * giscanner/girwriter.py:
1144 * giscanner/glibtransformer.py:
1145 * giscanner/transformer.py:
1146 Add initial sequence support, including annotation.
1147 Refactor type handling a bit.
1149 2008-04-27 Johan Dahlin <johan@gnome.org>
1151 * tests/parser/Foo-expected.gidl:
1152 * tests/parser/foo-object.h:
1153 * tests/parser/foo.c (foo_object_class_init),
1154 (foo_object_get_strings), (foo_object_get_objects):
1155 Add two new functions to check sequence return values.
1156 Also fixes a compilation warning.
1158 2008-04-27 Johan Dahlin <johan@gnome.org>
1160 * giscanner/giscannermodule.c (]): Cast the getter, avoids
1161 a compilation warning.
1163 * tools/Makefile.am (g_ir_scanner_SOURCES):
1164 g-ir-scanner has no sources.
1166 2008-04-25 Johan Dahlin <johan@gnome.org>
1168 * giscanner/Makefile.am:
1170 * giscanner/gidlparser.py:
1171 * giscanner/gidlwriter.py:
1172 * giscanner/girwriter.py:
1173 * giscanner/glibast.py:
1174 * giscanner/glibtransformer.py:
1175 * giscanner/transformer.py:
1176 Split out nodes to ast.py and glibast.py
1178 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1180 * giscanner/Makefile.am:
1181 * giscanner/gidlparser.py:
1182 * giscanner/gidlwriter.py:
1183 * giscanner/girwriter.py:
1184 * giscanner/glibtransformer.py:
1185 * giscanner/gobjecttreebuilder.py:
1186 * giscanner/transformer.py:
1187 * giscanner/treebuilder.py:
1188 * tools/g-ir-scanner:
1189 Rename treebuilder to transformer and
1190 gobjectreebuilder to glibtransformer.
1192 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1194 * giscanner/Makefile.am:
1195 * giscanner/__init__.py:
1196 * giscanner/cgobject.py:
1197 * giscanner/gidlparser.py:
1198 * giscanner/gidlwriter.py:
1199 * giscanner/girwriter.py:
1200 * giscanner/gobjecttreebuilder.py:
1201 * giscanner/odict.py:
1202 * giscanner/sourcescanner.py:
1203 * giscanner/treebuilder.py:
1204 * giscanner/xmlwriter.py:
1205 * tools/Makefile.am:
1206 * tools/g-ir-scanner:
1207 Add LGPLv2 license header and install all python files
1209 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1212 * giscanner/gidlwriter.py:
1213 * giscanner/giscannermodule.c (pygi_source_directive_new),
1214 (directive_get_options), (pygi_source_symbol_new),
1215 (symbol_get_base_type), (pygi_source_type_new),
1216 (type_get_base_type), (type_get_child_list),
1217 (pygi_source_scanner_get_symbols),
1218 (pygi_source_scanner_get_directives):
1219 * giscanner/gobjecttreebuilder.py:
1220 * giscanner/sourcescanner.py:
1221 * giscanner/treebuilder.py:
1222 * tests/parser/foo-object.h:
1223 Add support for virtual methods.
1224 Pair struct FooClass with struct Foo.
1225 Clean up the SourceScanner bindings a bit.
1226 Add a testcase for virtual methods.
1228 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
1230 * giscanner/cgobject.py:
1231 * giscanner/gidlwriter.py:
1232 * giscanner/gobjecttreebuilder.py:
1233 Add support for signals
1235 * tests/parser/foo.c (foo_object_class_init):
1236 * Foo-expected.gidl:
1237 Add a signal and update the expected output.
1239 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
1241 * giscanner/gidlwriter.py:
1242 * giscanner/girwriter.py:
1243 * giscanner/giscannermodule.c (directive_get_name),
1244 (directive_get_value), (directive_get_options),
1245 (symbol_get_directives), (symbol_set_directives),
1246 (pygi_source_scanner_parse_file),
1247 (pygi_source_scanner_lex_filename),
1248 (pygi_source_scanner_get_directives), (init_giscanner):
1249 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
1250 * giscanner/sourcescanner.h:
1251 * giscanner/sourcescanner.py:
1252 * giscanner/treebuilder.py:
1253 * tools/g-ir-scanner:
1254 Add support for source/header annotations.
1256 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1258 * giscanner/gidlwriter.py:
1259 * giscanner/girwriter.py:
1260 * giscanner/gobjecttreebuilder.py:
1261 * giscanner/treebuilder.py:
1262 Add support for Callbacks
1264 2008-04-22 Havoc Pennington <hp@pobox.com>
1266 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
1267 not in metadata->module, look for it in the global module, in case
1268 some other object or the app itself provides the symbol.
1270 2008-04-22 Havoc Pennington <hp@pobox.com>
1272 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
1273 dlopening a library that is already in the main app, by checking
1274 whether one of the lib's symbols is already loaded.
1276 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1278 * tests/parser/Foo-expected.gidl:
1279 * tests/parser/foo-object.h:
1282 2008-04-22 Havoc Pennington <hp@pobox.com>
1284 * girepository/ginfo.c (g_interface_info_find_method):
1285 Use interface_blob_size not object_blob_size to compute offset.
1287 2008-04-22 Havoc Pennington <hp@pobox.com>
1289 * girepository/gmetadata.c (_g_metadata_init): remove
1290 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
1291 (Glade and Clutter for example) rely on being loaded globally.
1293 2008-04-22 Havoc Pennington <hp@pobox.com>
1295 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
1296 function to get the GType given a RegisteredTypeInfo
1298 2008-04-22 Johan Dahlin <johan@gnome.org>
1300 * COPYING: Add a LGPL license, to prevent automake to
1301 put in a copy of GPL here. Pointed out by Havoc.
1303 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
1304 (g_type_info_is_pointer), (g_type_info_get_tag),
1305 (g_type_info_get_param_type), (g_type_info_get_interface),
1306 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
1307 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1308 (g_error_domain_info_get_codes), (g_enum_info_get_value),
1309 (g_object_info_get_interface), (g_object_info_get_field),
1310 (g_interface_info_get_prerequisite),
1311 (g_signal_info_get_class_closure), (g_constant_info_get_value):
1312 * girepository/ginvoke.c (get_ffi_type):
1313 * girepository/girepository.h:
1314 * girepository/gmetadata.c (g_metadata_get_dir_entry),
1315 (g_metadata_check_sanity), (validate_header),
1316 (validate_array_type_blob), (validate_iface_type_blob),
1317 (validate_param_type_blob), (validate_error_type_blob),
1318 (validate_type_blob), (validate_constant_blob),
1319 (validate_struct_blob), (validate_enum_blob):
1320 * girepository/gmetadata.h:
1321 * tests/Makefile.am:
1322 * tests/invoke/Makefile.am:
1323 * tests/invoke/invoke.c (main):
1324 * tests/roundtrips.sh:
1325 * tools/Makefile.am:
1326 * tools/compiler.c (format_output), (write_out_metadata), (main):
1327 * tools/generate.c (write_type_name), (write_type_info),
1328 (write_constant_value), (write_enum_info), (load_metadata), (main):
1329 * tools/gidlcompilercontext.c:
1330 * tools/gidlcompilercontext.h:
1331 * tools/gidlcompilerentrynode.c:
1332 * tools/gidlcompilerentrynode.h:
1333 * tools/gidlcompilertypenode.c:
1334 * tools/gidlcompilertypenode.h:
1335 * tools/gidlmodule.c (g_idl_module_build_metadata):
1336 * tools/gidlmodule.h:
1337 * tools/gidlnode.c (init_stats), (dump_stats),
1338 (g_idl_node_get_size), (g_idl_node_get_full_size),
1339 (g_idl_node_cmp), (g_idl_node_can_have_member),
1340 (g_idl_node_add_member), (g_idl_node_param_direction_string),
1341 (parse_int_value), (parse_uint_value), (parse_float_value),
1342 (parse_boolean_value), (find_entry_node), (find_entry),
1343 (serialize_type), (g_idl_node_build_metadata), (write_string):
1345 * tools/gidlparser.c (parse_type_internal):
1346 * tools/quote-file.sh:
1347 Revert revisions 157,149-148,136-129 and 120.
1348 Move back to using g-idl-generate to generate the metadata and
1349 avoids dependency on a c compiler.
1351 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
1353 * giscanner/girwriter.py:
1354 * tools/g-ir-scanner:
1355 Add an initial GIR writer and a --format option to g-ir-scanner
1357 2008-04-21 Johan Dahlin <johan@gnome.org>
1359 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
1360 gobject-2.0 and raise ImportError if not found.
1362 * giscanner/gidlparser.py:
1363 * giscanner/gidlwriter.py:
1364 * giscanner/gobjecttreebuilder.py:
1365 * tools/g-ir-scanner:
1366 Add a --include argument to include types from other idls.
1367 Add a minimalistic GIDL parser (just objects for now)
1368 Implement resolving of external type references and use it to
1369 resolve parent types, argument types and return types.
1371 2008-04-21 Johan Dahlin <johan@gnome.org>
1373 * giscanner/gidlwriter.py:
1374 * giscanner/gobjecttreebuilder.py:
1375 * giscanner/treebuilder.py:
1376 Add support for properties.
1377 Refactor Class/Interface support a bit, to share more code and
1378 always initialize their method attribute to an empty list.
1380 2008-04-21 Johan Dahlin <johan@gnome.org>
1382 * giscanner/cgobject.py:
1383 Add a workaround for a glib bug interface introspection bug
1384 (object_interface_list_properties, object_class_list_properties):
1385 Cast the return value to GParamSpec.
1387 * tests/parser/Foo-expected.gidl: Update
1388 * tests/parser/foo.c: Add a string property
1390 * giscanner/gobjecttreebuilder.py:
1391 After stripping namespaces, remove the original
1392 item to avoid duplication (GtkButton struct and Button object)
1394 2008-04-21 Johan Dahlin <johan@gnome.org>
1396 * giscanner/gobjecttreebuilder.py:
1397 * giscanner/treebuilder.py:
1398 Strip namespaces before objects, so we'll export
1399 GtkButton as Button in the gtk namespace
1401 2008-04-21 Johan Dahlin <johan@gnome.org>
1403 * giscanner/gidlwriter.py:
1404 * giscanner/gobjecttreebuilder.py:
1405 * giscanner/treebuilder.py:
1406 Add constructors for object/boxed types.
1408 2008-04-21 Johan Dahlin <johan@gnome.org>
1410 * giscanner/gidlwriter.py:
1411 * giscanner/gobjecttreebuilder.py:
1412 Add support for boxed types
1414 2008-04-21 Johan Dahlin <johan@gnome.org>
1416 * giscanner/giscannermodule.c: Mark structures as const,
1417 wrap SourceType.const_string.
1419 * tests/parser/foo-object.h: Add a couple of constants.
1421 * giscanner/gidlwriter.py:
1422 * giscanner/gobjecttreebuilder.py:
1423 * giscanner/treebuilder.py:
1424 Add basic support for interfaces
1426 * tools/g-ir-scanner:
1427 Add -o/--output for writing to a file
1429 2008-04-21 Havoc Pennington <hp@redhat.com>
1431 * TODO: add some C API wishlist items I could think of quickly
1433 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1435 * giscanner/gidlwriter.py:
1436 * giscanner/xmlwriter.py:
1437 Add a simple api for writing tags which can be used
1438 with the new 'with statement' in python 2.5
1440 2008-04-21 Johan Dahlin <johan@gnome.org>
1442 * giscanner/gobjecttreebuilder.py:
1443 Strip namespace and object prefix from method names.
1445 2008-04-21 Johan Dahlin <johan@gnome.org>
1447 * tools/g-ir-scanner (main): Add --pkg option to pass in
1448 pkg-config modules to get cflags from.
1450 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1451 Avoid duplication, reuse function writer for methods.
1453 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1455 * giscanner/gidlwriter.py:
1456 * giscanner/gobjecttreebuilder.py:
1457 * giscanner/treebuilder.py:
1458 * tools/g-ir-scanner:
1459 Resolve libtool .la files.
1460 Strip name spaces for methods.
1461 Add function symbols
1463 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1465 * giscanner/cgobject.py:
1466 * giscanner/gidlwriter.py:
1467 * giscanner/gobjecttreebuilder.py:
1468 * giscanner/treebuilder.py:
1469 Add support for classes and methods
1471 2008-04-20 Johan Dahlin <johan@gnome.org>
1473 * giscanner/gidlwriter.py:
1474 * giscanner/gobjecttreebuilder.py:
1475 * giscanner/odict.py:
1476 Avoid conflicts, keep the output ordered similar to
1477 the order of the input.
1478 Add a simple ordered dictionary implemenation
1480 2008-04-19 Johan Dahlin <johan@gnome.org>
1482 * giscanner/cgobject.py:
1483 * giscanner/gidlwriter.py:
1484 * giscanner/gobjecttreebuilder.py:
1485 * tools/g-ir-scanner:
1486 Start introspecting get-type functions.
1487 Implement support for GLib/GFlags GTypes.
1488 Add a ctype based GObject binding.
1490 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1492 * giscanner/gidlwriter.py:
1493 * giscanner/xmlwriter.py:
1494 * tools/g-ir-scanner:
1495 Add a simplistic gidl writer, which can't do too much.
1497 2008-04-18 Johan Dahlin <johan@gnome.org>
1499 * giscanner/sourcescanner.py:
1500 * giscanner/treebuilder.py:
1501 * tools/g-ir-scanner:
1502 split tree building and source scanning interface to separate files.
1504 2008-04-18 Johan Dahlin <johan@gnome.org>
1506 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1508 - Add support for struct/parameter/return, start parsing of ctypes
1510 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1513 2008-03-31 Johan Dahlin <johan@gnome.org>
1515 * tools/g-ir-scanner:
1516 Start to build abstract syntax node of scanned sources.
1517 Add support for cpp options.
1519 2008-03-27 Johan Dahlin <johan@gnome.org>
1521 * giscanner/giscannermodule.c:
1522 * giscanner/scannerlexer.l:
1523 * giscanner/sourcescanner.c:
1524 * tools/g-ir-scanner:
1526 Add simple pre-processor using subprocess and a PIPE.
1527 Change the parse_file apis to accept a file descriptor.
1529 2008-03-25 Johan Dahlin <johan@gnome.org>
1531 * giscanner/__init__.py:
1532 * tools/g-ir-scanner:
1533 Fix a typo and add an example python test program.
1535 2008-03-25 Johan Dahlin <johan@gnome.org>
1537 * giscanner/__init__.py:
1538 * giscanner/giscannermodule.c:
1539 * giscanner/sourcescanner.c:
1540 * giscanner/sourcescanner.h:
1541 Add constants and wrap a few more SymbolType fields
1543 2008-03-25 Johan Dahlin <johan@gnome.org>
1547 * giscanner/__init__.py:
1548 * giscanner/giscannermodule.c:
1549 * giscanner/Makefile.am:
1551 Add initial python bindings for the scanner and
1552 depend on python 2.5.
1554 2008-03-25 Johan Dahlin <johan@gnome.org>
1558 * giscanner/Makefile.am:
1559 * giscanner/sourcescanner.c:
1560 * giscanner/sourcescanner.h:
1561 * tools/Makefile.am:
1562 * tools/grealpath.h:
1563 * tools/sourcescanner.c:
1564 * tools/sourcescanner.h:
1566 Move the scanner to a separate library.
1568 2008-03-23 Johan Dahlin <johan@gnome.org>
1570 * tools/Makefile.am:
1573 * tools/scannerlexer.l:
1574 * tools/scannerparser.y:
1575 * tools/sourcescanner.c:
1576 * tools/sourcescanner.h:
1577 Split out the source scanner from the generator.
1578 Rename the symbols used in the scanner to use the gi_ prefix.
1579 This should make it possible to use the raw C parser from
1582 2008-03-23 Johan Dahlin <johan@gnome.org>
1584 * tests/parser/Makefile.am (utility.gidl):
1585 * tests/parser/utility-expected.gidl:
1586 Pass in the gobject.gidl since we're defining a GObject.
1588 2008-03-12 Johan Dahlin <johan@gnome.org>
1590 * relaxng/relaxng.rng:
1591 Add a releaxng in relaxng we can use to validate the relaxngs
1594 2008-03-12 Jürg Billeter <j@bitron.ch>
1596 * tools/scanner.c: (g_igenerator_new):
1597 * tools/scannerparser.y:
1598 Fix compiler warnings.
1600 2008-03-12 Jürg Billeter <j@bitron.ch>
1604 * tools/scannerparser.y:
1605 Start fixing memory management in g-idl-scanner.
1607 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1609 * tools/gidlcompilercontext.c: (write_compiled):
1610 Fix critical warning when no shlib passed to g-idl-compiler.
1612 2008-03-12 Johan Dahlin <johan@gnome.org>
1614 * tests/parser/utility-expected.gidl:
1615 * tests/parser/utility.h:
1616 Add a get_type-function, so the scanner actually
1617 parses it as an object.
1619 2008-03-12 Johan Dahlin <johan@gnome.org>
1621 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1624 * tests/parser/Foo-expected.gidl:
1625 * tests/parser/Makefile.am:
1626 * tests/parser/foo-object.h:
1627 * tests/parser/foo.c:
1628 * tests/parser/utility-expected.gidl:
1629 * tests/parser/utility.c:
1630 * tests/parser/utility.h:
1632 Add a new gidl test. 'utility.gidl', which is used to be able
1633 to test external type references. Add a reference to UtilityObject*
1636 2008-03-11 Johan Dahlin <johan@gnome.org>
1640 Remove most global variables
1642 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1644 * tools/scannerlexer.l:
1646 * tests/parser/Foo-expected.gidl:
1647 * tests/parser/foo.c:
1648 * tests/parser/Makefile.am:
1649 * tests/parser/foo-object.h:
1651 Added a few extra tests. Which resulted in finding a few
1652 bugs. Which resulted in me fixing those bugs
1654 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1656 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1657 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1658 Add some comments for strings into generated output for
1661 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1663 * tools/gidlcompilercontext.c: (write_compiled):
1664 Write out the shlibs variable before writing out the strings
1665 length. Fixes compiler warning when using '-l' flag with
1668 2008-03-11 Johan Dahlin <johan@gnome.org>
1670 * tests/parser/Foo-expected.gidl:
1671 * tests/parser/foo-object.h:
1674 * tools/scannerlexer.l:
1675 Add support for parsing return arguments. Add support for
1676 caller-owns return types.
1677 Patch by Philip Van Hoof.
1679 * tools/scannerparser.y:
1680 Remove parsing of the @deprecated syntax used in headers.
1681 We will support gtk-doc deprecation in the future instead.
1683 2008-03-11 Johan Dahlin <johan@gnome.org>
1685 * tools/compiler.c (main): Coding style fixes
1687 2008-03-10 Johan Dahlin <johan@gnome.org>
1690 Add GCOV_LIBS to GILIBS
1692 2008-03-10 Johan Dahlin <johan@gnome.org>
1694 * tests/parser/Foo-expected.gidl:
1695 * tests/parser/foo.c:
1696 Rename null-ok to direction=out
1698 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1700 reviewed and extensively tested by Johan
1702 * tests/parser/Foo-expected.gidl:
1703 * tests/parser/foo-object.h:
1704 * tests/parser/foo.c:
1707 * tools/gidlwriter.c:
1710 * tools/scannerlexer.l:
1711 * tools/scannerparser.y:
1713 Add support for scanning for gtk-doc comments inside
1714 C source files. Add tests
1716 2008-03-10 Johan Dahlin <johan@gnome.org>
1718 * tests/parser/Makefile.am:
1719 * tests/parser/foo.c:
1722 * tools/scannerparser.y:
1723 Add an api to lex filenames.
1724 Lex all source .c files passed in on the command line.
1725 Scan sources in a test and a couple of private structures
1726 which should not be included in the generated gidl
1728 2008-03-10 Johan Dahlin <johan@gnome.org>
1730 * tests/invoke/Makefile.am: Make the generated metadata
1731 depend on the g-idl-compiler
1733 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1735 * tools/gidlmodule.c
1736 * tools/gidlmodule.h
1739 Remove the old g-idl-compiler code.
1742 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1744 * tools/quote-file.sh
1747 Move to using the 'C' struct compiler code.
1749 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1751 * girepository/ginfo.c
1753 Change the way that external references with no namespace
1754 are dealt with. External references with no namespace
1755 are placed into the XML as-if they are a local reference.
1756 This is temporary, but helps with roundtrip tests.
1758 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1760 * girepository/ginfo.c
1761 Add the ability to get the value of a constant of
1762 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1763 is provided as a string.
1765 This would deal properly with:
1766 typedef char* random;
1767 const random = "A string";
1769 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1771 * girepository/ginfo.c
1772 * girepository/girepository.h
1774 Add a function to check if an enum is registered or not.
1775 Previously anything testing this relied on the g-type
1776 string offset having a value of 0.
1778 * girepository/gmetadata.c
1779 * girepository/gmetadata.h
1781 Remove unneccesary or erroneous checks. There were two
1782 metadata validation checks which made sure that the blob
1783 sizes were the same as some magic numbers compiled into the code.
1784 This is wrong as it breaks any forwards compatibility that may
1787 Checks were also present that made sure that unregistered type
1788 blobs had a value of 0 in the g-type offset field. This is
1789 unneccessary. If a type blob is unregistered then any value
1790 in its g-type field is simply invalid.
1792 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1794 * girepository/ginfo.c
1795 * girepository/gmetadata.c
1796 * girepository/gmetadata.h
1798 Change the metadata format to have a standard header
1799 for all the type blobs. Merge the SimpleTypeBlob
1800 and InterfaceTypeBlob into a union. A union of these
1801 two blobs existed previously but was not explicit
1802 in the metadata format.
1804 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1806 * tools/gidlcompilercontext.c
1807 * tools/gidlcompilercontext.h
1808 * tools/gidlcompilerentrynode.c
1809 * tools/gidlcompilerentrynode.h
1810 * tools/gidlcompilertypenode.c
1811 * tools/gidlcompilertypenode.h
1813 Add code to compile a tree of GIdlNodes to
1814 a 'C' struct representing the metadata.
1815 This is to aid cross-compiling. Previously
1816 the g-idl-compiler created a binary blob with
1817 data written in the byte order and alignment
1818 of the tool rather than the intended target.
1820 Cleaned up and improved by Johan and Robert :-)
1822 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1824 * girepository/ginvoke.c
1825 * girepository/girepository.h
1826 * girepository/gmetadata.c
1827 * girepository/gmetadata.h
1829 * tools/gidlparser.c
1830 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1831 to avoid confusion with the interface blob.
1834 * tools/gidlparser.c
1835 Remove magic numbers and replace with type-tag
1836 enumeration symbols.
1838 * girepository/gmetadata.c
1839 Add validate declaration.
1841 2008-03-10 Jürg Billeter <j@bitron.ch>
1843 * tools/gidlparser.c: (parse_type_internal):
1844 * tools/scannerlexer.l:
1845 * tools/scannerparser.y:
1846 Support C99 _Bool type in scanner.
1848 2008-03-10 Jürg Billeter <j@bitron.ch>
1850 * tests/parser/Foo-expected.gidl:
1851 * tests/parser/foo-object.h:
1852 * tests/parser/foo.c: (foo_enum_method):
1853 * tools/scanner.c: (g_igenerator_process_function_symbol):
1854 Don't skip functions that are defined in the namespace of a type
1855 that doesn't support methods, as for example enums.
1857 2008-03-10 Johan Dahlin <johan@gnome.org>
1859 * gidl.dtd: Remove, we're using relaxng for now
1861 * tests/parser/Foo-expected.gidl:
1862 * tests/parser/foo-object.h:
1863 * tests/parser/foo.c:
1864 Rename the enum/flags get_type functions to include the whole type.
1866 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1868 * tools/gidlwriter.c (enum_generate): added "type-name",
1869 "get-type" and "deprecated" missing arguments.
1870 * tests/parser/Foo-expected.gidl:
1871 * tests/parser/foo-object.h: test enum type, and no type.
1873 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1876 Consistent checks, add missing 'test'
1878 2008-03-05 Havoc Pennington <hp@redhat.com>
1880 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1881 does on Fedora 8. Make libffi a hard requirement, since it was in
1882 practice anyway (was not really conditional in the code or
1883 makefile, only in configure).
1885 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1887 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1888 reviewed by: Johan Dahlin <johan@gnome.org>
1890 * tests/Makefile.am:
1891 * tests/roundtrips.sh:
1892 Modify the roundtrips test so that they do not use the
1893 --raw option of the gidl compiler but instead compile a
1894 shared library to use with g_module.
1896 * tests/invoke/Makefile.am:
1897 * tests/invoke/invoke.c:
1898 Modify the invoke tests to build a shared library rather
1899 than use the --raw option.
1901 * tests/invoke/invoke-namespace-find.sh: Removed:
1902 Noone knows why this was here, so removed.
1904 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1906 * tools/scanner.c: (g_igenerator_process_function_symbol):
1907 Move g_idl_node_can_have_member test later, as it broke spotting
1908 get_type's for nodes that can't have members.
1910 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1913 * tools/gidlnode.c: (g_idl_node_can_have_member):
1914 Add g_idl_node_can_have_member.
1916 * tools/scanner.c: (g_igenerator_process_function_symbol):
1917 Use g_idl_node_can_have_member to test if we should add a function
1918 as a member of the type node.
1920 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1922 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1924 * tests/parser/Makefile.am:
1925 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1927 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1929 * tools/scanner.c: (main):
1930 Ignore -pthread when passed to g-idl-scanner.
1932 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1934 * tools/grealpath.h: Added:
1935 * tools/scanner.c: (main):
1936 * tools/scannerlexer.l:
1937 * tools/Makefile.am:
1938 Always use absolute paths with symbolic links resolved when
1939 comparing filenames.
1941 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1943 * gobject-introspection.pc.in:
1944 Provide variables for g-idl-parser, scanner and compiler in the
1947 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1950 * girepository/Makefile.am:
1951 * tools/Makefile.am:
1952 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1954 2008-02-10 Johan Dahlin <johan@gnome.org>
1956 * tests/parser/Foo-expected.gidl:
1957 * tests/parser/foo-object.h:
1958 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1959 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1962 2008-02-10 Johan Dahlin <johan@gnome.org>
1964 * tests/parser/Foo-expected.gidl:
1965 * tests/parser/foo-object.h:
1966 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1967 Add enum and flags test.
1969 2008-02-10 Johan Dahlin <johan@gnome.org>
1973 * girepository/Makefile.am:
1974 Make 'make distcheck' work again.
1976 2008-02-10 Johan Dahlin <johan@gnome.org>
1978 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1981 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1982 check, eg exclude it from BUILT_SOURCES.
1984 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1989 * girepository/Makefile.am:
1990 * m4/Makefile.am: Added:
1991 * m4/as-compiler-flag.m4: Added:
1992 * m4/gcov.m4: Added:
1993 * tools/Makefile.am:
1994 Add ability to generate a coverage report.
1995 Adds configure option --enable-gcov and make rule 'check-coverage'.
1997 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
2001 * gidl/Makefile.am: Added:
2002 * girepository/Makefile.am: Added:
2003 * src/Makefile.am: Renamed to tools/Makefile.am:
2004 * src/compiler.c: Renamed to tools/compiler.c:
2005 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
2006 * src/generate.c: Renamed to tools/generate.c:
2007 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
2008 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
2009 * src/gidlnode.c: Renamed to tools/gidlnode.c:
2010 * src/gidlnode.h: Renamed to tools/gidlnode.h:
2011 * src/gidlparser.c: Renamed to tools/gidlparser.c:
2012 * src/gidlparser.h: Renamed to tools/gidlparser.h:
2013 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
2014 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
2015 * src/ginfo.c: Renamed to girepository/ginfo.c:
2016 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
2017 * src/girepository.c: Renamed to girepository/girepository.c:
2018 * src/girepository.h: Renamed to girepository/girepository.h:
2019 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
2020 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
2021 * src/scanner.c: Renamed to tools/scanner.c:
2022 * src/scanner.h: Renamed to tools/scanner.h:
2023 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
2024 * src/scannerparser.y: Renamed to tools/scannerparser.y:
2025 * tests/invoke/Makefile.am:
2026 Split src/ into girepository/ and tools/
2030 * girepository/Makefile.am:
2031 * tests/Makefile.am:
2032 * tests/invoke/Makefile.am:
2033 * tests/parser/Makefile.am:
2034 * tests/roundtrips.sh:
2035 * tools/Makefile.am:
2036 Make distcheck work.
2038 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
2040 * tests/invoke/invoke.c: (main):
2041 * tests/invoke/testfns.c: (test6), (test7):
2042 * tests/invoke/testfns.xml:
2043 Add tests for invokation with a GList argument.
2044 Also tests caller-owns return values.
2046 2008-02-04 Rob Taylor <robtaylor@floopily.org>
2049 Add some documentation for GICallableInfo
2051 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
2054 Correct syntax errors in the DTD file.
2056 * relaxng/c-types.xml:
2057 * relaxng/g-types.xml:
2059 Add a RelaxNG specification for the GObject Introspection XML data.
2060 The Specification has validated all of the test files.
2062 2008-01-25 Rob Taylor <robtaylor@floopily.org>
2064 * tests/roundtrips.sh:
2065 * tests/struct.test:
2066 Add roundtrip tests for structs.
2068 2008-01-11 Johan Dahlin <johan@gnome.org>
2070 * src/scanner.c (g_igenerator_process_function_symbol):
2071 Refactor out g_idle_node_add_member.
2072 (create_node_from_gtype, create_node_from_ctype):
2073 Use case instead of if...else
2074 (get_type_from_type_id):
2075 Rename to create_node_from_gtype
2076 (get_type_from_ctype):
2077 Rename to create_node_from_ctype
2079 Rename ginode -> node, gitype -> type, gifunc -> func.
2081 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
2082 Two new functions, refactor out of scanner.c
2084 * src/scanner.c: (g_igenerator_process_function_symbol):
2085 * src/scannerlexer.l:
2086 Do not save the content of the deprecated variable, only
2089 2008-01-11 Johan Dahlin <johan@gnome.org>
2091 * tests/parser/foo-object.h: Add a couple of comment parser tests.
2093 2008-01-11 Jürg Billeter <j@bitron.ch>
2095 * src/scannerlexer.l:
2096 Fix GTK-Doc parsing.
2098 2008-01-11 Jürg Billeter <j@bitron.ch>
2100 * src/scannerlexer.l:
2101 Fix GTK-Doc parsing.
2103 2008-01-11 Jürg Billeter <j@bitron.ch>
2105 * src/scanner.c: (lookup_symbol):
2106 Return unresolved name if we find unknown symbol.
2108 2008-01-11 Jürg Billeter <j@bitron.ch>
2110 * src/scanner.c: (g_igenerator_generate):
2111 Initialize GObject to fix scanning interface properties.
2113 * tests/parser/Foo-expected.gidl:
2114 * tests/parser/foo-object.h:
2115 * tests/parser/foo.c: (foo_interface_get_type):
2116 Test interfaces with GObject prerequisite.
2118 * tests/parser/Makefile.am:
2119 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
2121 2007-12-27 Johan Dahlin <johan@gnome.org>
2123 * src/scannerlexer.l:
2124 Parse gtk-doc comments.
2126 * src/gidlwriter.c: (function_generate):
2127 Reorganize, avoid duplication and add support for
2128 writing deprecated functions.
2130 * src/scannerparser.y:
2132 Add new structure CDirective and functions to create/free them.
2134 * src/scanner.c: (g_igenerator_process_function_symbol),
2135 (g_igenerator_process_unregistered_struct_typedef),
2136 (g_igenerator_process_struct_typedef),
2137 (g_igenerator_process_union_typedef),
2138 (g_igenerator_process_enum_typedef),
2139 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
2140 (g_igenerator_start_preprocessor):
2141 Parse @deprecated directive for functions.
2142 Remove some more C99isms.
2143 Send in -C to cpp to avoid stripping comments.
2145 * tests/parser/foo-object.h:
2146 * tests/parser/Foo-expected.gidl:
2147 Add deprecated directive
2149 2007-12-27 Johan Dahlin <johan@gnome.org>
2151 * src/scannerlexer.l (intsuffix): Add emacs mode line and
2152 escape ' and " so it looks more like C.
2155 Unlink temporary file used.
2157 2007-12-27 Johan Dahlin <johan@gnome.org>
2159 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
2160 (g_igenerator_start_preprocessor), (main):
2162 * src/scannerparser.y:
2163 Plug a couple of simple memory leaks.
2165 2007-12-27 Johan Dahlin <johan@gnome.org>
2167 * src/scanner.c: (g_igenerator_parse_macros),
2168 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
2171 * src/scannerparser.y:
2172 * tests/parser/Makefile.am:
2174 Improve error reporting, return when the preprocessor fails.
2175 Add a verbose parameter, to aid debugging.
2176 Revert to using a temporary file to communicate between the
2177 preprocessor and the parser, because we need to wait for
2178 the exit code from the pre-processor before starting to parse.
2180 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
2182 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
2183 cparser.y to scannerparser.y
2185 2007-12-11 Johan Dahlin <johan@gnome.org>
2189 * src/scanner.c: (g_igenerator_new):
2191 Get rid of the global the_generator variable.
2193 2007-12-10 Johan Dahlin <johan@gnome.org>
2195 * src/scanner.c (main): Add an output option,
2196 add checks for required parameters
2199 set BUILD_SOURCES and CLEANFILES properly
2201 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
2202 (g_writer_write_indent), (g_writer_write_unindent),
2203 (field_generate), (value_generate), (constant_generate),
2204 (property_generate), (function_generate), (vfunc_generate),
2205 (signal_generate), (interface_generate), (struct_generate),
2206 (union_generate), (boxed_generate), (enum_generate),
2207 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
2209 * src/scanner.c: (g_igenerator_generate):
2211 * src/scannerwriter.c:
2213 Refactor scannerwriter to only be tied to a GIdlModule and move
2214 it (again!) to gidlwriter.c. Change the writer function to take
2217 2007-12-10 Johan Dahlin <johan@gnome.org>
2220 * src/scanner.c: (g_igenerator_generate):
2222 * src/scannerwriter.c: (g_igenerator_write_inline),
2223 (g_igenerator_write), (g_igenerator_write_indent),
2224 (g_igenerator_write_unindent), (field_generate), (value_generate),
2225 (constant_generate), (property_generate), (function_generate),
2226 (vfunc_generate), (signal_generate), (interface_generate),
2227 (struct_generate), (union_generate), (boxed_generate),
2228 (enum_generate), (node_generate), (module_generate),
2229 (g_scanner_write_file):
2231 Move the scanner gidl writing to a separate source file.
2233 2007-12-10 Johan Dahlin <johan@gnome.org>
2238 Move over all CType construction functions.
2240 * tests/parser/Makefile.am:
2241 Be verbose when printing parsing tests results.
2243 2007-12-10 Johan Dahlin <johan@gnome.org>
2245 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
2246 preprocessor handling to here. Start cpp insteado of cc -E,
2247 always include -U__GNUC__, since it's specific to the preprocessor
2250 * tests/parser/Makefile.am (check-local): Silent diff and skip
2251 -U__GNUC__ which is always defined now
2253 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
2255 reviewed by: <delete if not using a buddy>
2257 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
2258 * tests/parser/Makefile.am:
2260 2007-12-09 Johan Dahlin <johan@gnome.org>
2263 Use GOption for command line options.
2264 (g_igenerator_new, main): Simplify constructor and they way
2265 parameters are passed into it.
2271 * src/gen-introspect.c:
2272 * src/gen-introspect.h:
2274 Rename gen-introspect.[ch] to scanner.[ch]
2276 2007-12-09 Johan Dahlin <johan@gnome.org>
2280 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
2281 don't make the repository library and the other utilites link against
2284 * src/gen-introspect.c: (g_igenerator_create_object),
2285 (g_igenerator_create_interface), (g_igenerator_create_boxed),
2286 (g_igenerator_create_enum), (g_igenerator_create_flags),
2287 (g_igenerator_process_module_symbol),
2288 (g_igenerator_process_module), (g_igenerator_generate), (main):
2289 * src/gen-introspect.h:
2290 Refactor g_igenerator_process_types into smaller pieces.
2292 * tests/parser/Makefile.am:
2293 Depend on the gen-introspect binary
2295 2007-12-09 Johan Dahlin <johan@gnome.org>
2297 * src/gen-introspect.c (g_igenerator_process_types):
2298 Break into smaller pieces, one for each generated node type.
2300 2007-12-08 Johan Dahlin <johan@gnome.org>
2302 * src/gen-introspect.c: (g_igenerator_process_types),
2303 (g_igenerator_add_module):
2304 * tests/parser/Foo-expected.gidl:
2305 * tests/parser/foo-object.h:
2306 * tests/parser/foo.c: (foo_subobject_class_init),
2307 (foo_subobject_init):
2309 Add a subobject test and make sure to register defined classes
2310 in the lookup symbol hash table.
2312 2007-12-08 Johan Dahlin <johan@gnome.org>
2316 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
2317 (g_igenerator_process_types), (g_igenerator_add_module),
2318 (g_igenerator_add_include_idl), (main):
2319 * src/gen-introspect.h:
2320 * tests/parser/Makefile.am:
2321 * tests/parser/Foo-expected.gidl:
2323 Change the gen-introspect to generate namespaced module names,
2324 such as GLib.Object instead of GObject.
2325 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
2326 add a --include-idl parameter to gen-introspect,
2327 and update the parser test.
2329 2007-12-08 Johan Dahlin <johan@gnome.org>
2331 * src/gen-introspect.c:
2332 Move main to the end of the file and attempt to make it valid
2335 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
2336 we're not quite ready to generate metadata yet.
2341 Add a simple gen-introspect parser test
2343 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
2345 reviewed by: Johan Dahlin <johan@gnome.org>
2348 * gobject-introspection.pc.in:
2350 * src/compiler.c: (format_output), (write_out_metadata), (main):
2351 * src/gen-introspect.c: (main):
2352 * src/gen-introspect.h:
2353 * src/generate.c: (write_callable_info), (write_repository),
2354 (load_metadata), (main):
2355 * src/gidlmodule.c: (g_idl_module_new),
2356 (g_idl_module_build_metadata):
2358 * src/gidlparser.c: (start_element_handler):
2359 * src/ginfo.c: (g_info_new), (g_info_from_entry),
2360 (g_base_info_get_name), (g_base_info_get_namespace),
2361 (g_base_info_is_deprecated), (g_base_info_get_annotation),
2362 (g_base_info_get_metadata), (g_function_info_get_symbol),
2363 (g_function_info_get_flags), (g_function_info_get_property),
2364 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
2365 (g_callable_info_may_return_null),
2366 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
2367 (g_callable_info_get_arg), (g_arg_info_get_direction),
2368 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2369 (g_arg_info_is_optional), (g_arg_info_may_be_null),
2370 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2371 (g_type_info_get_tag), (g_type_info_get_param_type),
2372 (g_type_info_get_interface), (g_type_info_get_array_length),
2373 (g_type_info_is_zero_terminated),
2374 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2375 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2376 (g_value_info_get_value), (g_field_info_get_flags),
2377 (g_field_info_get_size), (g_field_info_get_offset),
2378 (g_registered_type_info_get_type_name),
2379 (g_registered_type_info_get_type_init),
2380 (g_struct_info_get_n_fields), (g_struct_info_get_field),
2381 (g_struct_info_get_n_methods), (g_struct_info_get_method),
2382 (find_method), (g_struct_info_find_method),
2383 (g_enum_info_get_n_values), (g_enum_info_get_value),
2384 (g_object_info_get_parent), (g_object_info_get_type_name),
2385 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2386 (g_object_info_get_interface), (g_object_info_get_n_fields),
2387 (g_object_info_get_field), (g_object_info_get_n_properties),
2388 (g_object_info_get_property), (g_object_info_get_n_methods),
2389 (g_object_info_get_method), (g_object_info_find_method),
2390 (g_object_info_get_n_signals), (g_object_info_get_signal),
2391 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2392 (g_object_info_get_n_constants), (g_object_info_get_constant),
2393 (g_interface_info_get_n_prerequisites),
2394 (g_interface_info_get_prerequisite),
2395 (g_interface_info_get_n_properties),
2396 (g_interface_info_get_property), (g_interface_info_get_n_methods),
2397 (g_interface_info_get_method), (g_interface_info_find_method),
2398 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2399 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2400 (g_interface_info_get_n_constants),
2401 (g_interface_info_get_constant), (g_property_info_get_flags),
2402 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2403 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2404 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2405 (g_constant_info_get_value), (g_union_info_get_n_fields),
2406 (g_union_info_get_field), (g_union_info_get_n_methods),
2407 (g_union_info_get_method), (g_union_info_is_discriminated),
2408 (g_union_info_get_discriminator_offset),
2409 (g_union_info_get_discriminator):
2410 * src/ginvoke.c: (g_function_info_invoke):
2411 * src/girepository.c: (g_irepository_register),
2412 (g_irepository_unregister), (g_irepository_get_default),
2413 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2414 (g_irepository_get_info), (g_irepository_find_by_name),
2415 (g_irepository_get_shared_library),
2416 (g_irepository_build_search_path), (g_irepository_register_file),
2417 (g_irepository_error_quark):
2418 * src/girepository.h:
2419 * src/gmetadata.c: (g_metadata_get_dir_entry),
2420 (g_metadata_check_sanity), (validate_header),
2421 (validate_array_type_blob), (validate_iface_type_blob),
2422 (validate_param_type_blob), (validate_error_type_blob),
2423 (validate_type_blob), (validate_arg_blob),
2424 (validate_signature_blob), (validate_function_blob),
2425 (validate_callback_blob), (validate_constant_blob),
2426 (validate_value_blob), (validate_field_blob),
2427 (validate_property_blob), (validate_signal_blob),
2428 (validate_vfunc_blob), (validate_struct_blob),
2429 (validate_enum_blob), (validate_object_blob),
2430 (validate_interface_blob), (validate_errordomain_blob),
2431 (validate_union_blob), (validate_blob), (validate_directory),
2432 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2433 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2434 (g_metadata_new_from_mapped_file), (g_metadata_free),
2435 (g_metadata_set_module), (g_metadata_get_namespace):
2437 * tests/Makefile.am:
2438 * tests/invoke/Makefile.am:
2439 * tests/invoke/invoke-namespace-find.sh:
2440 * tests/invoke/invoke.c: (main):
2442 Add a namespace/shared library mapping. fixes #313268.
2444 2007-12-03 Johan Dahlin <johan@gnome.org>
2446 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2449 2007-11-30 Jürg Billeter <j@bitron.ch>
2455 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2456 (g_igenerator_write_inline), (g_igenerator_write),
2457 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2458 (field_generate), (value_generate), (constant_generate),
2459 (property_generate), (function_generate), (vfunc_generate),
2460 (signal_generate), (interface_generate), (struct_generate),
2461 (union_generate), (boxed_generate), (enum_generate),
2462 (node_generate), (module_generate), (get_type_from_type_id),
2463 (str_replace), (g_igenerator_process_properties),
2464 (g_igenerator_process_signals), (g_igenerator_process_types),
2465 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2466 (g_igenerator_process_unregistered_struct_typedef),
2467 (g_igenerator_process_struct_typedef),
2468 (g_igenerator_process_union_typedef),
2469 (g_igenerator_process_enum_typedef),
2470 (g_igenerator_process_function_typedef),
2471 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2472 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2473 (g_igenerator_generate), (main), (csymbol_new),
2474 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2475 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2476 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2477 (eat_hspace), (eat_line), (read_identifier),
2478 (g_igenerator_parse_macros):
2479 * src/gen-introspect.h:
2481 Import gen-introspect to generate introspection information by
2484 2007-11-30 Jürg Billeter <j@bitron.ch>
2486 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2488 2007-11-30 Jürg Billeter <j@bitron.ch>
2490 * src/gidlparser.c: (end_element_handler): Don't leave requires
2493 2007-11-29 Johan Dahlin <johan@gnome.org>
2495 * src/gidlparser.c (parse_type_internal): Add char,
2496 gchar and guchar to the builtin types.
2498 2007-11-26 Johan Dahlin <johan@gnome.org>
2500 * src/ginfo.c: (g_object_info_get_type_name),
2501 (g_object_info_get_type_init):
2502 * src/girepository.c: (g_irepository_is_registered):
2503 * src/girepository.h:
2505 Add g_object_info_get_type_name, g_object_info_get_type_init and
2506 g_irepository_is_registered.
2508 2006-08-14 Jürg Billeter <j@bitron.ch>
2510 * src/gidlparser.c: (end_element_handler): Don't leave
2511 namespace and implements states too early.
2514 2007-11-26 Johan Dahlin <johan@gnome.org>
2516 * src/gmetadata.c (validate_struct_blob):
2517 pass blob_type to validate_function_blob instead of
2518 hard-coding BLOB_TYPE_STRUCT.
2520 Patch by Torsten Schoenfeld, fixes #314190
2522 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2524 * src/compiler.c, src/generate.c, src/gidlnode.c,
2525 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2526 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2527 warnings about return values, signedness mismatches, unused
2528 variables, and unhandles enum values in switch statements.
2530 * tests/invoke/Makefile.am: Don't install the invoke test program.
2531 Add -I ../../src to the cflags used for the test functions files.
2533 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2535 * src/girepository.h: Export g_invoke_error_quark.
2537 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2539 * src/ginvoke.c: Remove the fallback implementation of
2540 g_function_info_invoke since we now formally depend on libffi.
2542 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2544 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2545 Remove these files from cvs, as they are now generated.
2547 * src/gmetadata.c (validate_iface_type_blob): Don't
2548 complain if blob->pointer is not set, since that
2549 happens for enum and flag types. (#308935, Gustavo
2552 * Commit an autoconf-conversion patch by
2553 Gustavo Carneiro (#308708)
2555 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2557 * src/compiler.c (main): Use it here to validate
2558 the generated metadata.
2560 * src/gmetadata.[hc]: Add code to validate a
2563 * metadata-format.txt: Updates
2565 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2567 * tests/*: Add struct offsets to field and vfunc
2570 * src/generate.c (write_vfunc_info): Write offset
2571 information for vfuncs.
2573 * src/gidlnode.c (g_idl_node_build_metadata): Write
2574 the struct offsets into the metadata.
2576 * src/gidlparser.c: Parse the offset attributes of
2577 field and vfunc elements.
2579 * src/gidlnode.h: Add offset members to field and
2582 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2586 * gidl.dtd: Updates.
2588 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2589 file, creates, compiles and runs a C file, and folds the
2590 resulting struct offsets back into the .gidl file.
2592 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2594 * src/gidlparser.c (start_field): Make fields in objects
2597 * src/gidlmodule.c: Include string.h
2602 * metadata-format.txt: Cleanup basic types.
2603 * src/*: Adapt to the changes.
2604 * tests/*: Adapt to the changes.
2605 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2607 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2608 size for enum blobs.
2609 (g_idl_node_get_full_size): Report the correct size for
2612 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2613 error checking for blob sizes.
2615 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2617 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2618 interface types for which is_pointer is FALSE, e.g. enums.
2620 * src/gidlnode.c (g_idl_node_get_full_size)
2621 * src/gidlparser.c (parse_type_internal):
2622 * src/generate.c (write_type_info): Support unspecialized
2623 lists, hashtables and errors. Also emit a '*' after these.
2627 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2631 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2633 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2635 * src/*.c: Change the directory to be addressed by
2636 1-based indexes, and use an index of zero to mean
2639 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2641 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2643 * tests/union.test: Add a union test.
2645 * src/generate.c: Handle unions.
2647 * src/girepository.h:
2648 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2650 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2652 * src/gidlparser.c (start_union): Parse <union> elements.
2654 * src/gidlnode.h: Add a GIdlNodeUnion.
2656 * gidl.dtd: Add a <union> element.
2658 * src/gmetadata.c (g_metadata_check_sanity): Check
2661 * src/gmetadata.h: Add union_blob_size to Header,
2664 * metadata-format.txt: Add a UnionBlob.
2666 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2668 * tests/*: Update testcases.
2670 * src/generate.c (write_callable_info): Don't forget to
2671 write transfer and null-ok attributes for return types
2674 * src/girepository.h:
2675 * src/ginfo.c (g_callable_info_may_return_null):
2676 New function to find out if a function may return NULL.
2678 * src/compiler.c (format_output): Make the generated
2681 * README: Point to a recent libffi snapshot.
2683 * tests/invoke/*: Some invoke tests.
2685 * src/Makefile: Add ginvoke.c and the necessary
2688 * src/girepository.h (g_function_info_invoke): Add
2691 * src/ginvoke.c (g_function_info_invoke): Initial
2692 implementation of invoke functionality based on libffi.
2694 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2695 strings and types hash tables in the right order when
2697 (find_entry_node): Free the name parts.
2699 2005-05-12 Johan Dahlin <johan@gnome.org>
2701 * src/generate.c: Generate consistent end tags.
2705 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2709 * src/gidlparser.c (start_function): Actually add
2710 methods to objects. (Steven Walter)
2712 * src/girepository.h:
2713 * src/ginfo.c: Rename Transfer and Direction to
2714 GITransfer and GIDirection. (Torsten Schoenfeld)
2716 * tests/*: Make tests work with the changes in name
2719 * src/gidlnode.c (find_entry_node): Parse qualified
2720 names and generate xref nodes for them if needed. Don't
2721 require all modules to be loaded any more.
2723 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2726 * src/ginfo.c (g_object_info_get_parent): Return NULL
2727 if blob->parent is 0. Still need to make sure index
2730 * src/generate.c: Generate qualified names when
2731 referring to non-local types. Emit transfer attribute
2734 * src/compiler.c (format_output): Put the function
2735 attributes where gcc accepts them.
2737 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2739 * src/compiler.c (main): Add a --verbose cmdline option
2740 and only log messages if it is specified.
2743 * src/gidlnode.c (init_stats, dump_stats): Collect some
2744 statistics on string and type sharing.
2746 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2747 g_message() instead of fprintf().
2749 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2750 (g_idl_node_get_size): Implement for structs.
2751 (g_idl_node_get_full_size): Handle parent being NULL.
2752 (serialize_type): Handle lookup failures more gracefully.
2754 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2756 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2757 size calculation for 2-parameter types and for objects.
2759 * src/compiler.c: Add a cmdline option for debug output
2760 and install a log handler to implement it.
2761 * src/gidlnode.c: Add some debug spew.
2765 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2766 forget to count the module name when calculating the
2767 required size for the metadata.
2770 * src/gidlparser.c: Fix compiler warnings.
2772 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2774 * src/compiler.c (main): Free the option context.
2776 * gidl.dtd: Clean up handling of names. All elements
2777 have a "name", only the elements corresponding to
2778 actual callable functions (function, method, constructor),
2779 have an additional "symbol" attribute holding the
2780 dlsym()-able function name.
2782 * src/generate.c: Adapt to generate xml matching the
2786 * src/gidlnode.c: Adapt to parse the new dtd.
2788 * tests/*.test: Adjust to the new dtd.
2790 * metadata-format.txt:
2791 * src/gmetadata.h: Remove the short_name field
2793 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2794 * src/girepository.h:
2795 * src/ginfo.c (g_value_info_get_short_name): Removed
2797 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2799 * gidl.dtd: Allow constructors for boxed types,
2800 patch by Jonathan Blandford.
2803 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2805 * --- Initial import ---