1 2008-08-13 Johan Dahlin <johan@gnome.org>
4 Allow multiple libraries
5 * giscanner/glibtransformer.py:
6 Rename load_library to add_library, traverse over all libraries
7 when trying to resolve a function
9 2008-08-12 Colin Walters <walters@verbum.org>
11 * giscanner/transformer.py: Record typedefs as <alias> elements.
12 Also attempt to look up types in external namespaces.
13 * giscanner/girwriter.py: Write them.
14 * giscanner/glibtransformer.py: Rework resolver using real instanceof
15 checks. Resolve interface methods and properties.
16 * tests/scanner/foo-object.h: Add a method with typedef.
17 * tests/scanner/Foo-expected.gir: Update.
18 * girepository/girnode.c: Debug tweaks.
19 * girepository/girparser.c: Make a first pass through the XML where we
20 record all the aliases. This lets us resolve them as we go through the
22 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
25 2008-08-12 Colin Walters <walters@verbum.org>
27 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
28 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
30 * giscanner/transformer.py: Record typedefs and expose public API for resolving
32 * tests/scanner/Foo-expected.gir: Fix expected callback types.
34 2008-08-12 Colin Walters <walters@verbum.org>
36 * giscanner/glibtransformer.py: Also transform object properties.
38 2008-08-12 Colin Walters <walters@verbum.org>
40 * giscanner/glibtransformer.py: Also transform callbacks
41 and structure field types.
42 * tests/scanner/Fooe-expected.gir: Update to expect correct
43 names for callbacks and structs.
45 2008-08-12 Colin Walters <walters@verbum.org>
47 * girepository/girparser.c: Handle 'any'.
48 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
51 2008-08-12 Colin Walters <walters@verbum.org>
53 * giscanner/glibtransformer.py: We need to do type
54 resolution in a second pass after we've seen all the
57 2008-08-12 Colin Walters <walters@verbum.org>
59 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
60 Add enum return value.
61 * giscanner/glibtransformer.py: Transform function return types
64 2008-08-12 Colin Walters <walters@verbum.org>
66 * tests/scanner/Makefile.am: Dep .gir files on scanner
67 sources too. Also remove @ so we see scanner invocations.
69 2008-08-12 Colin Walters <walters@verbum.org>
71 * girepository/girparser.c, girepository/gtypelib.c,
72 girepository/gtypelib.h, girepository/girnode.c:
73 Remove usage of (GAPI-oriented) TypeTag in favor of
74 GITypeTag from girepository.h.
76 2008-08-10 Colin Walters <walters@verbum.org>
78 * tests/roundtrips.sh: Use the correct tests.
80 2008-08-10 Colin Walters <walters@verbum.org>
82 * giscanner/cgobject.py: Declare/wrap a few more functions.
83 Fix parameter types for g_object_new and g_type_fundamental.
85 2008-08-10 Colin Walters <walters@verbum.org>
87 * giscanner/cgobject.py: Add new decorator @gwrap which forces
88 us to declare types for both return value and parameters. The
89 ctypes default of 'int' is bad because it hides 32/64 bit
90 problems. Convert all existing functions to use it.
92 2008-08-09 Johan Dahlin <johan@gnome.org>
94 * giscanner/__init__.py:
96 * giscanner/cgobject.py:
97 * giscanner/gidlparser.py:
98 * giscanner/gidlwriter.py:
99 * giscanner/girparser.py:
100 * giscanner/girwriter.py:
101 * giscanner/glibast.py:
102 * giscanner/glibtransformer.py:
103 * giscanner/odict.py:
104 * giscanner/sourcescanner.py:
105 * giscanner/transformer.py:
106 * giscanner/utils.py:
107 * giscanner/xmlwriter.py:
108 * tools/g-ir-scanner:
112 2008-08-09 Johan Dahlin <johan@gnome.org>
115 * relaxng/c-types.xml:
116 * relaxng/g-types.xml:
117 * relaxng/relaxng.rng:
119 Remove outdated relaxng schemas.
121 2008-08-09 Johan Dahlin <johan@gnome.org>
124 Rename metadata to typelib in variable names,
127 2008-08-09 Johan Dahlin <johan@gnome.org>
131 Remove old C scanner, which got rewritten in python.
133 2008-08-09 Johan Dahlin <johan@gnome.org>
135 * girepository/Makefile.am:
145 Move shared *.[ch] files to girepository from tools
147 2008-08-09 Johan Dahlin <johan@gnome.org>
152 * tests/constant.test:
155 * tests/function.test:
156 * tests/gobject.test:
157 * tests/interface.test:
164 Rename *.test to *.gir
166 2008-08-09 Johan Dahlin <johan@gnome.org>
170 * tests/parser/Foo-expected.gir:
171 * tests/parser/Makefile.am:
172 * tests/parser/foo-object.h:
173 * tests/parser/foo.c:
174 * tests/parser/utility-expected.gir:
175 * tests/parser/utility.c:
176 * tests/parser/utility.h:
177 * tests/scanner/Makefile.am:
178 Rename tests/parser to test/scanner
180 2008-08-08 Colin Walters <walters@verbum.org>
182 * tests/roundtrips.sh: Use local .gir files again.
184 2008-08-08 Colin Walters <walters@verbum.org>
186 * tests/invoke/Makefile.am: .gir file depends on libtool
189 2008-08-08 Colin Walters <walters@verbum.org>
191 * tools/girnode.c: Pass through parent node so we can
192 print the node whose child is NULL, if that occurs.
194 2008-08-08 Johan Dahlin <johan@gnome.org>
197 Disable roundtrip tests which are not yet working
198 * tests/invoke/testfns.gir:
201 2008-08-08 Johan Dahlin <johan@gnome.org>
203 * giscanner/girwriter.py:
205 * giscanner/glibast.py:
206 * giscanner/glibtransformer.py:
207 Swap order of members, to keep it consistent with
210 2008-08-08 Johan Dahlin <johan@gnome.org>
212 * girepository/gtypelib.c (validate_header):
213 * girepository/gtypelib.h:
215 * giscanner/girwriter.py:
216 * giscanner/sourcescanner.c (gi_source_symbol_ref),
217 (gi_source_symbol_unref):
220 * tests/constant.test:
223 * tests/function.test:
224 * tests/gobject.test:
225 * tests/interface.test:
226 * tests/invoke/Makefile.am:
227 * tests/invoke/testfns.xml:
229 * tests/parser/Makefile.am:
230 * tests/roundtrips.sh:
237 * tools/compiler.c (main):
238 * tools/generate.c (write_callable_info), (write_function_info),
240 * tools/gidlmodule.c:
241 * tools/gidlmodule.h:
244 * tools/gidlparser.c:
245 * tools/gidlparser.h:
246 * tools/gidlwriter.c:
247 * tools/gidlwriter.h:
248 * tools/scanner.c (create_node_from_gtype),
249 (create_node_from_ctype), (g_igenerator_process_properties),
250 (g_igenerator_process_signals), (g_igenerator_create_object),
251 (g_igenerator_create_interface), (g_igenerator_create_boxed),
252 (g_igenerator_create_enum), (g_igenerator_create_flags),
253 (g_igenerator_process_function_symbol),
254 (g_igenerator_process_unregistered_struct_typedef),
255 (g_igenerator_process_struct_typedef),
256 (g_igenerator_process_union_typedef),
257 (g_igenerator_process_enum_typedef),
258 (g_igenerator_process_function_typedef),
259 (g_igenerator_process_constant), (g_igenerator_process_symbols),
260 (g_igenerator_add_module), (g_igenerator_add_include_idl):
261 Merge in the gir-compiler branch.
262 Thanks to Philip and Colin for their help.
264 2008-07-26 Colin Walters <walters@verbum.org>
266 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
267 and g-idl-generate to go along with how we're changing this
268 module to be installed.
269 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
271 2008-07-24 Colin Walters <walters@verbum.org>
273 * girepository/girepository.c (g_irepository_register): Add
274 environment variable G_IREPOSITORY_VERBOSE so we can print
275 out what we're doing.
276 * girepository/girepository.c (g_irepository_register_file):
277 Add GError error message to g_debug call.
279 2008-07-08 Jürg Billeter <j@bitron.ch>
281 * giscanner/glibast.py:
285 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
287 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
290 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
293 * giscanner/girwriter.py:
294 * giscanner/transformer.py:
295 * tests/parser/Foo-expected.gir:
296 * tests/parser/foo-object.h:
297 * tests/parser/foo.c (foo_object_allow_none):
298 Add support for gtk-doc annotations for allow-none.
301 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
304 * giscanner/girwriter.py:
305 * giscanner/glibast.py:
306 * giscanner/glibtransformer.py:
307 * giscanner/transformer.py:
308 * tests/parser/Foo-expected.gir:
309 Start using abstract type instead of the raw C types.
310 Register a bunch of glib types we care about.
312 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
317 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
319 * girepository/girepository.c:
320 * girepository/gtypelib.c:
321 * girepository/ginfo.c:
322 * girepository/ginvoke.c:
323 * girepository/girepository.h:
324 * girepository/gtypelib.h:
325 * girepository/gmetadata.c:
326 * girepository/Makefile.am:
327 * girepository/gmetadata.h:
329 * tools/gidlmodule.c:
332 * tools/gidlmodule.h:
333 * tools/gidlparser.c:
335 Renamed GMetadata to GTypelib
337 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
339 * giscanner/xmlwriter.py:
340 Improve line wrapping when > 79 charaters
342 2008-06-05 Jürg Billeter <j@bitron.ch>
345 * giscanner/girwriter.py:
346 * giscanner/transformer.py:
347 Use <type> element for field types
348 * tests/parser/Foo-expected.gir:
351 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
353 * giscanner/glibtransformer.py:
354 Fix a bug which prevented GdkEvent from being generated
356 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
358 * giscanner/Makefile.am:
360 * giscanner/girwriter.py:
361 * giscanner/glibast.py:
362 * giscanner/glibtransformer.py:
363 * giscanner/transformer.py:
364 * giscanner/utils.py:
365 * tests/parser/Foo-expected.gir:
366 Improve enum member parsing and introspection
368 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
370 * giscanner/scannerparser.y:
371 * giscanner/sourcescanner.h:
372 * giscanner/sourcescanner.py:
373 Add a new source type enum for member.
374 Use __repr__ for improved debugging
375 * giscanner/girparser.py:
377 * giscanner/transformer.py:
378 Improve parsing of struct members.
379 * tests/parser/foo-object.h:
382 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
384 * giscanner/xmlwriter.py:
385 Improve error reporting when trying to quote None.
386 * giscanner/girparser.py:
387 Do not print warnings when including more complete .gir files
388 * giscanner/girwriter.py:
389 Do not require a name for parameters, add a todo for singletons
390 * giscanner/glibtransformer.py:
391 Refactor the way structs are done, add a couple of hacks to allow
393 * giscanner/transformer.py:
394 Add enough hacks so cairo, atk and pango.gir can be parsed properly
395 * gobject-introspection-1.0.pc.in:
396 Export girdir, so we can access gobject-2.0.gir from outside
398 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
400 * tools/g-ir-scanner:
401 * tests/parser/Makefile.am:
402 Update sys.path before running the parser so we don't have
403 to setup PYTHONPATH ourselves.
407 * girepository/Makefile.am:
408 * giscanner/transformer.py:
409 * gobject-introspection-1.0.pc.in:
410 * gobject-introspection.pc.in:
413 Rename pkg-config name to gobject-introspection-1.0,
414 Do not installed anything which is not using the gir format.
415 Disable compililation the old C scanner, but still keep the source
416 until all the remaning functionallity has been ported.
418 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
420 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
421 a crash when symbol->indent is NULL.
423 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
424 a function to convert a CTYPE symbol to a string
426 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
429 * giscanner/girwriter.py:
430 * giscanner/giscannermodule.c
431 (pygi_source_scanner_append_filename),
432 (pygi_source_scanner_parse_file):
433 * giscanner/glibtransformer.py:
434 * giscanner/sourcescanner.py:
435 Revert back to using temporary files to send in headers.
436 Allow Functions to be passed in as callbacks, add a couple
437 of try/excepts missing features.
438 We can now scan pango
440 2008-05-08 Johan Dahlin <johan@gnome.org>
442 * giscanner/glibtransformer.py:
443 * giscanner/transformer.py:
444 Move namespace stripping glibtransformer->transformer
446 2008-05-08 Johan Dahlin <johan@gnome.org>
449 * giscanner/girwriter.py:
450 * giscanner/glibtransformer.py:
451 * giscanner/transformer.py:
452 * tools/g-ir-scanner:
453 Introduce a namespace ast node
455 2008-05-05 Johan Dahlin <johan@gnome.org>
457 * giscanner/__init__.py:
458 * giscanner/sourcescanner.py:
459 * giscanner/transformer.py:
460 Move sourcescanner symbols to the sourcescanner module, instead
461 of in the global __init__ namespace.
463 2008-05-03 Johan Dahlin <johan@gnome.org>
465 * giscanner/glibtransformer.py:
466 * tools/g-ir-scanner:
467 Handle missing parameters better, allow - and + in .la dlname
470 2008-05-03 Johan Dahlin <johan@gnome.org>
472 * giscanner/__init__.py:
474 * giscanner/girwriter.py:
475 * giscanner/glibtransformer.py:
476 * giscanner/transformer.py:
477 Parse struct fields properly, improve debugging.
479 2008-04-29 Johan Dahlin <johan@gnome.org>
482 * giscanner/girwriter.py:
483 * giscanner/transformer.py:
484 * tests/parser/Foo-expected.gir:
486 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
488 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
491 * docs/g-ir-scanner.1:
492 * metadata-annotations-proposal.txt:
493 * metadata-format.txt:
494 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
496 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
498 * giscanner/girwriter.py:
499 * giscanner/glibtransformer.py:
500 * giscanner/transformer.py:
501 * giscanner/xmlwriter.py:
502 * tests/parser/Foo-expected.gir:
503 * tests/parser/foo-object.h:
504 Write record/structs to gir file too. Add a couple of tests,
505 fix an off by one error in xmlwriter.py.
507 2008-04-28 Johan Dahlin <johan@gnome.org>
509 * giscanner/xmlwriter.py: Calculate the line length properly,
510 include the provided extra indentation in the calculation, really.
512 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
515 * giscanner/glibast.py:
516 * giscanner/glibtransformer.py:
517 * giscanner/transformer.py:
518 * tools/g-ir-scanner:
519 Add a --strip-prefix and sort out confusion between names and symbols
520 for functions and struct + derivaties.
521 Refactor bootstrap of g-ir-scanner, so we can set options on
522 Transformer() before parsing everything.
524 2008-04-28 Johan Dahlin <johan@gnome.org>
526 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
527 when scanning girepository.h
529 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
530 a __GI_SCANNER__ when we run.
532 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
535 * giscanner/girwriter.py:
536 * giscanner/glibast.py:
537 * giscanner/glibtransformer.py:
538 * tests/parser/Foo-expected.gir:
539 * tests/parser/utility-expected.gir:
540 Rename most c:identifier to c:type. Add new ones to
541 class/interface/enum/boxed.
543 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
546 * giscanner/girwriter.py:
547 * giscanner/glibtransformer.py:
548 * tests/parser/Foo-expected.gidl:
549 * tests/parser/Makefile.am:
550 Move c:identifier from return-value to subchild type,
551 as per Jürgs suggestion
553 2008-04-28 Johan Dahlin <johan@gnome.org>
555 * giscanner/girwriter.py:
556 * tests/parser/Foo-expected.gir:
557 Write property.type as a child node.
559 2008-04-27 Johan Dahlin <johan@gnome.org>
564 * gidl/gobject-2.0.gidl:
566 * gir/gobject-2.0.gir:
567 * tests/parser/Makefile.am:
568 Replace the GObject gidl with a GObject gir.
570 2008-04-27 Johan Dahlin <johan@gnome.org>
572 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
575 * giscanner/xmlwriter.py:
576 * tests/parser/Foo-expected.gir:
577 Include indentation in line length calculation
579 2008-04-27 Johan Dahlin <johan@gnome.org>
581 * giscanner/girparser.py:
582 Prettify NS parsing using elementtree.
584 2008-04-27 Johan Dahlin <johan@gnome.org>
587 * giscanner/Makefile.am:
588 * giscanner/girparser.py:
589 * giscanner/glibtransformer.py:
590 * tests/parser/Foo-expected.gidl:
591 * tests/parser/Foo-expected.gir:
592 * tests/parser/Makefile.am:
593 * tests/parser/utility-expected.gidl:
594 * tests/parser/utility-expected.gir:
595 * tools/g-ir-scanner:
596 Switch over to GIR as the default format. Add a simple GIDL
598 Update tests and fix simplify makefiles by depending
599 on GNU make extensions.
601 2008-04-27 Johan Dahlin <johan@gnome.org>
603 * giscanner/xmlwriter.py:
604 Wrap attributes for lines which are wider than 79 characters
606 * giscanner/scannerlexer.l:
607 Allow parenthesis in annotations
610 * giscanner/gidlwriter.py:
611 * giscanner/girwriter.py:
612 * giscanner/glibtransformer.py:
613 * giscanner/transformer.py:
614 Add initial sequence support, including annotation.
615 Refactor type handling a bit.
617 2008-04-27 Johan Dahlin <johan@gnome.org>
619 * tests/parser/Foo-expected.gidl:
620 * tests/parser/foo-object.h:
621 * tests/parser/foo.c (foo_object_class_init),
622 (foo_object_get_strings), (foo_object_get_objects):
623 Add two new functions to check sequence return values.
624 Also fixes a compilation warning.
626 2008-04-27 Johan Dahlin <johan@gnome.org>
628 * giscanner/giscannermodule.c (]): Cast the getter, avoids
629 a compilation warning.
631 * tools/Makefile.am (g_ir_scanner_SOURCES):
632 g-ir-scanner has no sources.
634 2008-04-25 Johan Dahlin <johan@gnome.org>
636 * giscanner/Makefile.am:
638 * giscanner/gidlparser.py:
639 * giscanner/gidlwriter.py:
640 * giscanner/girwriter.py:
641 * giscanner/glibast.py:
642 * giscanner/glibtransformer.py:
643 * giscanner/transformer.py:
644 Split out nodes to ast.py and glibast.py
646 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
648 * giscanner/Makefile.am:
649 * giscanner/gidlparser.py:
650 * giscanner/gidlwriter.py:
651 * giscanner/girwriter.py:
652 * giscanner/glibtransformer.py:
653 * giscanner/gobjecttreebuilder.py:
654 * giscanner/transformer.py:
655 * giscanner/treebuilder.py:
656 * tools/g-ir-scanner:
657 Rename treebuilder to transformer and
658 gobjectreebuilder to glibtransformer.
660 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
662 * giscanner/Makefile.am:
663 * giscanner/__init__.py:
664 * giscanner/cgobject.py:
665 * giscanner/gidlparser.py:
666 * giscanner/gidlwriter.py:
667 * giscanner/girwriter.py:
668 * giscanner/gobjecttreebuilder.py:
669 * giscanner/odict.py:
670 * giscanner/sourcescanner.py:
671 * giscanner/treebuilder.py:
672 * giscanner/xmlwriter.py:
674 * tools/g-ir-scanner:
675 Add LGPLv2 license header and install all python files
677 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
680 * giscanner/gidlwriter.py:
681 * giscanner/giscannermodule.c (pygi_source_directive_new),
682 (directive_get_options), (pygi_source_symbol_new),
683 (symbol_get_base_type), (pygi_source_type_new),
684 (type_get_base_type), (type_get_child_list),
685 (pygi_source_scanner_get_symbols),
686 (pygi_source_scanner_get_directives):
687 * giscanner/gobjecttreebuilder.py:
688 * giscanner/sourcescanner.py:
689 * giscanner/treebuilder.py:
690 * tests/parser/foo-object.h:
691 Add support for virtual methods.
692 Pair struct FooClass with struct Foo.
693 Clean up the SourceScanner bindings a bit.
694 Add a testcase for virtual methods.
696 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
698 * giscanner/cgobject.py:
699 * giscanner/gidlwriter.py:
700 * giscanner/gobjecttreebuilder.py:
701 Add support for signals
703 * tests/parser/foo.c (foo_object_class_init):
705 Add a signal and update the expected output.
707 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
709 * giscanner/gidlwriter.py:
710 * giscanner/girwriter.py:
711 * giscanner/giscannermodule.c (directive_get_name),
712 (directive_get_value), (directive_get_options),
713 (symbol_get_directives), (symbol_set_directives),
714 (pygi_source_scanner_parse_file),
715 (pygi_source_scanner_lex_filename),
716 (pygi_source_scanner_get_directives), (init_giscanner):
717 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
718 * giscanner/sourcescanner.h:
719 * giscanner/sourcescanner.py:
720 * giscanner/treebuilder.py:
721 * tools/g-ir-scanner:
722 Add support for source/header annotations.
724 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
726 * giscanner/gidlwriter.py:
727 * giscanner/girwriter.py:
728 * giscanner/gobjecttreebuilder.py:
729 * giscanner/treebuilder.py:
730 Add support for Callbacks
732 2008-04-22 Havoc Pennington <hp@pobox.com>
734 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
735 not in metadata->module, look for it in the global module, in case
736 some other object or the app itself provides the symbol.
738 2008-04-22 Havoc Pennington <hp@pobox.com>
740 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
741 dlopening a library that is already in the main app, by checking
742 whether one of the lib's symbols is already loaded.
744 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
746 * tests/parser/Foo-expected.gidl:
747 * tests/parser/foo-object.h:
750 2008-04-22 Havoc Pennington <hp@pobox.com>
752 * girepository/ginfo.c (g_interface_info_find_method):
753 Use interface_blob_size not object_blob_size to compute offset.
755 2008-04-22 Havoc Pennington <hp@pobox.com>
757 * girepository/gmetadata.c (_g_metadata_init): remove
758 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
759 (Glade and Clutter for example) rely on being loaded globally.
761 2008-04-22 Havoc Pennington <hp@pobox.com>
763 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
764 function to get the GType given a RegisteredTypeInfo
766 2008-04-22 Johan Dahlin <johan@gnome.org>
768 * COPYING: Add a LGPL license, to prevent automake to
769 put in a copy of GPL here. Pointed out by Havoc.
771 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
772 (g_type_info_is_pointer), (g_type_info_get_tag),
773 (g_type_info_get_param_type), (g_type_info_get_interface),
774 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
775 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
776 (g_error_domain_info_get_codes), (g_enum_info_get_value),
777 (g_object_info_get_interface), (g_object_info_get_field),
778 (g_interface_info_get_prerequisite),
779 (g_signal_info_get_class_closure), (g_constant_info_get_value):
780 * girepository/ginvoke.c (get_ffi_type):
781 * girepository/girepository.h:
782 * girepository/gmetadata.c (g_metadata_get_dir_entry),
783 (g_metadata_check_sanity), (validate_header),
784 (validate_array_type_blob), (validate_iface_type_blob),
785 (validate_param_type_blob), (validate_error_type_blob),
786 (validate_type_blob), (validate_constant_blob),
787 (validate_struct_blob), (validate_enum_blob):
788 * girepository/gmetadata.h:
790 * tests/invoke/Makefile.am:
791 * tests/invoke/invoke.c (main):
792 * tests/roundtrips.sh:
794 * tools/compiler.c (format_output), (write_out_metadata), (main):
795 * tools/generate.c (write_type_name), (write_type_info),
796 (write_constant_value), (write_enum_info), (load_metadata), (main):
797 * tools/gidlcompilercontext.c:
798 * tools/gidlcompilercontext.h:
799 * tools/gidlcompilerentrynode.c:
800 * tools/gidlcompilerentrynode.h:
801 * tools/gidlcompilertypenode.c:
802 * tools/gidlcompilertypenode.h:
803 * tools/gidlmodule.c (g_idl_module_build_metadata):
804 * tools/gidlmodule.h:
805 * tools/gidlnode.c (init_stats), (dump_stats),
806 (g_idl_node_get_size), (g_idl_node_get_full_size),
807 (g_idl_node_cmp), (g_idl_node_can_have_member),
808 (g_idl_node_add_member), (g_idl_node_param_direction_string),
809 (parse_int_value), (parse_uint_value), (parse_float_value),
810 (parse_boolean_value), (find_entry_node), (find_entry),
811 (serialize_type), (g_idl_node_build_metadata), (write_string):
813 * tools/gidlparser.c (parse_type_internal):
814 * tools/quote-file.sh:
815 Revert revisions 157,149-148,136-129 and 120.
816 Move back to using g-idl-generate to generate the metadata and
817 avoids dependency on a c compiler.
819 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
821 * giscanner/girwriter.py:
822 * tools/g-ir-scanner:
823 Add an initial GIR writer and a --format option to g-ir-scanner
825 2008-04-21 Johan Dahlin <johan@gnome.org>
827 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
828 gobject-2.0 and raise ImportError if not found.
830 * giscanner/gidlparser.py:
831 * giscanner/gidlwriter.py:
832 * giscanner/gobjecttreebuilder.py:
833 * tools/g-ir-scanner:
834 Add a --include argument to include types from other idls.
835 Add a minimalistic GIDL parser (just objects for now)
836 Implement resolving of external type references and use it to
837 resolve parent types, argument types and return types.
839 2008-04-21 Johan Dahlin <johan@gnome.org>
841 * giscanner/gidlwriter.py:
842 * giscanner/gobjecttreebuilder.py:
843 * giscanner/treebuilder.py:
844 Add support for properties.
845 Refactor Class/Interface support a bit, to share more code and
846 always initialize their method attribute to an empty list.
848 2008-04-21 Johan Dahlin <johan@gnome.org>
850 * giscanner/cgobject.py:
851 Add a workaround for a glib bug interface introspection bug
852 (object_interface_list_properties, object_class_list_properties):
853 Cast the return value to GParamSpec.
855 * tests/parser/Foo-expected.gidl: Update
856 * tests/parser/foo.c: Add a string property
858 * giscanner/gobjecttreebuilder.py:
859 After stripping namespaces, remove the original
860 item to avoid duplication (GtkButton struct and Button object)
862 2008-04-21 Johan Dahlin <johan@gnome.org>
864 * giscanner/gobjecttreebuilder.py:
865 * giscanner/treebuilder.py:
866 Strip namespaces before objects, so we'll export
867 GtkButton as Button in the gtk namespace
869 2008-04-21 Johan Dahlin <johan@gnome.org>
871 * giscanner/gidlwriter.py:
872 * giscanner/gobjecttreebuilder.py:
873 * giscanner/treebuilder.py:
874 Add constructors for object/boxed types.
876 2008-04-21 Johan Dahlin <johan@gnome.org>
878 * giscanner/gidlwriter.py:
879 * giscanner/gobjecttreebuilder.py:
880 Add support for boxed types
882 2008-04-21 Johan Dahlin <johan@gnome.org>
884 * giscanner/giscannermodule.c: Mark structures as const,
885 wrap SourceType.const_string.
887 * tests/parser/foo-object.h: Add a couple of constants.
889 * giscanner/gidlwriter.py:
890 * giscanner/gobjecttreebuilder.py:
891 * giscanner/treebuilder.py:
892 Add basic support for interfaces
894 * tools/g-ir-scanner:
895 Add -o/--output for writing to a file
897 2008-04-21 Havoc Pennington <hp@redhat.com>
899 * TODO: add some C API wishlist items I could think of quickly
901 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
903 * giscanner/gidlwriter.py:
904 * giscanner/xmlwriter.py:
905 Add a simple api for writing tags which can be used
906 with the new 'with statement' in python 2.5
908 2008-04-21 Johan Dahlin <johan@gnome.org>
910 * giscanner/gobjecttreebuilder.py:
911 Strip namespace and object prefix from method names.
913 2008-04-21 Johan Dahlin <johan@gnome.org>
915 * tools/g-ir-scanner (main): Add --pkg option to pass in
916 pkg-config modules to get cflags from.
918 * giscanner/gidlwriter.py (GIDLWriter._write_method):
919 Avoid duplication, reuse function writer for methods.
921 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
923 * giscanner/gidlwriter.py:
924 * giscanner/gobjecttreebuilder.py:
925 * giscanner/treebuilder.py:
926 * tools/g-ir-scanner:
927 Resolve libtool .la files.
928 Strip name spaces for methods.
931 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
933 * giscanner/cgobject.py:
934 * giscanner/gidlwriter.py:
935 * giscanner/gobjecttreebuilder.py:
936 * giscanner/treebuilder.py:
937 Add support for classes and methods
939 2008-04-20 Johan Dahlin <johan@gnome.org>
941 * giscanner/gidlwriter.py:
942 * giscanner/gobjecttreebuilder.py:
943 * giscanner/odict.py:
944 Avoid conflicts, keep the output ordered similar to
945 the order of the input.
946 Add a simple ordered dictionary implemenation
948 2008-04-19 Johan Dahlin <johan@gnome.org>
950 * giscanner/cgobject.py:
951 * giscanner/gidlwriter.py:
952 * giscanner/gobjecttreebuilder.py:
953 * tools/g-ir-scanner:
954 Start introspecting get-type functions.
955 Implement support for GLib/GFlags GTypes.
956 Add a ctype based GObject binding.
958 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
960 * giscanner/gidlwriter.py:
961 * giscanner/xmlwriter.py:
962 * tools/g-ir-scanner:
963 Add a simplistic gidl writer, which can't do too much.
965 2008-04-18 Johan Dahlin <johan@gnome.org>
967 * giscanner/sourcescanner.py:
968 * giscanner/treebuilder.py:
969 * tools/g-ir-scanner:
970 split tree building and source scanning interface to separate files.
972 2008-04-18 Johan Dahlin <johan@gnome.org>
974 * tools/g-ir-scanner (Parameter.__init__): Start constructing
976 - Add support for struct/parameter/return, start parsing of ctypes
978 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
981 2008-03-31 Johan Dahlin <johan@gnome.org>
983 * tools/g-ir-scanner:
984 Start to build abstract syntax node of scanned sources.
985 Add support for cpp options.
987 2008-03-27 Johan Dahlin <johan@gnome.org>
989 * giscanner/giscannermodule.c:
990 * giscanner/scannerlexer.l:
991 * giscanner/sourcescanner.c:
992 * tools/g-ir-scanner:
994 Add simple pre-processor using subprocess and a PIPE.
995 Change the parse_file apis to accept a file descriptor.
997 2008-03-25 Johan Dahlin <johan@gnome.org>
999 * giscanner/__init__.py:
1000 * tools/g-ir-scanner:
1001 Fix a typo and add an example python test program.
1003 2008-03-25 Johan Dahlin <johan@gnome.org>
1005 * giscanner/__init__.py:
1006 * giscanner/giscannermodule.c:
1007 * giscanner/sourcescanner.c:
1008 * giscanner/sourcescanner.h:
1009 Add constants and wrap a few more SymbolType fields
1011 2008-03-25 Johan Dahlin <johan@gnome.org>
1015 * giscanner/__init__.py:
1016 * giscanner/giscannermodule.c:
1017 * giscanner/Makefile.am:
1019 Add initial python bindings for the scanner and
1020 depend on python 2.5.
1022 2008-03-25 Johan Dahlin <johan@gnome.org>
1026 * giscanner/Makefile.am:
1027 * giscanner/sourcescanner.c:
1028 * giscanner/sourcescanner.h:
1029 * tools/Makefile.am:
1030 * tools/grealpath.h:
1031 * tools/sourcescanner.c:
1032 * tools/sourcescanner.h:
1034 Move the scanner to a separate library.
1036 2008-03-23 Johan Dahlin <johan@gnome.org>
1038 * tools/Makefile.am:
1041 * tools/scannerlexer.l:
1042 * tools/scannerparser.y:
1043 * tools/sourcescanner.c:
1044 * tools/sourcescanner.h:
1045 Split out the source scanner from the generator.
1046 Rename the symbols used in the scanner to use the gi_ prefix.
1047 This should make it possible to use the raw C parser from
1050 2008-03-23 Johan Dahlin <johan@gnome.org>
1052 * tests/parser/Makefile.am (utility.gidl):
1053 * tests/parser/utility-expected.gidl:
1054 Pass in the gobject.gidl since we're defining a GObject.
1056 2008-03-12 Johan Dahlin <johan@gnome.org>
1058 * relaxng/relaxng.rng:
1059 Add a releaxng in relaxng we can use to validate the relaxngs
1062 2008-03-12 Jürg Billeter <j@bitron.ch>
1064 * tools/scanner.c: (g_igenerator_new):
1065 * tools/scannerparser.y:
1066 Fix compiler warnings.
1068 2008-03-12 Jürg Billeter <j@bitron.ch>
1072 * tools/scannerparser.y:
1073 Start fixing memory management in g-idl-scanner.
1075 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1077 * tools/gidlcompilercontext.c: (write_compiled):
1078 Fix critical warning when no shlib passed to g-idl-compiler.
1080 2008-03-12 Johan Dahlin <johan@gnome.org>
1082 * tests/parser/utility-expected.gidl:
1083 * tests/parser/utility.h:
1084 Add a get_type-function, so the scanner actually
1085 parses it as an object.
1087 2008-03-12 Johan Dahlin <johan@gnome.org>
1089 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1092 * tests/parser/Foo-expected.gidl:
1093 * tests/parser/Makefile.am:
1094 * tests/parser/foo-object.h:
1095 * tests/parser/foo.c:
1096 * tests/parser/utility-expected.gidl:
1097 * tests/parser/utility.c:
1098 * tests/parser/utility.h:
1100 Add a new gidl test. 'utility.gidl', which is used to be able
1101 to test external type references. Add a reference to UtilityObject*
1104 2008-03-11 Johan Dahlin <johan@gnome.org>
1108 Remove most global variables
1110 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1112 * tools/scannerlexer.l:
1114 * tests/parser/Foo-expected.gidl:
1115 * tests/parser/foo.c:
1116 * tests/parser/Makefile.am:
1117 * tests/parser/foo-object.h:
1119 Added a few extra tests. Which resulted in finding a few
1120 bugs. Which resulted in me fixing those bugs
1122 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1124 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1125 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1126 Add some comments for strings into generated output for
1129 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1131 * tools/gidlcompilercontext.c: (write_compiled):
1132 Write out the shlibs variable before writing out the strings
1133 length. Fixes compiler warning when using '-l' flag with
1136 2008-03-11 Johan Dahlin <johan@gnome.org>
1138 * tests/parser/Foo-expected.gidl:
1139 * tests/parser/foo-object.h:
1142 * tools/scannerlexer.l:
1143 Add support for parsing return arguments. Add support for
1144 caller-owns return types.
1145 Patch by Philip Van Hoof.
1147 * tools/scannerparser.y:
1148 Remove parsing of the @deprecated syntax used in headers.
1149 We will support gtk-doc deprecation in the future instead.
1151 2008-03-11 Johan Dahlin <johan@gnome.org>
1153 * tools/compiler.c (main): Coding style fixes
1155 2008-03-10 Johan Dahlin <johan@gnome.org>
1158 Add GCOV_LIBS to GILIBS
1160 2008-03-10 Johan Dahlin <johan@gnome.org>
1162 * tests/parser/Foo-expected.gidl:
1163 * tests/parser/foo.c:
1164 Rename null-ok to direction=out
1166 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1168 reviewed and extensively tested by Johan
1170 * tests/parser/Foo-expected.gidl:
1171 * tests/parser/foo-object.h:
1172 * tests/parser/foo.c:
1175 * tools/gidlwriter.c:
1178 * tools/scannerlexer.l:
1179 * tools/scannerparser.y:
1181 Add support for scanning for gtk-doc comments inside
1182 C source files. Add tests
1184 2008-03-10 Johan Dahlin <johan@gnome.org>
1186 * tests/parser/Makefile.am:
1187 * tests/parser/foo.c:
1190 * tools/scannerparser.y:
1191 Add an api to lex filenames.
1192 Lex all source .c files passed in on the command line.
1193 Scan sources in a test and a couple of private structures
1194 which should not be included in the generated gidl
1196 2008-03-10 Johan Dahlin <johan@gnome.org>
1198 * tests/invoke/Makefile.am: Make the generated metadata
1199 depend on the g-idl-compiler
1201 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1203 * tools/gidlmodule.c
1204 * tools/gidlmodule.h
1207 Remove the old g-idl-compiler code.
1210 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1212 * tools/quote-file.sh
1215 Move to using the 'C' struct compiler code.
1217 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1219 * girepository/ginfo.c
1221 Change the way that external references with no namespace
1222 are dealt with. External references with no namespace
1223 are placed into the XML as-if they are a local reference.
1224 This is temporary, but helps with roundtrip tests.
1226 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1228 * girepository/ginfo.c
1229 Add the ability to get the value of a constant of
1230 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1231 is provided as a string.
1233 This would deal properly with:
1234 typedef char* random;
1235 const random = "A string";
1237 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1239 * girepository/ginfo.c
1240 * girepository/girepository.h
1242 Add a function to check if an enum is registered or not.
1243 Previously anything testing this relied on the g-type
1244 string offset having a value of 0.
1246 * girepository/gmetadata.c
1247 * girepository/gmetadata.h
1249 Remove unneccesary or erroneous checks. There were two
1250 metadata validation checks which made sure that the blob
1251 sizes were the same as some magic numbers compiled into the code.
1252 This is wrong as it breaks any forwards compatibility that may
1255 Checks were also present that made sure that unregistered type
1256 blobs had a value of 0 in the g-type offset field. This is
1257 unneccessary. If a type blob is unregistered then any value
1258 in its g-type field is simply invalid.
1260 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1262 * girepository/ginfo.c
1263 * girepository/gmetadata.c
1264 * girepository/gmetadata.h
1266 Change the metadata format to have a standard header
1267 for all the type blobs. Merge the SimpleTypeBlob
1268 and InterfaceTypeBlob into a union. A union of these
1269 two blobs existed previously but was not explicit
1270 in the metadata format.
1272 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1274 * tools/gidlcompilercontext.c
1275 * tools/gidlcompilercontext.h
1276 * tools/gidlcompilerentrynode.c
1277 * tools/gidlcompilerentrynode.h
1278 * tools/gidlcompilertypenode.c
1279 * tools/gidlcompilertypenode.h
1281 Add code to compile a tree of GIdlNodes to
1282 a 'C' struct representing the metadata.
1283 This is to aid cross-compiling. Previously
1284 the g-idl-compiler created a binary blob with
1285 data written in the byte order and alignment
1286 of the tool rather than the intended target.
1288 Cleaned up and improved by Johan and Robert :-)
1290 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1292 * girepository/ginvoke.c
1293 * girepository/girepository.h
1294 * girepository/gmetadata.c
1295 * girepository/gmetadata.h
1297 * tools/gidlparser.c
1298 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1299 to avoid confusion with the interface blob.
1302 * tools/gidlparser.c
1303 Remove magic numbers and replace with type-tag
1304 enumeration symbols.
1306 * girepository/gmetadata.c
1307 Add validate declaration.
1309 2008-03-10 Jürg Billeter <j@bitron.ch>
1311 * tools/gidlparser.c: (parse_type_internal):
1312 * tools/scannerlexer.l:
1313 * tools/scannerparser.y:
1314 Support C99 _Bool type in scanner.
1316 2008-03-10 Jürg Billeter <j@bitron.ch>
1318 * tests/parser/Foo-expected.gidl:
1319 * tests/parser/foo-object.h:
1320 * tests/parser/foo.c: (foo_enum_method):
1321 * tools/scanner.c: (g_igenerator_process_function_symbol):
1322 Don't skip functions that are defined in the namespace of a type
1323 that doesn't support methods, as for example enums.
1325 2008-03-10 Johan Dahlin <johan@gnome.org>
1327 * gidl.dtd: Remove, we're using relaxng for now
1329 * tests/parser/Foo-expected.gidl:
1330 * tests/parser/foo-object.h:
1331 * tests/parser/foo.c:
1332 Rename the enum/flags get_type functions to include the whole type.
1334 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1336 * tools/gidlwriter.c (enum_generate): added "type-name",
1337 "get-type" and "deprecated" missing arguments.
1338 * tests/parser/Foo-expected.gidl:
1339 * tests/parser/foo-object.h: test enum type, and no type.
1341 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1344 Consistent checks, add missing 'test'
1346 2008-03-05 Havoc Pennington <hp@redhat.com>
1348 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1349 does on Fedora 8. Make libffi a hard requirement, since it was in
1350 practice anyway (was not really conditional in the code or
1351 makefile, only in configure).
1353 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1355 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1356 reviewed by: Johan Dahlin <johan@gnome.org>
1358 * tests/Makefile.am:
1359 * tests/roundtrips.sh:
1360 Modify the roundtrips test so that they do not use the
1361 --raw option of the gidl compiler but instead compile a
1362 shared library to use with g_module.
1364 * tests/invoke/Makefile.am:
1365 * tests/invoke/invoke.c:
1366 Modify the invoke tests to build a shared library rather
1367 than use the --raw option.
1369 * tests/invoke/invoke-namespace-find.sh: Removed:
1370 Noone knows why this was here, so removed.
1372 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1374 * tools/scanner.c: (g_igenerator_process_function_symbol):
1375 Move g_idl_node_can_have_member test later, as it broke spotting
1376 get_type's for nodes that can't have members.
1378 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1381 * tools/gidlnode.c: (g_idl_node_can_have_member):
1382 Add g_idl_node_can_have_member.
1384 * tools/scanner.c: (g_igenerator_process_function_symbol):
1385 Use g_idl_node_can_have_member to test if we should add a function
1386 as a member of the type node.
1388 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1390 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1392 * tests/parser/Makefile.am:
1393 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1395 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1397 * tools/scanner.c: (main):
1398 Ignore -pthread when passed to g-idl-scanner.
1400 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1402 * tools/grealpath.h: Added:
1403 * tools/scanner.c: (main):
1404 * tools/scannerlexer.l:
1405 * tools/Makefile.am:
1406 Always use absolute paths with symbolic links resolved when
1407 comparing filenames.
1409 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1411 * gobject-introspection.pc.in:
1412 Provide variables for g-idl-parser, scanner and compiler in the
1415 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1418 * girepository/Makefile.am:
1419 * tools/Makefile.am:
1420 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1422 2008-02-10 Johan Dahlin <johan@gnome.org>
1424 * tests/parser/Foo-expected.gidl:
1425 * tests/parser/foo-object.h:
1426 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1427 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1430 2008-02-10 Johan Dahlin <johan@gnome.org>
1432 * tests/parser/Foo-expected.gidl:
1433 * tests/parser/foo-object.h:
1434 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1435 Add enum and flags test.
1437 2008-02-10 Johan Dahlin <johan@gnome.org>
1441 * girepository/Makefile.am:
1442 Make 'make distcheck' work again.
1444 2008-02-10 Johan Dahlin <johan@gnome.org>
1446 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1449 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1450 check, eg exclude it from BUILT_SOURCES.
1452 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1457 * girepository/Makefile.am:
1458 * m4/Makefile.am: Added:
1459 * m4/as-compiler-flag.m4: Added:
1460 * m4/gcov.m4: Added:
1461 * tools/Makefile.am:
1462 Add ability to generate a coverage report.
1463 Adds configure option --enable-gcov and make rule 'check-coverage'.
1465 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1469 * gidl/Makefile.am: Added:
1470 * girepository/Makefile.am: Added:
1471 * src/Makefile.am: Renamed to tools/Makefile.am:
1472 * src/compiler.c: Renamed to tools/compiler.c:
1473 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1474 * src/generate.c: Renamed to tools/generate.c:
1475 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1476 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1477 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1478 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1479 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1480 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1481 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1482 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1483 * src/ginfo.c: Renamed to girepository/ginfo.c:
1484 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1485 * src/girepository.c: Renamed to girepository/girepository.c:
1486 * src/girepository.h: Renamed to girepository/girepository.h:
1487 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1488 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1489 * src/scanner.c: Renamed to tools/scanner.c:
1490 * src/scanner.h: Renamed to tools/scanner.h:
1491 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1492 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1493 * tests/invoke/Makefile.am:
1494 Split src/ into girepository/ and tools/
1498 * girepository/Makefile.am:
1499 * tests/Makefile.am:
1500 * tests/invoke/Makefile.am:
1501 * tests/parser/Makefile.am:
1502 * tests/roundtrips.sh:
1503 * tools/Makefile.am:
1504 Make distcheck work.
1506 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1508 * tests/invoke/invoke.c: (main):
1509 * tests/invoke/testfns.c: (test6), (test7):
1510 * tests/invoke/testfns.xml:
1511 Add tests for invokation with a GList argument.
1512 Also tests caller-owns return values.
1514 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1517 Add some documentation for GICallableInfo
1519 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1522 Correct syntax errors in the DTD file.
1524 * relaxng/c-types.xml:
1525 * relaxng/g-types.xml:
1527 Add a RelaxNG specification for the GObject Introspection XML data.
1528 The Specification has validated all of the test files.
1530 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1532 * tests/roundtrips.sh:
1533 * tests/struct.test:
1534 Add roundtrip tests for structs.
1536 2008-01-11 Johan Dahlin <johan@gnome.org>
1538 * src/scanner.c (g_igenerator_process_function_symbol):
1539 Refactor out g_idle_node_add_member.
1540 (create_node_from_gtype, create_node_from_ctype):
1541 Use case instead of if...else
1542 (get_type_from_type_id):
1543 Rename to create_node_from_gtype
1544 (get_type_from_ctype):
1545 Rename to create_node_from_ctype
1547 Rename ginode -> node, gitype -> type, gifunc -> func.
1549 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1550 Two new functions, refactor out of scanner.c
1552 * src/scanner.c: (g_igenerator_process_function_symbol):
1553 * src/scannerlexer.l:
1554 Do not save the content of the deprecated variable, only
1557 2008-01-11 Johan Dahlin <johan@gnome.org>
1559 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1561 2008-01-11 Jürg Billeter <j@bitron.ch>
1563 * src/scannerlexer.l:
1564 Fix GTK-Doc parsing.
1566 2008-01-11 Jürg Billeter <j@bitron.ch>
1568 * src/scannerlexer.l:
1569 Fix GTK-Doc parsing.
1571 2008-01-11 Jürg Billeter <j@bitron.ch>
1573 * src/scanner.c: (lookup_symbol):
1574 Return unresolved name if we find unknown symbol.
1576 2008-01-11 Jürg Billeter <j@bitron.ch>
1578 * src/scanner.c: (g_igenerator_generate):
1579 Initialize GObject to fix scanning interface properties.
1581 * tests/parser/Foo-expected.gidl:
1582 * tests/parser/foo-object.h:
1583 * tests/parser/foo.c: (foo_interface_get_type):
1584 Test interfaces with GObject prerequisite.
1586 * tests/parser/Makefile.am:
1587 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1589 2007-12-27 Johan Dahlin <johan@gnome.org>
1591 * src/scannerlexer.l:
1592 Parse gtk-doc comments.
1594 * src/gidlwriter.c: (function_generate):
1595 Reorganize, avoid duplication and add support for
1596 writing deprecated functions.
1598 * src/scannerparser.y:
1600 Add new structure CDirective and functions to create/free them.
1602 * src/scanner.c: (g_igenerator_process_function_symbol),
1603 (g_igenerator_process_unregistered_struct_typedef),
1604 (g_igenerator_process_struct_typedef),
1605 (g_igenerator_process_union_typedef),
1606 (g_igenerator_process_enum_typedef),
1607 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1608 (g_igenerator_start_preprocessor):
1609 Parse @deprecated directive for functions.
1610 Remove some more C99isms.
1611 Send in -C to cpp to avoid stripping comments.
1613 * tests/parser/foo-object.h:
1614 * tests/parser/Foo-expected.gidl:
1615 Add deprecated directive
1617 2007-12-27 Johan Dahlin <johan@gnome.org>
1619 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1620 escape ' and " so it looks more like C.
1623 Unlink temporary file used.
1625 2007-12-27 Johan Dahlin <johan@gnome.org>
1627 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1628 (g_igenerator_start_preprocessor), (main):
1630 * src/scannerparser.y:
1631 Plug a couple of simple memory leaks.
1633 2007-12-27 Johan Dahlin <johan@gnome.org>
1635 * src/scanner.c: (g_igenerator_parse_macros),
1636 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1639 * src/scannerparser.y:
1640 * tests/parser/Makefile.am:
1642 Improve error reporting, return when the preprocessor fails.
1643 Add a verbose parameter, to aid debugging.
1644 Revert to using a temporary file to communicate between the
1645 preprocessor and the parser, because we need to wait for
1646 the exit code from the pre-processor before starting to parse.
1648 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1650 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1651 cparser.y to scannerparser.y
1653 2007-12-11 Johan Dahlin <johan@gnome.org>
1657 * src/scanner.c: (g_igenerator_new):
1659 Get rid of the global the_generator variable.
1661 2007-12-10 Johan Dahlin <johan@gnome.org>
1663 * src/scanner.c (main): Add an output option,
1664 add checks for required parameters
1667 set BUILD_SOURCES and CLEANFILES properly
1669 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1670 (g_writer_write_indent), (g_writer_write_unindent),
1671 (field_generate), (value_generate), (constant_generate),
1672 (property_generate), (function_generate), (vfunc_generate),
1673 (signal_generate), (interface_generate), (struct_generate),
1674 (union_generate), (boxed_generate), (enum_generate),
1675 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1677 * src/scanner.c: (g_igenerator_generate):
1679 * src/scannerwriter.c:
1681 Refactor scannerwriter to only be tied to a GIdlModule and move
1682 it (again!) to gidlwriter.c. Change the writer function to take
1685 2007-12-10 Johan Dahlin <johan@gnome.org>
1688 * src/scanner.c: (g_igenerator_generate):
1690 * src/scannerwriter.c: (g_igenerator_write_inline),
1691 (g_igenerator_write), (g_igenerator_write_indent),
1692 (g_igenerator_write_unindent), (field_generate), (value_generate),
1693 (constant_generate), (property_generate), (function_generate),
1694 (vfunc_generate), (signal_generate), (interface_generate),
1695 (struct_generate), (union_generate), (boxed_generate),
1696 (enum_generate), (node_generate), (module_generate),
1697 (g_scanner_write_file):
1699 Move the scanner gidl writing to a separate source file.
1701 2007-12-10 Johan Dahlin <johan@gnome.org>
1706 Move over all CType construction functions.
1708 * tests/parser/Makefile.am:
1709 Be verbose when printing parsing tests results.
1711 2007-12-10 Johan Dahlin <johan@gnome.org>
1713 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1714 preprocessor handling to here. Start cpp insteado of cc -E,
1715 always include -U__GNUC__, since it's specific to the preprocessor
1718 * tests/parser/Makefile.am (check-local): Silent diff and skip
1719 -U__GNUC__ which is always defined now
1721 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1723 reviewed by: <delete if not using a buddy>
1725 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1726 * tests/parser/Makefile.am:
1728 2007-12-09 Johan Dahlin <johan@gnome.org>
1731 Use GOption for command line options.
1732 (g_igenerator_new, main): Simplify constructor and they way
1733 parameters are passed into it.
1739 * src/gen-introspect.c:
1740 * src/gen-introspect.h:
1742 Rename gen-introspect.[ch] to scanner.[ch]
1744 2007-12-09 Johan Dahlin <johan@gnome.org>
1748 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1749 don't make the repository library and the other utilites link against
1752 * src/gen-introspect.c: (g_igenerator_create_object),
1753 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1754 (g_igenerator_create_enum), (g_igenerator_create_flags),
1755 (g_igenerator_process_module_symbol),
1756 (g_igenerator_process_module), (g_igenerator_generate), (main):
1757 * src/gen-introspect.h:
1758 Refactor g_igenerator_process_types into smaller pieces.
1760 * tests/parser/Makefile.am:
1761 Depend on the gen-introspect binary
1763 2007-12-09 Johan Dahlin <johan@gnome.org>
1765 * src/gen-introspect.c (g_igenerator_process_types):
1766 Break into smaller pieces, one for each generated node type.
1768 2007-12-08 Johan Dahlin <johan@gnome.org>
1770 * src/gen-introspect.c: (g_igenerator_process_types),
1771 (g_igenerator_add_module):
1772 * tests/parser/Foo-expected.gidl:
1773 * tests/parser/foo-object.h:
1774 * tests/parser/foo.c: (foo_subobject_class_init),
1775 (foo_subobject_init):
1777 Add a subobject test and make sure to register defined classes
1778 in the lookup symbol hash table.
1780 2007-12-08 Johan Dahlin <johan@gnome.org>
1784 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1785 (g_igenerator_process_types), (g_igenerator_add_module),
1786 (g_igenerator_add_include_idl), (main):
1787 * src/gen-introspect.h:
1788 * tests/parser/Makefile.am:
1789 * tests/parser/Foo-expected.gidl:
1791 Change the gen-introspect to generate namespaced module names,
1792 such as GLib.Object instead of GObject.
1793 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1794 add a --include-idl parameter to gen-introspect,
1795 and update the parser test.
1797 2007-12-08 Johan Dahlin <johan@gnome.org>
1799 * src/gen-introspect.c:
1800 Move main to the end of the file and attempt to make it valid
1803 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1804 we're not quite ready to generate metadata yet.
1809 Add a simple gen-introspect parser test
1811 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1813 reviewed by: Johan Dahlin <johan@gnome.org>
1816 * gobject-introspection.pc.in:
1818 * src/compiler.c: (format_output), (write_out_metadata), (main):
1819 * src/gen-introspect.c: (main):
1820 * src/gen-introspect.h:
1821 * src/generate.c: (write_callable_info), (write_repository),
1822 (load_metadata), (main):
1823 * src/gidlmodule.c: (g_idl_module_new),
1824 (g_idl_module_build_metadata):
1826 * src/gidlparser.c: (start_element_handler):
1827 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1828 (g_base_info_get_name), (g_base_info_get_namespace),
1829 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1830 (g_base_info_get_metadata), (g_function_info_get_symbol),
1831 (g_function_info_get_flags), (g_function_info_get_property),
1832 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1833 (g_callable_info_may_return_null),
1834 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1835 (g_callable_info_get_arg), (g_arg_info_get_direction),
1836 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
1837 (g_arg_info_is_optional), (g_arg_info_may_be_null),
1838 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
1839 (g_type_info_get_tag), (g_type_info_get_param_type),
1840 (g_type_info_get_interface), (g_type_info_get_array_length),
1841 (g_type_info_is_zero_terminated),
1842 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1843 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
1844 (g_value_info_get_value), (g_field_info_get_flags),
1845 (g_field_info_get_size), (g_field_info_get_offset),
1846 (g_registered_type_info_get_type_name),
1847 (g_registered_type_info_get_type_init),
1848 (g_struct_info_get_n_fields), (g_struct_info_get_field),
1849 (g_struct_info_get_n_methods), (g_struct_info_get_method),
1850 (find_method), (g_struct_info_find_method),
1851 (g_enum_info_get_n_values), (g_enum_info_get_value),
1852 (g_object_info_get_parent), (g_object_info_get_type_name),
1853 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
1854 (g_object_info_get_interface), (g_object_info_get_n_fields),
1855 (g_object_info_get_field), (g_object_info_get_n_properties),
1856 (g_object_info_get_property), (g_object_info_get_n_methods),
1857 (g_object_info_get_method), (g_object_info_find_method),
1858 (g_object_info_get_n_signals), (g_object_info_get_signal),
1859 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
1860 (g_object_info_get_n_constants), (g_object_info_get_constant),
1861 (g_interface_info_get_n_prerequisites),
1862 (g_interface_info_get_prerequisite),
1863 (g_interface_info_get_n_properties),
1864 (g_interface_info_get_property), (g_interface_info_get_n_methods),
1865 (g_interface_info_get_method), (g_interface_info_find_method),
1866 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
1867 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
1868 (g_interface_info_get_n_constants),
1869 (g_interface_info_get_constant), (g_property_info_get_flags),
1870 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
1871 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
1872 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
1873 (g_constant_info_get_value), (g_union_info_get_n_fields),
1874 (g_union_info_get_field), (g_union_info_get_n_methods),
1875 (g_union_info_get_method), (g_union_info_is_discriminated),
1876 (g_union_info_get_discriminator_offset),
1877 (g_union_info_get_discriminator):
1878 * src/ginvoke.c: (g_function_info_invoke):
1879 * src/girepository.c: (g_irepository_register),
1880 (g_irepository_unregister), (g_irepository_get_default),
1881 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
1882 (g_irepository_get_info), (g_irepository_find_by_name),
1883 (g_irepository_get_shared_library),
1884 (g_irepository_build_search_path), (g_irepository_register_file),
1885 (g_irepository_error_quark):
1886 * src/girepository.h:
1887 * src/gmetadata.c: (g_metadata_get_dir_entry),
1888 (g_metadata_check_sanity), (validate_header),
1889 (validate_array_type_blob), (validate_iface_type_blob),
1890 (validate_param_type_blob), (validate_error_type_blob),
1891 (validate_type_blob), (validate_arg_blob),
1892 (validate_signature_blob), (validate_function_blob),
1893 (validate_callback_blob), (validate_constant_blob),
1894 (validate_value_blob), (validate_field_blob),
1895 (validate_property_blob), (validate_signal_blob),
1896 (validate_vfunc_blob), (validate_struct_blob),
1897 (validate_enum_blob), (validate_object_blob),
1898 (validate_interface_blob), (validate_errordomain_blob),
1899 (validate_union_blob), (validate_blob), (validate_directory),
1900 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
1901 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
1902 (g_metadata_new_from_mapped_file), (g_metadata_free),
1903 (g_metadata_set_module), (g_metadata_get_namespace):
1905 * tests/Makefile.am:
1906 * tests/invoke/Makefile.am:
1907 * tests/invoke/invoke-namespace-find.sh:
1908 * tests/invoke/invoke.c: (main):
1910 Add a namespace/shared library mapping. fixes #313268.
1912 2007-12-03 Johan Dahlin <johan@gnome.org>
1914 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
1917 2007-11-30 Jürg Billeter <j@bitron.ch>
1923 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
1924 (g_igenerator_write_inline), (g_igenerator_write),
1925 (g_igenerator_write_indent), (g_igenerator_write_unindent),
1926 (field_generate), (value_generate), (constant_generate),
1927 (property_generate), (function_generate), (vfunc_generate),
1928 (signal_generate), (interface_generate), (struct_generate),
1929 (union_generate), (boxed_generate), (enum_generate),
1930 (node_generate), (module_generate), (get_type_from_type_id),
1931 (str_replace), (g_igenerator_process_properties),
1932 (g_igenerator_process_signals), (g_igenerator_process_types),
1933 (get_type_from_ctype), (g_igenerator_process_function_symbol),
1934 (g_igenerator_process_unregistered_struct_typedef),
1935 (g_igenerator_process_struct_typedef),
1936 (g_igenerator_process_union_typedef),
1937 (g_igenerator_process_enum_typedef),
1938 (g_igenerator_process_function_typedef),
1939 (g_igenerator_process_constant), (g_igenerator_process_symbols),
1940 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
1941 (g_igenerator_generate), (main), (csymbol_new),
1942 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
1943 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
1944 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
1945 (eat_hspace), (eat_line), (read_identifier),
1946 (g_igenerator_parse_macros):
1947 * src/gen-introspect.h:
1949 Import gen-introspect to generate introspection information by
1952 2007-11-30 Jürg Billeter <j@bitron.ch>
1954 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
1956 2007-11-30 Jürg Billeter <j@bitron.ch>
1958 * src/gidlparser.c: (end_element_handler): Don't leave requires
1961 2007-11-29 Johan Dahlin <johan@gnome.org>
1963 * src/gidlparser.c (parse_type_internal): Add char,
1964 gchar and guchar to the builtin types.
1966 2007-11-26 Johan Dahlin <johan@gnome.org>
1968 * src/ginfo.c: (g_object_info_get_type_name),
1969 (g_object_info_get_type_init):
1970 * src/girepository.c: (g_irepository_is_registered):
1971 * src/girepository.h:
1973 Add g_object_info_get_type_name, g_object_info_get_type_init and
1974 g_irepository_is_registered.
1976 2006-08-14 Jürg Billeter <j@bitron.ch>
1978 * src/gidlparser.c: (end_element_handler): Don't leave
1979 namespace and implements states too early.
1982 2007-11-26 Johan Dahlin <johan@gnome.org>
1984 * src/gmetadata.c (validate_struct_blob):
1985 pass blob_type to validate_function_blob instead of
1986 hard-coding BLOB_TYPE_STRUCT.
1988 Patch by Torsten Schoenfeld, fixes #314190
1990 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
1992 * src/compiler.c, src/generate.c, src/gidlnode.c,
1993 src/gidlparser.c, src/ginfo.c, src/girepository.c,
1994 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
1995 warnings about return values, signedness mismatches, unused
1996 variables, and unhandles enum values in switch statements.
1998 * tests/invoke/Makefile.am: Don't install the invoke test program.
1999 Add -I ../../src to the cflags used for the test functions files.
2001 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2003 * src/girepository.h: Export g_invoke_error_quark.
2005 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2007 * src/ginvoke.c: Remove the fallback implementation of
2008 g_function_info_invoke since we now formally depend on libffi.
2010 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2012 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2013 Remove these files from cvs, as they are now generated.
2015 * src/gmetadata.c (validate_iface_type_blob): Don't
2016 complain if blob->pointer is not set, since that
2017 happens for enum and flag types. (#308935, Gustavo
2020 * Commit an autoconf-conversion patch by
2021 Gustavo Carneiro (#308708)
2023 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2025 * src/compiler.c (main): Use it here to validate
2026 the generated metadata.
2028 * src/gmetadata.[hc]: Add code to validate a
2031 * metadata-format.txt: Updates
2033 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2035 * tests/*: Add struct offsets to field and vfunc
2038 * src/generate.c (write_vfunc_info): Write offset
2039 information for vfuncs.
2041 * src/gidlnode.c (g_idl_node_build_metadata): Write
2042 the struct offsets into the metadata.
2044 * src/gidlparser.c: Parse the offset attributes of
2045 field and vfunc elements.
2047 * src/gidlnode.h: Add offset members to field and
2050 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2054 * gidl.dtd: Updates.
2056 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2057 file, creates, compiles and runs a C file, and folds the
2058 resulting struct offsets back into the .gidl file.
2060 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2062 * src/gidlparser.c (start_field): Make fields in objects
2065 * src/gidlmodule.c: Include string.h
2070 * metadata-format.txt: Cleanup basic types.
2071 * src/*: Adapt to the changes.
2072 * tests/*: Adapt to the changes.
2073 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2075 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2076 size for enum blobs.
2077 (g_idl_node_get_full_size): Report the correct size for
2080 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2081 error checking for blob sizes.
2083 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2085 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2086 interface types for which is_pointer is FALSE, e.g. enums.
2088 * src/gidlnode.c (g_idl_node_get_full_size)
2089 * src/gidlparser.c (parse_type_internal):
2090 * src/generate.c (write_type_info): Support unspecialized
2091 lists, hashtables and errors. Also emit a '*' after these.
2095 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2099 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2101 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2103 * src/*.c: Change the directory to be addressed by
2104 1-based indexes, and use an index of zero to mean
2107 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2109 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2111 * tests/union.test: Add a union test.
2113 * src/generate.c: Handle unions.
2115 * src/girepository.h:
2116 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2118 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2120 * src/gidlparser.c (start_union): Parse <union> elements.
2122 * src/gidlnode.h: Add a GIdlNodeUnion.
2124 * gidl.dtd: Add a <union> element.
2126 * src/gmetadata.c (g_metadata_check_sanity): Check
2129 * src/gmetadata.h: Add union_blob_size to Header,
2132 * metadata-format.txt: Add a UnionBlob.
2134 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2136 * tests/*: Update testcases.
2138 * src/generate.c (write_callable_info): Don't forget to
2139 write transfer and null-ok attributes for return types
2142 * src/girepository.h:
2143 * src/ginfo.c (g_callable_info_may_return_null):
2144 New function to find out if a function may return NULL.
2146 * src/compiler.c (format_output): Make the generated
2149 * README: Point to a recent libffi snapshot.
2151 * tests/invoke/*: Some invoke tests.
2153 * src/Makefile: Add ginvoke.c and the necessary
2156 * src/girepository.h (g_function_info_invoke): Add
2159 * src/ginvoke.c (g_function_info_invoke): Initial
2160 implementation of invoke functionality based on libffi.
2162 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2163 strings and types hash tables in the right order when
2165 (find_entry_node): Free the name parts.
2167 2005-05-12 Johan Dahlin <johan@gnome.org>
2169 * src/generate.c: Generate consistent end tags.
2173 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2177 * src/gidlparser.c (start_function): Actually add
2178 methods to objects. (Steven Walter)
2180 * src/girepository.h:
2181 * src/ginfo.c: Rename Transfer and Direction to
2182 GITransfer and GIDirection. (Torsten Schoenfeld)
2184 * tests/*: Make tests work with the changes in name
2187 * src/gidlnode.c (find_entry_node): Parse qualified
2188 names and generate xref nodes for them if needed. Don't
2189 require all modules to be loaded any more.
2191 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2194 * src/ginfo.c (g_object_info_get_parent): Return NULL
2195 if blob->parent is 0. Still need to make sure index
2198 * src/generate.c: Generate qualified names when
2199 referring to non-local types. Emit transfer attribute
2202 * src/compiler.c (format_output): Put the function
2203 attributes where gcc accepts them.
2205 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2207 * src/compiler.c (main): Add a --verbose cmdline option
2208 and only log messages if it is specified.
2211 * src/gidlnode.c (init_stats, dump_stats): Collect some
2212 statistics on string and type sharing.
2214 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2215 g_message() instead of fprintf().
2217 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2218 (g_idl_node_get_size): Implement for structs.
2219 (g_idl_node_get_full_size): Handle parent being NULL.
2220 (serialize_type): Handle lookup failures more gracefully.
2222 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2224 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2225 size calculation for 2-parameter types and for objects.
2227 * src/compiler.c: Add a cmdline option for debug output
2228 and install a log handler to implement it.
2229 * src/gidlnode.c: Add some debug spew.
2233 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2234 forget to count the module name when calculating the
2235 required size for the metadata.
2238 * src/gidlparser.c: Fix compiler warnings.
2240 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2242 * src/compiler.c (main): Free the option context.
2244 * gidl.dtd: Clean up handling of names. All elements
2245 have a "name", only the elements corresponding to
2246 actual callable functions (function, method, constructor),
2247 have an additional "symbol" attribute holding the
2248 dlsym()-able function name.
2250 * src/generate.c: Adapt to generate xml matching the
2254 * src/gidlnode.c: Adapt to parse the new dtd.
2256 * tests/*.test: Adjust to the new dtd.
2258 * metadata-format.txt:
2259 * src/gmetadata.h: Remove the short_name field
2261 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2262 * src/girepository.h:
2263 * src/ginfo.c (g_value_info_get_short_name): Removed
2265 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2267 * gidl.dtd: Allow constructors for boxed types,
2268 patch by Jonathan Blandford.
2271 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2273 * --- Initial import ---