1 2008-08-12 Colin Walters <walters@verbum.org>
3 * giscanner/glibtransformer.py: Also transform callbacks
4 and structure field types.
5 * tests/scanner/Fooe-expected.gir: Update to expect correct
6 names for callbacks and structs.
8 2008-08-12 Colin Walters <walters@verbum.org>
10 * girepository/girparser.c: Handle 'any'.
11 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
14 2008-08-12 Colin Walters <walters@verbum.org>
16 * giscanner/glibtransformer.py: We need to do type
17 resolution in a second pass after we've seen all the
20 2008-08-12 Colin Walters <walters@verbum.org>
22 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
23 Add enum return value.
24 * giscanner/glibtransformer.py: Transform function return types
27 2008-08-12 Colin Walters <walters@verbum.org>
29 * tests/scanner/Makefile.am: Dep .gir files on scanner
30 sources too. Also remove @ so we see scanner invocations.
32 2008-08-12 Colin Walters <walters@verbum.org>
34 * girepository/girparser.c, girepository/gtypelib.c,
35 girepository/gtypelib.h, girepository/girnode.c:
36 Remove usage of (GAPI-oriented) TypeTag in favor of
37 GITypeTag from girepository.h.
39 2008-08-10 Colin Walters <walters@verbum.org>
41 * tests/roundtrips.sh: Use the correct tests.
43 2008-08-10 Colin Walters <walters@verbum.org>
45 * giscanner/cgobject.py: Declare/wrap a few more functions.
46 Fix parameter types for g_object_new and g_type_fundamental.
48 2008-08-10 Colin Walters <walters@verbum.org>
50 * giscanner/cgobject.py: Add new decorator @gwrap which forces
51 us to declare types for both return value and parameters. The
52 ctypes default of 'int' is bad because it hides 32/64 bit
53 problems. Convert all existing functions to use it.
55 2008-08-09 Johan Dahlin <johan@gnome.org>
57 * giscanner/__init__.py:
59 * giscanner/cgobject.py:
60 * giscanner/gidlparser.py:
61 * giscanner/gidlwriter.py:
62 * giscanner/girparser.py:
63 * giscanner/girwriter.py:
64 * giscanner/glibast.py:
65 * giscanner/glibtransformer.py:
67 * giscanner/sourcescanner.py:
68 * giscanner/transformer.py:
70 * giscanner/xmlwriter.py:
75 2008-08-09 Johan Dahlin <johan@gnome.org>
78 * relaxng/c-types.xml:
79 * relaxng/g-types.xml:
80 * relaxng/relaxng.rng:
82 Remove outdated relaxng schemas.
84 2008-08-09 Johan Dahlin <johan@gnome.org>
87 Rename metadata to typelib in variable names,
90 2008-08-09 Johan Dahlin <johan@gnome.org>
94 Remove old C scanner, which got rewritten in python.
96 2008-08-09 Johan Dahlin <johan@gnome.org>
98 * girepository/Makefile.am:
108 Move shared *.[ch] files to girepository from tools
110 2008-08-09 Johan Dahlin <johan@gnome.org>
115 * tests/constant.test:
118 * tests/function.test:
119 * tests/gobject.test:
120 * tests/interface.test:
127 Rename *.test to *.gir
129 2008-08-09 Johan Dahlin <johan@gnome.org>
133 * tests/parser/Foo-expected.gir:
134 * tests/parser/Makefile.am:
135 * tests/parser/foo-object.h:
136 * tests/parser/foo.c:
137 * tests/parser/utility-expected.gir:
138 * tests/parser/utility.c:
139 * tests/parser/utility.h:
140 * tests/scanner/Makefile.am:
141 Rename tests/parser to test/scanner
143 2008-08-08 Colin Walters <walters@verbum.org>
145 * tests/roundtrips.sh: Use local .gir files again.
147 2008-08-08 Colin Walters <walters@verbum.org>
149 * tests/invoke/Makefile.am: .gir file depends on libtool
152 2008-08-08 Colin Walters <walters@verbum.org>
154 * tools/girnode.c: Pass through parent node so we can
155 print the node whose child is NULL, if that occurs.
157 2008-08-08 Johan Dahlin <johan@gnome.org>
160 Disable roundtrip tests which are not yet working
161 * tests/invoke/testfns.gir:
164 2008-08-08 Johan Dahlin <johan@gnome.org>
166 * giscanner/girwriter.py:
168 * giscanner/glibast.py:
169 * giscanner/glibtransformer.py:
170 Swap order of members, to keep it consistent with
173 2008-08-08 Johan Dahlin <johan@gnome.org>
175 * girepository/gtypelib.c (validate_header):
176 * girepository/gtypelib.h:
178 * giscanner/girwriter.py:
179 * giscanner/sourcescanner.c (gi_source_symbol_ref),
180 (gi_source_symbol_unref):
183 * tests/constant.test:
186 * tests/function.test:
187 * tests/gobject.test:
188 * tests/interface.test:
189 * tests/invoke/Makefile.am:
190 * tests/invoke/testfns.xml:
192 * tests/parser/Makefile.am:
193 * tests/roundtrips.sh:
200 * tools/compiler.c (main):
201 * tools/generate.c (write_callable_info), (write_function_info),
203 * tools/gidlmodule.c:
204 * tools/gidlmodule.h:
207 * tools/gidlparser.c:
208 * tools/gidlparser.h:
209 * tools/gidlwriter.c:
210 * tools/gidlwriter.h:
211 * tools/scanner.c (create_node_from_gtype),
212 (create_node_from_ctype), (g_igenerator_process_properties),
213 (g_igenerator_process_signals), (g_igenerator_create_object),
214 (g_igenerator_create_interface), (g_igenerator_create_boxed),
215 (g_igenerator_create_enum), (g_igenerator_create_flags),
216 (g_igenerator_process_function_symbol),
217 (g_igenerator_process_unregistered_struct_typedef),
218 (g_igenerator_process_struct_typedef),
219 (g_igenerator_process_union_typedef),
220 (g_igenerator_process_enum_typedef),
221 (g_igenerator_process_function_typedef),
222 (g_igenerator_process_constant), (g_igenerator_process_symbols),
223 (g_igenerator_add_module), (g_igenerator_add_include_idl):
224 Merge in the gir-compiler branch.
225 Thanks to Philip and Colin for their help.
227 2008-07-26 Colin Walters <walters@verbum.org>
229 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
230 and g-idl-generate to go along with how we're changing this
231 module to be installed.
232 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
234 2008-07-24 Colin Walters <walters@verbum.org>
236 * girepository/girepository.c (g_irepository_register): Add
237 environment variable G_IREPOSITORY_VERBOSE so we can print
238 out what we're doing.
239 * girepository/girepository.c (g_irepository_register_file):
240 Add GError error message to g_debug call.
242 2008-07-08 Jürg Billeter <j@bitron.ch>
244 * giscanner/glibast.py:
248 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
250 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
253 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
256 * giscanner/girwriter.py:
257 * giscanner/transformer.py:
258 * tests/parser/Foo-expected.gir:
259 * tests/parser/foo-object.h:
260 * tests/parser/foo.c (foo_object_allow_none):
261 Add support for gtk-doc annotations for allow-none.
264 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
267 * giscanner/girwriter.py:
268 * giscanner/glibast.py:
269 * giscanner/glibtransformer.py:
270 * giscanner/transformer.py:
271 * tests/parser/Foo-expected.gir:
272 Start using abstract type instead of the raw C types.
273 Register a bunch of glib types we care about.
275 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
280 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
282 * girepository/girepository.c:
283 * girepository/gtypelib.c:
284 * girepository/ginfo.c:
285 * girepository/ginvoke.c:
286 * girepository/girepository.h:
287 * girepository/gtypelib.h:
288 * girepository/gmetadata.c:
289 * girepository/Makefile.am:
290 * girepository/gmetadata.h:
292 * tools/gidlmodule.c:
295 * tools/gidlmodule.h:
296 * tools/gidlparser.c:
298 Renamed GMetadata to GTypelib
300 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
302 * giscanner/xmlwriter.py:
303 Improve line wrapping when > 79 charaters
305 2008-06-05 Jürg Billeter <j@bitron.ch>
308 * giscanner/girwriter.py:
309 * giscanner/transformer.py:
310 Use <type> element for field types
311 * tests/parser/Foo-expected.gir:
314 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
316 * giscanner/glibtransformer.py:
317 Fix a bug which prevented GdkEvent from being generated
319 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
321 * giscanner/Makefile.am:
323 * giscanner/girwriter.py:
324 * giscanner/glibast.py:
325 * giscanner/glibtransformer.py:
326 * giscanner/transformer.py:
327 * giscanner/utils.py:
328 * tests/parser/Foo-expected.gir:
329 Improve enum member parsing and introspection
331 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
333 * giscanner/scannerparser.y:
334 * giscanner/sourcescanner.h:
335 * giscanner/sourcescanner.py:
336 Add a new source type enum for member.
337 Use __repr__ for improved debugging
338 * giscanner/girparser.py:
340 * giscanner/transformer.py:
341 Improve parsing of struct members.
342 * tests/parser/foo-object.h:
345 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
347 * giscanner/xmlwriter.py:
348 Improve error reporting when trying to quote None.
349 * giscanner/girparser.py:
350 Do not print warnings when including more complete .gir files
351 * giscanner/girwriter.py:
352 Do not require a name for parameters, add a todo for singletons
353 * giscanner/glibtransformer.py:
354 Refactor the way structs are done, add a couple of hacks to allow
356 * giscanner/transformer.py:
357 Add enough hacks so cairo, atk and pango.gir can be parsed properly
358 * gobject-introspection-1.0.pc.in:
359 Export girdir, so we can access gobject-2.0.gir from outside
361 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
363 * tools/g-ir-scanner:
364 * tests/parser/Makefile.am:
365 Update sys.path before running the parser so we don't have
366 to setup PYTHONPATH ourselves.
370 * girepository/Makefile.am:
371 * giscanner/transformer.py:
372 * gobject-introspection-1.0.pc.in:
373 * gobject-introspection.pc.in:
376 Rename pkg-config name to gobject-introspection-1.0,
377 Do not installed anything which is not using the gir format.
378 Disable compililation the old C scanner, but still keep the source
379 until all the remaning functionallity has been ported.
381 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
383 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
384 a crash when symbol->indent is NULL.
386 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
387 a function to convert a CTYPE symbol to a string
389 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
392 * giscanner/girwriter.py:
393 * giscanner/giscannermodule.c
394 (pygi_source_scanner_append_filename),
395 (pygi_source_scanner_parse_file):
396 * giscanner/glibtransformer.py:
397 * giscanner/sourcescanner.py:
398 Revert back to using temporary files to send in headers.
399 Allow Functions to be passed in as callbacks, add a couple
400 of try/excepts missing features.
401 We can now scan pango
403 2008-05-08 Johan Dahlin <johan@gnome.org>
405 * giscanner/glibtransformer.py:
406 * giscanner/transformer.py:
407 Move namespace stripping glibtransformer->transformer
409 2008-05-08 Johan Dahlin <johan@gnome.org>
412 * giscanner/girwriter.py:
413 * giscanner/glibtransformer.py:
414 * giscanner/transformer.py:
415 * tools/g-ir-scanner:
416 Introduce a namespace ast node
418 2008-05-05 Johan Dahlin <johan@gnome.org>
420 * giscanner/__init__.py:
421 * giscanner/sourcescanner.py:
422 * giscanner/transformer.py:
423 Move sourcescanner symbols to the sourcescanner module, instead
424 of in the global __init__ namespace.
426 2008-05-03 Johan Dahlin <johan@gnome.org>
428 * giscanner/glibtransformer.py:
429 * tools/g-ir-scanner:
430 Handle missing parameters better, allow - and + in .la dlname
433 2008-05-03 Johan Dahlin <johan@gnome.org>
435 * giscanner/__init__.py:
437 * giscanner/girwriter.py:
438 * giscanner/glibtransformer.py:
439 * giscanner/transformer.py:
440 Parse struct fields properly, improve debugging.
442 2008-04-29 Johan Dahlin <johan@gnome.org>
445 * giscanner/girwriter.py:
446 * giscanner/transformer.py:
447 * tests/parser/Foo-expected.gir:
449 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
451 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
454 * docs/g-ir-scanner.1:
455 * metadata-annotations-proposal.txt:
456 * metadata-format.txt:
457 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
459 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
461 * giscanner/girwriter.py:
462 * giscanner/glibtransformer.py:
463 * giscanner/transformer.py:
464 * giscanner/xmlwriter.py:
465 * tests/parser/Foo-expected.gir:
466 * tests/parser/foo-object.h:
467 Write record/structs to gir file too. Add a couple of tests,
468 fix an off by one error in xmlwriter.py.
470 2008-04-28 Johan Dahlin <johan@gnome.org>
472 * giscanner/xmlwriter.py: Calculate the line length properly,
473 include the provided extra indentation in the calculation, really.
475 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
478 * giscanner/glibast.py:
479 * giscanner/glibtransformer.py:
480 * giscanner/transformer.py:
481 * tools/g-ir-scanner:
482 Add a --strip-prefix and sort out confusion between names and symbols
483 for functions and struct + derivaties.
484 Refactor bootstrap of g-ir-scanner, so we can set options on
485 Transformer() before parsing everything.
487 2008-04-28 Johan Dahlin <johan@gnome.org>
489 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
490 when scanning girepository.h
492 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
493 a __GI_SCANNER__ when we run.
495 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
498 * giscanner/girwriter.py:
499 * giscanner/glibast.py:
500 * giscanner/glibtransformer.py:
501 * tests/parser/Foo-expected.gir:
502 * tests/parser/utility-expected.gir:
503 Rename most c:identifier to c:type. Add new ones to
504 class/interface/enum/boxed.
506 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
509 * giscanner/girwriter.py:
510 * giscanner/glibtransformer.py:
511 * tests/parser/Foo-expected.gidl:
512 * tests/parser/Makefile.am:
513 Move c:identifier from return-value to subchild type,
514 as per Jürgs suggestion
516 2008-04-28 Johan Dahlin <johan@gnome.org>
518 * giscanner/girwriter.py:
519 * tests/parser/Foo-expected.gir:
520 Write property.type as a child node.
522 2008-04-27 Johan Dahlin <johan@gnome.org>
527 * gidl/gobject-2.0.gidl:
529 * gir/gobject-2.0.gir:
530 * tests/parser/Makefile.am:
531 Replace the GObject gidl with a GObject gir.
533 2008-04-27 Johan Dahlin <johan@gnome.org>
535 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
538 * giscanner/xmlwriter.py:
539 * tests/parser/Foo-expected.gir:
540 Include indentation in line length calculation
542 2008-04-27 Johan Dahlin <johan@gnome.org>
544 * giscanner/girparser.py:
545 Prettify NS parsing using elementtree.
547 2008-04-27 Johan Dahlin <johan@gnome.org>
550 * giscanner/Makefile.am:
551 * giscanner/girparser.py:
552 * giscanner/glibtransformer.py:
553 * tests/parser/Foo-expected.gidl:
554 * tests/parser/Foo-expected.gir:
555 * tests/parser/Makefile.am:
556 * tests/parser/utility-expected.gidl:
557 * tests/parser/utility-expected.gir:
558 * tools/g-ir-scanner:
559 Switch over to GIR as the default format. Add a simple GIDL
561 Update tests and fix simplify makefiles by depending
562 on GNU make extensions.
564 2008-04-27 Johan Dahlin <johan@gnome.org>
566 * giscanner/xmlwriter.py:
567 Wrap attributes for lines which are wider than 79 characters
569 * giscanner/scannerlexer.l:
570 Allow parenthesis in annotations
573 * giscanner/gidlwriter.py:
574 * giscanner/girwriter.py:
575 * giscanner/glibtransformer.py:
576 * giscanner/transformer.py:
577 Add initial sequence support, including annotation.
578 Refactor type handling a bit.
580 2008-04-27 Johan Dahlin <johan@gnome.org>
582 * tests/parser/Foo-expected.gidl:
583 * tests/parser/foo-object.h:
584 * tests/parser/foo.c (foo_object_class_init),
585 (foo_object_get_strings), (foo_object_get_objects):
586 Add two new functions to check sequence return values.
587 Also fixes a compilation warning.
589 2008-04-27 Johan Dahlin <johan@gnome.org>
591 * giscanner/giscannermodule.c (]): Cast the getter, avoids
592 a compilation warning.
594 * tools/Makefile.am (g_ir_scanner_SOURCES):
595 g-ir-scanner has no sources.
597 2008-04-25 Johan Dahlin <johan@gnome.org>
599 * giscanner/Makefile.am:
601 * giscanner/gidlparser.py:
602 * giscanner/gidlwriter.py:
603 * giscanner/girwriter.py:
604 * giscanner/glibast.py:
605 * giscanner/glibtransformer.py:
606 * giscanner/transformer.py:
607 Split out nodes to ast.py and glibast.py
609 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
611 * giscanner/Makefile.am:
612 * giscanner/gidlparser.py:
613 * giscanner/gidlwriter.py:
614 * giscanner/girwriter.py:
615 * giscanner/glibtransformer.py:
616 * giscanner/gobjecttreebuilder.py:
617 * giscanner/transformer.py:
618 * giscanner/treebuilder.py:
619 * tools/g-ir-scanner:
620 Rename treebuilder to transformer and
621 gobjectreebuilder to glibtransformer.
623 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
625 * giscanner/Makefile.am:
626 * giscanner/__init__.py:
627 * giscanner/cgobject.py:
628 * giscanner/gidlparser.py:
629 * giscanner/gidlwriter.py:
630 * giscanner/girwriter.py:
631 * giscanner/gobjecttreebuilder.py:
632 * giscanner/odict.py:
633 * giscanner/sourcescanner.py:
634 * giscanner/treebuilder.py:
635 * giscanner/xmlwriter.py:
637 * tools/g-ir-scanner:
638 Add LGPLv2 license header and install all python files
640 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
643 * giscanner/gidlwriter.py:
644 * giscanner/giscannermodule.c (pygi_source_directive_new),
645 (directive_get_options), (pygi_source_symbol_new),
646 (symbol_get_base_type), (pygi_source_type_new),
647 (type_get_base_type), (type_get_child_list),
648 (pygi_source_scanner_get_symbols),
649 (pygi_source_scanner_get_directives):
650 * giscanner/gobjecttreebuilder.py:
651 * giscanner/sourcescanner.py:
652 * giscanner/treebuilder.py:
653 * tests/parser/foo-object.h:
654 Add support for virtual methods.
655 Pair struct FooClass with struct Foo.
656 Clean up the SourceScanner bindings a bit.
657 Add a testcase for virtual methods.
659 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
661 * giscanner/cgobject.py:
662 * giscanner/gidlwriter.py:
663 * giscanner/gobjecttreebuilder.py:
664 Add support for signals
666 * tests/parser/foo.c (foo_object_class_init):
668 Add a signal and update the expected output.
670 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
672 * giscanner/gidlwriter.py:
673 * giscanner/girwriter.py:
674 * giscanner/giscannermodule.c (directive_get_name),
675 (directive_get_value), (directive_get_options),
676 (symbol_get_directives), (symbol_set_directives),
677 (pygi_source_scanner_parse_file),
678 (pygi_source_scanner_lex_filename),
679 (pygi_source_scanner_get_directives), (init_giscanner):
680 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
681 * giscanner/sourcescanner.h:
682 * giscanner/sourcescanner.py:
683 * giscanner/treebuilder.py:
684 * tools/g-ir-scanner:
685 Add support for source/header annotations.
687 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
689 * giscanner/gidlwriter.py:
690 * giscanner/girwriter.py:
691 * giscanner/gobjecttreebuilder.py:
692 * giscanner/treebuilder.py:
693 Add support for Callbacks
695 2008-04-22 Havoc Pennington <hp@pobox.com>
697 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
698 not in metadata->module, look for it in the global module, in case
699 some other object or the app itself provides the symbol.
701 2008-04-22 Havoc Pennington <hp@pobox.com>
703 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
704 dlopening a library that is already in the main app, by checking
705 whether one of the lib's symbols is already loaded.
707 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
709 * tests/parser/Foo-expected.gidl:
710 * tests/parser/foo-object.h:
713 2008-04-22 Havoc Pennington <hp@pobox.com>
715 * girepository/ginfo.c (g_interface_info_find_method):
716 Use interface_blob_size not object_blob_size to compute offset.
718 2008-04-22 Havoc Pennington <hp@pobox.com>
720 * girepository/gmetadata.c (_g_metadata_init): remove
721 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
722 (Glade and Clutter for example) rely on being loaded globally.
724 2008-04-22 Havoc Pennington <hp@pobox.com>
726 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
727 function to get the GType given a RegisteredTypeInfo
729 2008-04-22 Johan Dahlin <johan@gnome.org>
731 * COPYING: Add a LGPL license, to prevent automake to
732 put in a copy of GPL here. Pointed out by Havoc.
734 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
735 (g_type_info_is_pointer), (g_type_info_get_tag),
736 (g_type_info_get_param_type), (g_type_info_get_interface),
737 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
738 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
739 (g_error_domain_info_get_codes), (g_enum_info_get_value),
740 (g_object_info_get_interface), (g_object_info_get_field),
741 (g_interface_info_get_prerequisite),
742 (g_signal_info_get_class_closure), (g_constant_info_get_value):
743 * girepository/ginvoke.c (get_ffi_type):
744 * girepository/girepository.h:
745 * girepository/gmetadata.c (g_metadata_get_dir_entry),
746 (g_metadata_check_sanity), (validate_header),
747 (validate_array_type_blob), (validate_iface_type_blob),
748 (validate_param_type_blob), (validate_error_type_blob),
749 (validate_type_blob), (validate_constant_blob),
750 (validate_struct_blob), (validate_enum_blob):
751 * girepository/gmetadata.h:
753 * tests/invoke/Makefile.am:
754 * tests/invoke/invoke.c (main):
755 * tests/roundtrips.sh:
757 * tools/compiler.c (format_output), (write_out_metadata), (main):
758 * tools/generate.c (write_type_name), (write_type_info),
759 (write_constant_value), (write_enum_info), (load_metadata), (main):
760 * tools/gidlcompilercontext.c:
761 * tools/gidlcompilercontext.h:
762 * tools/gidlcompilerentrynode.c:
763 * tools/gidlcompilerentrynode.h:
764 * tools/gidlcompilertypenode.c:
765 * tools/gidlcompilertypenode.h:
766 * tools/gidlmodule.c (g_idl_module_build_metadata):
767 * tools/gidlmodule.h:
768 * tools/gidlnode.c (init_stats), (dump_stats),
769 (g_idl_node_get_size), (g_idl_node_get_full_size),
770 (g_idl_node_cmp), (g_idl_node_can_have_member),
771 (g_idl_node_add_member), (g_idl_node_param_direction_string),
772 (parse_int_value), (parse_uint_value), (parse_float_value),
773 (parse_boolean_value), (find_entry_node), (find_entry),
774 (serialize_type), (g_idl_node_build_metadata), (write_string):
776 * tools/gidlparser.c (parse_type_internal):
777 * tools/quote-file.sh:
778 Revert revisions 157,149-148,136-129 and 120.
779 Move back to using g-idl-generate to generate the metadata and
780 avoids dependency on a c compiler.
782 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
784 * giscanner/girwriter.py:
785 * tools/g-ir-scanner:
786 Add an initial GIR writer and a --format option to g-ir-scanner
788 2008-04-21 Johan Dahlin <johan@gnome.org>
790 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
791 gobject-2.0 and raise ImportError if not found.
793 * giscanner/gidlparser.py:
794 * giscanner/gidlwriter.py:
795 * giscanner/gobjecttreebuilder.py:
796 * tools/g-ir-scanner:
797 Add a --include argument to include types from other idls.
798 Add a minimalistic GIDL parser (just objects for now)
799 Implement resolving of external type references and use it to
800 resolve parent types, argument types and return types.
802 2008-04-21 Johan Dahlin <johan@gnome.org>
804 * giscanner/gidlwriter.py:
805 * giscanner/gobjecttreebuilder.py:
806 * giscanner/treebuilder.py:
807 Add support for properties.
808 Refactor Class/Interface support a bit, to share more code and
809 always initialize their method attribute to an empty list.
811 2008-04-21 Johan Dahlin <johan@gnome.org>
813 * giscanner/cgobject.py:
814 Add a workaround for a glib bug interface introspection bug
815 (object_interface_list_properties, object_class_list_properties):
816 Cast the return value to GParamSpec.
818 * tests/parser/Foo-expected.gidl: Update
819 * tests/parser/foo.c: Add a string property
821 * giscanner/gobjecttreebuilder.py:
822 After stripping namespaces, remove the original
823 item to avoid duplication (GtkButton struct and Button object)
825 2008-04-21 Johan Dahlin <johan@gnome.org>
827 * giscanner/gobjecttreebuilder.py:
828 * giscanner/treebuilder.py:
829 Strip namespaces before objects, so we'll export
830 GtkButton as Button in the gtk namespace
832 2008-04-21 Johan Dahlin <johan@gnome.org>
834 * giscanner/gidlwriter.py:
835 * giscanner/gobjecttreebuilder.py:
836 * giscanner/treebuilder.py:
837 Add constructors for object/boxed types.
839 2008-04-21 Johan Dahlin <johan@gnome.org>
841 * giscanner/gidlwriter.py:
842 * giscanner/gobjecttreebuilder.py:
843 Add support for boxed types
845 2008-04-21 Johan Dahlin <johan@gnome.org>
847 * giscanner/giscannermodule.c: Mark structures as const,
848 wrap SourceType.const_string.
850 * tests/parser/foo-object.h: Add a couple of constants.
852 * giscanner/gidlwriter.py:
853 * giscanner/gobjecttreebuilder.py:
854 * giscanner/treebuilder.py:
855 Add basic support for interfaces
857 * tools/g-ir-scanner:
858 Add -o/--output for writing to a file
860 2008-04-21 Havoc Pennington <hp@redhat.com>
862 * TODO: add some C API wishlist items I could think of quickly
864 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
866 * giscanner/gidlwriter.py:
867 * giscanner/xmlwriter.py:
868 Add a simple api for writing tags which can be used
869 with the new 'with statement' in python 2.5
871 2008-04-21 Johan Dahlin <johan@gnome.org>
873 * giscanner/gobjecttreebuilder.py:
874 Strip namespace and object prefix from method names.
876 2008-04-21 Johan Dahlin <johan@gnome.org>
878 * tools/g-ir-scanner (main): Add --pkg option to pass in
879 pkg-config modules to get cflags from.
881 * giscanner/gidlwriter.py (GIDLWriter._write_method):
882 Avoid duplication, reuse function writer for methods.
884 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
886 * giscanner/gidlwriter.py:
887 * giscanner/gobjecttreebuilder.py:
888 * giscanner/treebuilder.py:
889 * tools/g-ir-scanner:
890 Resolve libtool .la files.
891 Strip name spaces for methods.
894 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
896 * giscanner/cgobject.py:
897 * giscanner/gidlwriter.py:
898 * giscanner/gobjecttreebuilder.py:
899 * giscanner/treebuilder.py:
900 Add support for classes and methods
902 2008-04-20 Johan Dahlin <johan@gnome.org>
904 * giscanner/gidlwriter.py:
905 * giscanner/gobjecttreebuilder.py:
906 * giscanner/odict.py:
907 Avoid conflicts, keep the output ordered similar to
908 the order of the input.
909 Add a simple ordered dictionary implemenation
911 2008-04-19 Johan Dahlin <johan@gnome.org>
913 * giscanner/cgobject.py:
914 * giscanner/gidlwriter.py:
915 * giscanner/gobjecttreebuilder.py:
916 * tools/g-ir-scanner:
917 Start introspecting get-type functions.
918 Implement support for GLib/GFlags GTypes.
919 Add a ctype based GObject binding.
921 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
923 * giscanner/gidlwriter.py:
924 * giscanner/xmlwriter.py:
925 * tools/g-ir-scanner:
926 Add a simplistic gidl writer, which can't do too much.
928 2008-04-18 Johan Dahlin <johan@gnome.org>
930 * giscanner/sourcescanner.py:
931 * giscanner/treebuilder.py:
932 * tools/g-ir-scanner:
933 split tree building and source scanning interface to separate files.
935 2008-04-18 Johan Dahlin <johan@gnome.org>
937 * tools/g-ir-scanner (Parameter.__init__): Start constructing
939 - Add support for struct/parameter/return, start parsing of ctypes
941 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
944 2008-03-31 Johan Dahlin <johan@gnome.org>
946 * tools/g-ir-scanner:
947 Start to build abstract syntax node of scanned sources.
948 Add support for cpp options.
950 2008-03-27 Johan Dahlin <johan@gnome.org>
952 * giscanner/giscannermodule.c:
953 * giscanner/scannerlexer.l:
954 * giscanner/sourcescanner.c:
955 * tools/g-ir-scanner:
957 Add simple pre-processor using subprocess and a PIPE.
958 Change the parse_file apis to accept a file descriptor.
960 2008-03-25 Johan Dahlin <johan@gnome.org>
962 * giscanner/__init__.py:
963 * tools/g-ir-scanner:
964 Fix a typo and add an example python test program.
966 2008-03-25 Johan Dahlin <johan@gnome.org>
968 * giscanner/__init__.py:
969 * giscanner/giscannermodule.c:
970 * giscanner/sourcescanner.c:
971 * giscanner/sourcescanner.h:
972 Add constants and wrap a few more SymbolType fields
974 2008-03-25 Johan Dahlin <johan@gnome.org>
978 * giscanner/__init__.py:
979 * giscanner/giscannermodule.c:
980 * giscanner/Makefile.am:
982 Add initial python bindings for the scanner and
983 depend on python 2.5.
985 2008-03-25 Johan Dahlin <johan@gnome.org>
989 * giscanner/Makefile.am:
990 * giscanner/sourcescanner.c:
991 * giscanner/sourcescanner.h:
994 * tools/sourcescanner.c:
995 * tools/sourcescanner.h:
997 Move the scanner to a separate library.
999 2008-03-23 Johan Dahlin <johan@gnome.org>
1001 * tools/Makefile.am:
1004 * tools/scannerlexer.l:
1005 * tools/scannerparser.y:
1006 * tools/sourcescanner.c:
1007 * tools/sourcescanner.h:
1008 Split out the source scanner from the generator.
1009 Rename the symbols used in the scanner to use the gi_ prefix.
1010 This should make it possible to use the raw C parser from
1013 2008-03-23 Johan Dahlin <johan@gnome.org>
1015 * tests/parser/Makefile.am (utility.gidl):
1016 * tests/parser/utility-expected.gidl:
1017 Pass in the gobject.gidl since we're defining a GObject.
1019 2008-03-12 Johan Dahlin <johan@gnome.org>
1021 * relaxng/relaxng.rng:
1022 Add a releaxng in relaxng we can use to validate the relaxngs
1025 2008-03-12 Jürg Billeter <j@bitron.ch>
1027 * tools/scanner.c: (g_igenerator_new):
1028 * tools/scannerparser.y:
1029 Fix compiler warnings.
1031 2008-03-12 Jürg Billeter <j@bitron.ch>
1035 * tools/scannerparser.y:
1036 Start fixing memory management in g-idl-scanner.
1038 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1040 * tools/gidlcompilercontext.c: (write_compiled):
1041 Fix critical warning when no shlib passed to g-idl-compiler.
1043 2008-03-12 Johan Dahlin <johan@gnome.org>
1045 * tests/parser/utility-expected.gidl:
1046 * tests/parser/utility.h:
1047 Add a get_type-function, so the scanner actually
1048 parses it as an object.
1050 2008-03-12 Johan Dahlin <johan@gnome.org>
1052 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1055 * tests/parser/Foo-expected.gidl:
1056 * tests/parser/Makefile.am:
1057 * tests/parser/foo-object.h:
1058 * tests/parser/foo.c:
1059 * tests/parser/utility-expected.gidl:
1060 * tests/parser/utility.c:
1061 * tests/parser/utility.h:
1063 Add a new gidl test. 'utility.gidl', which is used to be able
1064 to test external type references. Add a reference to UtilityObject*
1067 2008-03-11 Johan Dahlin <johan@gnome.org>
1071 Remove most global variables
1073 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1075 * tools/scannerlexer.l:
1077 * tests/parser/Foo-expected.gidl:
1078 * tests/parser/foo.c:
1079 * tests/parser/Makefile.am:
1080 * tests/parser/foo-object.h:
1082 Added a few extra tests. Which resulted in finding a few
1083 bugs. Which resulted in me fixing those bugs
1085 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1087 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1088 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1089 Add some comments for strings into generated output for
1092 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1094 * tools/gidlcompilercontext.c: (write_compiled):
1095 Write out the shlibs variable before writing out the strings
1096 length. Fixes compiler warning when using '-l' flag with
1099 2008-03-11 Johan Dahlin <johan@gnome.org>
1101 * tests/parser/Foo-expected.gidl:
1102 * tests/parser/foo-object.h:
1105 * tools/scannerlexer.l:
1106 Add support for parsing return arguments. Add support for
1107 caller-owns return types.
1108 Patch by Philip Van Hoof.
1110 * tools/scannerparser.y:
1111 Remove parsing of the @deprecated syntax used in headers.
1112 We will support gtk-doc deprecation in the future instead.
1114 2008-03-11 Johan Dahlin <johan@gnome.org>
1116 * tools/compiler.c (main): Coding style fixes
1118 2008-03-10 Johan Dahlin <johan@gnome.org>
1121 Add GCOV_LIBS to GILIBS
1123 2008-03-10 Johan Dahlin <johan@gnome.org>
1125 * tests/parser/Foo-expected.gidl:
1126 * tests/parser/foo.c:
1127 Rename null-ok to direction=out
1129 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1131 reviewed and extensively tested by Johan
1133 * tests/parser/Foo-expected.gidl:
1134 * tests/parser/foo-object.h:
1135 * tests/parser/foo.c:
1138 * tools/gidlwriter.c:
1141 * tools/scannerlexer.l:
1142 * tools/scannerparser.y:
1144 Add support for scanning for gtk-doc comments inside
1145 C source files. Add tests
1147 2008-03-10 Johan Dahlin <johan@gnome.org>
1149 * tests/parser/Makefile.am:
1150 * tests/parser/foo.c:
1153 * tools/scannerparser.y:
1154 Add an api to lex filenames.
1155 Lex all source .c files passed in on the command line.
1156 Scan sources in a test and a couple of private structures
1157 which should not be included in the generated gidl
1159 2008-03-10 Johan Dahlin <johan@gnome.org>
1161 * tests/invoke/Makefile.am: Make the generated metadata
1162 depend on the g-idl-compiler
1164 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1166 * tools/gidlmodule.c
1167 * tools/gidlmodule.h
1170 Remove the old g-idl-compiler code.
1173 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1175 * tools/quote-file.sh
1178 Move to using the 'C' struct compiler code.
1180 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1182 * girepository/ginfo.c
1184 Change the way that external references with no namespace
1185 are dealt with. External references with no namespace
1186 are placed into the XML as-if they are a local reference.
1187 This is temporary, but helps with roundtrip tests.
1189 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1191 * girepository/ginfo.c
1192 Add the ability to get the value of a constant of
1193 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1194 is provided as a string.
1196 This would deal properly with:
1197 typedef char* random;
1198 const random = "A string";
1200 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1202 * girepository/ginfo.c
1203 * girepository/girepository.h
1205 Add a function to check if an enum is registered or not.
1206 Previously anything testing this relied on the g-type
1207 string offset having a value of 0.
1209 * girepository/gmetadata.c
1210 * girepository/gmetadata.h
1212 Remove unneccesary or erroneous checks. There were two
1213 metadata validation checks which made sure that the blob
1214 sizes were the same as some magic numbers compiled into the code.
1215 This is wrong as it breaks any forwards compatibility that may
1218 Checks were also present that made sure that unregistered type
1219 blobs had a value of 0 in the g-type offset field. This is
1220 unneccessary. If a type blob is unregistered then any value
1221 in its g-type field is simply invalid.
1223 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1225 * girepository/ginfo.c
1226 * girepository/gmetadata.c
1227 * girepository/gmetadata.h
1229 Change the metadata format to have a standard header
1230 for all the type blobs. Merge the SimpleTypeBlob
1231 and InterfaceTypeBlob into a union. A union of these
1232 two blobs existed previously but was not explicit
1233 in the metadata format.
1235 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1237 * tools/gidlcompilercontext.c
1238 * tools/gidlcompilercontext.h
1239 * tools/gidlcompilerentrynode.c
1240 * tools/gidlcompilerentrynode.h
1241 * tools/gidlcompilertypenode.c
1242 * tools/gidlcompilertypenode.h
1244 Add code to compile a tree of GIdlNodes to
1245 a 'C' struct representing the metadata.
1246 This is to aid cross-compiling. Previously
1247 the g-idl-compiler created a binary blob with
1248 data written in the byte order and alignment
1249 of the tool rather than the intended target.
1251 Cleaned up and improved by Johan and Robert :-)
1253 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1255 * girepository/ginvoke.c
1256 * girepository/girepository.h
1257 * girepository/gmetadata.c
1258 * girepository/gmetadata.h
1260 * tools/gidlparser.c
1261 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1262 to avoid confusion with the interface blob.
1265 * tools/gidlparser.c
1266 Remove magic numbers and replace with type-tag
1267 enumeration symbols.
1269 * girepository/gmetadata.c
1270 Add validate declaration.
1272 2008-03-10 Jürg Billeter <j@bitron.ch>
1274 * tools/gidlparser.c: (parse_type_internal):
1275 * tools/scannerlexer.l:
1276 * tools/scannerparser.y:
1277 Support C99 _Bool type in scanner.
1279 2008-03-10 Jürg Billeter <j@bitron.ch>
1281 * tests/parser/Foo-expected.gidl:
1282 * tests/parser/foo-object.h:
1283 * tests/parser/foo.c: (foo_enum_method):
1284 * tools/scanner.c: (g_igenerator_process_function_symbol):
1285 Don't skip functions that are defined in the namespace of a type
1286 that doesn't support methods, as for example enums.
1288 2008-03-10 Johan Dahlin <johan@gnome.org>
1290 * gidl.dtd: Remove, we're using relaxng for now
1292 * tests/parser/Foo-expected.gidl:
1293 * tests/parser/foo-object.h:
1294 * tests/parser/foo.c:
1295 Rename the enum/flags get_type functions to include the whole type.
1297 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1299 * tools/gidlwriter.c (enum_generate): added "type-name",
1300 "get-type" and "deprecated" missing arguments.
1301 * tests/parser/Foo-expected.gidl:
1302 * tests/parser/foo-object.h: test enum type, and no type.
1304 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1307 Consistent checks, add missing 'test'
1309 2008-03-05 Havoc Pennington <hp@redhat.com>
1311 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1312 does on Fedora 8. Make libffi a hard requirement, since it was in
1313 practice anyway (was not really conditional in the code or
1314 makefile, only in configure).
1316 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1318 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1319 reviewed by: Johan Dahlin <johan@gnome.org>
1321 * tests/Makefile.am:
1322 * tests/roundtrips.sh:
1323 Modify the roundtrips test so that they do not use the
1324 --raw option of the gidl compiler but instead compile a
1325 shared library to use with g_module.
1327 * tests/invoke/Makefile.am:
1328 * tests/invoke/invoke.c:
1329 Modify the invoke tests to build a shared library rather
1330 than use the --raw option.
1332 * tests/invoke/invoke-namespace-find.sh: Removed:
1333 Noone knows why this was here, so removed.
1335 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1337 * tools/scanner.c: (g_igenerator_process_function_symbol):
1338 Move g_idl_node_can_have_member test later, as it broke spotting
1339 get_type's for nodes that can't have members.
1341 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1344 * tools/gidlnode.c: (g_idl_node_can_have_member):
1345 Add g_idl_node_can_have_member.
1347 * tools/scanner.c: (g_igenerator_process_function_symbol):
1348 Use g_idl_node_can_have_member to test if we should add a function
1349 as a member of the type node.
1351 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1353 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1355 * tests/parser/Makefile.am:
1356 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1358 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1360 * tools/scanner.c: (main):
1361 Ignore -pthread when passed to g-idl-scanner.
1363 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1365 * tools/grealpath.h: Added:
1366 * tools/scanner.c: (main):
1367 * tools/scannerlexer.l:
1368 * tools/Makefile.am:
1369 Always use absolute paths with symbolic links resolved when
1370 comparing filenames.
1372 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1374 * gobject-introspection.pc.in:
1375 Provide variables for g-idl-parser, scanner and compiler in the
1378 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1381 * girepository/Makefile.am:
1382 * tools/Makefile.am:
1383 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1385 2008-02-10 Johan Dahlin <johan@gnome.org>
1387 * tests/parser/Foo-expected.gidl:
1388 * tests/parser/foo-object.h:
1389 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1390 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1393 2008-02-10 Johan Dahlin <johan@gnome.org>
1395 * tests/parser/Foo-expected.gidl:
1396 * tests/parser/foo-object.h:
1397 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1398 Add enum and flags test.
1400 2008-02-10 Johan Dahlin <johan@gnome.org>
1404 * girepository/Makefile.am:
1405 Make 'make distcheck' work again.
1407 2008-02-10 Johan Dahlin <johan@gnome.org>
1409 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1412 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1413 check, eg exclude it from BUILT_SOURCES.
1415 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1420 * girepository/Makefile.am:
1421 * m4/Makefile.am: Added:
1422 * m4/as-compiler-flag.m4: Added:
1423 * m4/gcov.m4: Added:
1424 * tools/Makefile.am:
1425 Add ability to generate a coverage report.
1426 Adds configure option --enable-gcov and make rule 'check-coverage'.
1428 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1432 * gidl/Makefile.am: Added:
1433 * girepository/Makefile.am: Added:
1434 * src/Makefile.am: Renamed to tools/Makefile.am:
1435 * src/compiler.c: Renamed to tools/compiler.c:
1436 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1437 * src/generate.c: Renamed to tools/generate.c:
1438 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1439 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1440 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1441 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1442 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1443 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1444 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1445 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1446 * src/ginfo.c: Renamed to girepository/ginfo.c:
1447 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1448 * src/girepository.c: Renamed to girepository/girepository.c:
1449 * src/girepository.h: Renamed to girepository/girepository.h:
1450 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1451 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1452 * src/scanner.c: Renamed to tools/scanner.c:
1453 * src/scanner.h: Renamed to tools/scanner.h:
1454 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1455 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1456 * tests/invoke/Makefile.am:
1457 Split src/ into girepository/ and tools/
1461 * girepository/Makefile.am:
1462 * tests/Makefile.am:
1463 * tests/invoke/Makefile.am:
1464 * tests/parser/Makefile.am:
1465 * tests/roundtrips.sh:
1466 * tools/Makefile.am:
1467 Make distcheck work.
1469 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1471 * tests/invoke/invoke.c: (main):
1472 * tests/invoke/testfns.c: (test6), (test7):
1473 * tests/invoke/testfns.xml:
1474 Add tests for invokation with a GList argument.
1475 Also tests caller-owns return values.
1477 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1480 Add some documentation for GICallableInfo
1482 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1485 Correct syntax errors in the DTD file.
1487 * relaxng/c-types.xml:
1488 * relaxng/g-types.xml:
1490 Add a RelaxNG specification for the GObject Introspection XML data.
1491 The Specification has validated all of the test files.
1493 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1495 * tests/roundtrips.sh:
1496 * tests/struct.test:
1497 Add roundtrip tests for structs.
1499 2008-01-11 Johan Dahlin <johan@gnome.org>
1501 * src/scanner.c (g_igenerator_process_function_symbol):
1502 Refactor out g_idle_node_add_member.
1503 (create_node_from_gtype, create_node_from_ctype):
1504 Use case instead of if...else
1505 (get_type_from_type_id):
1506 Rename to create_node_from_gtype
1507 (get_type_from_ctype):
1508 Rename to create_node_from_ctype
1510 Rename ginode -> node, gitype -> type, gifunc -> func.
1512 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1513 Two new functions, refactor out of scanner.c
1515 * src/scanner.c: (g_igenerator_process_function_symbol):
1516 * src/scannerlexer.l:
1517 Do not save the content of the deprecated variable, only
1520 2008-01-11 Johan Dahlin <johan@gnome.org>
1522 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1524 2008-01-11 Jürg Billeter <j@bitron.ch>
1526 * src/scannerlexer.l:
1527 Fix GTK-Doc parsing.
1529 2008-01-11 Jürg Billeter <j@bitron.ch>
1531 * src/scannerlexer.l:
1532 Fix GTK-Doc parsing.
1534 2008-01-11 Jürg Billeter <j@bitron.ch>
1536 * src/scanner.c: (lookup_symbol):
1537 Return unresolved name if we find unknown symbol.
1539 2008-01-11 Jürg Billeter <j@bitron.ch>
1541 * src/scanner.c: (g_igenerator_generate):
1542 Initialize GObject to fix scanning interface properties.
1544 * tests/parser/Foo-expected.gidl:
1545 * tests/parser/foo-object.h:
1546 * tests/parser/foo.c: (foo_interface_get_type):
1547 Test interfaces with GObject prerequisite.
1549 * tests/parser/Makefile.am:
1550 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1552 2007-12-27 Johan Dahlin <johan@gnome.org>
1554 * src/scannerlexer.l:
1555 Parse gtk-doc comments.
1557 * src/gidlwriter.c: (function_generate):
1558 Reorganize, avoid duplication and add support for
1559 writing deprecated functions.
1561 * src/scannerparser.y:
1563 Add new structure CDirective and functions to create/free them.
1565 * src/scanner.c: (g_igenerator_process_function_symbol),
1566 (g_igenerator_process_unregistered_struct_typedef),
1567 (g_igenerator_process_struct_typedef),
1568 (g_igenerator_process_union_typedef),
1569 (g_igenerator_process_enum_typedef),
1570 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1571 (g_igenerator_start_preprocessor):
1572 Parse @deprecated directive for functions.
1573 Remove some more C99isms.
1574 Send in -C to cpp to avoid stripping comments.
1576 * tests/parser/foo-object.h:
1577 * tests/parser/Foo-expected.gidl:
1578 Add deprecated directive
1580 2007-12-27 Johan Dahlin <johan@gnome.org>
1582 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1583 escape ' and " so it looks more like C.
1586 Unlink temporary file used.
1588 2007-12-27 Johan Dahlin <johan@gnome.org>
1590 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1591 (g_igenerator_start_preprocessor), (main):
1593 * src/scannerparser.y:
1594 Plug a couple of simple memory leaks.
1596 2007-12-27 Johan Dahlin <johan@gnome.org>
1598 * src/scanner.c: (g_igenerator_parse_macros),
1599 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1602 * src/scannerparser.y:
1603 * tests/parser/Makefile.am:
1605 Improve error reporting, return when the preprocessor fails.
1606 Add a verbose parameter, to aid debugging.
1607 Revert to using a temporary file to communicate between the
1608 preprocessor and the parser, because we need to wait for
1609 the exit code from the pre-processor before starting to parse.
1611 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1613 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1614 cparser.y to scannerparser.y
1616 2007-12-11 Johan Dahlin <johan@gnome.org>
1620 * src/scanner.c: (g_igenerator_new):
1622 Get rid of the global the_generator variable.
1624 2007-12-10 Johan Dahlin <johan@gnome.org>
1626 * src/scanner.c (main): Add an output option,
1627 add checks for required parameters
1630 set BUILD_SOURCES and CLEANFILES properly
1632 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1633 (g_writer_write_indent), (g_writer_write_unindent),
1634 (field_generate), (value_generate), (constant_generate),
1635 (property_generate), (function_generate), (vfunc_generate),
1636 (signal_generate), (interface_generate), (struct_generate),
1637 (union_generate), (boxed_generate), (enum_generate),
1638 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1640 * src/scanner.c: (g_igenerator_generate):
1642 * src/scannerwriter.c:
1644 Refactor scannerwriter to only be tied to a GIdlModule and move
1645 it (again!) to gidlwriter.c. Change the writer function to take
1648 2007-12-10 Johan Dahlin <johan@gnome.org>
1651 * src/scanner.c: (g_igenerator_generate):
1653 * src/scannerwriter.c: (g_igenerator_write_inline),
1654 (g_igenerator_write), (g_igenerator_write_indent),
1655 (g_igenerator_write_unindent), (field_generate), (value_generate),
1656 (constant_generate), (property_generate), (function_generate),
1657 (vfunc_generate), (signal_generate), (interface_generate),
1658 (struct_generate), (union_generate), (boxed_generate),
1659 (enum_generate), (node_generate), (module_generate),
1660 (g_scanner_write_file):
1662 Move the scanner gidl writing to a separate source file.
1664 2007-12-10 Johan Dahlin <johan@gnome.org>
1669 Move over all CType construction functions.
1671 * tests/parser/Makefile.am:
1672 Be verbose when printing parsing tests results.
1674 2007-12-10 Johan Dahlin <johan@gnome.org>
1676 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1677 preprocessor handling to here. Start cpp insteado of cc -E,
1678 always include -U__GNUC__, since it's specific to the preprocessor
1681 * tests/parser/Makefile.am (check-local): Silent diff and skip
1682 -U__GNUC__ which is always defined now
1684 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1686 reviewed by: <delete if not using a buddy>
1688 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1689 * tests/parser/Makefile.am:
1691 2007-12-09 Johan Dahlin <johan@gnome.org>
1694 Use GOption for command line options.
1695 (g_igenerator_new, main): Simplify constructor and they way
1696 parameters are passed into it.
1702 * src/gen-introspect.c:
1703 * src/gen-introspect.h:
1705 Rename gen-introspect.[ch] to scanner.[ch]
1707 2007-12-09 Johan Dahlin <johan@gnome.org>
1711 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1712 don't make the repository library and the other utilites link against
1715 * src/gen-introspect.c: (g_igenerator_create_object),
1716 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1717 (g_igenerator_create_enum), (g_igenerator_create_flags),
1718 (g_igenerator_process_module_symbol),
1719 (g_igenerator_process_module), (g_igenerator_generate), (main):
1720 * src/gen-introspect.h:
1721 Refactor g_igenerator_process_types into smaller pieces.
1723 * tests/parser/Makefile.am:
1724 Depend on the gen-introspect binary
1726 2007-12-09 Johan Dahlin <johan@gnome.org>
1728 * src/gen-introspect.c (g_igenerator_process_types):
1729 Break into smaller pieces, one for each generated node type.
1731 2007-12-08 Johan Dahlin <johan@gnome.org>
1733 * src/gen-introspect.c: (g_igenerator_process_types),
1734 (g_igenerator_add_module):
1735 * tests/parser/Foo-expected.gidl:
1736 * tests/parser/foo-object.h:
1737 * tests/parser/foo.c: (foo_subobject_class_init),
1738 (foo_subobject_init):
1740 Add a subobject test and make sure to register defined classes
1741 in the lookup symbol hash table.
1743 2007-12-08 Johan Dahlin <johan@gnome.org>
1747 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1748 (g_igenerator_process_types), (g_igenerator_add_module),
1749 (g_igenerator_add_include_idl), (main):
1750 * src/gen-introspect.h:
1751 * tests/parser/Makefile.am:
1752 * tests/parser/Foo-expected.gidl:
1754 Change the gen-introspect to generate namespaced module names,
1755 such as GLib.Object instead of GObject.
1756 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1757 add a --include-idl parameter to gen-introspect,
1758 and update the parser test.
1760 2007-12-08 Johan Dahlin <johan@gnome.org>
1762 * src/gen-introspect.c:
1763 Move main to the end of the file and attempt to make it valid
1766 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1767 we're not quite ready to generate metadata yet.
1772 Add a simple gen-introspect parser test
1774 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1776 reviewed by: Johan Dahlin <johan@gnome.org>
1779 * gobject-introspection.pc.in:
1781 * src/compiler.c: (format_output), (write_out_metadata), (main):
1782 * src/gen-introspect.c: (main):
1783 * src/gen-introspect.h:
1784 * src/generate.c: (write_callable_info), (write_repository),
1785 (load_metadata), (main):
1786 * src/gidlmodule.c: (g_idl_module_new),
1787 (g_idl_module_build_metadata):
1789 * src/gidlparser.c: (start_element_handler):
1790 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1791 (g_base_info_get_name), (g_base_info_get_namespace),
1792 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1793 (g_base_info_get_metadata), (g_function_info_get_symbol),
1794 (g_function_info_get_flags), (g_function_info_get_property),
1795 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1796 (g_callable_info_may_return_null),
1797 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1798 (g_callable_info_get_arg), (g_arg_info_get_direction),
1799 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
1800 (g_arg_info_is_optional), (g_arg_info_may_be_null),
1801 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
1802 (g_type_info_get_tag), (g_type_info_get_param_type),
1803 (g_type_info_get_interface), (g_type_info_get_array_length),
1804 (g_type_info_is_zero_terminated),
1805 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1806 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
1807 (g_value_info_get_value), (g_field_info_get_flags),
1808 (g_field_info_get_size), (g_field_info_get_offset),
1809 (g_registered_type_info_get_type_name),
1810 (g_registered_type_info_get_type_init),
1811 (g_struct_info_get_n_fields), (g_struct_info_get_field),
1812 (g_struct_info_get_n_methods), (g_struct_info_get_method),
1813 (find_method), (g_struct_info_find_method),
1814 (g_enum_info_get_n_values), (g_enum_info_get_value),
1815 (g_object_info_get_parent), (g_object_info_get_type_name),
1816 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
1817 (g_object_info_get_interface), (g_object_info_get_n_fields),
1818 (g_object_info_get_field), (g_object_info_get_n_properties),
1819 (g_object_info_get_property), (g_object_info_get_n_methods),
1820 (g_object_info_get_method), (g_object_info_find_method),
1821 (g_object_info_get_n_signals), (g_object_info_get_signal),
1822 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
1823 (g_object_info_get_n_constants), (g_object_info_get_constant),
1824 (g_interface_info_get_n_prerequisites),
1825 (g_interface_info_get_prerequisite),
1826 (g_interface_info_get_n_properties),
1827 (g_interface_info_get_property), (g_interface_info_get_n_methods),
1828 (g_interface_info_get_method), (g_interface_info_find_method),
1829 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
1830 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
1831 (g_interface_info_get_n_constants),
1832 (g_interface_info_get_constant), (g_property_info_get_flags),
1833 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
1834 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
1835 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
1836 (g_constant_info_get_value), (g_union_info_get_n_fields),
1837 (g_union_info_get_field), (g_union_info_get_n_methods),
1838 (g_union_info_get_method), (g_union_info_is_discriminated),
1839 (g_union_info_get_discriminator_offset),
1840 (g_union_info_get_discriminator):
1841 * src/ginvoke.c: (g_function_info_invoke):
1842 * src/girepository.c: (g_irepository_register),
1843 (g_irepository_unregister), (g_irepository_get_default),
1844 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
1845 (g_irepository_get_info), (g_irepository_find_by_name),
1846 (g_irepository_get_shared_library),
1847 (g_irepository_build_search_path), (g_irepository_register_file),
1848 (g_irepository_error_quark):
1849 * src/girepository.h:
1850 * src/gmetadata.c: (g_metadata_get_dir_entry),
1851 (g_metadata_check_sanity), (validate_header),
1852 (validate_array_type_blob), (validate_iface_type_blob),
1853 (validate_param_type_blob), (validate_error_type_blob),
1854 (validate_type_blob), (validate_arg_blob),
1855 (validate_signature_blob), (validate_function_blob),
1856 (validate_callback_blob), (validate_constant_blob),
1857 (validate_value_blob), (validate_field_blob),
1858 (validate_property_blob), (validate_signal_blob),
1859 (validate_vfunc_blob), (validate_struct_blob),
1860 (validate_enum_blob), (validate_object_blob),
1861 (validate_interface_blob), (validate_errordomain_blob),
1862 (validate_union_blob), (validate_blob), (validate_directory),
1863 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
1864 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
1865 (g_metadata_new_from_mapped_file), (g_metadata_free),
1866 (g_metadata_set_module), (g_metadata_get_namespace):
1868 * tests/Makefile.am:
1869 * tests/invoke/Makefile.am:
1870 * tests/invoke/invoke-namespace-find.sh:
1871 * tests/invoke/invoke.c: (main):
1873 Add a namespace/shared library mapping. fixes #313268.
1875 2007-12-03 Johan Dahlin <johan@gnome.org>
1877 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
1880 2007-11-30 Jürg Billeter <j@bitron.ch>
1886 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
1887 (g_igenerator_write_inline), (g_igenerator_write),
1888 (g_igenerator_write_indent), (g_igenerator_write_unindent),
1889 (field_generate), (value_generate), (constant_generate),
1890 (property_generate), (function_generate), (vfunc_generate),
1891 (signal_generate), (interface_generate), (struct_generate),
1892 (union_generate), (boxed_generate), (enum_generate),
1893 (node_generate), (module_generate), (get_type_from_type_id),
1894 (str_replace), (g_igenerator_process_properties),
1895 (g_igenerator_process_signals), (g_igenerator_process_types),
1896 (get_type_from_ctype), (g_igenerator_process_function_symbol),
1897 (g_igenerator_process_unregistered_struct_typedef),
1898 (g_igenerator_process_struct_typedef),
1899 (g_igenerator_process_union_typedef),
1900 (g_igenerator_process_enum_typedef),
1901 (g_igenerator_process_function_typedef),
1902 (g_igenerator_process_constant), (g_igenerator_process_symbols),
1903 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
1904 (g_igenerator_generate), (main), (csymbol_new),
1905 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
1906 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
1907 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
1908 (eat_hspace), (eat_line), (read_identifier),
1909 (g_igenerator_parse_macros):
1910 * src/gen-introspect.h:
1912 Import gen-introspect to generate introspection information by
1915 2007-11-30 Jürg Billeter <j@bitron.ch>
1917 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
1919 2007-11-30 Jürg Billeter <j@bitron.ch>
1921 * src/gidlparser.c: (end_element_handler): Don't leave requires
1924 2007-11-29 Johan Dahlin <johan@gnome.org>
1926 * src/gidlparser.c (parse_type_internal): Add char,
1927 gchar and guchar to the builtin types.
1929 2007-11-26 Johan Dahlin <johan@gnome.org>
1931 * src/ginfo.c: (g_object_info_get_type_name),
1932 (g_object_info_get_type_init):
1933 * src/girepository.c: (g_irepository_is_registered):
1934 * src/girepository.h:
1936 Add g_object_info_get_type_name, g_object_info_get_type_init and
1937 g_irepository_is_registered.
1939 2006-08-14 Jürg Billeter <j@bitron.ch>
1941 * src/gidlparser.c: (end_element_handler): Don't leave
1942 namespace and implements states too early.
1945 2007-11-26 Johan Dahlin <johan@gnome.org>
1947 * src/gmetadata.c (validate_struct_blob):
1948 pass blob_type to validate_function_blob instead of
1949 hard-coding BLOB_TYPE_STRUCT.
1951 Patch by Torsten Schoenfeld, fixes #314190
1953 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
1955 * src/compiler.c, src/generate.c, src/gidlnode.c,
1956 src/gidlparser.c, src/ginfo.c, src/girepository.c,
1957 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
1958 warnings about return values, signedness mismatches, unused
1959 variables, and unhandles enum values in switch statements.
1961 * tests/invoke/Makefile.am: Don't install the invoke test program.
1962 Add -I ../../src to the cflags used for the test functions files.
1964 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
1966 * src/girepository.h: Export g_invoke_error_quark.
1968 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
1970 * src/ginvoke.c: Remove the fallback implementation of
1971 g_function_info_invoke since we now formally depend on libffi.
1973 2005-07-25 Matthias Clasen <mclasen@redhat.com>
1975 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
1976 Remove these files from cvs, as they are now generated.
1978 * src/gmetadata.c (validate_iface_type_blob): Don't
1979 complain if blob->pointer is not set, since that
1980 happens for enum and flag types. (#308935, Gustavo
1983 * Commit an autoconf-conversion patch by
1984 Gustavo Carneiro (#308708)
1986 2005-05-24 Matthias Clasen <mclasen@redhat.com>
1988 * src/compiler.c (main): Use it here to validate
1989 the generated metadata.
1991 * src/gmetadata.[hc]: Add code to validate a
1994 * metadata-format.txt: Updates
1996 2005-05-22 Matthias Clasen <mclasen@redhat.com>
1998 * tests/*: Add struct offsets to field and vfunc
2001 * src/generate.c (write_vfunc_info): Write offset
2002 information for vfuncs.
2004 * src/gidlnode.c (g_idl_node_build_metadata): Write
2005 the struct offsets into the metadata.
2007 * src/gidlparser.c: Parse the offset attributes of
2008 field and vfunc elements.
2010 * src/gidlnode.h: Add offset members to field and
2013 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2017 * gidl.dtd: Updates.
2019 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2020 file, creates, compiles and runs a C file, and folds the
2021 resulting struct offsets back into the .gidl file.
2023 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2025 * src/gidlparser.c (start_field): Make fields in objects
2028 * src/gidlmodule.c: Include string.h
2033 * metadata-format.txt: Cleanup basic types.
2034 * src/*: Adapt to the changes.
2035 * tests/*: Adapt to the changes.
2036 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2038 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2039 size for enum blobs.
2040 (g_idl_node_get_full_size): Report the correct size for
2043 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2044 error checking for blob sizes.
2046 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2048 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2049 interface types for which is_pointer is FALSE, e.g. enums.
2051 * src/gidlnode.c (g_idl_node_get_full_size)
2052 * src/gidlparser.c (parse_type_internal):
2053 * src/generate.c (write_type_info): Support unspecialized
2054 lists, hashtables and errors. Also emit a '*' after these.
2058 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2062 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2064 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2066 * src/*.c: Change the directory to be addressed by
2067 1-based indexes, and use an index of zero to mean
2070 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2072 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2074 * tests/union.test: Add a union test.
2076 * src/generate.c: Handle unions.
2078 * src/girepository.h:
2079 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2081 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2083 * src/gidlparser.c (start_union): Parse <union> elements.
2085 * src/gidlnode.h: Add a GIdlNodeUnion.
2087 * gidl.dtd: Add a <union> element.
2089 * src/gmetadata.c (g_metadata_check_sanity): Check
2092 * src/gmetadata.h: Add union_blob_size to Header,
2095 * metadata-format.txt: Add a UnionBlob.
2097 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2099 * tests/*: Update testcases.
2101 * src/generate.c (write_callable_info): Don't forget to
2102 write transfer and null-ok attributes for return types
2105 * src/girepository.h:
2106 * src/ginfo.c (g_callable_info_may_return_null):
2107 New function to find out if a function may return NULL.
2109 * src/compiler.c (format_output): Make the generated
2112 * README: Point to a recent libffi snapshot.
2114 * tests/invoke/*: Some invoke tests.
2116 * src/Makefile: Add ginvoke.c and the necessary
2119 * src/girepository.h (g_function_info_invoke): Add
2122 * src/ginvoke.c (g_function_info_invoke): Initial
2123 implementation of invoke functionality based on libffi.
2125 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2126 strings and types hash tables in the right order when
2128 (find_entry_node): Free the name parts.
2130 2005-05-12 Johan Dahlin <johan@gnome.org>
2132 * src/generate.c: Generate consistent end tags.
2136 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2140 * src/gidlparser.c (start_function): Actually add
2141 methods to objects. (Steven Walter)
2143 * src/girepository.h:
2144 * src/ginfo.c: Rename Transfer and Direction to
2145 GITransfer and GIDirection. (Torsten Schoenfeld)
2147 * tests/*: Make tests work with the changes in name
2150 * src/gidlnode.c (find_entry_node): Parse qualified
2151 names and generate xref nodes for them if needed. Don't
2152 require all modules to be loaded any more.
2154 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2157 * src/ginfo.c (g_object_info_get_parent): Return NULL
2158 if blob->parent is 0. Still need to make sure index
2161 * src/generate.c: Generate qualified names when
2162 referring to non-local types. Emit transfer attribute
2165 * src/compiler.c (format_output): Put the function
2166 attributes where gcc accepts them.
2168 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2170 * src/compiler.c (main): Add a --verbose cmdline option
2171 and only log messages if it is specified.
2174 * src/gidlnode.c (init_stats, dump_stats): Collect some
2175 statistics on string and type sharing.
2177 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2178 g_message() instead of fprintf().
2180 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2181 (g_idl_node_get_size): Implement for structs.
2182 (g_idl_node_get_full_size): Handle parent being NULL.
2183 (serialize_type): Handle lookup failures more gracefully.
2185 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2187 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2188 size calculation for 2-parameter types and for objects.
2190 * src/compiler.c: Add a cmdline option for debug output
2191 and install a log handler to implement it.
2192 * src/gidlnode.c: Add some debug spew.
2196 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2197 forget to count the module name when calculating the
2198 required size for the metadata.
2201 * src/gidlparser.c: Fix compiler warnings.
2203 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2205 * src/compiler.c (main): Free the option context.
2207 * gidl.dtd: Clean up handling of names. All elements
2208 have a "name", only the elements corresponding to
2209 actual callable functions (function, method, constructor),
2210 have an additional "symbol" attribute holding the
2211 dlsym()-able function name.
2213 * src/generate.c: Adapt to generate xml matching the
2217 * src/gidlnode.c: Adapt to parse the new dtd.
2219 * tests/*.test: Adjust to the new dtd.
2221 * metadata-format.txt:
2222 * src/gmetadata.h: Remove the short_name field
2224 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2225 * src/girepository.h:
2226 * src/ginfo.c (g_value_info_get_short_name): Removed
2228 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2230 * gidl.dtd: Allow constructors for boxed types,
2231 patch by Jonathan Blandford.
2234 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2236 * --- Initial import ---