1 2008-08-13 Colin Walters <walters@verbum.org>
3 * gir/gobject-2.0.gir: Use correct namespace, add GType.
4 * giscanner/girparser.py: Handle aliases.
5 * giscanner/transformer.py: Record aliases. Make resolver
6 functions public; we now call into these explicitly from
7 glibtransformer. Handle resolving aliases.
8 * giscanner/glibtransformer.py: Separate our internal namespace
9 from included ones. Call up into transformer's resolver functions.
11 2008-08-13 Johan Dahlin <johan@gnome.org>
13 * girepository/girnode.c (g_ir_node_get_full_size_internal):
14 * girepository/girparser.c (start_class):
15 * giscanner/glibtransformer.py:
16 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
18 2008-08-13 Johan Dahlin <johan@gnome.org>
20 * giscanner/cgobject.py:
21 Register GInitiallyUnowned
22 * giscanner/girwriter.py:
23 * giscanner/glibtransformer.py:
24 Special case GObject/GInitially owned as they are a bit special to use.
26 2008-08-13 Colin Walters <walters@verbum.org>
28 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
29 Object is in GObject namespace.
31 2008-08-13 Colin Walters <walters@verbum.org>
33 * giscanner/girparser.py: Fix processing of functions
36 2008-08-13 Colin Walters <walters@verbum.org>
38 * giscanner/girparser.py: Parse more than just <class.
39 * giscanner/glibtransformer.py: Put aliases in a separate
40 data structure since their name is not canonicall.
41 * giscanner/transformer.py: Handle resolving type names
44 2008-08-13 Johan Dahlin <johan@gnome.org>
47 Allow multiple libraries
48 * giscanner/glibtransformer.py:
49 Rename load_library to add_library, traverse over all libraries
50 when trying to resolve a function
52 2008-08-12 Colin Walters <walters@verbum.org>
54 * giscanner/transformer.py: Record typedefs as <alias> elements.
55 Also attempt to look up types in external namespaces.
56 * giscanner/girwriter.py: Write them.
57 * giscanner/glibtransformer.py: Rework resolver using real instanceof
58 checks. Resolve interface methods and properties.
59 * tests/scanner/foo-object.h: Add a method with typedef.
60 * tests/scanner/Foo-expected.gir: Update.
61 * girepository/girnode.c: Debug tweaks.
62 * girepository/girparser.c: Make a first pass through the XML where we
63 record all the aliases. This lets us resolve them as we go through the
65 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
68 2008-08-12 Colin Walters <walters@verbum.org>
70 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
71 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
73 * giscanner/transformer.py: Record typedefs and expose public API for resolving
75 * tests/scanner/Foo-expected.gir: Fix expected callback types.
77 2008-08-12 Colin Walters <walters@verbum.org>
79 * giscanner/glibtransformer.py: Also transform object properties.
81 2008-08-12 Colin Walters <walters@verbum.org>
83 * giscanner/glibtransformer.py: Also transform callbacks
84 and structure field types.
85 * tests/scanner/Fooe-expected.gir: Update to expect correct
86 names for callbacks and structs.
88 2008-08-12 Colin Walters <walters@verbum.org>
90 * girepository/girparser.c: Handle 'any'.
91 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
94 2008-08-12 Colin Walters <walters@verbum.org>
96 * giscanner/glibtransformer.py: We need to do type
97 resolution in a second pass after we've seen all the
100 2008-08-12 Colin Walters <walters@verbum.org>
102 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
103 Add enum return value.
104 * giscanner/glibtransformer.py: Transform function return types
107 2008-08-12 Colin Walters <walters@verbum.org>
109 * tests/scanner/Makefile.am: Dep .gir files on scanner
110 sources too. Also remove @ so we see scanner invocations.
112 2008-08-12 Colin Walters <walters@verbum.org>
114 * girepository/girparser.c, girepository/gtypelib.c,
115 girepository/gtypelib.h, girepository/girnode.c:
116 Remove usage of (GAPI-oriented) TypeTag in favor of
117 GITypeTag from girepository.h.
119 2008-08-10 Colin Walters <walters@verbum.org>
121 * tests/roundtrips.sh: Use the correct tests.
123 2008-08-10 Colin Walters <walters@verbum.org>
125 * giscanner/cgobject.py: Declare/wrap a few more functions.
126 Fix parameter types for g_object_new and g_type_fundamental.
128 2008-08-10 Colin Walters <walters@verbum.org>
130 * giscanner/cgobject.py: Add new decorator @gwrap which forces
131 us to declare types for both return value and parameters. The
132 ctypes default of 'int' is bad because it hides 32/64 bit
133 problems. Convert all existing functions to use it.
135 2008-08-09 Johan Dahlin <johan@gnome.org>
137 * giscanner/__init__.py:
139 * giscanner/cgobject.py:
140 * giscanner/gidlparser.py:
141 * giscanner/gidlwriter.py:
142 * giscanner/girparser.py:
143 * giscanner/girwriter.py:
144 * giscanner/glibast.py:
145 * giscanner/glibtransformer.py:
146 * giscanner/odict.py:
147 * giscanner/sourcescanner.py:
148 * giscanner/transformer.py:
149 * giscanner/utils.py:
150 * giscanner/xmlwriter.py:
151 * tools/g-ir-scanner:
155 2008-08-09 Johan Dahlin <johan@gnome.org>
158 * relaxng/c-types.xml:
159 * relaxng/g-types.xml:
160 * relaxng/relaxng.rng:
162 Remove outdated relaxng schemas.
164 2008-08-09 Johan Dahlin <johan@gnome.org>
167 Rename metadata to typelib in variable names,
170 2008-08-09 Johan Dahlin <johan@gnome.org>
174 Remove old C scanner, which got rewritten in python.
176 2008-08-09 Johan Dahlin <johan@gnome.org>
178 * girepository/Makefile.am:
188 Move shared *.[ch] files to girepository from tools
190 2008-08-09 Johan Dahlin <johan@gnome.org>
195 * tests/constant.test:
198 * tests/function.test:
199 * tests/gobject.test:
200 * tests/interface.test:
207 Rename *.test to *.gir
209 2008-08-09 Johan Dahlin <johan@gnome.org>
213 * tests/parser/Foo-expected.gir:
214 * tests/parser/Makefile.am:
215 * tests/parser/foo-object.h:
216 * tests/parser/foo.c:
217 * tests/parser/utility-expected.gir:
218 * tests/parser/utility.c:
219 * tests/parser/utility.h:
220 * tests/scanner/Makefile.am:
221 Rename tests/parser to test/scanner
223 2008-08-08 Colin Walters <walters@verbum.org>
225 * tests/roundtrips.sh: Use local .gir files again.
227 2008-08-08 Colin Walters <walters@verbum.org>
229 * tests/invoke/Makefile.am: .gir file depends on libtool
232 2008-08-08 Colin Walters <walters@verbum.org>
234 * tools/girnode.c: Pass through parent node so we can
235 print the node whose child is NULL, if that occurs.
237 2008-08-08 Johan Dahlin <johan@gnome.org>
240 Disable roundtrip tests which are not yet working
241 * tests/invoke/testfns.gir:
244 2008-08-08 Johan Dahlin <johan@gnome.org>
246 * giscanner/girwriter.py:
248 * giscanner/glibast.py:
249 * giscanner/glibtransformer.py:
250 Swap order of members, to keep it consistent with
253 2008-08-08 Johan Dahlin <johan@gnome.org>
255 * girepository/gtypelib.c (validate_header):
256 * girepository/gtypelib.h:
258 * giscanner/girwriter.py:
259 * giscanner/sourcescanner.c (gi_source_symbol_ref),
260 (gi_source_symbol_unref):
263 * tests/constant.test:
266 * tests/function.test:
267 * tests/gobject.test:
268 * tests/interface.test:
269 * tests/invoke/Makefile.am:
270 * tests/invoke/testfns.xml:
272 * tests/parser/Makefile.am:
273 * tests/roundtrips.sh:
280 * tools/compiler.c (main):
281 * tools/generate.c (write_callable_info), (write_function_info),
283 * tools/gidlmodule.c:
284 * tools/gidlmodule.h:
287 * tools/gidlparser.c:
288 * tools/gidlparser.h:
289 * tools/gidlwriter.c:
290 * tools/gidlwriter.h:
291 * tools/scanner.c (create_node_from_gtype),
292 (create_node_from_ctype), (g_igenerator_process_properties),
293 (g_igenerator_process_signals), (g_igenerator_create_object),
294 (g_igenerator_create_interface), (g_igenerator_create_boxed),
295 (g_igenerator_create_enum), (g_igenerator_create_flags),
296 (g_igenerator_process_function_symbol),
297 (g_igenerator_process_unregistered_struct_typedef),
298 (g_igenerator_process_struct_typedef),
299 (g_igenerator_process_union_typedef),
300 (g_igenerator_process_enum_typedef),
301 (g_igenerator_process_function_typedef),
302 (g_igenerator_process_constant), (g_igenerator_process_symbols),
303 (g_igenerator_add_module), (g_igenerator_add_include_idl):
304 Merge in the gir-compiler branch.
305 Thanks to Philip and Colin for their help.
307 2008-07-26 Colin Walters <walters@verbum.org>
309 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
310 and g-idl-generate to go along with how we're changing this
311 module to be installed.
312 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
314 2008-07-24 Colin Walters <walters@verbum.org>
316 * girepository/girepository.c (g_irepository_register): Add
317 environment variable G_IREPOSITORY_VERBOSE so we can print
318 out what we're doing.
319 * girepository/girepository.c (g_irepository_register_file):
320 Add GError error message to g_debug call.
322 2008-07-08 Jürg Billeter <j@bitron.ch>
324 * giscanner/glibast.py:
328 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
330 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
333 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
336 * giscanner/girwriter.py:
337 * giscanner/transformer.py:
338 * tests/parser/Foo-expected.gir:
339 * tests/parser/foo-object.h:
340 * tests/parser/foo.c (foo_object_allow_none):
341 Add support for gtk-doc annotations for allow-none.
344 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
347 * giscanner/girwriter.py:
348 * giscanner/glibast.py:
349 * giscanner/glibtransformer.py:
350 * giscanner/transformer.py:
351 * tests/parser/Foo-expected.gir:
352 Start using abstract type instead of the raw C types.
353 Register a bunch of glib types we care about.
355 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
360 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
362 * girepository/girepository.c:
363 * girepository/gtypelib.c:
364 * girepository/ginfo.c:
365 * girepository/ginvoke.c:
366 * girepository/girepository.h:
367 * girepository/gtypelib.h:
368 * girepository/gmetadata.c:
369 * girepository/Makefile.am:
370 * girepository/gmetadata.h:
372 * tools/gidlmodule.c:
375 * tools/gidlmodule.h:
376 * tools/gidlparser.c:
378 Renamed GMetadata to GTypelib
380 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
382 * giscanner/xmlwriter.py:
383 Improve line wrapping when > 79 charaters
385 2008-06-05 Jürg Billeter <j@bitron.ch>
388 * giscanner/girwriter.py:
389 * giscanner/transformer.py:
390 Use <type> element for field types
391 * tests/parser/Foo-expected.gir:
394 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
396 * giscanner/glibtransformer.py:
397 Fix a bug which prevented GdkEvent from being generated
399 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
401 * giscanner/Makefile.am:
403 * giscanner/girwriter.py:
404 * giscanner/glibast.py:
405 * giscanner/glibtransformer.py:
406 * giscanner/transformer.py:
407 * giscanner/utils.py:
408 * tests/parser/Foo-expected.gir:
409 Improve enum member parsing and introspection
411 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
413 * giscanner/scannerparser.y:
414 * giscanner/sourcescanner.h:
415 * giscanner/sourcescanner.py:
416 Add a new source type enum for member.
417 Use __repr__ for improved debugging
418 * giscanner/girparser.py:
420 * giscanner/transformer.py:
421 Improve parsing of struct members.
422 * tests/parser/foo-object.h:
425 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
427 * giscanner/xmlwriter.py:
428 Improve error reporting when trying to quote None.
429 * giscanner/girparser.py:
430 Do not print warnings when including more complete .gir files
431 * giscanner/girwriter.py:
432 Do not require a name for parameters, add a todo for singletons
433 * giscanner/glibtransformer.py:
434 Refactor the way structs are done, add a couple of hacks to allow
436 * giscanner/transformer.py:
437 Add enough hacks so cairo, atk and pango.gir can be parsed properly
438 * gobject-introspection-1.0.pc.in:
439 Export girdir, so we can access gobject-2.0.gir from outside
441 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
443 * tools/g-ir-scanner:
444 * tests/parser/Makefile.am:
445 Update sys.path before running the parser so we don't have
446 to setup PYTHONPATH ourselves.
450 * girepository/Makefile.am:
451 * giscanner/transformer.py:
452 * gobject-introspection-1.0.pc.in:
453 * gobject-introspection.pc.in:
456 Rename pkg-config name to gobject-introspection-1.0,
457 Do not installed anything which is not using the gir format.
458 Disable compililation the old C scanner, but still keep the source
459 until all the remaning functionallity has been ported.
461 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
463 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
464 a crash when symbol->indent is NULL.
466 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
467 a function to convert a CTYPE symbol to a string
469 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
472 * giscanner/girwriter.py:
473 * giscanner/giscannermodule.c
474 (pygi_source_scanner_append_filename),
475 (pygi_source_scanner_parse_file):
476 * giscanner/glibtransformer.py:
477 * giscanner/sourcescanner.py:
478 Revert back to using temporary files to send in headers.
479 Allow Functions to be passed in as callbacks, add a couple
480 of try/excepts missing features.
481 We can now scan pango
483 2008-05-08 Johan Dahlin <johan@gnome.org>
485 * giscanner/glibtransformer.py:
486 * giscanner/transformer.py:
487 Move namespace stripping glibtransformer->transformer
489 2008-05-08 Johan Dahlin <johan@gnome.org>
492 * giscanner/girwriter.py:
493 * giscanner/glibtransformer.py:
494 * giscanner/transformer.py:
495 * tools/g-ir-scanner:
496 Introduce a namespace ast node
498 2008-05-05 Johan Dahlin <johan@gnome.org>
500 * giscanner/__init__.py:
501 * giscanner/sourcescanner.py:
502 * giscanner/transformer.py:
503 Move sourcescanner symbols to the sourcescanner module, instead
504 of in the global __init__ namespace.
506 2008-05-03 Johan Dahlin <johan@gnome.org>
508 * giscanner/glibtransformer.py:
509 * tools/g-ir-scanner:
510 Handle missing parameters better, allow - and + in .la dlname
513 2008-05-03 Johan Dahlin <johan@gnome.org>
515 * giscanner/__init__.py:
517 * giscanner/girwriter.py:
518 * giscanner/glibtransformer.py:
519 * giscanner/transformer.py:
520 Parse struct fields properly, improve debugging.
522 2008-04-29 Johan Dahlin <johan@gnome.org>
525 * giscanner/girwriter.py:
526 * giscanner/transformer.py:
527 * tests/parser/Foo-expected.gir:
529 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
531 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
534 * docs/g-ir-scanner.1:
535 * metadata-annotations-proposal.txt:
536 * metadata-format.txt:
537 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
539 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
541 * giscanner/girwriter.py:
542 * giscanner/glibtransformer.py:
543 * giscanner/transformer.py:
544 * giscanner/xmlwriter.py:
545 * tests/parser/Foo-expected.gir:
546 * tests/parser/foo-object.h:
547 Write record/structs to gir file too. Add a couple of tests,
548 fix an off by one error in xmlwriter.py.
550 2008-04-28 Johan Dahlin <johan@gnome.org>
552 * giscanner/xmlwriter.py: Calculate the line length properly,
553 include the provided extra indentation in the calculation, really.
555 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
558 * giscanner/glibast.py:
559 * giscanner/glibtransformer.py:
560 * giscanner/transformer.py:
561 * tools/g-ir-scanner:
562 Add a --strip-prefix and sort out confusion between names and symbols
563 for functions and struct + derivaties.
564 Refactor bootstrap of g-ir-scanner, so we can set options on
565 Transformer() before parsing everything.
567 2008-04-28 Johan Dahlin <johan@gnome.org>
569 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
570 when scanning girepository.h
572 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
573 a __GI_SCANNER__ when we run.
575 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
578 * giscanner/girwriter.py:
579 * giscanner/glibast.py:
580 * giscanner/glibtransformer.py:
581 * tests/parser/Foo-expected.gir:
582 * tests/parser/utility-expected.gir:
583 Rename most c:identifier to c:type. Add new ones to
584 class/interface/enum/boxed.
586 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
589 * giscanner/girwriter.py:
590 * giscanner/glibtransformer.py:
591 * tests/parser/Foo-expected.gidl:
592 * tests/parser/Makefile.am:
593 Move c:identifier from return-value to subchild type,
594 as per Jürgs suggestion
596 2008-04-28 Johan Dahlin <johan@gnome.org>
598 * giscanner/girwriter.py:
599 * tests/parser/Foo-expected.gir:
600 Write property.type as a child node.
602 2008-04-27 Johan Dahlin <johan@gnome.org>
607 * gidl/gobject-2.0.gidl:
609 * gir/gobject-2.0.gir:
610 * tests/parser/Makefile.am:
611 Replace the GObject gidl with a GObject gir.
613 2008-04-27 Johan Dahlin <johan@gnome.org>
615 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
618 * giscanner/xmlwriter.py:
619 * tests/parser/Foo-expected.gir:
620 Include indentation in line length calculation
622 2008-04-27 Johan Dahlin <johan@gnome.org>
624 * giscanner/girparser.py:
625 Prettify NS parsing using elementtree.
627 2008-04-27 Johan Dahlin <johan@gnome.org>
630 * giscanner/Makefile.am:
631 * giscanner/girparser.py:
632 * giscanner/glibtransformer.py:
633 * tests/parser/Foo-expected.gidl:
634 * tests/parser/Foo-expected.gir:
635 * tests/parser/Makefile.am:
636 * tests/parser/utility-expected.gidl:
637 * tests/parser/utility-expected.gir:
638 * tools/g-ir-scanner:
639 Switch over to GIR as the default format. Add a simple GIDL
641 Update tests and fix simplify makefiles by depending
642 on GNU make extensions.
644 2008-04-27 Johan Dahlin <johan@gnome.org>
646 * giscanner/xmlwriter.py:
647 Wrap attributes for lines which are wider than 79 characters
649 * giscanner/scannerlexer.l:
650 Allow parenthesis in annotations
653 * giscanner/gidlwriter.py:
654 * giscanner/girwriter.py:
655 * giscanner/glibtransformer.py:
656 * giscanner/transformer.py:
657 Add initial sequence support, including annotation.
658 Refactor type handling a bit.
660 2008-04-27 Johan Dahlin <johan@gnome.org>
662 * tests/parser/Foo-expected.gidl:
663 * tests/parser/foo-object.h:
664 * tests/parser/foo.c (foo_object_class_init),
665 (foo_object_get_strings), (foo_object_get_objects):
666 Add two new functions to check sequence return values.
667 Also fixes a compilation warning.
669 2008-04-27 Johan Dahlin <johan@gnome.org>
671 * giscanner/giscannermodule.c (]): Cast the getter, avoids
672 a compilation warning.
674 * tools/Makefile.am (g_ir_scanner_SOURCES):
675 g-ir-scanner has no sources.
677 2008-04-25 Johan Dahlin <johan@gnome.org>
679 * giscanner/Makefile.am:
681 * giscanner/gidlparser.py:
682 * giscanner/gidlwriter.py:
683 * giscanner/girwriter.py:
684 * giscanner/glibast.py:
685 * giscanner/glibtransformer.py:
686 * giscanner/transformer.py:
687 Split out nodes to ast.py and glibast.py
689 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
691 * giscanner/Makefile.am:
692 * giscanner/gidlparser.py:
693 * giscanner/gidlwriter.py:
694 * giscanner/girwriter.py:
695 * giscanner/glibtransformer.py:
696 * giscanner/gobjecttreebuilder.py:
697 * giscanner/transformer.py:
698 * giscanner/treebuilder.py:
699 * tools/g-ir-scanner:
700 Rename treebuilder to transformer and
701 gobjectreebuilder to glibtransformer.
703 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
705 * giscanner/Makefile.am:
706 * giscanner/__init__.py:
707 * giscanner/cgobject.py:
708 * giscanner/gidlparser.py:
709 * giscanner/gidlwriter.py:
710 * giscanner/girwriter.py:
711 * giscanner/gobjecttreebuilder.py:
712 * giscanner/odict.py:
713 * giscanner/sourcescanner.py:
714 * giscanner/treebuilder.py:
715 * giscanner/xmlwriter.py:
717 * tools/g-ir-scanner:
718 Add LGPLv2 license header and install all python files
720 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
723 * giscanner/gidlwriter.py:
724 * giscanner/giscannermodule.c (pygi_source_directive_new),
725 (directive_get_options), (pygi_source_symbol_new),
726 (symbol_get_base_type), (pygi_source_type_new),
727 (type_get_base_type), (type_get_child_list),
728 (pygi_source_scanner_get_symbols),
729 (pygi_source_scanner_get_directives):
730 * giscanner/gobjecttreebuilder.py:
731 * giscanner/sourcescanner.py:
732 * giscanner/treebuilder.py:
733 * tests/parser/foo-object.h:
734 Add support for virtual methods.
735 Pair struct FooClass with struct Foo.
736 Clean up the SourceScanner bindings a bit.
737 Add a testcase for virtual methods.
739 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
741 * giscanner/cgobject.py:
742 * giscanner/gidlwriter.py:
743 * giscanner/gobjecttreebuilder.py:
744 Add support for signals
746 * tests/parser/foo.c (foo_object_class_init):
748 Add a signal and update the expected output.
750 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
752 * giscanner/gidlwriter.py:
753 * giscanner/girwriter.py:
754 * giscanner/giscannermodule.c (directive_get_name),
755 (directive_get_value), (directive_get_options),
756 (symbol_get_directives), (symbol_set_directives),
757 (pygi_source_scanner_parse_file),
758 (pygi_source_scanner_lex_filename),
759 (pygi_source_scanner_get_directives), (init_giscanner):
760 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
761 * giscanner/sourcescanner.h:
762 * giscanner/sourcescanner.py:
763 * giscanner/treebuilder.py:
764 * tools/g-ir-scanner:
765 Add support for source/header annotations.
767 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
769 * giscanner/gidlwriter.py:
770 * giscanner/girwriter.py:
771 * giscanner/gobjecttreebuilder.py:
772 * giscanner/treebuilder.py:
773 Add support for Callbacks
775 2008-04-22 Havoc Pennington <hp@pobox.com>
777 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
778 not in metadata->module, look for it in the global module, in case
779 some other object or the app itself provides the symbol.
781 2008-04-22 Havoc Pennington <hp@pobox.com>
783 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
784 dlopening a library that is already in the main app, by checking
785 whether one of the lib's symbols is already loaded.
787 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
789 * tests/parser/Foo-expected.gidl:
790 * tests/parser/foo-object.h:
793 2008-04-22 Havoc Pennington <hp@pobox.com>
795 * girepository/ginfo.c (g_interface_info_find_method):
796 Use interface_blob_size not object_blob_size to compute offset.
798 2008-04-22 Havoc Pennington <hp@pobox.com>
800 * girepository/gmetadata.c (_g_metadata_init): remove
801 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
802 (Glade and Clutter for example) rely on being loaded globally.
804 2008-04-22 Havoc Pennington <hp@pobox.com>
806 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
807 function to get the GType given a RegisteredTypeInfo
809 2008-04-22 Johan Dahlin <johan@gnome.org>
811 * COPYING: Add a LGPL license, to prevent automake to
812 put in a copy of GPL here. Pointed out by Havoc.
814 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
815 (g_type_info_is_pointer), (g_type_info_get_tag),
816 (g_type_info_get_param_type), (g_type_info_get_interface),
817 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
818 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
819 (g_error_domain_info_get_codes), (g_enum_info_get_value),
820 (g_object_info_get_interface), (g_object_info_get_field),
821 (g_interface_info_get_prerequisite),
822 (g_signal_info_get_class_closure), (g_constant_info_get_value):
823 * girepository/ginvoke.c (get_ffi_type):
824 * girepository/girepository.h:
825 * girepository/gmetadata.c (g_metadata_get_dir_entry),
826 (g_metadata_check_sanity), (validate_header),
827 (validate_array_type_blob), (validate_iface_type_blob),
828 (validate_param_type_blob), (validate_error_type_blob),
829 (validate_type_blob), (validate_constant_blob),
830 (validate_struct_blob), (validate_enum_blob):
831 * girepository/gmetadata.h:
833 * tests/invoke/Makefile.am:
834 * tests/invoke/invoke.c (main):
835 * tests/roundtrips.sh:
837 * tools/compiler.c (format_output), (write_out_metadata), (main):
838 * tools/generate.c (write_type_name), (write_type_info),
839 (write_constant_value), (write_enum_info), (load_metadata), (main):
840 * tools/gidlcompilercontext.c:
841 * tools/gidlcompilercontext.h:
842 * tools/gidlcompilerentrynode.c:
843 * tools/gidlcompilerentrynode.h:
844 * tools/gidlcompilertypenode.c:
845 * tools/gidlcompilertypenode.h:
846 * tools/gidlmodule.c (g_idl_module_build_metadata):
847 * tools/gidlmodule.h:
848 * tools/gidlnode.c (init_stats), (dump_stats),
849 (g_idl_node_get_size), (g_idl_node_get_full_size),
850 (g_idl_node_cmp), (g_idl_node_can_have_member),
851 (g_idl_node_add_member), (g_idl_node_param_direction_string),
852 (parse_int_value), (parse_uint_value), (parse_float_value),
853 (parse_boolean_value), (find_entry_node), (find_entry),
854 (serialize_type), (g_idl_node_build_metadata), (write_string):
856 * tools/gidlparser.c (parse_type_internal):
857 * tools/quote-file.sh:
858 Revert revisions 157,149-148,136-129 and 120.
859 Move back to using g-idl-generate to generate the metadata and
860 avoids dependency on a c compiler.
862 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
864 * giscanner/girwriter.py:
865 * tools/g-ir-scanner:
866 Add an initial GIR writer and a --format option to g-ir-scanner
868 2008-04-21 Johan Dahlin <johan@gnome.org>
870 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
871 gobject-2.0 and raise ImportError if not found.
873 * giscanner/gidlparser.py:
874 * giscanner/gidlwriter.py:
875 * giscanner/gobjecttreebuilder.py:
876 * tools/g-ir-scanner:
877 Add a --include argument to include types from other idls.
878 Add a minimalistic GIDL parser (just objects for now)
879 Implement resolving of external type references and use it to
880 resolve parent types, argument types and return types.
882 2008-04-21 Johan Dahlin <johan@gnome.org>
884 * giscanner/gidlwriter.py:
885 * giscanner/gobjecttreebuilder.py:
886 * giscanner/treebuilder.py:
887 Add support for properties.
888 Refactor Class/Interface support a bit, to share more code and
889 always initialize their method attribute to an empty list.
891 2008-04-21 Johan Dahlin <johan@gnome.org>
893 * giscanner/cgobject.py:
894 Add a workaround for a glib bug interface introspection bug
895 (object_interface_list_properties, object_class_list_properties):
896 Cast the return value to GParamSpec.
898 * tests/parser/Foo-expected.gidl: Update
899 * tests/parser/foo.c: Add a string property
901 * giscanner/gobjecttreebuilder.py:
902 After stripping namespaces, remove the original
903 item to avoid duplication (GtkButton struct and Button object)
905 2008-04-21 Johan Dahlin <johan@gnome.org>
907 * giscanner/gobjecttreebuilder.py:
908 * giscanner/treebuilder.py:
909 Strip namespaces before objects, so we'll export
910 GtkButton as Button in the gtk namespace
912 2008-04-21 Johan Dahlin <johan@gnome.org>
914 * giscanner/gidlwriter.py:
915 * giscanner/gobjecttreebuilder.py:
916 * giscanner/treebuilder.py:
917 Add constructors for object/boxed types.
919 2008-04-21 Johan Dahlin <johan@gnome.org>
921 * giscanner/gidlwriter.py:
922 * giscanner/gobjecttreebuilder.py:
923 Add support for boxed types
925 2008-04-21 Johan Dahlin <johan@gnome.org>
927 * giscanner/giscannermodule.c: Mark structures as const,
928 wrap SourceType.const_string.
930 * tests/parser/foo-object.h: Add a couple of constants.
932 * giscanner/gidlwriter.py:
933 * giscanner/gobjecttreebuilder.py:
934 * giscanner/treebuilder.py:
935 Add basic support for interfaces
937 * tools/g-ir-scanner:
938 Add -o/--output for writing to a file
940 2008-04-21 Havoc Pennington <hp@redhat.com>
942 * TODO: add some C API wishlist items I could think of quickly
944 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
946 * giscanner/gidlwriter.py:
947 * giscanner/xmlwriter.py:
948 Add a simple api for writing tags which can be used
949 with the new 'with statement' in python 2.5
951 2008-04-21 Johan Dahlin <johan@gnome.org>
953 * giscanner/gobjecttreebuilder.py:
954 Strip namespace and object prefix from method names.
956 2008-04-21 Johan Dahlin <johan@gnome.org>
958 * tools/g-ir-scanner (main): Add --pkg option to pass in
959 pkg-config modules to get cflags from.
961 * giscanner/gidlwriter.py (GIDLWriter._write_method):
962 Avoid duplication, reuse function writer for methods.
964 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
966 * giscanner/gidlwriter.py:
967 * giscanner/gobjecttreebuilder.py:
968 * giscanner/treebuilder.py:
969 * tools/g-ir-scanner:
970 Resolve libtool .la files.
971 Strip name spaces for methods.
974 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
976 * giscanner/cgobject.py:
977 * giscanner/gidlwriter.py:
978 * giscanner/gobjecttreebuilder.py:
979 * giscanner/treebuilder.py:
980 Add support for classes and methods
982 2008-04-20 Johan Dahlin <johan@gnome.org>
984 * giscanner/gidlwriter.py:
985 * giscanner/gobjecttreebuilder.py:
986 * giscanner/odict.py:
987 Avoid conflicts, keep the output ordered similar to
988 the order of the input.
989 Add a simple ordered dictionary implemenation
991 2008-04-19 Johan Dahlin <johan@gnome.org>
993 * giscanner/cgobject.py:
994 * giscanner/gidlwriter.py:
995 * giscanner/gobjecttreebuilder.py:
996 * tools/g-ir-scanner:
997 Start introspecting get-type functions.
998 Implement support for GLib/GFlags GTypes.
999 Add a ctype based GObject binding.
1001 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1003 * giscanner/gidlwriter.py:
1004 * giscanner/xmlwriter.py:
1005 * tools/g-ir-scanner:
1006 Add a simplistic gidl writer, which can't do too much.
1008 2008-04-18 Johan Dahlin <johan@gnome.org>
1010 * giscanner/sourcescanner.py:
1011 * giscanner/treebuilder.py:
1012 * tools/g-ir-scanner:
1013 split tree building and source scanning interface to separate files.
1015 2008-04-18 Johan Dahlin <johan@gnome.org>
1017 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1019 - Add support for struct/parameter/return, start parsing of ctypes
1021 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1024 2008-03-31 Johan Dahlin <johan@gnome.org>
1026 * tools/g-ir-scanner:
1027 Start to build abstract syntax node of scanned sources.
1028 Add support for cpp options.
1030 2008-03-27 Johan Dahlin <johan@gnome.org>
1032 * giscanner/giscannermodule.c:
1033 * giscanner/scannerlexer.l:
1034 * giscanner/sourcescanner.c:
1035 * tools/g-ir-scanner:
1037 Add simple pre-processor using subprocess and a PIPE.
1038 Change the parse_file apis to accept a file descriptor.
1040 2008-03-25 Johan Dahlin <johan@gnome.org>
1042 * giscanner/__init__.py:
1043 * tools/g-ir-scanner:
1044 Fix a typo and add an example python test program.
1046 2008-03-25 Johan Dahlin <johan@gnome.org>
1048 * giscanner/__init__.py:
1049 * giscanner/giscannermodule.c:
1050 * giscanner/sourcescanner.c:
1051 * giscanner/sourcescanner.h:
1052 Add constants and wrap a few more SymbolType fields
1054 2008-03-25 Johan Dahlin <johan@gnome.org>
1058 * giscanner/__init__.py:
1059 * giscanner/giscannermodule.c:
1060 * giscanner/Makefile.am:
1062 Add initial python bindings for the scanner and
1063 depend on python 2.5.
1065 2008-03-25 Johan Dahlin <johan@gnome.org>
1069 * giscanner/Makefile.am:
1070 * giscanner/sourcescanner.c:
1071 * giscanner/sourcescanner.h:
1072 * tools/Makefile.am:
1073 * tools/grealpath.h:
1074 * tools/sourcescanner.c:
1075 * tools/sourcescanner.h:
1077 Move the scanner to a separate library.
1079 2008-03-23 Johan Dahlin <johan@gnome.org>
1081 * tools/Makefile.am:
1084 * tools/scannerlexer.l:
1085 * tools/scannerparser.y:
1086 * tools/sourcescanner.c:
1087 * tools/sourcescanner.h:
1088 Split out the source scanner from the generator.
1089 Rename the symbols used in the scanner to use the gi_ prefix.
1090 This should make it possible to use the raw C parser from
1093 2008-03-23 Johan Dahlin <johan@gnome.org>
1095 * tests/parser/Makefile.am (utility.gidl):
1096 * tests/parser/utility-expected.gidl:
1097 Pass in the gobject.gidl since we're defining a GObject.
1099 2008-03-12 Johan Dahlin <johan@gnome.org>
1101 * relaxng/relaxng.rng:
1102 Add a releaxng in relaxng we can use to validate the relaxngs
1105 2008-03-12 Jürg Billeter <j@bitron.ch>
1107 * tools/scanner.c: (g_igenerator_new):
1108 * tools/scannerparser.y:
1109 Fix compiler warnings.
1111 2008-03-12 Jürg Billeter <j@bitron.ch>
1115 * tools/scannerparser.y:
1116 Start fixing memory management in g-idl-scanner.
1118 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1120 * tools/gidlcompilercontext.c: (write_compiled):
1121 Fix critical warning when no shlib passed to g-idl-compiler.
1123 2008-03-12 Johan Dahlin <johan@gnome.org>
1125 * tests/parser/utility-expected.gidl:
1126 * tests/parser/utility.h:
1127 Add a get_type-function, so the scanner actually
1128 parses it as an object.
1130 2008-03-12 Johan Dahlin <johan@gnome.org>
1132 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1135 * tests/parser/Foo-expected.gidl:
1136 * tests/parser/Makefile.am:
1137 * tests/parser/foo-object.h:
1138 * tests/parser/foo.c:
1139 * tests/parser/utility-expected.gidl:
1140 * tests/parser/utility.c:
1141 * tests/parser/utility.h:
1143 Add a new gidl test. 'utility.gidl', which is used to be able
1144 to test external type references. Add a reference to UtilityObject*
1147 2008-03-11 Johan Dahlin <johan@gnome.org>
1151 Remove most global variables
1153 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1155 * tools/scannerlexer.l:
1157 * tests/parser/Foo-expected.gidl:
1158 * tests/parser/foo.c:
1159 * tests/parser/Makefile.am:
1160 * tests/parser/foo-object.h:
1162 Added a few extra tests. Which resulted in finding a few
1163 bugs. Which resulted in me fixing those bugs
1165 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1167 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1168 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1169 Add some comments for strings into generated output for
1172 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1174 * tools/gidlcompilercontext.c: (write_compiled):
1175 Write out the shlibs variable before writing out the strings
1176 length. Fixes compiler warning when using '-l' flag with
1179 2008-03-11 Johan Dahlin <johan@gnome.org>
1181 * tests/parser/Foo-expected.gidl:
1182 * tests/parser/foo-object.h:
1185 * tools/scannerlexer.l:
1186 Add support for parsing return arguments. Add support for
1187 caller-owns return types.
1188 Patch by Philip Van Hoof.
1190 * tools/scannerparser.y:
1191 Remove parsing of the @deprecated syntax used in headers.
1192 We will support gtk-doc deprecation in the future instead.
1194 2008-03-11 Johan Dahlin <johan@gnome.org>
1196 * tools/compiler.c (main): Coding style fixes
1198 2008-03-10 Johan Dahlin <johan@gnome.org>
1201 Add GCOV_LIBS to GILIBS
1203 2008-03-10 Johan Dahlin <johan@gnome.org>
1205 * tests/parser/Foo-expected.gidl:
1206 * tests/parser/foo.c:
1207 Rename null-ok to direction=out
1209 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1211 reviewed and extensively tested by Johan
1213 * tests/parser/Foo-expected.gidl:
1214 * tests/parser/foo-object.h:
1215 * tests/parser/foo.c:
1218 * tools/gidlwriter.c:
1221 * tools/scannerlexer.l:
1222 * tools/scannerparser.y:
1224 Add support for scanning for gtk-doc comments inside
1225 C source files. Add tests
1227 2008-03-10 Johan Dahlin <johan@gnome.org>
1229 * tests/parser/Makefile.am:
1230 * tests/parser/foo.c:
1233 * tools/scannerparser.y:
1234 Add an api to lex filenames.
1235 Lex all source .c files passed in on the command line.
1236 Scan sources in a test and a couple of private structures
1237 which should not be included in the generated gidl
1239 2008-03-10 Johan Dahlin <johan@gnome.org>
1241 * tests/invoke/Makefile.am: Make the generated metadata
1242 depend on the g-idl-compiler
1244 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1246 * tools/gidlmodule.c
1247 * tools/gidlmodule.h
1250 Remove the old g-idl-compiler code.
1253 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1255 * tools/quote-file.sh
1258 Move to using the 'C' struct compiler code.
1260 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1262 * girepository/ginfo.c
1264 Change the way that external references with no namespace
1265 are dealt with. External references with no namespace
1266 are placed into the XML as-if they are a local reference.
1267 This is temporary, but helps with roundtrip tests.
1269 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1271 * girepository/ginfo.c
1272 Add the ability to get the value of a constant of
1273 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1274 is provided as a string.
1276 This would deal properly with:
1277 typedef char* random;
1278 const random = "A string";
1280 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1282 * girepository/ginfo.c
1283 * girepository/girepository.h
1285 Add a function to check if an enum is registered or not.
1286 Previously anything testing this relied on the g-type
1287 string offset having a value of 0.
1289 * girepository/gmetadata.c
1290 * girepository/gmetadata.h
1292 Remove unneccesary or erroneous checks. There were two
1293 metadata validation checks which made sure that the blob
1294 sizes were the same as some magic numbers compiled into the code.
1295 This is wrong as it breaks any forwards compatibility that may
1298 Checks were also present that made sure that unregistered type
1299 blobs had a value of 0 in the g-type offset field. This is
1300 unneccessary. If a type blob is unregistered then any value
1301 in its g-type field is simply invalid.
1303 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1305 * girepository/ginfo.c
1306 * girepository/gmetadata.c
1307 * girepository/gmetadata.h
1309 Change the metadata format to have a standard header
1310 for all the type blobs. Merge the SimpleTypeBlob
1311 and InterfaceTypeBlob into a union. A union of these
1312 two blobs existed previously but was not explicit
1313 in the metadata format.
1315 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1317 * tools/gidlcompilercontext.c
1318 * tools/gidlcompilercontext.h
1319 * tools/gidlcompilerentrynode.c
1320 * tools/gidlcompilerentrynode.h
1321 * tools/gidlcompilertypenode.c
1322 * tools/gidlcompilertypenode.h
1324 Add code to compile a tree of GIdlNodes to
1325 a 'C' struct representing the metadata.
1326 This is to aid cross-compiling. Previously
1327 the g-idl-compiler created a binary blob with
1328 data written in the byte order and alignment
1329 of the tool rather than the intended target.
1331 Cleaned up and improved by Johan and Robert :-)
1333 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1335 * girepository/ginvoke.c
1336 * girepository/girepository.h
1337 * girepository/gmetadata.c
1338 * girepository/gmetadata.h
1340 * tools/gidlparser.c
1341 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1342 to avoid confusion with the interface blob.
1345 * tools/gidlparser.c
1346 Remove magic numbers and replace with type-tag
1347 enumeration symbols.
1349 * girepository/gmetadata.c
1350 Add validate declaration.
1352 2008-03-10 Jürg Billeter <j@bitron.ch>
1354 * tools/gidlparser.c: (parse_type_internal):
1355 * tools/scannerlexer.l:
1356 * tools/scannerparser.y:
1357 Support C99 _Bool type in scanner.
1359 2008-03-10 Jürg Billeter <j@bitron.ch>
1361 * tests/parser/Foo-expected.gidl:
1362 * tests/parser/foo-object.h:
1363 * tests/parser/foo.c: (foo_enum_method):
1364 * tools/scanner.c: (g_igenerator_process_function_symbol):
1365 Don't skip functions that are defined in the namespace of a type
1366 that doesn't support methods, as for example enums.
1368 2008-03-10 Johan Dahlin <johan@gnome.org>
1370 * gidl.dtd: Remove, we're using relaxng for now
1372 * tests/parser/Foo-expected.gidl:
1373 * tests/parser/foo-object.h:
1374 * tests/parser/foo.c:
1375 Rename the enum/flags get_type functions to include the whole type.
1377 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1379 * tools/gidlwriter.c (enum_generate): added "type-name",
1380 "get-type" and "deprecated" missing arguments.
1381 * tests/parser/Foo-expected.gidl:
1382 * tests/parser/foo-object.h: test enum type, and no type.
1384 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1387 Consistent checks, add missing 'test'
1389 2008-03-05 Havoc Pennington <hp@redhat.com>
1391 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1392 does on Fedora 8. Make libffi a hard requirement, since it was in
1393 practice anyway (was not really conditional in the code or
1394 makefile, only in configure).
1396 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1398 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1399 reviewed by: Johan Dahlin <johan@gnome.org>
1401 * tests/Makefile.am:
1402 * tests/roundtrips.sh:
1403 Modify the roundtrips test so that they do not use the
1404 --raw option of the gidl compiler but instead compile a
1405 shared library to use with g_module.
1407 * tests/invoke/Makefile.am:
1408 * tests/invoke/invoke.c:
1409 Modify the invoke tests to build a shared library rather
1410 than use the --raw option.
1412 * tests/invoke/invoke-namespace-find.sh: Removed:
1413 Noone knows why this was here, so removed.
1415 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1417 * tools/scanner.c: (g_igenerator_process_function_symbol):
1418 Move g_idl_node_can_have_member test later, as it broke spotting
1419 get_type's for nodes that can't have members.
1421 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1424 * tools/gidlnode.c: (g_idl_node_can_have_member):
1425 Add g_idl_node_can_have_member.
1427 * tools/scanner.c: (g_igenerator_process_function_symbol):
1428 Use g_idl_node_can_have_member to test if we should add a function
1429 as a member of the type node.
1431 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1433 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1435 * tests/parser/Makefile.am:
1436 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1438 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1440 * tools/scanner.c: (main):
1441 Ignore -pthread when passed to g-idl-scanner.
1443 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1445 * tools/grealpath.h: Added:
1446 * tools/scanner.c: (main):
1447 * tools/scannerlexer.l:
1448 * tools/Makefile.am:
1449 Always use absolute paths with symbolic links resolved when
1450 comparing filenames.
1452 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1454 * gobject-introspection.pc.in:
1455 Provide variables for g-idl-parser, scanner and compiler in the
1458 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1461 * girepository/Makefile.am:
1462 * tools/Makefile.am:
1463 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1465 2008-02-10 Johan Dahlin <johan@gnome.org>
1467 * tests/parser/Foo-expected.gidl:
1468 * tests/parser/foo-object.h:
1469 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1470 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1473 2008-02-10 Johan Dahlin <johan@gnome.org>
1475 * tests/parser/Foo-expected.gidl:
1476 * tests/parser/foo-object.h:
1477 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1478 Add enum and flags test.
1480 2008-02-10 Johan Dahlin <johan@gnome.org>
1484 * girepository/Makefile.am:
1485 Make 'make distcheck' work again.
1487 2008-02-10 Johan Dahlin <johan@gnome.org>
1489 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1492 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1493 check, eg exclude it from BUILT_SOURCES.
1495 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1500 * girepository/Makefile.am:
1501 * m4/Makefile.am: Added:
1502 * m4/as-compiler-flag.m4: Added:
1503 * m4/gcov.m4: Added:
1504 * tools/Makefile.am:
1505 Add ability to generate a coverage report.
1506 Adds configure option --enable-gcov and make rule 'check-coverage'.
1508 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1512 * gidl/Makefile.am: Added:
1513 * girepository/Makefile.am: Added:
1514 * src/Makefile.am: Renamed to tools/Makefile.am:
1515 * src/compiler.c: Renamed to tools/compiler.c:
1516 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1517 * src/generate.c: Renamed to tools/generate.c:
1518 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1519 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1520 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1521 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1522 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1523 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1524 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1525 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1526 * src/ginfo.c: Renamed to girepository/ginfo.c:
1527 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1528 * src/girepository.c: Renamed to girepository/girepository.c:
1529 * src/girepository.h: Renamed to girepository/girepository.h:
1530 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1531 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1532 * src/scanner.c: Renamed to tools/scanner.c:
1533 * src/scanner.h: Renamed to tools/scanner.h:
1534 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1535 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1536 * tests/invoke/Makefile.am:
1537 Split src/ into girepository/ and tools/
1541 * girepository/Makefile.am:
1542 * tests/Makefile.am:
1543 * tests/invoke/Makefile.am:
1544 * tests/parser/Makefile.am:
1545 * tests/roundtrips.sh:
1546 * tools/Makefile.am:
1547 Make distcheck work.
1549 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1551 * tests/invoke/invoke.c: (main):
1552 * tests/invoke/testfns.c: (test6), (test7):
1553 * tests/invoke/testfns.xml:
1554 Add tests for invokation with a GList argument.
1555 Also tests caller-owns return values.
1557 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1560 Add some documentation for GICallableInfo
1562 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1565 Correct syntax errors in the DTD file.
1567 * relaxng/c-types.xml:
1568 * relaxng/g-types.xml:
1570 Add a RelaxNG specification for the GObject Introspection XML data.
1571 The Specification has validated all of the test files.
1573 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1575 * tests/roundtrips.sh:
1576 * tests/struct.test:
1577 Add roundtrip tests for structs.
1579 2008-01-11 Johan Dahlin <johan@gnome.org>
1581 * src/scanner.c (g_igenerator_process_function_symbol):
1582 Refactor out g_idle_node_add_member.
1583 (create_node_from_gtype, create_node_from_ctype):
1584 Use case instead of if...else
1585 (get_type_from_type_id):
1586 Rename to create_node_from_gtype
1587 (get_type_from_ctype):
1588 Rename to create_node_from_ctype
1590 Rename ginode -> node, gitype -> type, gifunc -> func.
1592 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1593 Two new functions, refactor out of scanner.c
1595 * src/scanner.c: (g_igenerator_process_function_symbol):
1596 * src/scannerlexer.l:
1597 Do not save the content of the deprecated variable, only
1600 2008-01-11 Johan Dahlin <johan@gnome.org>
1602 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1604 2008-01-11 Jürg Billeter <j@bitron.ch>
1606 * src/scannerlexer.l:
1607 Fix GTK-Doc parsing.
1609 2008-01-11 Jürg Billeter <j@bitron.ch>
1611 * src/scannerlexer.l:
1612 Fix GTK-Doc parsing.
1614 2008-01-11 Jürg Billeter <j@bitron.ch>
1616 * src/scanner.c: (lookup_symbol):
1617 Return unresolved name if we find unknown symbol.
1619 2008-01-11 Jürg Billeter <j@bitron.ch>
1621 * src/scanner.c: (g_igenerator_generate):
1622 Initialize GObject to fix scanning interface properties.
1624 * tests/parser/Foo-expected.gidl:
1625 * tests/parser/foo-object.h:
1626 * tests/parser/foo.c: (foo_interface_get_type):
1627 Test interfaces with GObject prerequisite.
1629 * tests/parser/Makefile.am:
1630 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1632 2007-12-27 Johan Dahlin <johan@gnome.org>
1634 * src/scannerlexer.l:
1635 Parse gtk-doc comments.
1637 * src/gidlwriter.c: (function_generate):
1638 Reorganize, avoid duplication and add support for
1639 writing deprecated functions.
1641 * src/scannerparser.y:
1643 Add new structure CDirective and functions to create/free them.
1645 * src/scanner.c: (g_igenerator_process_function_symbol),
1646 (g_igenerator_process_unregistered_struct_typedef),
1647 (g_igenerator_process_struct_typedef),
1648 (g_igenerator_process_union_typedef),
1649 (g_igenerator_process_enum_typedef),
1650 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1651 (g_igenerator_start_preprocessor):
1652 Parse @deprecated directive for functions.
1653 Remove some more C99isms.
1654 Send in -C to cpp to avoid stripping comments.
1656 * tests/parser/foo-object.h:
1657 * tests/parser/Foo-expected.gidl:
1658 Add deprecated directive
1660 2007-12-27 Johan Dahlin <johan@gnome.org>
1662 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1663 escape ' and " so it looks more like C.
1666 Unlink temporary file used.
1668 2007-12-27 Johan Dahlin <johan@gnome.org>
1670 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1671 (g_igenerator_start_preprocessor), (main):
1673 * src/scannerparser.y:
1674 Plug a couple of simple memory leaks.
1676 2007-12-27 Johan Dahlin <johan@gnome.org>
1678 * src/scanner.c: (g_igenerator_parse_macros),
1679 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1682 * src/scannerparser.y:
1683 * tests/parser/Makefile.am:
1685 Improve error reporting, return when the preprocessor fails.
1686 Add a verbose parameter, to aid debugging.
1687 Revert to using a temporary file to communicate between the
1688 preprocessor and the parser, because we need to wait for
1689 the exit code from the pre-processor before starting to parse.
1691 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1693 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1694 cparser.y to scannerparser.y
1696 2007-12-11 Johan Dahlin <johan@gnome.org>
1700 * src/scanner.c: (g_igenerator_new):
1702 Get rid of the global the_generator variable.
1704 2007-12-10 Johan Dahlin <johan@gnome.org>
1706 * src/scanner.c (main): Add an output option,
1707 add checks for required parameters
1710 set BUILD_SOURCES and CLEANFILES properly
1712 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1713 (g_writer_write_indent), (g_writer_write_unindent),
1714 (field_generate), (value_generate), (constant_generate),
1715 (property_generate), (function_generate), (vfunc_generate),
1716 (signal_generate), (interface_generate), (struct_generate),
1717 (union_generate), (boxed_generate), (enum_generate),
1718 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1720 * src/scanner.c: (g_igenerator_generate):
1722 * src/scannerwriter.c:
1724 Refactor scannerwriter to only be tied to a GIdlModule and move
1725 it (again!) to gidlwriter.c. Change the writer function to take
1728 2007-12-10 Johan Dahlin <johan@gnome.org>
1731 * src/scanner.c: (g_igenerator_generate):
1733 * src/scannerwriter.c: (g_igenerator_write_inline),
1734 (g_igenerator_write), (g_igenerator_write_indent),
1735 (g_igenerator_write_unindent), (field_generate), (value_generate),
1736 (constant_generate), (property_generate), (function_generate),
1737 (vfunc_generate), (signal_generate), (interface_generate),
1738 (struct_generate), (union_generate), (boxed_generate),
1739 (enum_generate), (node_generate), (module_generate),
1740 (g_scanner_write_file):
1742 Move the scanner gidl writing to a separate source file.
1744 2007-12-10 Johan Dahlin <johan@gnome.org>
1749 Move over all CType construction functions.
1751 * tests/parser/Makefile.am:
1752 Be verbose when printing parsing tests results.
1754 2007-12-10 Johan Dahlin <johan@gnome.org>
1756 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1757 preprocessor handling to here. Start cpp insteado of cc -E,
1758 always include -U__GNUC__, since it's specific to the preprocessor
1761 * tests/parser/Makefile.am (check-local): Silent diff and skip
1762 -U__GNUC__ which is always defined now
1764 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1766 reviewed by: <delete if not using a buddy>
1768 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1769 * tests/parser/Makefile.am:
1771 2007-12-09 Johan Dahlin <johan@gnome.org>
1774 Use GOption for command line options.
1775 (g_igenerator_new, main): Simplify constructor and they way
1776 parameters are passed into it.
1782 * src/gen-introspect.c:
1783 * src/gen-introspect.h:
1785 Rename gen-introspect.[ch] to scanner.[ch]
1787 2007-12-09 Johan Dahlin <johan@gnome.org>
1791 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1792 don't make the repository library and the other utilites link against
1795 * src/gen-introspect.c: (g_igenerator_create_object),
1796 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1797 (g_igenerator_create_enum), (g_igenerator_create_flags),
1798 (g_igenerator_process_module_symbol),
1799 (g_igenerator_process_module), (g_igenerator_generate), (main):
1800 * src/gen-introspect.h:
1801 Refactor g_igenerator_process_types into smaller pieces.
1803 * tests/parser/Makefile.am:
1804 Depend on the gen-introspect binary
1806 2007-12-09 Johan Dahlin <johan@gnome.org>
1808 * src/gen-introspect.c (g_igenerator_process_types):
1809 Break into smaller pieces, one for each generated node type.
1811 2007-12-08 Johan Dahlin <johan@gnome.org>
1813 * src/gen-introspect.c: (g_igenerator_process_types),
1814 (g_igenerator_add_module):
1815 * tests/parser/Foo-expected.gidl:
1816 * tests/parser/foo-object.h:
1817 * tests/parser/foo.c: (foo_subobject_class_init),
1818 (foo_subobject_init):
1820 Add a subobject test and make sure to register defined classes
1821 in the lookup symbol hash table.
1823 2007-12-08 Johan Dahlin <johan@gnome.org>
1827 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1828 (g_igenerator_process_types), (g_igenerator_add_module),
1829 (g_igenerator_add_include_idl), (main):
1830 * src/gen-introspect.h:
1831 * tests/parser/Makefile.am:
1832 * tests/parser/Foo-expected.gidl:
1834 Change the gen-introspect to generate namespaced module names,
1835 such as GLib.Object instead of GObject.
1836 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1837 add a --include-idl parameter to gen-introspect,
1838 and update the parser test.
1840 2007-12-08 Johan Dahlin <johan@gnome.org>
1842 * src/gen-introspect.c:
1843 Move main to the end of the file and attempt to make it valid
1846 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1847 we're not quite ready to generate metadata yet.
1852 Add a simple gen-introspect parser test
1854 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1856 reviewed by: Johan Dahlin <johan@gnome.org>
1859 * gobject-introspection.pc.in:
1861 * src/compiler.c: (format_output), (write_out_metadata), (main):
1862 * src/gen-introspect.c: (main):
1863 * src/gen-introspect.h:
1864 * src/generate.c: (write_callable_info), (write_repository),
1865 (load_metadata), (main):
1866 * src/gidlmodule.c: (g_idl_module_new),
1867 (g_idl_module_build_metadata):
1869 * src/gidlparser.c: (start_element_handler):
1870 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1871 (g_base_info_get_name), (g_base_info_get_namespace),
1872 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1873 (g_base_info_get_metadata), (g_function_info_get_symbol),
1874 (g_function_info_get_flags), (g_function_info_get_property),
1875 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1876 (g_callable_info_may_return_null),
1877 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1878 (g_callable_info_get_arg), (g_arg_info_get_direction),
1879 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
1880 (g_arg_info_is_optional), (g_arg_info_may_be_null),
1881 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
1882 (g_type_info_get_tag), (g_type_info_get_param_type),
1883 (g_type_info_get_interface), (g_type_info_get_array_length),
1884 (g_type_info_is_zero_terminated),
1885 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1886 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
1887 (g_value_info_get_value), (g_field_info_get_flags),
1888 (g_field_info_get_size), (g_field_info_get_offset),
1889 (g_registered_type_info_get_type_name),
1890 (g_registered_type_info_get_type_init),
1891 (g_struct_info_get_n_fields), (g_struct_info_get_field),
1892 (g_struct_info_get_n_methods), (g_struct_info_get_method),
1893 (find_method), (g_struct_info_find_method),
1894 (g_enum_info_get_n_values), (g_enum_info_get_value),
1895 (g_object_info_get_parent), (g_object_info_get_type_name),
1896 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
1897 (g_object_info_get_interface), (g_object_info_get_n_fields),
1898 (g_object_info_get_field), (g_object_info_get_n_properties),
1899 (g_object_info_get_property), (g_object_info_get_n_methods),
1900 (g_object_info_get_method), (g_object_info_find_method),
1901 (g_object_info_get_n_signals), (g_object_info_get_signal),
1902 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
1903 (g_object_info_get_n_constants), (g_object_info_get_constant),
1904 (g_interface_info_get_n_prerequisites),
1905 (g_interface_info_get_prerequisite),
1906 (g_interface_info_get_n_properties),
1907 (g_interface_info_get_property), (g_interface_info_get_n_methods),
1908 (g_interface_info_get_method), (g_interface_info_find_method),
1909 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
1910 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
1911 (g_interface_info_get_n_constants),
1912 (g_interface_info_get_constant), (g_property_info_get_flags),
1913 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
1914 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
1915 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
1916 (g_constant_info_get_value), (g_union_info_get_n_fields),
1917 (g_union_info_get_field), (g_union_info_get_n_methods),
1918 (g_union_info_get_method), (g_union_info_is_discriminated),
1919 (g_union_info_get_discriminator_offset),
1920 (g_union_info_get_discriminator):
1921 * src/ginvoke.c: (g_function_info_invoke):
1922 * src/girepository.c: (g_irepository_register),
1923 (g_irepository_unregister), (g_irepository_get_default),
1924 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
1925 (g_irepository_get_info), (g_irepository_find_by_name),
1926 (g_irepository_get_shared_library),
1927 (g_irepository_build_search_path), (g_irepository_register_file),
1928 (g_irepository_error_quark):
1929 * src/girepository.h:
1930 * src/gmetadata.c: (g_metadata_get_dir_entry),
1931 (g_metadata_check_sanity), (validate_header),
1932 (validate_array_type_blob), (validate_iface_type_blob),
1933 (validate_param_type_blob), (validate_error_type_blob),
1934 (validate_type_blob), (validate_arg_blob),
1935 (validate_signature_blob), (validate_function_blob),
1936 (validate_callback_blob), (validate_constant_blob),
1937 (validate_value_blob), (validate_field_blob),
1938 (validate_property_blob), (validate_signal_blob),
1939 (validate_vfunc_blob), (validate_struct_blob),
1940 (validate_enum_blob), (validate_object_blob),
1941 (validate_interface_blob), (validate_errordomain_blob),
1942 (validate_union_blob), (validate_blob), (validate_directory),
1943 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
1944 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
1945 (g_metadata_new_from_mapped_file), (g_metadata_free),
1946 (g_metadata_set_module), (g_metadata_get_namespace):
1948 * tests/Makefile.am:
1949 * tests/invoke/Makefile.am:
1950 * tests/invoke/invoke-namespace-find.sh:
1951 * tests/invoke/invoke.c: (main):
1953 Add a namespace/shared library mapping. fixes #313268.
1955 2007-12-03 Johan Dahlin <johan@gnome.org>
1957 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
1960 2007-11-30 Jürg Billeter <j@bitron.ch>
1966 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
1967 (g_igenerator_write_inline), (g_igenerator_write),
1968 (g_igenerator_write_indent), (g_igenerator_write_unindent),
1969 (field_generate), (value_generate), (constant_generate),
1970 (property_generate), (function_generate), (vfunc_generate),
1971 (signal_generate), (interface_generate), (struct_generate),
1972 (union_generate), (boxed_generate), (enum_generate),
1973 (node_generate), (module_generate), (get_type_from_type_id),
1974 (str_replace), (g_igenerator_process_properties),
1975 (g_igenerator_process_signals), (g_igenerator_process_types),
1976 (get_type_from_ctype), (g_igenerator_process_function_symbol),
1977 (g_igenerator_process_unregistered_struct_typedef),
1978 (g_igenerator_process_struct_typedef),
1979 (g_igenerator_process_union_typedef),
1980 (g_igenerator_process_enum_typedef),
1981 (g_igenerator_process_function_typedef),
1982 (g_igenerator_process_constant), (g_igenerator_process_symbols),
1983 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
1984 (g_igenerator_generate), (main), (csymbol_new),
1985 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
1986 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
1987 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
1988 (eat_hspace), (eat_line), (read_identifier),
1989 (g_igenerator_parse_macros):
1990 * src/gen-introspect.h:
1992 Import gen-introspect to generate introspection information by
1995 2007-11-30 Jürg Billeter <j@bitron.ch>
1997 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
1999 2007-11-30 Jürg Billeter <j@bitron.ch>
2001 * src/gidlparser.c: (end_element_handler): Don't leave requires
2004 2007-11-29 Johan Dahlin <johan@gnome.org>
2006 * src/gidlparser.c (parse_type_internal): Add char,
2007 gchar and guchar to the builtin types.
2009 2007-11-26 Johan Dahlin <johan@gnome.org>
2011 * src/ginfo.c: (g_object_info_get_type_name),
2012 (g_object_info_get_type_init):
2013 * src/girepository.c: (g_irepository_is_registered):
2014 * src/girepository.h:
2016 Add g_object_info_get_type_name, g_object_info_get_type_init and
2017 g_irepository_is_registered.
2019 2006-08-14 Jürg Billeter <j@bitron.ch>
2021 * src/gidlparser.c: (end_element_handler): Don't leave
2022 namespace and implements states too early.
2025 2007-11-26 Johan Dahlin <johan@gnome.org>
2027 * src/gmetadata.c (validate_struct_blob):
2028 pass blob_type to validate_function_blob instead of
2029 hard-coding BLOB_TYPE_STRUCT.
2031 Patch by Torsten Schoenfeld, fixes #314190
2033 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2035 * src/compiler.c, src/generate.c, src/gidlnode.c,
2036 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2037 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2038 warnings about return values, signedness mismatches, unused
2039 variables, and unhandles enum values in switch statements.
2041 * tests/invoke/Makefile.am: Don't install the invoke test program.
2042 Add -I ../../src to the cflags used for the test functions files.
2044 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2046 * src/girepository.h: Export g_invoke_error_quark.
2048 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2050 * src/ginvoke.c: Remove the fallback implementation of
2051 g_function_info_invoke since we now formally depend on libffi.
2053 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2055 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2056 Remove these files from cvs, as they are now generated.
2058 * src/gmetadata.c (validate_iface_type_blob): Don't
2059 complain if blob->pointer is not set, since that
2060 happens for enum and flag types. (#308935, Gustavo
2063 * Commit an autoconf-conversion patch by
2064 Gustavo Carneiro (#308708)
2066 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2068 * src/compiler.c (main): Use it here to validate
2069 the generated metadata.
2071 * src/gmetadata.[hc]: Add code to validate a
2074 * metadata-format.txt: Updates
2076 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2078 * tests/*: Add struct offsets to field and vfunc
2081 * src/generate.c (write_vfunc_info): Write offset
2082 information for vfuncs.
2084 * src/gidlnode.c (g_idl_node_build_metadata): Write
2085 the struct offsets into the metadata.
2087 * src/gidlparser.c: Parse the offset attributes of
2088 field and vfunc elements.
2090 * src/gidlnode.h: Add offset members to field and
2093 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2097 * gidl.dtd: Updates.
2099 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2100 file, creates, compiles and runs a C file, and folds the
2101 resulting struct offsets back into the .gidl file.
2103 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2105 * src/gidlparser.c (start_field): Make fields in objects
2108 * src/gidlmodule.c: Include string.h
2113 * metadata-format.txt: Cleanup basic types.
2114 * src/*: Adapt to the changes.
2115 * tests/*: Adapt to the changes.
2116 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2118 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2119 size for enum blobs.
2120 (g_idl_node_get_full_size): Report the correct size for
2123 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2124 error checking for blob sizes.
2126 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2128 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2129 interface types for which is_pointer is FALSE, e.g. enums.
2131 * src/gidlnode.c (g_idl_node_get_full_size)
2132 * src/gidlparser.c (parse_type_internal):
2133 * src/generate.c (write_type_info): Support unspecialized
2134 lists, hashtables and errors. Also emit a '*' after these.
2138 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2142 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2144 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2146 * src/*.c: Change the directory to be addressed by
2147 1-based indexes, and use an index of zero to mean
2150 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2152 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2154 * tests/union.test: Add a union test.
2156 * src/generate.c: Handle unions.
2158 * src/girepository.h:
2159 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2161 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2163 * src/gidlparser.c (start_union): Parse <union> elements.
2165 * src/gidlnode.h: Add a GIdlNodeUnion.
2167 * gidl.dtd: Add a <union> element.
2169 * src/gmetadata.c (g_metadata_check_sanity): Check
2172 * src/gmetadata.h: Add union_blob_size to Header,
2175 * metadata-format.txt: Add a UnionBlob.
2177 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2179 * tests/*: Update testcases.
2181 * src/generate.c (write_callable_info): Don't forget to
2182 write transfer and null-ok attributes for return types
2185 * src/girepository.h:
2186 * src/ginfo.c (g_callable_info_may_return_null):
2187 New function to find out if a function may return NULL.
2189 * src/compiler.c (format_output): Make the generated
2192 * README: Point to a recent libffi snapshot.
2194 * tests/invoke/*: Some invoke tests.
2196 * src/Makefile: Add ginvoke.c and the necessary
2199 * src/girepository.h (g_function_info_invoke): Add
2202 * src/ginvoke.c (g_function_info_invoke): Initial
2203 implementation of invoke functionality based on libffi.
2205 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2206 strings and types hash tables in the right order when
2208 (find_entry_node): Free the name parts.
2210 2005-05-12 Johan Dahlin <johan@gnome.org>
2212 * src/generate.c: Generate consistent end tags.
2216 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2220 * src/gidlparser.c (start_function): Actually add
2221 methods to objects. (Steven Walter)
2223 * src/girepository.h:
2224 * src/ginfo.c: Rename Transfer and Direction to
2225 GITransfer and GIDirection. (Torsten Schoenfeld)
2227 * tests/*: Make tests work with the changes in name
2230 * src/gidlnode.c (find_entry_node): Parse qualified
2231 names and generate xref nodes for them if needed. Don't
2232 require all modules to be loaded any more.
2234 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2237 * src/ginfo.c (g_object_info_get_parent): Return NULL
2238 if blob->parent is 0. Still need to make sure index
2241 * src/generate.c: Generate qualified names when
2242 referring to non-local types. Emit transfer attribute
2245 * src/compiler.c (format_output): Put the function
2246 attributes where gcc accepts them.
2248 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2250 * src/compiler.c (main): Add a --verbose cmdline option
2251 and only log messages if it is specified.
2254 * src/gidlnode.c (init_stats, dump_stats): Collect some
2255 statistics on string and type sharing.
2257 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2258 g_message() instead of fprintf().
2260 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2261 (g_idl_node_get_size): Implement for structs.
2262 (g_idl_node_get_full_size): Handle parent being NULL.
2263 (serialize_type): Handle lookup failures more gracefully.
2265 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2267 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2268 size calculation for 2-parameter types and for objects.
2270 * src/compiler.c: Add a cmdline option for debug output
2271 and install a log handler to implement it.
2272 * src/gidlnode.c: Add some debug spew.
2276 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2277 forget to count the module name when calculating the
2278 required size for the metadata.
2281 * src/gidlparser.c: Fix compiler warnings.
2283 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2285 * src/compiler.c (main): Free the option context.
2287 * gidl.dtd: Clean up handling of names. All elements
2288 have a "name", only the elements corresponding to
2289 actual callable functions (function, method, constructor),
2290 have an additional "symbol" attribute holding the
2291 dlsym()-able function name.
2293 * src/generate.c: Adapt to generate xml matching the
2297 * src/gidlnode.c: Adapt to parse the new dtd.
2299 * tests/*.test: Adjust to the new dtd.
2301 * metadata-format.txt:
2302 * src/gmetadata.h: Remove the short_name field
2304 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2305 * src/girepository.h:
2306 * src/ginfo.c (g_value_info_get_short_name): Removed
2308 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2310 * gidl.dtd: Allow constructors for boxed types,
2311 patch by Jonathan Blandford.
2314 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2316 * --- Initial import ---