1 2008-08-14 Colin Walters <walters@verbum.org>
3 * giscanner/transformer.py: Comment data structures.
4 Also squash pointers in resolve_type_name to correspond
5 with what we do for params.
6 * giscanner/glibtransformer.py: Print warnings in more
7 situations. Rework checks for method/constructor to
8 look up in our GType database instead of just checking
9 for *. Avoid generating <record> for GObject which
10 duplicate the <class>.
11 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
14 2008-08-14 Johan Dahlin <johan@gnome.org>
16 * giscanner/girwriter.py:
17 * giscanner/glibast.py:
18 * giscanner/glibtransformer.py:
19 * giscanner/transformer.py:
22 Add pyflakes.py and run it in make check.
23 Update the source code to fix the errors reported by
26 2008-08-14 Johan Dahlin <johan@gnome.org>
29 * giscanner/girparser.py:
30 * giscanner/glibast.py:
31 * giscanner/glibtransformer.py:
32 Refactor the parser a bit.
33 Add parent type to interfaces and update callsites.
35 2008-08-14 Johan Dahlin <johan@gnome.org>
37 * giscanner/glibtransformer.py:
39 Refactor a bit, avoid isinstance and add a method
40 for each type we parse.
42 2008-08-14 Johan Dahlin <johan@gnome.org>
45 * giscanner/girparser.py:
46 * giscanner/glibtransformer.py:
48 Run pep8.py in make check, fix old errors.
50 2008-08-13 Colin Walters <walters@verbum.org>
52 * giscanner/girparser.py: Parse records.
54 2008-08-13 Colin Walters <walters@verbum.org>
56 * gir/Makefile.am: Install again.
57 * gir/gobject-2.0.gir: Add some more bits.
59 2008-08-13 Colin Walters <walters@verbum.org>
61 * gir/gobject-2.0.gir: Use correct namespace, add GType.
62 * giscanner/girparser.py: Handle aliases.
63 * giscanner/transformer.py: Record aliases. Make resolver
64 functions public; we now call into these explicitly from
65 glibtransformer. Handle resolving aliases.
66 * giscanner/glibtransformer.py: Separate our internal namespace
67 from included ones. Call up into transformer's resolver functions.
69 2008-08-13 Johan Dahlin <johan@gnome.org>
71 * girepository/girnode.c (g_ir_node_get_full_size_internal):
72 * girepository/girparser.c (start_class):
73 * giscanner/glibtransformer.py:
74 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
76 2008-08-13 Johan Dahlin <johan@gnome.org>
78 * giscanner/cgobject.py:
79 Register GInitiallyUnowned
80 * giscanner/girwriter.py:
81 * giscanner/glibtransformer.py:
82 Special case GObject/GInitially owned as they are a bit special to use.
84 2008-08-13 Colin Walters <walters@verbum.org>
86 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
87 Object is in GObject namespace.
89 2008-08-13 Colin Walters <walters@verbum.org>
91 * giscanner/girparser.py: Fix processing of functions
94 2008-08-13 Colin Walters <walters@verbum.org>
96 * giscanner/girparser.py: Parse more than just <class.
97 * giscanner/glibtransformer.py: Put aliases in a separate
98 data structure since their name is not canonicall.
99 * giscanner/transformer.py: Handle resolving type names
102 2008-08-13 Johan Dahlin <johan@gnome.org>
104 * tools/g-ir-scanner:
105 Allow multiple libraries
106 * giscanner/glibtransformer.py:
107 Rename load_library to add_library, traverse over all libraries
108 when trying to resolve a function
110 2008-08-12 Colin Walters <walters@verbum.org>
112 * giscanner/transformer.py: Record typedefs as <alias> elements.
113 Also attempt to look up types in external namespaces.
114 * giscanner/girwriter.py: Write them.
115 * giscanner/glibtransformer.py: Rework resolver using real instanceof
116 checks. Resolve interface methods and properties.
117 * tests/scanner/foo-object.h: Add a method with typedef.
118 * tests/scanner/Foo-expected.gir: Update.
119 * girepository/girnode.c: Debug tweaks.
120 * girepository/girparser.c: Make a first pass through the XML where we
121 record all the aliases. This lets us resolve them as we go through the
123 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
126 2008-08-12 Colin Walters <walters@verbum.org>
128 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
129 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
131 * giscanner/transformer.py: Record typedefs and expose public API for resolving
133 * tests/scanner/Foo-expected.gir: Fix expected callback types.
135 2008-08-12 Colin Walters <walters@verbum.org>
137 * giscanner/glibtransformer.py: Also transform object properties.
139 2008-08-12 Colin Walters <walters@verbum.org>
141 * giscanner/glibtransformer.py: Also transform callbacks
142 and structure field types.
143 * tests/scanner/Fooe-expected.gir: Update to expect correct
144 names for callbacks and structs.
146 2008-08-12 Colin Walters <walters@verbum.org>
148 * girepository/girparser.c: Handle 'any'.
149 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
152 2008-08-12 Colin Walters <walters@verbum.org>
154 * giscanner/glibtransformer.py: We need to do type
155 resolution in a second pass after we've seen all the
158 2008-08-12 Colin Walters <walters@verbum.org>
160 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
161 Add enum return value.
162 * giscanner/glibtransformer.py: Transform function return types
165 2008-08-12 Colin Walters <walters@verbum.org>
167 * tests/scanner/Makefile.am: Dep .gir files on scanner
168 sources too. Also remove @ so we see scanner invocations.
170 2008-08-12 Colin Walters <walters@verbum.org>
172 * girepository/girparser.c, girepository/gtypelib.c,
173 girepository/gtypelib.h, girepository/girnode.c:
174 Remove usage of (GAPI-oriented) TypeTag in favor of
175 GITypeTag from girepository.h.
177 2008-08-10 Colin Walters <walters@verbum.org>
179 * tests/roundtrips.sh: Use the correct tests.
181 2008-08-10 Colin Walters <walters@verbum.org>
183 * giscanner/cgobject.py: Declare/wrap a few more functions.
184 Fix parameter types for g_object_new and g_type_fundamental.
186 2008-08-10 Colin Walters <walters@verbum.org>
188 * giscanner/cgobject.py: Add new decorator @gwrap which forces
189 us to declare types for both return value and parameters. The
190 ctypes default of 'int' is bad because it hides 32/64 bit
191 problems. Convert all existing functions to use it.
193 2008-08-09 Johan Dahlin <johan@gnome.org>
195 * giscanner/__init__.py:
197 * giscanner/cgobject.py:
198 * giscanner/gidlparser.py:
199 * giscanner/gidlwriter.py:
200 * giscanner/girparser.py:
201 * giscanner/girwriter.py:
202 * giscanner/glibast.py:
203 * giscanner/glibtransformer.py:
204 * giscanner/odict.py:
205 * giscanner/sourcescanner.py:
206 * giscanner/transformer.py:
207 * giscanner/utils.py:
208 * giscanner/xmlwriter.py:
209 * tools/g-ir-scanner:
213 2008-08-09 Johan Dahlin <johan@gnome.org>
216 * relaxng/c-types.xml:
217 * relaxng/g-types.xml:
218 * relaxng/relaxng.rng:
220 Remove outdated relaxng schemas.
222 2008-08-09 Johan Dahlin <johan@gnome.org>
225 Rename metadata to typelib in variable names,
228 2008-08-09 Johan Dahlin <johan@gnome.org>
232 Remove old C scanner, which got rewritten in python.
234 2008-08-09 Johan Dahlin <johan@gnome.org>
236 * girepository/Makefile.am:
246 Move shared *.[ch] files to girepository from tools
248 2008-08-09 Johan Dahlin <johan@gnome.org>
253 * tests/constant.test:
256 * tests/function.test:
257 * tests/gobject.test:
258 * tests/interface.test:
265 Rename *.test to *.gir
267 2008-08-09 Johan Dahlin <johan@gnome.org>
271 * tests/parser/Foo-expected.gir:
272 * tests/parser/Makefile.am:
273 * tests/parser/foo-object.h:
274 * tests/parser/foo.c:
275 * tests/parser/utility-expected.gir:
276 * tests/parser/utility.c:
277 * tests/parser/utility.h:
278 * tests/scanner/Makefile.am:
279 Rename tests/parser to test/scanner
281 2008-08-08 Colin Walters <walters@verbum.org>
283 * tests/roundtrips.sh: Use local .gir files again.
285 2008-08-08 Colin Walters <walters@verbum.org>
287 * tests/invoke/Makefile.am: .gir file depends on libtool
290 2008-08-08 Colin Walters <walters@verbum.org>
292 * tools/girnode.c: Pass through parent node so we can
293 print the node whose child is NULL, if that occurs.
295 2008-08-08 Johan Dahlin <johan@gnome.org>
298 Disable roundtrip tests which are not yet working
299 * tests/invoke/testfns.gir:
302 2008-08-08 Johan Dahlin <johan@gnome.org>
304 * giscanner/girwriter.py:
306 * giscanner/glibast.py:
307 * giscanner/glibtransformer.py:
308 Swap order of members, to keep it consistent with
311 2008-08-08 Johan Dahlin <johan@gnome.org>
313 * girepository/gtypelib.c (validate_header):
314 * girepository/gtypelib.h:
316 * giscanner/girwriter.py:
317 * giscanner/sourcescanner.c (gi_source_symbol_ref),
318 (gi_source_symbol_unref):
321 * tests/constant.test:
324 * tests/function.test:
325 * tests/gobject.test:
326 * tests/interface.test:
327 * tests/invoke/Makefile.am:
328 * tests/invoke/testfns.xml:
330 * tests/parser/Makefile.am:
331 * tests/roundtrips.sh:
338 * tools/compiler.c (main):
339 * tools/generate.c (write_callable_info), (write_function_info),
341 * tools/gidlmodule.c:
342 * tools/gidlmodule.h:
345 * tools/gidlparser.c:
346 * tools/gidlparser.h:
347 * tools/gidlwriter.c:
348 * tools/gidlwriter.h:
349 * tools/scanner.c (create_node_from_gtype),
350 (create_node_from_ctype), (g_igenerator_process_properties),
351 (g_igenerator_process_signals), (g_igenerator_create_object),
352 (g_igenerator_create_interface), (g_igenerator_create_boxed),
353 (g_igenerator_create_enum), (g_igenerator_create_flags),
354 (g_igenerator_process_function_symbol),
355 (g_igenerator_process_unregistered_struct_typedef),
356 (g_igenerator_process_struct_typedef),
357 (g_igenerator_process_union_typedef),
358 (g_igenerator_process_enum_typedef),
359 (g_igenerator_process_function_typedef),
360 (g_igenerator_process_constant), (g_igenerator_process_symbols),
361 (g_igenerator_add_module), (g_igenerator_add_include_idl):
362 Merge in the gir-compiler branch.
363 Thanks to Philip and Colin for their help.
365 2008-07-26 Colin Walters <walters@verbum.org>
367 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
368 and g-idl-generate to go along with how we're changing this
369 module to be installed.
370 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
372 2008-07-24 Colin Walters <walters@verbum.org>
374 * girepository/girepository.c (g_irepository_register): Add
375 environment variable G_IREPOSITORY_VERBOSE so we can print
376 out what we're doing.
377 * girepository/girepository.c (g_irepository_register_file):
378 Add GError error message to g_debug call.
380 2008-07-08 Jürg Billeter <j@bitron.ch>
382 * giscanner/glibast.py:
386 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
388 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
391 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
394 * giscanner/girwriter.py:
395 * giscanner/transformer.py:
396 * tests/parser/Foo-expected.gir:
397 * tests/parser/foo-object.h:
398 * tests/parser/foo.c (foo_object_allow_none):
399 Add support for gtk-doc annotations for allow-none.
402 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
405 * giscanner/girwriter.py:
406 * giscanner/glibast.py:
407 * giscanner/glibtransformer.py:
408 * giscanner/transformer.py:
409 * tests/parser/Foo-expected.gir:
410 Start using abstract type instead of the raw C types.
411 Register a bunch of glib types we care about.
413 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
418 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
420 * girepository/girepository.c:
421 * girepository/gtypelib.c:
422 * girepository/ginfo.c:
423 * girepository/ginvoke.c:
424 * girepository/girepository.h:
425 * girepository/gtypelib.h:
426 * girepository/gmetadata.c:
427 * girepository/Makefile.am:
428 * girepository/gmetadata.h:
430 * tools/gidlmodule.c:
433 * tools/gidlmodule.h:
434 * tools/gidlparser.c:
436 Renamed GMetadata to GTypelib
438 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
440 * giscanner/xmlwriter.py:
441 Improve line wrapping when > 79 charaters
443 2008-06-05 Jürg Billeter <j@bitron.ch>
446 * giscanner/girwriter.py:
447 * giscanner/transformer.py:
448 Use <type> element for field types
449 * tests/parser/Foo-expected.gir:
452 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
454 * giscanner/glibtransformer.py:
455 Fix a bug which prevented GdkEvent from being generated
457 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
459 * giscanner/Makefile.am:
461 * giscanner/girwriter.py:
462 * giscanner/glibast.py:
463 * giscanner/glibtransformer.py:
464 * giscanner/transformer.py:
465 * giscanner/utils.py:
466 * tests/parser/Foo-expected.gir:
467 Improve enum member parsing and introspection
469 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
471 * giscanner/scannerparser.y:
472 * giscanner/sourcescanner.h:
473 * giscanner/sourcescanner.py:
474 Add a new source type enum for member.
475 Use __repr__ for improved debugging
476 * giscanner/girparser.py:
478 * giscanner/transformer.py:
479 Improve parsing of struct members.
480 * tests/parser/foo-object.h:
483 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
485 * giscanner/xmlwriter.py:
486 Improve error reporting when trying to quote None.
487 * giscanner/girparser.py:
488 Do not print warnings when including more complete .gir files
489 * giscanner/girwriter.py:
490 Do not require a name for parameters, add a todo for singletons
491 * giscanner/glibtransformer.py:
492 Refactor the way structs are done, add a couple of hacks to allow
494 * giscanner/transformer.py:
495 Add enough hacks so cairo, atk and pango.gir can be parsed properly
496 * gobject-introspection-1.0.pc.in:
497 Export girdir, so we can access gobject-2.0.gir from outside
499 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
501 * tools/g-ir-scanner:
502 * tests/parser/Makefile.am:
503 Update sys.path before running the parser so we don't have
504 to setup PYTHONPATH ourselves.
508 * girepository/Makefile.am:
509 * giscanner/transformer.py:
510 * gobject-introspection-1.0.pc.in:
511 * gobject-introspection.pc.in:
514 Rename pkg-config name to gobject-introspection-1.0,
515 Do not installed anything which is not using the gir format.
516 Disable compililation the old C scanner, but still keep the source
517 until all the remaning functionallity has been ported.
519 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
521 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
522 a crash when symbol->indent is NULL.
524 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
525 a function to convert a CTYPE symbol to a string
527 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
530 * giscanner/girwriter.py:
531 * giscanner/giscannermodule.c
532 (pygi_source_scanner_append_filename),
533 (pygi_source_scanner_parse_file):
534 * giscanner/glibtransformer.py:
535 * giscanner/sourcescanner.py:
536 Revert back to using temporary files to send in headers.
537 Allow Functions to be passed in as callbacks, add a couple
538 of try/excepts missing features.
539 We can now scan pango
541 2008-05-08 Johan Dahlin <johan@gnome.org>
543 * giscanner/glibtransformer.py:
544 * giscanner/transformer.py:
545 Move namespace stripping glibtransformer->transformer
547 2008-05-08 Johan Dahlin <johan@gnome.org>
550 * giscanner/girwriter.py:
551 * giscanner/glibtransformer.py:
552 * giscanner/transformer.py:
553 * tools/g-ir-scanner:
554 Introduce a namespace ast node
556 2008-05-05 Johan Dahlin <johan@gnome.org>
558 * giscanner/__init__.py:
559 * giscanner/sourcescanner.py:
560 * giscanner/transformer.py:
561 Move sourcescanner symbols to the sourcescanner module, instead
562 of in the global __init__ namespace.
564 2008-05-03 Johan Dahlin <johan@gnome.org>
566 * giscanner/glibtransformer.py:
567 * tools/g-ir-scanner:
568 Handle missing parameters better, allow - and + in .la dlname
571 2008-05-03 Johan Dahlin <johan@gnome.org>
573 * giscanner/__init__.py:
575 * giscanner/girwriter.py:
576 * giscanner/glibtransformer.py:
577 * giscanner/transformer.py:
578 Parse struct fields properly, improve debugging.
580 2008-04-29 Johan Dahlin <johan@gnome.org>
583 * giscanner/girwriter.py:
584 * giscanner/transformer.py:
585 * tests/parser/Foo-expected.gir:
587 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
589 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
592 * docs/g-ir-scanner.1:
593 * metadata-annotations-proposal.txt:
594 * metadata-format.txt:
595 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
597 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
599 * giscanner/girwriter.py:
600 * giscanner/glibtransformer.py:
601 * giscanner/transformer.py:
602 * giscanner/xmlwriter.py:
603 * tests/parser/Foo-expected.gir:
604 * tests/parser/foo-object.h:
605 Write record/structs to gir file too. Add a couple of tests,
606 fix an off by one error in xmlwriter.py.
608 2008-04-28 Johan Dahlin <johan@gnome.org>
610 * giscanner/xmlwriter.py: Calculate the line length properly,
611 include the provided extra indentation in the calculation, really.
613 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
616 * giscanner/glibast.py:
617 * giscanner/glibtransformer.py:
618 * giscanner/transformer.py:
619 * tools/g-ir-scanner:
620 Add a --strip-prefix and sort out confusion between names and symbols
621 for functions and struct + derivaties.
622 Refactor bootstrap of g-ir-scanner, so we can set options on
623 Transformer() before parsing everything.
625 2008-04-28 Johan Dahlin <johan@gnome.org>
627 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
628 when scanning girepository.h
630 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
631 a __GI_SCANNER__ when we run.
633 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
636 * giscanner/girwriter.py:
637 * giscanner/glibast.py:
638 * giscanner/glibtransformer.py:
639 * tests/parser/Foo-expected.gir:
640 * tests/parser/utility-expected.gir:
641 Rename most c:identifier to c:type. Add new ones to
642 class/interface/enum/boxed.
644 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
647 * giscanner/girwriter.py:
648 * giscanner/glibtransformer.py:
649 * tests/parser/Foo-expected.gidl:
650 * tests/parser/Makefile.am:
651 Move c:identifier from return-value to subchild type,
652 as per Jürgs suggestion
654 2008-04-28 Johan Dahlin <johan@gnome.org>
656 * giscanner/girwriter.py:
657 * tests/parser/Foo-expected.gir:
658 Write property.type as a child node.
660 2008-04-27 Johan Dahlin <johan@gnome.org>
665 * gidl/gobject-2.0.gidl:
667 * gir/gobject-2.0.gir:
668 * tests/parser/Makefile.am:
669 Replace the GObject gidl with a GObject gir.
671 2008-04-27 Johan Dahlin <johan@gnome.org>
673 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
676 * giscanner/xmlwriter.py:
677 * tests/parser/Foo-expected.gir:
678 Include indentation in line length calculation
680 2008-04-27 Johan Dahlin <johan@gnome.org>
682 * giscanner/girparser.py:
683 Prettify NS parsing using elementtree.
685 2008-04-27 Johan Dahlin <johan@gnome.org>
688 * giscanner/Makefile.am:
689 * giscanner/girparser.py:
690 * giscanner/glibtransformer.py:
691 * tests/parser/Foo-expected.gidl:
692 * tests/parser/Foo-expected.gir:
693 * tests/parser/Makefile.am:
694 * tests/parser/utility-expected.gidl:
695 * tests/parser/utility-expected.gir:
696 * tools/g-ir-scanner:
697 Switch over to GIR as the default format. Add a simple GIDL
699 Update tests and fix simplify makefiles by depending
700 on GNU make extensions.
702 2008-04-27 Johan Dahlin <johan@gnome.org>
704 * giscanner/xmlwriter.py:
705 Wrap attributes for lines which are wider than 79 characters
707 * giscanner/scannerlexer.l:
708 Allow parenthesis in annotations
711 * giscanner/gidlwriter.py:
712 * giscanner/girwriter.py:
713 * giscanner/glibtransformer.py:
714 * giscanner/transformer.py:
715 Add initial sequence support, including annotation.
716 Refactor type handling a bit.
718 2008-04-27 Johan Dahlin <johan@gnome.org>
720 * tests/parser/Foo-expected.gidl:
721 * tests/parser/foo-object.h:
722 * tests/parser/foo.c (foo_object_class_init),
723 (foo_object_get_strings), (foo_object_get_objects):
724 Add two new functions to check sequence return values.
725 Also fixes a compilation warning.
727 2008-04-27 Johan Dahlin <johan@gnome.org>
729 * giscanner/giscannermodule.c (]): Cast the getter, avoids
730 a compilation warning.
732 * tools/Makefile.am (g_ir_scanner_SOURCES):
733 g-ir-scanner has no sources.
735 2008-04-25 Johan Dahlin <johan@gnome.org>
737 * giscanner/Makefile.am:
739 * giscanner/gidlparser.py:
740 * giscanner/gidlwriter.py:
741 * giscanner/girwriter.py:
742 * giscanner/glibast.py:
743 * giscanner/glibtransformer.py:
744 * giscanner/transformer.py:
745 Split out nodes to ast.py and glibast.py
747 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
749 * giscanner/Makefile.am:
750 * giscanner/gidlparser.py:
751 * giscanner/gidlwriter.py:
752 * giscanner/girwriter.py:
753 * giscanner/glibtransformer.py:
754 * giscanner/gobjecttreebuilder.py:
755 * giscanner/transformer.py:
756 * giscanner/treebuilder.py:
757 * tools/g-ir-scanner:
758 Rename treebuilder to transformer and
759 gobjectreebuilder to glibtransformer.
761 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
763 * giscanner/Makefile.am:
764 * giscanner/__init__.py:
765 * giscanner/cgobject.py:
766 * giscanner/gidlparser.py:
767 * giscanner/gidlwriter.py:
768 * giscanner/girwriter.py:
769 * giscanner/gobjecttreebuilder.py:
770 * giscanner/odict.py:
771 * giscanner/sourcescanner.py:
772 * giscanner/treebuilder.py:
773 * giscanner/xmlwriter.py:
775 * tools/g-ir-scanner:
776 Add LGPLv2 license header and install all python files
778 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
781 * giscanner/gidlwriter.py:
782 * giscanner/giscannermodule.c (pygi_source_directive_new),
783 (directive_get_options), (pygi_source_symbol_new),
784 (symbol_get_base_type), (pygi_source_type_new),
785 (type_get_base_type), (type_get_child_list),
786 (pygi_source_scanner_get_symbols),
787 (pygi_source_scanner_get_directives):
788 * giscanner/gobjecttreebuilder.py:
789 * giscanner/sourcescanner.py:
790 * giscanner/treebuilder.py:
791 * tests/parser/foo-object.h:
792 Add support for virtual methods.
793 Pair struct FooClass with struct Foo.
794 Clean up the SourceScanner bindings a bit.
795 Add a testcase for virtual methods.
797 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
799 * giscanner/cgobject.py:
800 * giscanner/gidlwriter.py:
801 * giscanner/gobjecttreebuilder.py:
802 Add support for signals
804 * tests/parser/foo.c (foo_object_class_init):
806 Add a signal and update the expected output.
808 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
810 * giscanner/gidlwriter.py:
811 * giscanner/girwriter.py:
812 * giscanner/giscannermodule.c (directive_get_name),
813 (directive_get_value), (directive_get_options),
814 (symbol_get_directives), (symbol_set_directives),
815 (pygi_source_scanner_parse_file),
816 (pygi_source_scanner_lex_filename),
817 (pygi_source_scanner_get_directives), (init_giscanner):
818 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
819 * giscanner/sourcescanner.h:
820 * giscanner/sourcescanner.py:
821 * giscanner/treebuilder.py:
822 * tools/g-ir-scanner:
823 Add support for source/header annotations.
825 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
827 * giscanner/gidlwriter.py:
828 * giscanner/girwriter.py:
829 * giscanner/gobjecttreebuilder.py:
830 * giscanner/treebuilder.py:
831 Add support for Callbacks
833 2008-04-22 Havoc Pennington <hp@pobox.com>
835 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
836 not in metadata->module, look for it in the global module, in case
837 some other object or the app itself provides the symbol.
839 2008-04-22 Havoc Pennington <hp@pobox.com>
841 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
842 dlopening a library that is already in the main app, by checking
843 whether one of the lib's symbols is already loaded.
845 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
847 * tests/parser/Foo-expected.gidl:
848 * tests/parser/foo-object.h:
851 2008-04-22 Havoc Pennington <hp@pobox.com>
853 * girepository/ginfo.c (g_interface_info_find_method):
854 Use interface_blob_size not object_blob_size to compute offset.
856 2008-04-22 Havoc Pennington <hp@pobox.com>
858 * girepository/gmetadata.c (_g_metadata_init): remove
859 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
860 (Glade and Clutter for example) rely on being loaded globally.
862 2008-04-22 Havoc Pennington <hp@pobox.com>
864 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
865 function to get the GType given a RegisteredTypeInfo
867 2008-04-22 Johan Dahlin <johan@gnome.org>
869 * COPYING: Add a LGPL license, to prevent automake to
870 put in a copy of GPL here. Pointed out by Havoc.
872 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
873 (g_type_info_is_pointer), (g_type_info_get_tag),
874 (g_type_info_get_param_type), (g_type_info_get_interface),
875 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
876 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
877 (g_error_domain_info_get_codes), (g_enum_info_get_value),
878 (g_object_info_get_interface), (g_object_info_get_field),
879 (g_interface_info_get_prerequisite),
880 (g_signal_info_get_class_closure), (g_constant_info_get_value):
881 * girepository/ginvoke.c (get_ffi_type):
882 * girepository/girepository.h:
883 * girepository/gmetadata.c (g_metadata_get_dir_entry),
884 (g_metadata_check_sanity), (validate_header),
885 (validate_array_type_blob), (validate_iface_type_blob),
886 (validate_param_type_blob), (validate_error_type_blob),
887 (validate_type_blob), (validate_constant_blob),
888 (validate_struct_blob), (validate_enum_blob):
889 * girepository/gmetadata.h:
891 * tests/invoke/Makefile.am:
892 * tests/invoke/invoke.c (main):
893 * tests/roundtrips.sh:
895 * tools/compiler.c (format_output), (write_out_metadata), (main):
896 * tools/generate.c (write_type_name), (write_type_info),
897 (write_constant_value), (write_enum_info), (load_metadata), (main):
898 * tools/gidlcompilercontext.c:
899 * tools/gidlcompilercontext.h:
900 * tools/gidlcompilerentrynode.c:
901 * tools/gidlcompilerentrynode.h:
902 * tools/gidlcompilertypenode.c:
903 * tools/gidlcompilertypenode.h:
904 * tools/gidlmodule.c (g_idl_module_build_metadata):
905 * tools/gidlmodule.h:
906 * tools/gidlnode.c (init_stats), (dump_stats),
907 (g_idl_node_get_size), (g_idl_node_get_full_size),
908 (g_idl_node_cmp), (g_idl_node_can_have_member),
909 (g_idl_node_add_member), (g_idl_node_param_direction_string),
910 (parse_int_value), (parse_uint_value), (parse_float_value),
911 (parse_boolean_value), (find_entry_node), (find_entry),
912 (serialize_type), (g_idl_node_build_metadata), (write_string):
914 * tools/gidlparser.c (parse_type_internal):
915 * tools/quote-file.sh:
916 Revert revisions 157,149-148,136-129 and 120.
917 Move back to using g-idl-generate to generate the metadata and
918 avoids dependency on a c compiler.
920 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
922 * giscanner/girwriter.py:
923 * tools/g-ir-scanner:
924 Add an initial GIR writer and a --format option to g-ir-scanner
926 2008-04-21 Johan Dahlin <johan@gnome.org>
928 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
929 gobject-2.0 and raise ImportError if not found.
931 * giscanner/gidlparser.py:
932 * giscanner/gidlwriter.py:
933 * giscanner/gobjecttreebuilder.py:
934 * tools/g-ir-scanner:
935 Add a --include argument to include types from other idls.
936 Add a minimalistic GIDL parser (just objects for now)
937 Implement resolving of external type references and use it to
938 resolve parent types, argument types and return types.
940 2008-04-21 Johan Dahlin <johan@gnome.org>
942 * giscanner/gidlwriter.py:
943 * giscanner/gobjecttreebuilder.py:
944 * giscanner/treebuilder.py:
945 Add support for properties.
946 Refactor Class/Interface support a bit, to share more code and
947 always initialize their method attribute to an empty list.
949 2008-04-21 Johan Dahlin <johan@gnome.org>
951 * giscanner/cgobject.py:
952 Add a workaround for a glib bug interface introspection bug
953 (object_interface_list_properties, object_class_list_properties):
954 Cast the return value to GParamSpec.
956 * tests/parser/Foo-expected.gidl: Update
957 * tests/parser/foo.c: Add a string property
959 * giscanner/gobjecttreebuilder.py:
960 After stripping namespaces, remove the original
961 item to avoid duplication (GtkButton struct and Button object)
963 2008-04-21 Johan Dahlin <johan@gnome.org>
965 * giscanner/gobjecttreebuilder.py:
966 * giscanner/treebuilder.py:
967 Strip namespaces before objects, so we'll export
968 GtkButton as Button in the gtk namespace
970 2008-04-21 Johan Dahlin <johan@gnome.org>
972 * giscanner/gidlwriter.py:
973 * giscanner/gobjecttreebuilder.py:
974 * giscanner/treebuilder.py:
975 Add constructors for object/boxed types.
977 2008-04-21 Johan Dahlin <johan@gnome.org>
979 * giscanner/gidlwriter.py:
980 * giscanner/gobjecttreebuilder.py:
981 Add support for boxed types
983 2008-04-21 Johan Dahlin <johan@gnome.org>
985 * giscanner/giscannermodule.c: Mark structures as const,
986 wrap SourceType.const_string.
988 * tests/parser/foo-object.h: Add a couple of constants.
990 * giscanner/gidlwriter.py:
991 * giscanner/gobjecttreebuilder.py:
992 * giscanner/treebuilder.py:
993 Add basic support for interfaces
995 * tools/g-ir-scanner:
996 Add -o/--output for writing to a file
998 2008-04-21 Havoc Pennington <hp@redhat.com>
1000 * TODO: add some C API wishlist items I could think of quickly
1002 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1004 * giscanner/gidlwriter.py:
1005 * giscanner/xmlwriter.py:
1006 Add a simple api for writing tags which can be used
1007 with the new 'with statement' in python 2.5
1009 2008-04-21 Johan Dahlin <johan@gnome.org>
1011 * giscanner/gobjecttreebuilder.py:
1012 Strip namespace and object prefix from method names.
1014 2008-04-21 Johan Dahlin <johan@gnome.org>
1016 * tools/g-ir-scanner (main): Add --pkg option to pass in
1017 pkg-config modules to get cflags from.
1019 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1020 Avoid duplication, reuse function writer for methods.
1022 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1024 * giscanner/gidlwriter.py:
1025 * giscanner/gobjecttreebuilder.py:
1026 * giscanner/treebuilder.py:
1027 * tools/g-ir-scanner:
1028 Resolve libtool .la files.
1029 Strip name spaces for methods.
1030 Add function symbols
1032 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1034 * giscanner/cgobject.py:
1035 * giscanner/gidlwriter.py:
1036 * giscanner/gobjecttreebuilder.py:
1037 * giscanner/treebuilder.py:
1038 Add support for classes and methods
1040 2008-04-20 Johan Dahlin <johan@gnome.org>
1042 * giscanner/gidlwriter.py:
1043 * giscanner/gobjecttreebuilder.py:
1044 * giscanner/odict.py:
1045 Avoid conflicts, keep the output ordered similar to
1046 the order of the input.
1047 Add a simple ordered dictionary implemenation
1049 2008-04-19 Johan Dahlin <johan@gnome.org>
1051 * giscanner/cgobject.py:
1052 * giscanner/gidlwriter.py:
1053 * giscanner/gobjecttreebuilder.py:
1054 * tools/g-ir-scanner:
1055 Start introspecting get-type functions.
1056 Implement support for GLib/GFlags GTypes.
1057 Add a ctype based GObject binding.
1059 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1061 * giscanner/gidlwriter.py:
1062 * giscanner/xmlwriter.py:
1063 * tools/g-ir-scanner:
1064 Add a simplistic gidl writer, which can't do too much.
1066 2008-04-18 Johan Dahlin <johan@gnome.org>
1068 * giscanner/sourcescanner.py:
1069 * giscanner/treebuilder.py:
1070 * tools/g-ir-scanner:
1071 split tree building and source scanning interface to separate files.
1073 2008-04-18 Johan Dahlin <johan@gnome.org>
1075 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1077 - Add support for struct/parameter/return, start parsing of ctypes
1079 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1082 2008-03-31 Johan Dahlin <johan@gnome.org>
1084 * tools/g-ir-scanner:
1085 Start to build abstract syntax node of scanned sources.
1086 Add support for cpp options.
1088 2008-03-27 Johan Dahlin <johan@gnome.org>
1090 * giscanner/giscannermodule.c:
1091 * giscanner/scannerlexer.l:
1092 * giscanner/sourcescanner.c:
1093 * tools/g-ir-scanner:
1095 Add simple pre-processor using subprocess and a PIPE.
1096 Change the parse_file apis to accept a file descriptor.
1098 2008-03-25 Johan Dahlin <johan@gnome.org>
1100 * giscanner/__init__.py:
1101 * tools/g-ir-scanner:
1102 Fix a typo and add an example python test program.
1104 2008-03-25 Johan Dahlin <johan@gnome.org>
1106 * giscanner/__init__.py:
1107 * giscanner/giscannermodule.c:
1108 * giscanner/sourcescanner.c:
1109 * giscanner/sourcescanner.h:
1110 Add constants and wrap a few more SymbolType fields
1112 2008-03-25 Johan Dahlin <johan@gnome.org>
1116 * giscanner/__init__.py:
1117 * giscanner/giscannermodule.c:
1118 * giscanner/Makefile.am:
1120 Add initial python bindings for the scanner and
1121 depend on python 2.5.
1123 2008-03-25 Johan Dahlin <johan@gnome.org>
1127 * giscanner/Makefile.am:
1128 * giscanner/sourcescanner.c:
1129 * giscanner/sourcescanner.h:
1130 * tools/Makefile.am:
1131 * tools/grealpath.h:
1132 * tools/sourcescanner.c:
1133 * tools/sourcescanner.h:
1135 Move the scanner to a separate library.
1137 2008-03-23 Johan Dahlin <johan@gnome.org>
1139 * tools/Makefile.am:
1142 * tools/scannerlexer.l:
1143 * tools/scannerparser.y:
1144 * tools/sourcescanner.c:
1145 * tools/sourcescanner.h:
1146 Split out the source scanner from the generator.
1147 Rename the symbols used in the scanner to use the gi_ prefix.
1148 This should make it possible to use the raw C parser from
1151 2008-03-23 Johan Dahlin <johan@gnome.org>
1153 * tests/parser/Makefile.am (utility.gidl):
1154 * tests/parser/utility-expected.gidl:
1155 Pass in the gobject.gidl since we're defining a GObject.
1157 2008-03-12 Johan Dahlin <johan@gnome.org>
1159 * relaxng/relaxng.rng:
1160 Add a releaxng in relaxng we can use to validate the relaxngs
1163 2008-03-12 Jürg Billeter <j@bitron.ch>
1165 * tools/scanner.c: (g_igenerator_new):
1166 * tools/scannerparser.y:
1167 Fix compiler warnings.
1169 2008-03-12 Jürg Billeter <j@bitron.ch>
1173 * tools/scannerparser.y:
1174 Start fixing memory management in g-idl-scanner.
1176 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1178 * tools/gidlcompilercontext.c: (write_compiled):
1179 Fix critical warning when no shlib passed to g-idl-compiler.
1181 2008-03-12 Johan Dahlin <johan@gnome.org>
1183 * tests/parser/utility-expected.gidl:
1184 * tests/parser/utility.h:
1185 Add a get_type-function, so the scanner actually
1186 parses it as an object.
1188 2008-03-12 Johan Dahlin <johan@gnome.org>
1190 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1193 * tests/parser/Foo-expected.gidl:
1194 * tests/parser/Makefile.am:
1195 * tests/parser/foo-object.h:
1196 * tests/parser/foo.c:
1197 * tests/parser/utility-expected.gidl:
1198 * tests/parser/utility.c:
1199 * tests/parser/utility.h:
1201 Add a new gidl test. 'utility.gidl', which is used to be able
1202 to test external type references. Add a reference to UtilityObject*
1205 2008-03-11 Johan Dahlin <johan@gnome.org>
1209 Remove most global variables
1211 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1213 * tools/scannerlexer.l:
1215 * tests/parser/Foo-expected.gidl:
1216 * tests/parser/foo.c:
1217 * tests/parser/Makefile.am:
1218 * tests/parser/foo-object.h:
1220 Added a few extra tests. Which resulted in finding a few
1221 bugs. Which resulted in me fixing those bugs
1223 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1225 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1226 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1227 Add some comments for strings into generated output for
1230 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1232 * tools/gidlcompilercontext.c: (write_compiled):
1233 Write out the shlibs variable before writing out the strings
1234 length. Fixes compiler warning when using '-l' flag with
1237 2008-03-11 Johan Dahlin <johan@gnome.org>
1239 * tests/parser/Foo-expected.gidl:
1240 * tests/parser/foo-object.h:
1243 * tools/scannerlexer.l:
1244 Add support for parsing return arguments. Add support for
1245 caller-owns return types.
1246 Patch by Philip Van Hoof.
1248 * tools/scannerparser.y:
1249 Remove parsing of the @deprecated syntax used in headers.
1250 We will support gtk-doc deprecation in the future instead.
1252 2008-03-11 Johan Dahlin <johan@gnome.org>
1254 * tools/compiler.c (main): Coding style fixes
1256 2008-03-10 Johan Dahlin <johan@gnome.org>
1259 Add GCOV_LIBS to GILIBS
1261 2008-03-10 Johan Dahlin <johan@gnome.org>
1263 * tests/parser/Foo-expected.gidl:
1264 * tests/parser/foo.c:
1265 Rename null-ok to direction=out
1267 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1269 reviewed and extensively tested by Johan
1271 * tests/parser/Foo-expected.gidl:
1272 * tests/parser/foo-object.h:
1273 * tests/parser/foo.c:
1276 * tools/gidlwriter.c:
1279 * tools/scannerlexer.l:
1280 * tools/scannerparser.y:
1282 Add support for scanning for gtk-doc comments inside
1283 C source files. Add tests
1285 2008-03-10 Johan Dahlin <johan@gnome.org>
1287 * tests/parser/Makefile.am:
1288 * tests/parser/foo.c:
1291 * tools/scannerparser.y:
1292 Add an api to lex filenames.
1293 Lex all source .c files passed in on the command line.
1294 Scan sources in a test and a couple of private structures
1295 which should not be included in the generated gidl
1297 2008-03-10 Johan Dahlin <johan@gnome.org>
1299 * tests/invoke/Makefile.am: Make the generated metadata
1300 depend on the g-idl-compiler
1302 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1304 * tools/gidlmodule.c
1305 * tools/gidlmodule.h
1308 Remove the old g-idl-compiler code.
1311 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1313 * tools/quote-file.sh
1316 Move to using the 'C' struct compiler code.
1318 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1320 * girepository/ginfo.c
1322 Change the way that external references with no namespace
1323 are dealt with. External references with no namespace
1324 are placed into the XML as-if they are a local reference.
1325 This is temporary, but helps with roundtrip tests.
1327 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1329 * girepository/ginfo.c
1330 Add the ability to get the value of a constant of
1331 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1332 is provided as a string.
1334 This would deal properly with:
1335 typedef char* random;
1336 const random = "A string";
1338 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1340 * girepository/ginfo.c
1341 * girepository/girepository.h
1343 Add a function to check if an enum is registered or not.
1344 Previously anything testing this relied on the g-type
1345 string offset having a value of 0.
1347 * girepository/gmetadata.c
1348 * girepository/gmetadata.h
1350 Remove unneccesary or erroneous checks. There were two
1351 metadata validation checks which made sure that the blob
1352 sizes were the same as some magic numbers compiled into the code.
1353 This is wrong as it breaks any forwards compatibility that may
1356 Checks were also present that made sure that unregistered type
1357 blobs had a value of 0 in the g-type offset field. This is
1358 unneccessary. If a type blob is unregistered then any value
1359 in its g-type field is simply invalid.
1361 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1363 * girepository/ginfo.c
1364 * girepository/gmetadata.c
1365 * girepository/gmetadata.h
1367 Change the metadata format to have a standard header
1368 for all the type blobs. Merge the SimpleTypeBlob
1369 and InterfaceTypeBlob into a union. A union of these
1370 two blobs existed previously but was not explicit
1371 in the metadata format.
1373 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1375 * tools/gidlcompilercontext.c
1376 * tools/gidlcompilercontext.h
1377 * tools/gidlcompilerentrynode.c
1378 * tools/gidlcompilerentrynode.h
1379 * tools/gidlcompilertypenode.c
1380 * tools/gidlcompilertypenode.h
1382 Add code to compile a tree of GIdlNodes to
1383 a 'C' struct representing the metadata.
1384 This is to aid cross-compiling. Previously
1385 the g-idl-compiler created a binary blob with
1386 data written in the byte order and alignment
1387 of the tool rather than the intended target.
1389 Cleaned up and improved by Johan and Robert :-)
1391 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1393 * girepository/ginvoke.c
1394 * girepository/girepository.h
1395 * girepository/gmetadata.c
1396 * girepository/gmetadata.h
1398 * tools/gidlparser.c
1399 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1400 to avoid confusion with the interface blob.
1403 * tools/gidlparser.c
1404 Remove magic numbers and replace with type-tag
1405 enumeration symbols.
1407 * girepository/gmetadata.c
1408 Add validate declaration.
1410 2008-03-10 Jürg Billeter <j@bitron.ch>
1412 * tools/gidlparser.c: (parse_type_internal):
1413 * tools/scannerlexer.l:
1414 * tools/scannerparser.y:
1415 Support C99 _Bool type in scanner.
1417 2008-03-10 Jürg Billeter <j@bitron.ch>
1419 * tests/parser/Foo-expected.gidl:
1420 * tests/parser/foo-object.h:
1421 * tests/parser/foo.c: (foo_enum_method):
1422 * tools/scanner.c: (g_igenerator_process_function_symbol):
1423 Don't skip functions that are defined in the namespace of a type
1424 that doesn't support methods, as for example enums.
1426 2008-03-10 Johan Dahlin <johan@gnome.org>
1428 * gidl.dtd: Remove, we're using relaxng for now
1430 * tests/parser/Foo-expected.gidl:
1431 * tests/parser/foo-object.h:
1432 * tests/parser/foo.c:
1433 Rename the enum/flags get_type functions to include the whole type.
1435 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1437 * tools/gidlwriter.c (enum_generate): added "type-name",
1438 "get-type" and "deprecated" missing arguments.
1439 * tests/parser/Foo-expected.gidl:
1440 * tests/parser/foo-object.h: test enum type, and no type.
1442 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1445 Consistent checks, add missing 'test'
1447 2008-03-05 Havoc Pennington <hp@redhat.com>
1449 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1450 does on Fedora 8. Make libffi a hard requirement, since it was in
1451 practice anyway (was not really conditional in the code or
1452 makefile, only in configure).
1454 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1456 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1457 reviewed by: Johan Dahlin <johan@gnome.org>
1459 * tests/Makefile.am:
1460 * tests/roundtrips.sh:
1461 Modify the roundtrips test so that they do not use the
1462 --raw option of the gidl compiler but instead compile a
1463 shared library to use with g_module.
1465 * tests/invoke/Makefile.am:
1466 * tests/invoke/invoke.c:
1467 Modify the invoke tests to build a shared library rather
1468 than use the --raw option.
1470 * tests/invoke/invoke-namespace-find.sh: Removed:
1471 Noone knows why this was here, so removed.
1473 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1475 * tools/scanner.c: (g_igenerator_process_function_symbol):
1476 Move g_idl_node_can_have_member test later, as it broke spotting
1477 get_type's for nodes that can't have members.
1479 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1482 * tools/gidlnode.c: (g_idl_node_can_have_member):
1483 Add g_idl_node_can_have_member.
1485 * tools/scanner.c: (g_igenerator_process_function_symbol):
1486 Use g_idl_node_can_have_member to test if we should add a function
1487 as a member of the type node.
1489 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1491 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1493 * tests/parser/Makefile.am:
1494 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1496 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1498 * tools/scanner.c: (main):
1499 Ignore -pthread when passed to g-idl-scanner.
1501 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1503 * tools/grealpath.h: Added:
1504 * tools/scanner.c: (main):
1505 * tools/scannerlexer.l:
1506 * tools/Makefile.am:
1507 Always use absolute paths with symbolic links resolved when
1508 comparing filenames.
1510 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1512 * gobject-introspection.pc.in:
1513 Provide variables for g-idl-parser, scanner and compiler in the
1516 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1519 * girepository/Makefile.am:
1520 * tools/Makefile.am:
1521 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1523 2008-02-10 Johan Dahlin <johan@gnome.org>
1525 * tests/parser/Foo-expected.gidl:
1526 * tests/parser/foo-object.h:
1527 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1528 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1531 2008-02-10 Johan Dahlin <johan@gnome.org>
1533 * tests/parser/Foo-expected.gidl:
1534 * tests/parser/foo-object.h:
1535 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1536 Add enum and flags test.
1538 2008-02-10 Johan Dahlin <johan@gnome.org>
1542 * girepository/Makefile.am:
1543 Make 'make distcheck' work again.
1545 2008-02-10 Johan Dahlin <johan@gnome.org>
1547 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1550 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1551 check, eg exclude it from BUILT_SOURCES.
1553 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1558 * girepository/Makefile.am:
1559 * m4/Makefile.am: Added:
1560 * m4/as-compiler-flag.m4: Added:
1561 * m4/gcov.m4: Added:
1562 * tools/Makefile.am:
1563 Add ability to generate a coverage report.
1564 Adds configure option --enable-gcov and make rule 'check-coverage'.
1566 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1570 * gidl/Makefile.am: Added:
1571 * girepository/Makefile.am: Added:
1572 * src/Makefile.am: Renamed to tools/Makefile.am:
1573 * src/compiler.c: Renamed to tools/compiler.c:
1574 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1575 * src/generate.c: Renamed to tools/generate.c:
1576 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1577 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1578 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1579 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1580 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1581 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1582 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1583 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1584 * src/ginfo.c: Renamed to girepository/ginfo.c:
1585 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1586 * src/girepository.c: Renamed to girepository/girepository.c:
1587 * src/girepository.h: Renamed to girepository/girepository.h:
1588 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1589 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1590 * src/scanner.c: Renamed to tools/scanner.c:
1591 * src/scanner.h: Renamed to tools/scanner.h:
1592 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1593 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1594 * tests/invoke/Makefile.am:
1595 Split src/ into girepository/ and tools/
1599 * girepository/Makefile.am:
1600 * tests/Makefile.am:
1601 * tests/invoke/Makefile.am:
1602 * tests/parser/Makefile.am:
1603 * tests/roundtrips.sh:
1604 * tools/Makefile.am:
1605 Make distcheck work.
1607 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1609 * tests/invoke/invoke.c: (main):
1610 * tests/invoke/testfns.c: (test6), (test7):
1611 * tests/invoke/testfns.xml:
1612 Add tests for invokation with a GList argument.
1613 Also tests caller-owns return values.
1615 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1618 Add some documentation for GICallableInfo
1620 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1623 Correct syntax errors in the DTD file.
1625 * relaxng/c-types.xml:
1626 * relaxng/g-types.xml:
1628 Add a RelaxNG specification for the GObject Introspection XML data.
1629 The Specification has validated all of the test files.
1631 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1633 * tests/roundtrips.sh:
1634 * tests/struct.test:
1635 Add roundtrip tests for structs.
1637 2008-01-11 Johan Dahlin <johan@gnome.org>
1639 * src/scanner.c (g_igenerator_process_function_symbol):
1640 Refactor out g_idle_node_add_member.
1641 (create_node_from_gtype, create_node_from_ctype):
1642 Use case instead of if...else
1643 (get_type_from_type_id):
1644 Rename to create_node_from_gtype
1645 (get_type_from_ctype):
1646 Rename to create_node_from_ctype
1648 Rename ginode -> node, gitype -> type, gifunc -> func.
1650 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1651 Two new functions, refactor out of scanner.c
1653 * src/scanner.c: (g_igenerator_process_function_symbol):
1654 * src/scannerlexer.l:
1655 Do not save the content of the deprecated variable, only
1658 2008-01-11 Johan Dahlin <johan@gnome.org>
1660 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1662 2008-01-11 Jürg Billeter <j@bitron.ch>
1664 * src/scannerlexer.l:
1665 Fix GTK-Doc parsing.
1667 2008-01-11 Jürg Billeter <j@bitron.ch>
1669 * src/scannerlexer.l:
1670 Fix GTK-Doc parsing.
1672 2008-01-11 Jürg Billeter <j@bitron.ch>
1674 * src/scanner.c: (lookup_symbol):
1675 Return unresolved name if we find unknown symbol.
1677 2008-01-11 Jürg Billeter <j@bitron.ch>
1679 * src/scanner.c: (g_igenerator_generate):
1680 Initialize GObject to fix scanning interface properties.
1682 * tests/parser/Foo-expected.gidl:
1683 * tests/parser/foo-object.h:
1684 * tests/parser/foo.c: (foo_interface_get_type):
1685 Test interfaces with GObject prerequisite.
1687 * tests/parser/Makefile.am:
1688 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1690 2007-12-27 Johan Dahlin <johan@gnome.org>
1692 * src/scannerlexer.l:
1693 Parse gtk-doc comments.
1695 * src/gidlwriter.c: (function_generate):
1696 Reorganize, avoid duplication and add support for
1697 writing deprecated functions.
1699 * src/scannerparser.y:
1701 Add new structure CDirective and functions to create/free them.
1703 * src/scanner.c: (g_igenerator_process_function_symbol),
1704 (g_igenerator_process_unregistered_struct_typedef),
1705 (g_igenerator_process_struct_typedef),
1706 (g_igenerator_process_union_typedef),
1707 (g_igenerator_process_enum_typedef),
1708 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1709 (g_igenerator_start_preprocessor):
1710 Parse @deprecated directive for functions.
1711 Remove some more C99isms.
1712 Send in -C to cpp to avoid stripping comments.
1714 * tests/parser/foo-object.h:
1715 * tests/parser/Foo-expected.gidl:
1716 Add deprecated directive
1718 2007-12-27 Johan Dahlin <johan@gnome.org>
1720 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1721 escape ' and " so it looks more like C.
1724 Unlink temporary file used.
1726 2007-12-27 Johan Dahlin <johan@gnome.org>
1728 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1729 (g_igenerator_start_preprocessor), (main):
1731 * src/scannerparser.y:
1732 Plug a couple of simple memory leaks.
1734 2007-12-27 Johan Dahlin <johan@gnome.org>
1736 * src/scanner.c: (g_igenerator_parse_macros),
1737 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1740 * src/scannerparser.y:
1741 * tests/parser/Makefile.am:
1743 Improve error reporting, return when the preprocessor fails.
1744 Add a verbose parameter, to aid debugging.
1745 Revert to using a temporary file to communicate between the
1746 preprocessor and the parser, because we need to wait for
1747 the exit code from the pre-processor before starting to parse.
1749 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1751 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1752 cparser.y to scannerparser.y
1754 2007-12-11 Johan Dahlin <johan@gnome.org>
1758 * src/scanner.c: (g_igenerator_new):
1760 Get rid of the global the_generator variable.
1762 2007-12-10 Johan Dahlin <johan@gnome.org>
1764 * src/scanner.c (main): Add an output option,
1765 add checks for required parameters
1768 set BUILD_SOURCES and CLEANFILES properly
1770 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1771 (g_writer_write_indent), (g_writer_write_unindent),
1772 (field_generate), (value_generate), (constant_generate),
1773 (property_generate), (function_generate), (vfunc_generate),
1774 (signal_generate), (interface_generate), (struct_generate),
1775 (union_generate), (boxed_generate), (enum_generate),
1776 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1778 * src/scanner.c: (g_igenerator_generate):
1780 * src/scannerwriter.c:
1782 Refactor scannerwriter to only be tied to a GIdlModule and move
1783 it (again!) to gidlwriter.c. Change the writer function to take
1786 2007-12-10 Johan Dahlin <johan@gnome.org>
1789 * src/scanner.c: (g_igenerator_generate):
1791 * src/scannerwriter.c: (g_igenerator_write_inline),
1792 (g_igenerator_write), (g_igenerator_write_indent),
1793 (g_igenerator_write_unindent), (field_generate), (value_generate),
1794 (constant_generate), (property_generate), (function_generate),
1795 (vfunc_generate), (signal_generate), (interface_generate),
1796 (struct_generate), (union_generate), (boxed_generate),
1797 (enum_generate), (node_generate), (module_generate),
1798 (g_scanner_write_file):
1800 Move the scanner gidl writing to a separate source file.
1802 2007-12-10 Johan Dahlin <johan@gnome.org>
1807 Move over all CType construction functions.
1809 * tests/parser/Makefile.am:
1810 Be verbose when printing parsing tests results.
1812 2007-12-10 Johan Dahlin <johan@gnome.org>
1814 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1815 preprocessor handling to here. Start cpp insteado of cc -E,
1816 always include -U__GNUC__, since it's specific to the preprocessor
1819 * tests/parser/Makefile.am (check-local): Silent diff and skip
1820 -U__GNUC__ which is always defined now
1822 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1824 reviewed by: <delete if not using a buddy>
1826 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1827 * tests/parser/Makefile.am:
1829 2007-12-09 Johan Dahlin <johan@gnome.org>
1832 Use GOption for command line options.
1833 (g_igenerator_new, main): Simplify constructor and they way
1834 parameters are passed into it.
1840 * src/gen-introspect.c:
1841 * src/gen-introspect.h:
1843 Rename gen-introspect.[ch] to scanner.[ch]
1845 2007-12-09 Johan Dahlin <johan@gnome.org>
1849 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1850 don't make the repository library and the other utilites link against
1853 * src/gen-introspect.c: (g_igenerator_create_object),
1854 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1855 (g_igenerator_create_enum), (g_igenerator_create_flags),
1856 (g_igenerator_process_module_symbol),
1857 (g_igenerator_process_module), (g_igenerator_generate), (main):
1858 * src/gen-introspect.h:
1859 Refactor g_igenerator_process_types into smaller pieces.
1861 * tests/parser/Makefile.am:
1862 Depend on the gen-introspect binary
1864 2007-12-09 Johan Dahlin <johan@gnome.org>
1866 * src/gen-introspect.c (g_igenerator_process_types):
1867 Break into smaller pieces, one for each generated node type.
1869 2007-12-08 Johan Dahlin <johan@gnome.org>
1871 * src/gen-introspect.c: (g_igenerator_process_types),
1872 (g_igenerator_add_module):
1873 * tests/parser/Foo-expected.gidl:
1874 * tests/parser/foo-object.h:
1875 * tests/parser/foo.c: (foo_subobject_class_init),
1876 (foo_subobject_init):
1878 Add a subobject test and make sure to register defined classes
1879 in the lookup symbol hash table.
1881 2007-12-08 Johan Dahlin <johan@gnome.org>
1885 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1886 (g_igenerator_process_types), (g_igenerator_add_module),
1887 (g_igenerator_add_include_idl), (main):
1888 * src/gen-introspect.h:
1889 * tests/parser/Makefile.am:
1890 * tests/parser/Foo-expected.gidl:
1892 Change the gen-introspect to generate namespaced module names,
1893 such as GLib.Object instead of GObject.
1894 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1895 add a --include-idl parameter to gen-introspect,
1896 and update the parser test.
1898 2007-12-08 Johan Dahlin <johan@gnome.org>
1900 * src/gen-introspect.c:
1901 Move main to the end of the file and attempt to make it valid
1904 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1905 we're not quite ready to generate metadata yet.
1910 Add a simple gen-introspect parser test
1912 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1914 reviewed by: Johan Dahlin <johan@gnome.org>
1917 * gobject-introspection.pc.in:
1919 * src/compiler.c: (format_output), (write_out_metadata), (main):
1920 * src/gen-introspect.c: (main):
1921 * src/gen-introspect.h:
1922 * src/generate.c: (write_callable_info), (write_repository),
1923 (load_metadata), (main):
1924 * src/gidlmodule.c: (g_idl_module_new),
1925 (g_idl_module_build_metadata):
1927 * src/gidlparser.c: (start_element_handler):
1928 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1929 (g_base_info_get_name), (g_base_info_get_namespace),
1930 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1931 (g_base_info_get_metadata), (g_function_info_get_symbol),
1932 (g_function_info_get_flags), (g_function_info_get_property),
1933 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1934 (g_callable_info_may_return_null),
1935 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1936 (g_callable_info_get_arg), (g_arg_info_get_direction),
1937 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
1938 (g_arg_info_is_optional), (g_arg_info_may_be_null),
1939 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
1940 (g_type_info_get_tag), (g_type_info_get_param_type),
1941 (g_type_info_get_interface), (g_type_info_get_array_length),
1942 (g_type_info_is_zero_terminated),
1943 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1944 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
1945 (g_value_info_get_value), (g_field_info_get_flags),
1946 (g_field_info_get_size), (g_field_info_get_offset),
1947 (g_registered_type_info_get_type_name),
1948 (g_registered_type_info_get_type_init),
1949 (g_struct_info_get_n_fields), (g_struct_info_get_field),
1950 (g_struct_info_get_n_methods), (g_struct_info_get_method),
1951 (find_method), (g_struct_info_find_method),
1952 (g_enum_info_get_n_values), (g_enum_info_get_value),
1953 (g_object_info_get_parent), (g_object_info_get_type_name),
1954 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
1955 (g_object_info_get_interface), (g_object_info_get_n_fields),
1956 (g_object_info_get_field), (g_object_info_get_n_properties),
1957 (g_object_info_get_property), (g_object_info_get_n_methods),
1958 (g_object_info_get_method), (g_object_info_find_method),
1959 (g_object_info_get_n_signals), (g_object_info_get_signal),
1960 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
1961 (g_object_info_get_n_constants), (g_object_info_get_constant),
1962 (g_interface_info_get_n_prerequisites),
1963 (g_interface_info_get_prerequisite),
1964 (g_interface_info_get_n_properties),
1965 (g_interface_info_get_property), (g_interface_info_get_n_methods),
1966 (g_interface_info_get_method), (g_interface_info_find_method),
1967 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
1968 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
1969 (g_interface_info_get_n_constants),
1970 (g_interface_info_get_constant), (g_property_info_get_flags),
1971 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
1972 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
1973 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
1974 (g_constant_info_get_value), (g_union_info_get_n_fields),
1975 (g_union_info_get_field), (g_union_info_get_n_methods),
1976 (g_union_info_get_method), (g_union_info_is_discriminated),
1977 (g_union_info_get_discriminator_offset),
1978 (g_union_info_get_discriminator):
1979 * src/ginvoke.c: (g_function_info_invoke):
1980 * src/girepository.c: (g_irepository_register),
1981 (g_irepository_unregister), (g_irepository_get_default),
1982 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
1983 (g_irepository_get_info), (g_irepository_find_by_name),
1984 (g_irepository_get_shared_library),
1985 (g_irepository_build_search_path), (g_irepository_register_file),
1986 (g_irepository_error_quark):
1987 * src/girepository.h:
1988 * src/gmetadata.c: (g_metadata_get_dir_entry),
1989 (g_metadata_check_sanity), (validate_header),
1990 (validate_array_type_blob), (validate_iface_type_blob),
1991 (validate_param_type_blob), (validate_error_type_blob),
1992 (validate_type_blob), (validate_arg_blob),
1993 (validate_signature_blob), (validate_function_blob),
1994 (validate_callback_blob), (validate_constant_blob),
1995 (validate_value_blob), (validate_field_blob),
1996 (validate_property_blob), (validate_signal_blob),
1997 (validate_vfunc_blob), (validate_struct_blob),
1998 (validate_enum_blob), (validate_object_blob),
1999 (validate_interface_blob), (validate_errordomain_blob),
2000 (validate_union_blob), (validate_blob), (validate_directory),
2001 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2002 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2003 (g_metadata_new_from_mapped_file), (g_metadata_free),
2004 (g_metadata_set_module), (g_metadata_get_namespace):
2006 * tests/Makefile.am:
2007 * tests/invoke/Makefile.am:
2008 * tests/invoke/invoke-namespace-find.sh:
2009 * tests/invoke/invoke.c: (main):
2011 Add a namespace/shared library mapping. fixes #313268.
2013 2007-12-03 Johan Dahlin <johan@gnome.org>
2015 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2018 2007-11-30 Jürg Billeter <j@bitron.ch>
2024 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2025 (g_igenerator_write_inline), (g_igenerator_write),
2026 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2027 (field_generate), (value_generate), (constant_generate),
2028 (property_generate), (function_generate), (vfunc_generate),
2029 (signal_generate), (interface_generate), (struct_generate),
2030 (union_generate), (boxed_generate), (enum_generate),
2031 (node_generate), (module_generate), (get_type_from_type_id),
2032 (str_replace), (g_igenerator_process_properties),
2033 (g_igenerator_process_signals), (g_igenerator_process_types),
2034 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2035 (g_igenerator_process_unregistered_struct_typedef),
2036 (g_igenerator_process_struct_typedef),
2037 (g_igenerator_process_union_typedef),
2038 (g_igenerator_process_enum_typedef),
2039 (g_igenerator_process_function_typedef),
2040 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2041 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2042 (g_igenerator_generate), (main), (csymbol_new),
2043 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2044 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2045 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2046 (eat_hspace), (eat_line), (read_identifier),
2047 (g_igenerator_parse_macros):
2048 * src/gen-introspect.h:
2050 Import gen-introspect to generate introspection information by
2053 2007-11-30 Jürg Billeter <j@bitron.ch>
2055 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2057 2007-11-30 Jürg Billeter <j@bitron.ch>
2059 * src/gidlparser.c: (end_element_handler): Don't leave requires
2062 2007-11-29 Johan Dahlin <johan@gnome.org>
2064 * src/gidlparser.c (parse_type_internal): Add char,
2065 gchar and guchar to the builtin types.
2067 2007-11-26 Johan Dahlin <johan@gnome.org>
2069 * src/ginfo.c: (g_object_info_get_type_name),
2070 (g_object_info_get_type_init):
2071 * src/girepository.c: (g_irepository_is_registered):
2072 * src/girepository.h:
2074 Add g_object_info_get_type_name, g_object_info_get_type_init and
2075 g_irepository_is_registered.
2077 2006-08-14 Jürg Billeter <j@bitron.ch>
2079 * src/gidlparser.c: (end_element_handler): Don't leave
2080 namespace and implements states too early.
2083 2007-11-26 Johan Dahlin <johan@gnome.org>
2085 * src/gmetadata.c (validate_struct_blob):
2086 pass blob_type to validate_function_blob instead of
2087 hard-coding BLOB_TYPE_STRUCT.
2089 Patch by Torsten Schoenfeld, fixes #314190
2091 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2093 * src/compiler.c, src/generate.c, src/gidlnode.c,
2094 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2095 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2096 warnings about return values, signedness mismatches, unused
2097 variables, and unhandles enum values in switch statements.
2099 * tests/invoke/Makefile.am: Don't install the invoke test program.
2100 Add -I ../../src to the cflags used for the test functions files.
2102 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2104 * src/girepository.h: Export g_invoke_error_quark.
2106 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2108 * src/ginvoke.c: Remove the fallback implementation of
2109 g_function_info_invoke since we now formally depend on libffi.
2111 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2113 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2114 Remove these files from cvs, as they are now generated.
2116 * src/gmetadata.c (validate_iface_type_blob): Don't
2117 complain if blob->pointer is not set, since that
2118 happens for enum and flag types. (#308935, Gustavo
2121 * Commit an autoconf-conversion patch by
2122 Gustavo Carneiro (#308708)
2124 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2126 * src/compiler.c (main): Use it here to validate
2127 the generated metadata.
2129 * src/gmetadata.[hc]: Add code to validate a
2132 * metadata-format.txt: Updates
2134 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2136 * tests/*: Add struct offsets to field and vfunc
2139 * src/generate.c (write_vfunc_info): Write offset
2140 information for vfuncs.
2142 * src/gidlnode.c (g_idl_node_build_metadata): Write
2143 the struct offsets into the metadata.
2145 * src/gidlparser.c: Parse the offset attributes of
2146 field and vfunc elements.
2148 * src/gidlnode.h: Add offset members to field and
2151 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2155 * gidl.dtd: Updates.
2157 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2158 file, creates, compiles and runs a C file, and folds the
2159 resulting struct offsets back into the .gidl file.
2161 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2163 * src/gidlparser.c (start_field): Make fields in objects
2166 * src/gidlmodule.c: Include string.h
2171 * metadata-format.txt: Cleanup basic types.
2172 * src/*: Adapt to the changes.
2173 * tests/*: Adapt to the changes.
2174 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2176 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2177 size for enum blobs.
2178 (g_idl_node_get_full_size): Report the correct size for
2181 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2182 error checking for blob sizes.
2184 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2186 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2187 interface types for which is_pointer is FALSE, e.g. enums.
2189 * src/gidlnode.c (g_idl_node_get_full_size)
2190 * src/gidlparser.c (parse_type_internal):
2191 * src/generate.c (write_type_info): Support unspecialized
2192 lists, hashtables and errors. Also emit a '*' after these.
2196 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2200 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2202 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2204 * src/*.c: Change the directory to be addressed by
2205 1-based indexes, and use an index of zero to mean
2208 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2210 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2212 * tests/union.test: Add a union test.
2214 * src/generate.c: Handle unions.
2216 * src/girepository.h:
2217 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2219 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2221 * src/gidlparser.c (start_union): Parse <union> elements.
2223 * src/gidlnode.h: Add a GIdlNodeUnion.
2225 * gidl.dtd: Add a <union> element.
2227 * src/gmetadata.c (g_metadata_check_sanity): Check
2230 * src/gmetadata.h: Add union_blob_size to Header,
2233 * metadata-format.txt: Add a UnionBlob.
2235 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2237 * tests/*: Update testcases.
2239 * src/generate.c (write_callable_info): Don't forget to
2240 write transfer and null-ok attributes for return types
2243 * src/girepository.h:
2244 * src/ginfo.c (g_callable_info_may_return_null):
2245 New function to find out if a function may return NULL.
2247 * src/compiler.c (format_output): Make the generated
2250 * README: Point to a recent libffi snapshot.
2252 * tests/invoke/*: Some invoke tests.
2254 * src/Makefile: Add ginvoke.c and the necessary
2257 * src/girepository.h (g_function_info_invoke): Add
2260 * src/ginvoke.c (g_function_info_invoke): Initial
2261 implementation of invoke functionality based on libffi.
2263 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2264 strings and types hash tables in the right order when
2266 (find_entry_node): Free the name parts.
2268 2005-05-12 Johan Dahlin <johan@gnome.org>
2270 * src/generate.c: Generate consistent end tags.
2274 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2278 * src/gidlparser.c (start_function): Actually add
2279 methods to objects. (Steven Walter)
2281 * src/girepository.h:
2282 * src/ginfo.c: Rename Transfer and Direction to
2283 GITransfer and GIDirection. (Torsten Schoenfeld)
2285 * tests/*: Make tests work with the changes in name
2288 * src/gidlnode.c (find_entry_node): Parse qualified
2289 names and generate xref nodes for them if needed. Don't
2290 require all modules to be loaded any more.
2292 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2295 * src/ginfo.c (g_object_info_get_parent): Return NULL
2296 if blob->parent is 0. Still need to make sure index
2299 * src/generate.c: Generate qualified names when
2300 referring to non-local types. Emit transfer attribute
2303 * src/compiler.c (format_output): Put the function
2304 attributes where gcc accepts them.
2306 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2308 * src/compiler.c (main): Add a --verbose cmdline option
2309 and only log messages if it is specified.
2312 * src/gidlnode.c (init_stats, dump_stats): Collect some
2313 statistics on string and type sharing.
2315 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2316 g_message() instead of fprintf().
2318 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2319 (g_idl_node_get_size): Implement for structs.
2320 (g_idl_node_get_full_size): Handle parent being NULL.
2321 (serialize_type): Handle lookup failures more gracefully.
2323 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2325 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2326 size calculation for 2-parameter types and for objects.
2328 * src/compiler.c: Add a cmdline option for debug output
2329 and install a log handler to implement it.
2330 * src/gidlnode.c: Add some debug spew.
2334 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2335 forget to count the module name when calculating the
2336 required size for the metadata.
2339 * src/gidlparser.c: Fix compiler warnings.
2341 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2343 * src/compiler.c (main): Free the option context.
2345 * gidl.dtd: Clean up handling of names. All elements
2346 have a "name", only the elements corresponding to
2347 actual callable functions (function, method, constructor),
2348 have an additional "symbol" attribute holding the
2349 dlsym()-able function name.
2351 * src/generate.c: Adapt to generate xml matching the
2355 * src/gidlnode.c: Adapt to parse the new dtd.
2357 * tests/*.test: Adjust to the new dtd.
2359 * metadata-format.txt:
2360 * src/gmetadata.h: Remove the short_name field
2362 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2363 * src/girepository.h:
2364 * src/ginfo.c (g_value_info_get_short_name): Removed
2366 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2368 * gidl.dtd: Allow constructors for boxed types,
2369 patch by Jonathan Blandford.
2372 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2374 * --- Initial import ---