1 2008-08-13 Colin Walters <walters@verbum.org>
3 * giscanner/girparser.py: Parse records.
5 2008-08-13 Colin Walters <walters@verbum.org>
7 * gir/Makefile.am: Install again.
8 * gir/gobject-2.0.gir: Add some more bits.
10 2008-08-13 Colin Walters <walters@verbum.org>
12 * gir/gobject-2.0.gir: Use correct namespace, add GType.
13 * giscanner/girparser.py: Handle aliases.
14 * giscanner/transformer.py: Record aliases. Make resolver
15 functions public; we now call into these explicitly from
16 glibtransformer. Handle resolving aliases.
17 * giscanner/glibtransformer.py: Separate our internal namespace
18 from included ones. Call up into transformer's resolver functions.
20 2008-08-13 Johan Dahlin <johan@gnome.org>
22 * girepository/girnode.c (g_ir_node_get_full_size_internal):
23 * girepository/girparser.c (start_class):
24 * giscanner/glibtransformer.py:
25 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
27 2008-08-13 Johan Dahlin <johan@gnome.org>
29 * giscanner/cgobject.py:
30 Register GInitiallyUnowned
31 * giscanner/girwriter.py:
32 * giscanner/glibtransformer.py:
33 Special case GObject/GInitially owned as they are a bit special to use.
35 2008-08-13 Colin Walters <walters@verbum.org>
37 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
38 Object is in GObject namespace.
40 2008-08-13 Colin Walters <walters@verbum.org>
42 * giscanner/girparser.py: Fix processing of functions
45 2008-08-13 Colin Walters <walters@verbum.org>
47 * giscanner/girparser.py: Parse more than just <class.
48 * giscanner/glibtransformer.py: Put aliases in a separate
49 data structure since their name is not canonicall.
50 * giscanner/transformer.py: Handle resolving type names
53 2008-08-13 Johan Dahlin <johan@gnome.org>
56 Allow multiple libraries
57 * giscanner/glibtransformer.py:
58 Rename load_library to add_library, traverse over all libraries
59 when trying to resolve a function
61 2008-08-12 Colin Walters <walters@verbum.org>
63 * giscanner/transformer.py: Record typedefs as <alias> elements.
64 Also attempt to look up types in external namespaces.
65 * giscanner/girwriter.py: Write them.
66 * giscanner/glibtransformer.py: Rework resolver using real instanceof
67 checks. Resolve interface methods and properties.
68 * tests/scanner/foo-object.h: Add a method with typedef.
69 * tests/scanner/Foo-expected.gir: Update.
70 * girepository/girnode.c: Debug tweaks.
71 * girepository/girparser.c: Make a first pass through the XML where we
72 record all the aliases. This lets us resolve them as we go through the
74 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
77 2008-08-12 Colin Walters <walters@verbum.org>
79 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
80 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
82 * giscanner/transformer.py: Record typedefs and expose public API for resolving
84 * tests/scanner/Foo-expected.gir: Fix expected callback types.
86 2008-08-12 Colin Walters <walters@verbum.org>
88 * giscanner/glibtransformer.py: Also transform object properties.
90 2008-08-12 Colin Walters <walters@verbum.org>
92 * giscanner/glibtransformer.py: Also transform callbacks
93 and structure field types.
94 * tests/scanner/Fooe-expected.gir: Update to expect correct
95 names for callbacks and structs.
97 2008-08-12 Colin Walters <walters@verbum.org>
99 * girepository/girparser.c: Handle 'any'.
100 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
103 2008-08-12 Colin Walters <walters@verbum.org>
105 * giscanner/glibtransformer.py: We need to do type
106 resolution in a second pass after we've seen all the
109 2008-08-12 Colin Walters <walters@verbum.org>
111 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
112 Add enum return value.
113 * giscanner/glibtransformer.py: Transform function return types
116 2008-08-12 Colin Walters <walters@verbum.org>
118 * tests/scanner/Makefile.am: Dep .gir files on scanner
119 sources too. Also remove @ so we see scanner invocations.
121 2008-08-12 Colin Walters <walters@verbum.org>
123 * girepository/girparser.c, girepository/gtypelib.c,
124 girepository/gtypelib.h, girepository/girnode.c:
125 Remove usage of (GAPI-oriented) TypeTag in favor of
126 GITypeTag from girepository.h.
128 2008-08-10 Colin Walters <walters@verbum.org>
130 * tests/roundtrips.sh: Use the correct tests.
132 2008-08-10 Colin Walters <walters@verbum.org>
134 * giscanner/cgobject.py: Declare/wrap a few more functions.
135 Fix parameter types for g_object_new and g_type_fundamental.
137 2008-08-10 Colin Walters <walters@verbum.org>
139 * giscanner/cgobject.py: Add new decorator @gwrap which forces
140 us to declare types for both return value and parameters. The
141 ctypes default of 'int' is bad because it hides 32/64 bit
142 problems. Convert all existing functions to use it.
144 2008-08-09 Johan Dahlin <johan@gnome.org>
146 * giscanner/__init__.py:
148 * giscanner/cgobject.py:
149 * giscanner/gidlparser.py:
150 * giscanner/gidlwriter.py:
151 * giscanner/girparser.py:
152 * giscanner/girwriter.py:
153 * giscanner/glibast.py:
154 * giscanner/glibtransformer.py:
155 * giscanner/odict.py:
156 * giscanner/sourcescanner.py:
157 * giscanner/transformer.py:
158 * giscanner/utils.py:
159 * giscanner/xmlwriter.py:
160 * tools/g-ir-scanner:
164 2008-08-09 Johan Dahlin <johan@gnome.org>
167 * relaxng/c-types.xml:
168 * relaxng/g-types.xml:
169 * relaxng/relaxng.rng:
171 Remove outdated relaxng schemas.
173 2008-08-09 Johan Dahlin <johan@gnome.org>
176 Rename metadata to typelib in variable names,
179 2008-08-09 Johan Dahlin <johan@gnome.org>
183 Remove old C scanner, which got rewritten in python.
185 2008-08-09 Johan Dahlin <johan@gnome.org>
187 * girepository/Makefile.am:
197 Move shared *.[ch] files to girepository from tools
199 2008-08-09 Johan Dahlin <johan@gnome.org>
204 * tests/constant.test:
207 * tests/function.test:
208 * tests/gobject.test:
209 * tests/interface.test:
216 Rename *.test to *.gir
218 2008-08-09 Johan Dahlin <johan@gnome.org>
222 * tests/parser/Foo-expected.gir:
223 * tests/parser/Makefile.am:
224 * tests/parser/foo-object.h:
225 * tests/parser/foo.c:
226 * tests/parser/utility-expected.gir:
227 * tests/parser/utility.c:
228 * tests/parser/utility.h:
229 * tests/scanner/Makefile.am:
230 Rename tests/parser to test/scanner
232 2008-08-08 Colin Walters <walters@verbum.org>
234 * tests/roundtrips.sh: Use local .gir files again.
236 2008-08-08 Colin Walters <walters@verbum.org>
238 * tests/invoke/Makefile.am: .gir file depends on libtool
241 2008-08-08 Colin Walters <walters@verbum.org>
243 * tools/girnode.c: Pass through parent node so we can
244 print the node whose child is NULL, if that occurs.
246 2008-08-08 Johan Dahlin <johan@gnome.org>
249 Disable roundtrip tests which are not yet working
250 * tests/invoke/testfns.gir:
253 2008-08-08 Johan Dahlin <johan@gnome.org>
255 * giscanner/girwriter.py:
257 * giscanner/glibast.py:
258 * giscanner/glibtransformer.py:
259 Swap order of members, to keep it consistent with
262 2008-08-08 Johan Dahlin <johan@gnome.org>
264 * girepository/gtypelib.c (validate_header):
265 * girepository/gtypelib.h:
267 * giscanner/girwriter.py:
268 * giscanner/sourcescanner.c (gi_source_symbol_ref),
269 (gi_source_symbol_unref):
272 * tests/constant.test:
275 * tests/function.test:
276 * tests/gobject.test:
277 * tests/interface.test:
278 * tests/invoke/Makefile.am:
279 * tests/invoke/testfns.xml:
281 * tests/parser/Makefile.am:
282 * tests/roundtrips.sh:
289 * tools/compiler.c (main):
290 * tools/generate.c (write_callable_info), (write_function_info),
292 * tools/gidlmodule.c:
293 * tools/gidlmodule.h:
296 * tools/gidlparser.c:
297 * tools/gidlparser.h:
298 * tools/gidlwriter.c:
299 * tools/gidlwriter.h:
300 * tools/scanner.c (create_node_from_gtype),
301 (create_node_from_ctype), (g_igenerator_process_properties),
302 (g_igenerator_process_signals), (g_igenerator_create_object),
303 (g_igenerator_create_interface), (g_igenerator_create_boxed),
304 (g_igenerator_create_enum), (g_igenerator_create_flags),
305 (g_igenerator_process_function_symbol),
306 (g_igenerator_process_unregistered_struct_typedef),
307 (g_igenerator_process_struct_typedef),
308 (g_igenerator_process_union_typedef),
309 (g_igenerator_process_enum_typedef),
310 (g_igenerator_process_function_typedef),
311 (g_igenerator_process_constant), (g_igenerator_process_symbols),
312 (g_igenerator_add_module), (g_igenerator_add_include_idl):
313 Merge in the gir-compiler branch.
314 Thanks to Philip and Colin for their help.
316 2008-07-26 Colin Walters <walters@verbum.org>
318 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
319 and g-idl-generate to go along with how we're changing this
320 module to be installed.
321 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
323 2008-07-24 Colin Walters <walters@verbum.org>
325 * girepository/girepository.c (g_irepository_register): Add
326 environment variable G_IREPOSITORY_VERBOSE so we can print
327 out what we're doing.
328 * girepository/girepository.c (g_irepository_register_file):
329 Add GError error message to g_debug call.
331 2008-07-08 Jürg Billeter <j@bitron.ch>
333 * giscanner/glibast.py:
337 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
339 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
342 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
345 * giscanner/girwriter.py:
346 * giscanner/transformer.py:
347 * tests/parser/Foo-expected.gir:
348 * tests/parser/foo-object.h:
349 * tests/parser/foo.c (foo_object_allow_none):
350 Add support for gtk-doc annotations for allow-none.
353 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
356 * giscanner/girwriter.py:
357 * giscanner/glibast.py:
358 * giscanner/glibtransformer.py:
359 * giscanner/transformer.py:
360 * tests/parser/Foo-expected.gir:
361 Start using abstract type instead of the raw C types.
362 Register a bunch of glib types we care about.
364 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
369 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
371 * girepository/girepository.c:
372 * girepository/gtypelib.c:
373 * girepository/ginfo.c:
374 * girepository/ginvoke.c:
375 * girepository/girepository.h:
376 * girepository/gtypelib.h:
377 * girepository/gmetadata.c:
378 * girepository/Makefile.am:
379 * girepository/gmetadata.h:
381 * tools/gidlmodule.c:
384 * tools/gidlmodule.h:
385 * tools/gidlparser.c:
387 Renamed GMetadata to GTypelib
389 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
391 * giscanner/xmlwriter.py:
392 Improve line wrapping when > 79 charaters
394 2008-06-05 Jürg Billeter <j@bitron.ch>
397 * giscanner/girwriter.py:
398 * giscanner/transformer.py:
399 Use <type> element for field types
400 * tests/parser/Foo-expected.gir:
403 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
405 * giscanner/glibtransformer.py:
406 Fix a bug which prevented GdkEvent from being generated
408 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
410 * giscanner/Makefile.am:
412 * giscanner/girwriter.py:
413 * giscanner/glibast.py:
414 * giscanner/glibtransformer.py:
415 * giscanner/transformer.py:
416 * giscanner/utils.py:
417 * tests/parser/Foo-expected.gir:
418 Improve enum member parsing and introspection
420 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
422 * giscanner/scannerparser.y:
423 * giscanner/sourcescanner.h:
424 * giscanner/sourcescanner.py:
425 Add a new source type enum for member.
426 Use __repr__ for improved debugging
427 * giscanner/girparser.py:
429 * giscanner/transformer.py:
430 Improve parsing of struct members.
431 * tests/parser/foo-object.h:
434 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
436 * giscanner/xmlwriter.py:
437 Improve error reporting when trying to quote None.
438 * giscanner/girparser.py:
439 Do not print warnings when including more complete .gir files
440 * giscanner/girwriter.py:
441 Do not require a name for parameters, add a todo for singletons
442 * giscanner/glibtransformer.py:
443 Refactor the way structs are done, add a couple of hacks to allow
445 * giscanner/transformer.py:
446 Add enough hacks so cairo, atk and pango.gir can be parsed properly
447 * gobject-introspection-1.0.pc.in:
448 Export girdir, so we can access gobject-2.0.gir from outside
450 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
452 * tools/g-ir-scanner:
453 * tests/parser/Makefile.am:
454 Update sys.path before running the parser so we don't have
455 to setup PYTHONPATH ourselves.
459 * girepository/Makefile.am:
460 * giscanner/transformer.py:
461 * gobject-introspection-1.0.pc.in:
462 * gobject-introspection.pc.in:
465 Rename pkg-config name to gobject-introspection-1.0,
466 Do not installed anything which is not using the gir format.
467 Disable compililation the old C scanner, but still keep the source
468 until all the remaning functionallity has been ported.
470 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
472 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
473 a crash when symbol->indent is NULL.
475 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
476 a function to convert a CTYPE symbol to a string
478 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
481 * giscanner/girwriter.py:
482 * giscanner/giscannermodule.c
483 (pygi_source_scanner_append_filename),
484 (pygi_source_scanner_parse_file):
485 * giscanner/glibtransformer.py:
486 * giscanner/sourcescanner.py:
487 Revert back to using temporary files to send in headers.
488 Allow Functions to be passed in as callbacks, add a couple
489 of try/excepts missing features.
490 We can now scan pango
492 2008-05-08 Johan Dahlin <johan@gnome.org>
494 * giscanner/glibtransformer.py:
495 * giscanner/transformer.py:
496 Move namespace stripping glibtransformer->transformer
498 2008-05-08 Johan Dahlin <johan@gnome.org>
501 * giscanner/girwriter.py:
502 * giscanner/glibtransformer.py:
503 * giscanner/transformer.py:
504 * tools/g-ir-scanner:
505 Introduce a namespace ast node
507 2008-05-05 Johan Dahlin <johan@gnome.org>
509 * giscanner/__init__.py:
510 * giscanner/sourcescanner.py:
511 * giscanner/transformer.py:
512 Move sourcescanner symbols to the sourcescanner module, instead
513 of in the global __init__ namespace.
515 2008-05-03 Johan Dahlin <johan@gnome.org>
517 * giscanner/glibtransformer.py:
518 * tools/g-ir-scanner:
519 Handle missing parameters better, allow - and + in .la dlname
522 2008-05-03 Johan Dahlin <johan@gnome.org>
524 * giscanner/__init__.py:
526 * giscanner/girwriter.py:
527 * giscanner/glibtransformer.py:
528 * giscanner/transformer.py:
529 Parse struct fields properly, improve debugging.
531 2008-04-29 Johan Dahlin <johan@gnome.org>
534 * giscanner/girwriter.py:
535 * giscanner/transformer.py:
536 * tests/parser/Foo-expected.gir:
538 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
540 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
543 * docs/g-ir-scanner.1:
544 * metadata-annotations-proposal.txt:
545 * metadata-format.txt:
546 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
548 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
550 * giscanner/girwriter.py:
551 * giscanner/glibtransformer.py:
552 * giscanner/transformer.py:
553 * giscanner/xmlwriter.py:
554 * tests/parser/Foo-expected.gir:
555 * tests/parser/foo-object.h:
556 Write record/structs to gir file too. Add a couple of tests,
557 fix an off by one error in xmlwriter.py.
559 2008-04-28 Johan Dahlin <johan@gnome.org>
561 * giscanner/xmlwriter.py: Calculate the line length properly,
562 include the provided extra indentation in the calculation, really.
564 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
567 * giscanner/glibast.py:
568 * giscanner/glibtransformer.py:
569 * giscanner/transformer.py:
570 * tools/g-ir-scanner:
571 Add a --strip-prefix and sort out confusion between names and symbols
572 for functions and struct + derivaties.
573 Refactor bootstrap of g-ir-scanner, so we can set options on
574 Transformer() before parsing everything.
576 2008-04-28 Johan Dahlin <johan@gnome.org>
578 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
579 when scanning girepository.h
581 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
582 a __GI_SCANNER__ when we run.
584 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
587 * giscanner/girwriter.py:
588 * giscanner/glibast.py:
589 * giscanner/glibtransformer.py:
590 * tests/parser/Foo-expected.gir:
591 * tests/parser/utility-expected.gir:
592 Rename most c:identifier to c:type. Add new ones to
593 class/interface/enum/boxed.
595 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
598 * giscanner/girwriter.py:
599 * giscanner/glibtransformer.py:
600 * tests/parser/Foo-expected.gidl:
601 * tests/parser/Makefile.am:
602 Move c:identifier from return-value to subchild type,
603 as per Jürgs suggestion
605 2008-04-28 Johan Dahlin <johan@gnome.org>
607 * giscanner/girwriter.py:
608 * tests/parser/Foo-expected.gir:
609 Write property.type as a child node.
611 2008-04-27 Johan Dahlin <johan@gnome.org>
616 * gidl/gobject-2.0.gidl:
618 * gir/gobject-2.0.gir:
619 * tests/parser/Makefile.am:
620 Replace the GObject gidl with a GObject gir.
622 2008-04-27 Johan Dahlin <johan@gnome.org>
624 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
627 * giscanner/xmlwriter.py:
628 * tests/parser/Foo-expected.gir:
629 Include indentation in line length calculation
631 2008-04-27 Johan Dahlin <johan@gnome.org>
633 * giscanner/girparser.py:
634 Prettify NS parsing using elementtree.
636 2008-04-27 Johan Dahlin <johan@gnome.org>
639 * giscanner/Makefile.am:
640 * giscanner/girparser.py:
641 * giscanner/glibtransformer.py:
642 * tests/parser/Foo-expected.gidl:
643 * tests/parser/Foo-expected.gir:
644 * tests/parser/Makefile.am:
645 * tests/parser/utility-expected.gidl:
646 * tests/parser/utility-expected.gir:
647 * tools/g-ir-scanner:
648 Switch over to GIR as the default format. Add a simple GIDL
650 Update tests and fix simplify makefiles by depending
651 on GNU make extensions.
653 2008-04-27 Johan Dahlin <johan@gnome.org>
655 * giscanner/xmlwriter.py:
656 Wrap attributes for lines which are wider than 79 characters
658 * giscanner/scannerlexer.l:
659 Allow parenthesis in annotations
662 * giscanner/gidlwriter.py:
663 * giscanner/girwriter.py:
664 * giscanner/glibtransformer.py:
665 * giscanner/transformer.py:
666 Add initial sequence support, including annotation.
667 Refactor type handling a bit.
669 2008-04-27 Johan Dahlin <johan@gnome.org>
671 * tests/parser/Foo-expected.gidl:
672 * tests/parser/foo-object.h:
673 * tests/parser/foo.c (foo_object_class_init),
674 (foo_object_get_strings), (foo_object_get_objects):
675 Add two new functions to check sequence return values.
676 Also fixes a compilation warning.
678 2008-04-27 Johan Dahlin <johan@gnome.org>
680 * giscanner/giscannermodule.c (]): Cast the getter, avoids
681 a compilation warning.
683 * tools/Makefile.am (g_ir_scanner_SOURCES):
684 g-ir-scanner has no sources.
686 2008-04-25 Johan Dahlin <johan@gnome.org>
688 * giscanner/Makefile.am:
690 * giscanner/gidlparser.py:
691 * giscanner/gidlwriter.py:
692 * giscanner/girwriter.py:
693 * giscanner/glibast.py:
694 * giscanner/glibtransformer.py:
695 * giscanner/transformer.py:
696 Split out nodes to ast.py and glibast.py
698 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
700 * giscanner/Makefile.am:
701 * giscanner/gidlparser.py:
702 * giscanner/gidlwriter.py:
703 * giscanner/girwriter.py:
704 * giscanner/glibtransformer.py:
705 * giscanner/gobjecttreebuilder.py:
706 * giscanner/transformer.py:
707 * giscanner/treebuilder.py:
708 * tools/g-ir-scanner:
709 Rename treebuilder to transformer and
710 gobjectreebuilder to glibtransformer.
712 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
714 * giscanner/Makefile.am:
715 * giscanner/__init__.py:
716 * giscanner/cgobject.py:
717 * giscanner/gidlparser.py:
718 * giscanner/gidlwriter.py:
719 * giscanner/girwriter.py:
720 * giscanner/gobjecttreebuilder.py:
721 * giscanner/odict.py:
722 * giscanner/sourcescanner.py:
723 * giscanner/treebuilder.py:
724 * giscanner/xmlwriter.py:
726 * tools/g-ir-scanner:
727 Add LGPLv2 license header and install all python files
729 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
732 * giscanner/gidlwriter.py:
733 * giscanner/giscannermodule.c (pygi_source_directive_new),
734 (directive_get_options), (pygi_source_symbol_new),
735 (symbol_get_base_type), (pygi_source_type_new),
736 (type_get_base_type), (type_get_child_list),
737 (pygi_source_scanner_get_symbols),
738 (pygi_source_scanner_get_directives):
739 * giscanner/gobjecttreebuilder.py:
740 * giscanner/sourcescanner.py:
741 * giscanner/treebuilder.py:
742 * tests/parser/foo-object.h:
743 Add support for virtual methods.
744 Pair struct FooClass with struct Foo.
745 Clean up the SourceScanner bindings a bit.
746 Add a testcase for virtual methods.
748 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
750 * giscanner/cgobject.py:
751 * giscanner/gidlwriter.py:
752 * giscanner/gobjecttreebuilder.py:
753 Add support for signals
755 * tests/parser/foo.c (foo_object_class_init):
757 Add a signal and update the expected output.
759 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
761 * giscanner/gidlwriter.py:
762 * giscanner/girwriter.py:
763 * giscanner/giscannermodule.c (directive_get_name),
764 (directive_get_value), (directive_get_options),
765 (symbol_get_directives), (symbol_set_directives),
766 (pygi_source_scanner_parse_file),
767 (pygi_source_scanner_lex_filename),
768 (pygi_source_scanner_get_directives), (init_giscanner):
769 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
770 * giscanner/sourcescanner.h:
771 * giscanner/sourcescanner.py:
772 * giscanner/treebuilder.py:
773 * tools/g-ir-scanner:
774 Add support for source/header annotations.
776 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
778 * giscanner/gidlwriter.py:
779 * giscanner/girwriter.py:
780 * giscanner/gobjecttreebuilder.py:
781 * giscanner/treebuilder.py:
782 Add support for Callbacks
784 2008-04-22 Havoc Pennington <hp@pobox.com>
786 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
787 not in metadata->module, look for it in the global module, in case
788 some other object or the app itself provides the symbol.
790 2008-04-22 Havoc Pennington <hp@pobox.com>
792 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
793 dlopening a library that is already in the main app, by checking
794 whether one of the lib's symbols is already loaded.
796 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
798 * tests/parser/Foo-expected.gidl:
799 * tests/parser/foo-object.h:
802 2008-04-22 Havoc Pennington <hp@pobox.com>
804 * girepository/ginfo.c (g_interface_info_find_method):
805 Use interface_blob_size not object_blob_size to compute offset.
807 2008-04-22 Havoc Pennington <hp@pobox.com>
809 * girepository/gmetadata.c (_g_metadata_init): remove
810 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
811 (Glade and Clutter for example) rely on being loaded globally.
813 2008-04-22 Havoc Pennington <hp@pobox.com>
815 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
816 function to get the GType given a RegisteredTypeInfo
818 2008-04-22 Johan Dahlin <johan@gnome.org>
820 * COPYING: Add a LGPL license, to prevent automake to
821 put in a copy of GPL here. Pointed out by Havoc.
823 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
824 (g_type_info_is_pointer), (g_type_info_get_tag),
825 (g_type_info_get_param_type), (g_type_info_get_interface),
826 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
827 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
828 (g_error_domain_info_get_codes), (g_enum_info_get_value),
829 (g_object_info_get_interface), (g_object_info_get_field),
830 (g_interface_info_get_prerequisite),
831 (g_signal_info_get_class_closure), (g_constant_info_get_value):
832 * girepository/ginvoke.c (get_ffi_type):
833 * girepository/girepository.h:
834 * girepository/gmetadata.c (g_metadata_get_dir_entry),
835 (g_metadata_check_sanity), (validate_header),
836 (validate_array_type_blob), (validate_iface_type_blob),
837 (validate_param_type_blob), (validate_error_type_blob),
838 (validate_type_blob), (validate_constant_blob),
839 (validate_struct_blob), (validate_enum_blob):
840 * girepository/gmetadata.h:
842 * tests/invoke/Makefile.am:
843 * tests/invoke/invoke.c (main):
844 * tests/roundtrips.sh:
846 * tools/compiler.c (format_output), (write_out_metadata), (main):
847 * tools/generate.c (write_type_name), (write_type_info),
848 (write_constant_value), (write_enum_info), (load_metadata), (main):
849 * tools/gidlcompilercontext.c:
850 * tools/gidlcompilercontext.h:
851 * tools/gidlcompilerentrynode.c:
852 * tools/gidlcompilerentrynode.h:
853 * tools/gidlcompilertypenode.c:
854 * tools/gidlcompilertypenode.h:
855 * tools/gidlmodule.c (g_idl_module_build_metadata):
856 * tools/gidlmodule.h:
857 * tools/gidlnode.c (init_stats), (dump_stats),
858 (g_idl_node_get_size), (g_idl_node_get_full_size),
859 (g_idl_node_cmp), (g_idl_node_can_have_member),
860 (g_idl_node_add_member), (g_idl_node_param_direction_string),
861 (parse_int_value), (parse_uint_value), (parse_float_value),
862 (parse_boolean_value), (find_entry_node), (find_entry),
863 (serialize_type), (g_idl_node_build_metadata), (write_string):
865 * tools/gidlparser.c (parse_type_internal):
866 * tools/quote-file.sh:
867 Revert revisions 157,149-148,136-129 and 120.
868 Move back to using g-idl-generate to generate the metadata and
869 avoids dependency on a c compiler.
871 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
873 * giscanner/girwriter.py:
874 * tools/g-ir-scanner:
875 Add an initial GIR writer and a --format option to g-ir-scanner
877 2008-04-21 Johan Dahlin <johan@gnome.org>
879 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
880 gobject-2.0 and raise ImportError if not found.
882 * giscanner/gidlparser.py:
883 * giscanner/gidlwriter.py:
884 * giscanner/gobjecttreebuilder.py:
885 * tools/g-ir-scanner:
886 Add a --include argument to include types from other idls.
887 Add a minimalistic GIDL parser (just objects for now)
888 Implement resolving of external type references and use it to
889 resolve parent types, argument types and return types.
891 2008-04-21 Johan Dahlin <johan@gnome.org>
893 * giscanner/gidlwriter.py:
894 * giscanner/gobjecttreebuilder.py:
895 * giscanner/treebuilder.py:
896 Add support for properties.
897 Refactor Class/Interface support a bit, to share more code and
898 always initialize their method attribute to an empty list.
900 2008-04-21 Johan Dahlin <johan@gnome.org>
902 * giscanner/cgobject.py:
903 Add a workaround for a glib bug interface introspection bug
904 (object_interface_list_properties, object_class_list_properties):
905 Cast the return value to GParamSpec.
907 * tests/parser/Foo-expected.gidl: Update
908 * tests/parser/foo.c: Add a string property
910 * giscanner/gobjecttreebuilder.py:
911 After stripping namespaces, remove the original
912 item to avoid duplication (GtkButton struct and Button object)
914 2008-04-21 Johan Dahlin <johan@gnome.org>
916 * giscanner/gobjecttreebuilder.py:
917 * giscanner/treebuilder.py:
918 Strip namespaces before objects, so we'll export
919 GtkButton as Button in the gtk namespace
921 2008-04-21 Johan Dahlin <johan@gnome.org>
923 * giscanner/gidlwriter.py:
924 * giscanner/gobjecttreebuilder.py:
925 * giscanner/treebuilder.py:
926 Add constructors for object/boxed types.
928 2008-04-21 Johan Dahlin <johan@gnome.org>
930 * giscanner/gidlwriter.py:
931 * giscanner/gobjecttreebuilder.py:
932 Add support for boxed types
934 2008-04-21 Johan Dahlin <johan@gnome.org>
936 * giscanner/giscannermodule.c: Mark structures as const,
937 wrap SourceType.const_string.
939 * tests/parser/foo-object.h: Add a couple of constants.
941 * giscanner/gidlwriter.py:
942 * giscanner/gobjecttreebuilder.py:
943 * giscanner/treebuilder.py:
944 Add basic support for interfaces
946 * tools/g-ir-scanner:
947 Add -o/--output for writing to a file
949 2008-04-21 Havoc Pennington <hp@redhat.com>
951 * TODO: add some C API wishlist items I could think of quickly
953 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
955 * giscanner/gidlwriter.py:
956 * giscanner/xmlwriter.py:
957 Add a simple api for writing tags which can be used
958 with the new 'with statement' in python 2.5
960 2008-04-21 Johan Dahlin <johan@gnome.org>
962 * giscanner/gobjecttreebuilder.py:
963 Strip namespace and object prefix from method names.
965 2008-04-21 Johan Dahlin <johan@gnome.org>
967 * tools/g-ir-scanner (main): Add --pkg option to pass in
968 pkg-config modules to get cflags from.
970 * giscanner/gidlwriter.py (GIDLWriter._write_method):
971 Avoid duplication, reuse function writer for methods.
973 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
975 * giscanner/gidlwriter.py:
976 * giscanner/gobjecttreebuilder.py:
977 * giscanner/treebuilder.py:
978 * tools/g-ir-scanner:
979 Resolve libtool .la files.
980 Strip name spaces for methods.
983 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
985 * giscanner/cgobject.py:
986 * giscanner/gidlwriter.py:
987 * giscanner/gobjecttreebuilder.py:
988 * giscanner/treebuilder.py:
989 Add support for classes and methods
991 2008-04-20 Johan Dahlin <johan@gnome.org>
993 * giscanner/gidlwriter.py:
994 * giscanner/gobjecttreebuilder.py:
995 * giscanner/odict.py:
996 Avoid conflicts, keep the output ordered similar to
997 the order of the input.
998 Add a simple ordered dictionary implemenation
1000 2008-04-19 Johan Dahlin <johan@gnome.org>
1002 * giscanner/cgobject.py:
1003 * giscanner/gidlwriter.py:
1004 * giscanner/gobjecttreebuilder.py:
1005 * tools/g-ir-scanner:
1006 Start introspecting get-type functions.
1007 Implement support for GLib/GFlags GTypes.
1008 Add a ctype based GObject binding.
1010 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1012 * giscanner/gidlwriter.py:
1013 * giscanner/xmlwriter.py:
1014 * tools/g-ir-scanner:
1015 Add a simplistic gidl writer, which can't do too much.
1017 2008-04-18 Johan Dahlin <johan@gnome.org>
1019 * giscanner/sourcescanner.py:
1020 * giscanner/treebuilder.py:
1021 * tools/g-ir-scanner:
1022 split tree building and source scanning interface to separate files.
1024 2008-04-18 Johan Dahlin <johan@gnome.org>
1026 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1028 - Add support for struct/parameter/return, start parsing of ctypes
1030 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1033 2008-03-31 Johan Dahlin <johan@gnome.org>
1035 * tools/g-ir-scanner:
1036 Start to build abstract syntax node of scanned sources.
1037 Add support for cpp options.
1039 2008-03-27 Johan Dahlin <johan@gnome.org>
1041 * giscanner/giscannermodule.c:
1042 * giscanner/scannerlexer.l:
1043 * giscanner/sourcescanner.c:
1044 * tools/g-ir-scanner:
1046 Add simple pre-processor using subprocess and a PIPE.
1047 Change the parse_file apis to accept a file descriptor.
1049 2008-03-25 Johan Dahlin <johan@gnome.org>
1051 * giscanner/__init__.py:
1052 * tools/g-ir-scanner:
1053 Fix a typo and add an example python test program.
1055 2008-03-25 Johan Dahlin <johan@gnome.org>
1057 * giscanner/__init__.py:
1058 * giscanner/giscannermodule.c:
1059 * giscanner/sourcescanner.c:
1060 * giscanner/sourcescanner.h:
1061 Add constants and wrap a few more SymbolType fields
1063 2008-03-25 Johan Dahlin <johan@gnome.org>
1067 * giscanner/__init__.py:
1068 * giscanner/giscannermodule.c:
1069 * giscanner/Makefile.am:
1071 Add initial python bindings for the scanner and
1072 depend on python 2.5.
1074 2008-03-25 Johan Dahlin <johan@gnome.org>
1078 * giscanner/Makefile.am:
1079 * giscanner/sourcescanner.c:
1080 * giscanner/sourcescanner.h:
1081 * tools/Makefile.am:
1082 * tools/grealpath.h:
1083 * tools/sourcescanner.c:
1084 * tools/sourcescanner.h:
1086 Move the scanner to a separate library.
1088 2008-03-23 Johan Dahlin <johan@gnome.org>
1090 * tools/Makefile.am:
1093 * tools/scannerlexer.l:
1094 * tools/scannerparser.y:
1095 * tools/sourcescanner.c:
1096 * tools/sourcescanner.h:
1097 Split out the source scanner from the generator.
1098 Rename the symbols used in the scanner to use the gi_ prefix.
1099 This should make it possible to use the raw C parser from
1102 2008-03-23 Johan Dahlin <johan@gnome.org>
1104 * tests/parser/Makefile.am (utility.gidl):
1105 * tests/parser/utility-expected.gidl:
1106 Pass in the gobject.gidl since we're defining a GObject.
1108 2008-03-12 Johan Dahlin <johan@gnome.org>
1110 * relaxng/relaxng.rng:
1111 Add a releaxng in relaxng we can use to validate the relaxngs
1114 2008-03-12 Jürg Billeter <j@bitron.ch>
1116 * tools/scanner.c: (g_igenerator_new):
1117 * tools/scannerparser.y:
1118 Fix compiler warnings.
1120 2008-03-12 Jürg Billeter <j@bitron.ch>
1124 * tools/scannerparser.y:
1125 Start fixing memory management in g-idl-scanner.
1127 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1129 * tools/gidlcompilercontext.c: (write_compiled):
1130 Fix critical warning when no shlib passed to g-idl-compiler.
1132 2008-03-12 Johan Dahlin <johan@gnome.org>
1134 * tests/parser/utility-expected.gidl:
1135 * tests/parser/utility.h:
1136 Add a get_type-function, so the scanner actually
1137 parses it as an object.
1139 2008-03-12 Johan Dahlin <johan@gnome.org>
1141 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1144 * tests/parser/Foo-expected.gidl:
1145 * tests/parser/Makefile.am:
1146 * tests/parser/foo-object.h:
1147 * tests/parser/foo.c:
1148 * tests/parser/utility-expected.gidl:
1149 * tests/parser/utility.c:
1150 * tests/parser/utility.h:
1152 Add a new gidl test. 'utility.gidl', which is used to be able
1153 to test external type references. Add a reference to UtilityObject*
1156 2008-03-11 Johan Dahlin <johan@gnome.org>
1160 Remove most global variables
1162 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1164 * tools/scannerlexer.l:
1166 * tests/parser/Foo-expected.gidl:
1167 * tests/parser/foo.c:
1168 * tests/parser/Makefile.am:
1169 * tests/parser/foo-object.h:
1171 Added a few extra tests. Which resulted in finding a few
1172 bugs. Which resulted in me fixing those bugs
1174 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1176 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1177 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1178 Add some comments for strings into generated output for
1181 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1183 * tools/gidlcompilercontext.c: (write_compiled):
1184 Write out the shlibs variable before writing out the strings
1185 length. Fixes compiler warning when using '-l' flag with
1188 2008-03-11 Johan Dahlin <johan@gnome.org>
1190 * tests/parser/Foo-expected.gidl:
1191 * tests/parser/foo-object.h:
1194 * tools/scannerlexer.l:
1195 Add support for parsing return arguments. Add support for
1196 caller-owns return types.
1197 Patch by Philip Van Hoof.
1199 * tools/scannerparser.y:
1200 Remove parsing of the @deprecated syntax used in headers.
1201 We will support gtk-doc deprecation in the future instead.
1203 2008-03-11 Johan Dahlin <johan@gnome.org>
1205 * tools/compiler.c (main): Coding style fixes
1207 2008-03-10 Johan Dahlin <johan@gnome.org>
1210 Add GCOV_LIBS to GILIBS
1212 2008-03-10 Johan Dahlin <johan@gnome.org>
1214 * tests/parser/Foo-expected.gidl:
1215 * tests/parser/foo.c:
1216 Rename null-ok to direction=out
1218 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1220 reviewed and extensively tested by Johan
1222 * tests/parser/Foo-expected.gidl:
1223 * tests/parser/foo-object.h:
1224 * tests/parser/foo.c:
1227 * tools/gidlwriter.c:
1230 * tools/scannerlexer.l:
1231 * tools/scannerparser.y:
1233 Add support for scanning for gtk-doc comments inside
1234 C source files. Add tests
1236 2008-03-10 Johan Dahlin <johan@gnome.org>
1238 * tests/parser/Makefile.am:
1239 * tests/parser/foo.c:
1242 * tools/scannerparser.y:
1243 Add an api to lex filenames.
1244 Lex all source .c files passed in on the command line.
1245 Scan sources in a test and a couple of private structures
1246 which should not be included in the generated gidl
1248 2008-03-10 Johan Dahlin <johan@gnome.org>
1250 * tests/invoke/Makefile.am: Make the generated metadata
1251 depend on the g-idl-compiler
1253 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1255 * tools/gidlmodule.c
1256 * tools/gidlmodule.h
1259 Remove the old g-idl-compiler code.
1262 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1264 * tools/quote-file.sh
1267 Move to using the 'C' struct compiler code.
1269 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1271 * girepository/ginfo.c
1273 Change the way that external references with no namespace
1274 are dealt with. External references with no namespace
1275 are placed into the XML as-if they are a local reference.
1276 This is temporary, but helps with roundtrip tests.
1278 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1280 * girepository/ginfo.c
1281 Add the ability to get the value of a constant of
1282 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1283 is provided as a string.
1285 This would deal properly with:
1286 typedef char* random;
1287 const random = "A string";
1289 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1291 * girepository/ginfo.c
1292 * girepository/girepository.h
1294 Add a function to check if an enum is registered or not.
1295 Previously anything testing this relied on the g-type
1296 string offset having a value of 0.
1298 * girepository/gmetadata.c
1299 * girepository/gmetadata.h
1301 Remove unneccesary or erroneous checks. There were two
1302 metadata validation checks which made sure that the blob
1303 sizes were the same as some magic numbers compiled into the code.
1304 This is wrong as it breaks any forwards compatibility that may
1307 Checks were also present that made sure that unregistered type
1308 blobs had a value of 0 in the g-type offset field. This is
1309 unneccessary. If a type blob is unregistered then any value
1310 in its g-type field is simply invalid.
1312 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1314 * girepository/ginfo.c
1315 * girepository/gmetadata.c
1316 * girepository/gmetadata.h
1318 Change the metadata format to have a standard header
1319 for all the type blobs. Merge the SimpleTypeBlob
1320 and InterfaceTypeBlob into a union. A union of these
1321 two blobs existed previously but was not explicit
1322 in the metadata format.
1324 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1326 * tools/gidlcompilercontext.c
1327 * tools/gidlcompilercontext.h
1328 * tools/gidlcompilerentrynode.c
1329 * tools/gidlcompilerentrynode.h
1330 * tools/gidlcompilertypenode.c
1331 * tools/gidlcompilertypenode.h
1333 Add code to compile a tree of GIdlNodes to
1334 a 'C' struct representing the metadata.
1335 This is to aid cross-compiling. Previously
1336 the g-idl-compiler created a binary blob with
1337 data written in the byte order and alignment
1338 of the tool rather than the intended target.
1340 Cleaned up and improved by Johan and Robert :-)
1342 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1344 * girepository/ginvoke.c
1345 * girepository/girepository.h
1346 * girepository/gmetadata.c
1347 * girepository/gmetadata.h
1349 * tools/gidlparser.c
1350 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1351 to avoid confusion with the interface blob.
1354 * tools/gidlparser.c
1355 Remove magic numbers and replace with type-tag
1356 enumeration symbols.
1358 * girepository/gmetadata.c
1359 Add validate declaration.
1361 2008-03-10 Jürg Billeter <j@bitron.ch>
1363 * tools/gidlparser.c: (parse_type_internal):
1364 * tools/scannerlexer.l:
1365 * tools/scannerparser.y:
1366 Support C99 _Bool type in scanner.
1368 2008-03-10 Jürg Billeter <j@bitron.ch>
1370 * tests/parser/Foo-expected.gidl:
1371 * tests/parser/foo-object.h:
1372 * tests/parser/foo.c: (foo_enum_method):
1373 * tools/scanner.c: (g_igenerator_process_function_symbol):
1374 Don't skip functions that are defined in the namespace of a type
1375 that doesn't support methods, as for example enums.
1377 2008-03-10 Johan Dahlin <johan@gnome.org>
1379 * gidl.dtd: Remove, we're using relaxng for now
1381 * tests/parser/Foo-expected.gidl:
1382 * tests/parser/foo-object.h:
1383 * tests/parser/foo.c:
1384 Rename the enum/flags get_type functions to include the whole type.
1386 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1388 * tools/gidlwriter.c (enum_generate): added "type-name",
1389 "get-type" and "deprecated" missing arguments.
1390 * tests/parser/Foo-expected.gidl:
1391 * tests/parser/foo-object.h: test enum type, and no type.
1393 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1396 Consistent checks, add missing 'test'
1398 2008-03-05 Havoc Pennington <hp@redhat.com>
1400 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1401 does on Fedora 8. Make libffi a hard requirement, since it was in
1402 practice anyway (was not really conditional in the code or
1403 makefile, only in configure).
1405 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1407 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1408 reviewed by: Johan Dahlin <johan@gnome.org>
1410 * tests/Makefile.am:
1411 * tests/roundtrips.sh:
1412 Modify the roundtrips test so that they do not use the
1413 --raw option of the gidl compiler but instead compile a
1414 shared library to use with g_module.
1416 * tests/invoke/Makefile.am:
1417 * tests/invoke/invoke.c:
1418 Modify the invoke tests to build a shared library rather
1419 than use the --raw option.
1421 * tests/invoke/invoke-namespace-find.sh: Removed:
1422 Noone knows why this was here, so removed.
1424 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1426 * tools/scanner.c: (g_igenerator_process_function_symbol):
1427 Move g_idl_node_can_have_member test later, as it broke spotting
1428 get_type's for nodes that can't have members.
1430 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1433 * tools/gidlnode.c: (g_idl_node_can_have_member):
1434 Add g_idl_node_can_have_member.
1436 * tools/scanner.c: (g_igenerator_process_function_symbol):
1437 Use g_idl_node_can_have_member to test if we should add a function
1438 as a member of the type node.
1440 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1442 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1444 * tests/parser/Makefile.am:
1445 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1447 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1449 * tools/scanner.c: (main):
1450 Ignore -pthread when passed to g-idl-scanner.
1452 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1454 * tools/grealpath.h: Added:
1455 * tools/scanner.c: (main):
1456 * tools/scannerlexer.l:
1457 * tools/Makefile.am:
1458 Always use absolute paths with symbolic links resolved when
1459 comparing filenames.
1461 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1463 * gobject-introspection.pc.in:
1464 Provide variables for g-idl-parser, scanner and compiler in the
1467 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1470 * girepository/Makefile.am:
1471 * tools/Makefile.am:
1472 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1474 2008-02-10 Johan Dahlin <johan@gnome.org>
1476 * tests/parser/Foo-expected.gidl:
1477 * tests/parser/foo-object.h:
1478 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1479 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1482 2008-02-10 Johan Dahlin <johan@gnome.org>
1484 * tests/parser/Foo-expected.gidl:
1485 * tests/parser/foo-object.h:
1486 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1487 Add enum and flags test.
1489 2008-02-10 Johan Dahlin <johan@gnome.org>
1493 * girepository/Makefile.am:
1494 Make 'make distcheck' work again.
1496 2008-02-10 Johan Dahlin <johan@gnome.org>
1498 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1501 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1502 check, eg exclude it from BUILT_SOURCES.
1504 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1509 * girepository/Makefile.am:
1510 * m4/Makefile.am: Added:
1511 * m4/as-compiler-flag.m4: Added:
1512 * m4/gcov.m4: Added:
1513 * tools/Makefile.am:
1514 Add ability to generate a coverage report.
1515 Adds configure option --enable-gcov and make rule 'check-coverage'.
1517 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1521 * gidl/Makefile.am: Added:
1522 * girepository/Makefile.am: Added:
1523 * src/Makefile.am: Renamed to tools/Makefile.am:
1524 * src/compiler.c: Renamed to tools/compiler.c:
1525 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1526 * src/generate.c: Renamed to tools/generate.c:
1527 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1528 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1529 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1530 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1531 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1532 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1533 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1534 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1535 * src/ginfo.c: Renamed to girepository/ginfo.c:
1536 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1537 * src/girepository.c: Renamed to girepository/girepository.c:
1538 * src/girepository.h: Renamed to girepository/girepository.h:
1539 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1540 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1541 * src/scanner.c: Renamed to tools/scanner.c:
1542 * src/scanner.h: Renamed to tools/scanner.h:
1543 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1544 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1545 * tests/invoke/Makefile.am:
1546 Split src/ into girepository/ and tools/
1550 * girepository/Makefile.am:
1551 * tests/Makefile.am:
1552 * tests/invoke/Makefile.am:
1553 * tests/parser/Makefile.am:
1554 * tests/roundtrips.sh:
1555 * tools/Makefile.am:
1556 Make distcheck work.
1558 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1560 * tests/invoke/invoke.c: (main):
1561 * tests/invoke/testfns.c: (test6), (test7):
1562 * tests/invoke/testfns.xml:
1563 Add tests for invokation with a GList argument.
1564 Also tests caller-owns return values.
1566 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1569 Add some documentation for GICallableInfo
1571 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1574 Correct syntax errors in the DTD file.
1576 * relaxng/c-types.xml:
1577 * relaxng/g-types.xml:
1579 Add a RelaxNG specification for the GObject Introspection XML data.
1580 The Specification has validated all of the test files.
1582 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1584 * tests/roundtrips.sh:
1585 * tests/struct.test:
1586 Add roundtrip tests for structs.
1588 2008-01-11 Johan Dahlin <johan@gnome.org>
1590 * src/scanner.c (g_igenerator_process_function_symbol):
1591 Refactor out g_idle_node_add_member.
1592 (create_node_from_gtype, create_node_from_ctype):
1593 Use case instead of if...else
1594 (get_type_from_type_id):
1595 Rename to create_node_from_gtype
1596 (get_type_from_ctype):
1597 Rename to create_node_from_ctype
1599 Rename ginode -> node, gitype -> type, gifunc -> func.
1601 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1602 Two new functions, refactor out of scanner.c
1604 * src/scanner.c: (g_igenerator_process_function_symbol):
1605 * src/scannerlexer.l:
1606 Do not save the content of the deprecated variable, only
1609 2008-01-11 Johan Dahlin <johan@gnome.org>
1611 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1613 2008-01-11 Jürg Billeter <j@bitron.ch>
1615 * src/scannerlexer.l:
1616 Fix GTK-Doc parsing.
1618 2008-01-11 Jürg Billeter <j@bitron.ch>
1620 * src/scannerlexer.l:
1621 Fix GTK-Doc parsing.
1623 2008-01-11 Jürg Billeter <j@bitron.ch>
1625 * src/scanner.c: (lookup_symbol):
1626 Return unresolved name if we find unknown symbol.
1628 2008-01-11 Jürg Billeter <j@bitron.ch>
1630 * src/scanner.c: (g_igenerator_generate):
1631 Initialize GObject to fix scanning interface properties.
1633 * tests/parser/Foo-expected.gidl:
1634 * tests/parser/foo-object.h:
1635 * tests/parser/foo.c: (foo_interface_get_type):
1636 Test interfaces with GObject prerequisite.
1638 * tests/parser/Makefile.am:
1639 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1641 2007-12-27 Johan Dahlin <johan@gnome.org>
1643 * src/scannerlexer.l:
1644 Parse gtk-doc comments.
1646 * src/gidlwriter.c: (function_generate):
1647 Reorganize, avoid duplication and add support for
1648 writing deprecated functions.
1650 * src/scannerparser.y:
1652 Add new structure CDirective and functions to create/free them.
1654 * src/scanner.c: (g_igenerator_process_function_symbol),
1655 (g_igenerator_process_unregistered_struct_typedef),
1656 (g_igenerator_process_struct_typedef),
1657 (g_igenerator_process_union_typedef),
1658 (g_igenerator_process_enum_typedef),
1659 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1660 (g_igenerator_start_preprocessor):
1661 Parse @deprecated directive for functions.
1662 Remove some more C99isms.
1663 Send in -C to cpp to avoid stripping comments.
1665 * tests/parser/foo-object.h:
1666 * tests/parser/Foo-expected.gidl:
1667 Add deprecated directive
1669 2007-12-27 Johan Dahlin <johan@gnome.org>
1671 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1672 escape ' and " so it looks more like C.
1675 Unlink temporary file used.
1677 2007-12-27 Johan Dahlin <johan@gnome.org>
1679 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1680 (g_igenerator_start_preprocessor), (main):
1682 * src/scannerparser.y:
1683 Plug a couple of simple memory leaks.
1685 2007-12-27 Johan Dahlin <johan@gnome.org>
1687 * src/scanner.c: (g_igenerator_parse_macros),
1688 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1691 * src/scannerparser.y:
1692 * tests/parser/Makefile.am:
1694 Improve error reporting, return when the preprocessor fails.
1695 Add a verbose parameter, to aid debugging.
1696 Revert to using a temporary file to communicate between the
1697 preprocessor and the parser, because we need to wait for
1698 the exit code from the pre-processor before starting to parse.
1700 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1702 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1703 cparser.y to scannerparser.y
1705 2007-12-11 Johan Dahlin <johan@gnome.org>
1709 * src/scanner.c: (g_igenerator_new):
1711 Get rid of the global the_generator variable.
1713 2007-12-10 Johan Dahlin <johan@gnome.org>
1715 * src/scanner.c (main): Add an output option,
1716 add checks for required parameters
1719 set BUILD_SOURCES and CLEANFILES properly
1721 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1722 (g_writer_write_indent), (g_writer_write_unindent),
1723 (field_generate), (value_generate), (constant_generate),
1724 (property_generate), (function_generate), (vfunc_generate),
1725 (signal_generate), (interface_generate), (struct_generate),
1726 (union_generate), (boxed_generate), (enum_generate),
1727 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1729 * src/scanner.c: (g_igenerator_generate):
1731 * src/scannerwriter.c:
1733 Refactor scannerwriter to only be tied to a GIdlModule and move
1734 it (again!) to gidlwriter.c. Change the writer function to take
1737 2007-12-10 Johan Dahlin <johan@gnome.org>
1740 * src/scanner.c: (g_igenerator_generate):
1742 * src/scannerwriter.c: (g_igenerator_write_inline),
1743 (g_igenerator_write), (g_igenerator_write_indent),
1744 (g_igenerator_write_unindent), (field_generate), (value_generate),
1745 (constant_generate), (property_generate), (function_generate),
1746 (vfunc_generate), (signal_generate), (interface_generate),
1747 (struct_generate), (union_generate), (boxed_generate),
1748 (enum_generate), (node_generate), (module_generate),
1749 (g_scanner_write_file):
1751 Move the scanner gidl writing to a separate source file.
1753 2007-12-10 Johan Dahlin <johan@gnome.org>
1758 Move over all CType construction functions.
1760 * tests/parser/Makefile.am:
1761 Be verbose when printing parsing tests results.
1763 2007-12-10 Johan Dahlin <johan@gnome.org>
1765 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1766 preprocessor handling to here. Start cpp insteado of cc -E,
1767 always include -U__GNUC__, since it's specific to the preprocessor
1770 * tests/parser/Makefile.am (check-local): Silent diff and skip
1771 -U__GNUC__ which is always defined now
1773 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1775 reviewed by: <delete if not using a buddy>
1777 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1778 * tests/parser/Makefile.am:
1780 2007-12-09 Johan Dahlin <johan@gnome.org>
1783 Use GOption for command line options.
1784 (g_igenerator_new, main): Simplify constructor and they way
1785 parameters are passed into it.
1791 * src/gen-introspect.c:
1792 * src/gen-introspect.h:
1794 Rename gen-introspect.[ch] to scanner.[ch]
1796 2007-12-09 Johan Dahlin <johan@gnome.org>
1800 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1801 don't make the repository library and the other utilites link against
1804 * src/gen-introspect.c: (g_igenerator_create_object),
1805 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1806 (g_igenerator_create_enum), (g_igenerator_create_flags),
1807 (g_igenerator_process_module_symbol),
1808 (g_igenerator_process_module), (g_igenerator_generate), (main):
1809 * src/gen-introspect.h:
1810 Refactor g_igenerator_process_types into smaller pieces.
1812 * tests/parser/Makefile.am:
1813 Depend on the gen-introspect binary
1815 2007-12-09 Johan Dahlin <johan@gnome.org>
1817 * src/gen-introspect.c (g_igenerator_process_types):
1818 Break into smaller pieces, one for each generated node type.
1820 2007-12-08 Johan Dahlin <johan@gnome.org>
1822 * src/gen-introspect.c: (g_igenerator_process_types),
1823 (g_igenerator_add_module):
1824 * tests/parser/Foo-expected.gidl:
1825 * tests/parser/foo-object.h:
1826 * tests/parser/foo.c: (foo_subobject_class_init),
1827 (foo_subobject_init):
1829 Add a subobject test and make sure to register defined classes
1830 in the lookup symbol hash table.
1832 2007-12-08 Johan Dahlin <johan@gnome.org>
1836 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1837 (g_igenerator_process_types), (g_igenerator_add_module),
1838 (g_igenerator_add_include_idl), (main):
1839 * src/gen-introspect.h:
1840 * tests/parser/Makefile.am:
1841 * tests/parser/Foo-expected.gidl:
1843 Change the gen-introspect to generate namespaced module names,
1844 such as GLib.Object instead of GObject.
1845 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1846 add a --include-idl parameter to gen-introspect,
1847 and update the parser test.
1849 2007-12-08 Johan Dahlin <johan@gnome.org>
1851 * src/gen-introspect.c:
1852 Move main to the end of the file and attempt to make it valid
1855 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1856 we're not quite ready to generate metadata yet.
1861 Add a simple gen-introspect parser test
1863 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1865 reviewed by: Johan Dahlin <johan@gnome.org>
1868 * gobject-introspection.pc.in:
1870 * src/compiler.c: (format_output), (write_out_metadata), (main):
1871 * src/gen-introspect.c: (main):
1872 * src/gen-introspect.h:
1873 * src/generate.c: (write_callable_info), (write_repository),
1874 (load_metadata), (main):
1875 * src/gidlmodule.c: (g_idl_module_new),
1876 (g_idl_module_build_metadata):
1878 * src/gidlparser.c: (start_element_handler):
1879 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1880 (g_base_info_get_name), (g_base_info_get_namespace),
1881 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1882 (g_base_info_get_metadata), (g_function_info_get_symbol),
1883 (g_function_info_get_flags), (g_function_info_get_property),
1884 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1885 (g_callable_info_may_return_null),
1886 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1887 (g_callable_info_get_arg), (g_arg_info_get_direction),
1888 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
1889 (g_arg_info_is_optional), (g_arg_info_may_be_null),
1890 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
1891 (g_type_info_get_tag), (g_type_info_get_param_type),
1892 (g_type_info_get_interface), (g_type_info_get_array_length),
1893 (g_type_info_is_zero_terminated),
1894 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
1895 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
1896 (g_value_info_get_value), (g_field_info_get_flags),
1897 (g_field_info_get_size), (g_field_info_get_offset),
1898 (g_registered_type_info_get_type_name),
1899 (g_registered_type_info_get_type_init),
1900 (g_struct_info_get_n_fields), (g_struct_info_get_field),
1901 (g_struct_info_get_n_methods), (g_struct_info_get_method),
1902 (find_method), (g_struct_info_find_method),
1903 (g_enum_info_get_n_values), (g_enum_info_get_value),
1904 (g_object_info_get_parent), (g_object_info_get_type_name),
1905 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
1906 (g_object_info_get_interface), (g_object_info_get_n_fields),
1907 (g_object_info_get_field), (g_object_info_get_n_properties),
1908 (g_object_info_get_property), (g_object_info_get_n_methods),
1909 (g_object_info_get_method), (g_object_info_find_method),
1910 (g_object_info_get_n_signals), (g_object_info_get_signal),
1911 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
1912 (g_object_info_get_n_constants), (g_object_info_get_constant),
1913 (g_interface_info_get_n_prerequisites),
1914 (g_interface_info_get_prerequisite),
1915 (g_interface_info_get_n_properties),
1916 (g_interface_info_get_property), (g_interface_info_get_n_methods),
1917 (g_interface_info_get_method), (g_interface_info_find_method),
1918 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
1919 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
1920 (g_interface_info_get_n_constants),
1921 (g_interface_info_get_constant), (g_property_info_get_flags),
1922 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
1923 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
1924 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
1925 (g_constant_info_get_value), (g_union_info_get_n_fields),
1926 (g_union_info_get_field), (g_union_info_get_n_methods),
1927 (g_union_info_get_method), (g_union_info_is_discriminated),
1928 (g_union_info_get_discriminator_offset),
1929 (g_union_info_get_discriminator):
1930 * src/ginvoke.c: (g_function_info_invoke):
1931 * src/girepository.c: (g_irepository_register),
1932 (g_irepository_unregister), (g_irepository_get_default),
1933 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
1934 (g_irepository_get_info), (g_irepository_find_by_name),
1935 (g_irepository_get_shared_library),
1936 (g_irepository_build_search_path), (g_irepository_register_file),
1937 (g_irepository_error_quark):
1938 * src/girepository.h:
1939 * src/gmetadata.c: (g_metadata_get_dir_entry),
1940 (g_metadata_check_sanity), (validate_header),
1941 (validate_array_type_blob), (validate_iface_type_blob),
1942 (validate_param_type_blob), (validate_error_type_blob),
1943 (validate_type_blob), (validate_arg_blob),
1944 (validate_signature_blob), (validate_function_blob),
1945 (validate_callback_blob), (validate_constant_blob),
1946 (validate_value_blob), (validate_field_blob),
1947 (validate_property_blob), (validate_signal_blob),
1948 (validate_vfunc_blob), (validate_struct_blob),
1949 (validate_enum_blob), (validate_object_blob),
1950 (validate_interface_blob), (validate_errordomain_blob),
1951 (validate_union_blob), (validate_blob), (validate_directory),
1952 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
1953 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
1954 (g_metadata_new_from_mapped_file), (g_metadata_free),
1955 (g_metadata_set_module), (g_metadata_get_namespace):
1957 * tests/Makefile.am:
1958 * tests/invoke/Makefile.am:
1959 * tests/invoke/invoke-namespace-find.sh:
1960 * tests/invoke/invoke.c: (main):
1962 Add a namespace/shared library mapping. fixes #313268.
1964 2007-12-03 Johan Dahlin <johan@gnome.org>
1966 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
1969 2007-11-30 Jürg Billeter <j@bitron.ch>
1975 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
1976 (g_igenerator_write_inline), (g_igenerator_write),
1977 (g_igenerator_write_indent), (g_igenerator_write_unindent),
1978 (field_generate), (value_generate), (constant_generate),
1979 (property_generate), (function_generate), (vfunc_generate),
1980 (signal_generate), (interface_generate), (struct_generate),
1981 (union_generate), (boxed_generate), (enum_generate),
1982 (node_generate), (module_generate), (get_type_from_type_id),
1983 (str_replace), (g_igenerator_process_properties),
1984 (g_igenerator_process_signals), (g_igenerator_process_types),
1985 (get_type_from_ctype), (g_igenerator_process_function_symbol),
1986 (g_igenerator_process_unregistered_struct_typedef),
1987 (g_igenerator_process_struct_typedef),
1988 (g_igenerator_process_union_typedef),
1989 (g_igenerator_process_enum_typedef),
1990 (g_igenerator_process_function_typedef),
1991 (g_igenerator_process_constant), (g_igenerator_process_symbols),
1992 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
1993 (g_igenerator_generate), (main), (csymbol_new),
1994 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
1995 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
1996 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
1997 (eat_hspace), (eat_line), (read_identifier),
1998 (g_igenerator_parse_macros):
1999 * src/gen-introspect.h:
2001 Import gen-introspect to generate introspection information by
2004 2007-11-30 Jürg Billeter <j@bitron.ch>
2006 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2008 2007-11-30 Jürg Billeter <j@bitron.ch>
2010 * src/gidlparser.c: (end_element_handler): Don't leave requires
2013 2007-11-29 Johan Dahlin <johan@gnome.org>
2015 * src/gidlparser.c (parse_type_internal): Add char,
2016 gchar and guchar to the builtin types.
2018 2007-11-26 Johan Dahlin <johan@gnome.org>
2020 * src/ginfo.c: (g_object_info_get_type_name),
2021 (g_object_info_get_type_init):
2022 * src/girepository.c: (g_irepository_is_registered):
2023 * src/girepository.h:
2025 Add g_object_info_get_type_name, g_object_info_get_type_init and
2026 g_irepository_is_registered.
2028 2006-08-14 Jürg Billeter <j@bitron.ch>
2030 * src/gidlparser.c: (end_element_handler): Don't leave
2031 namespace and implements states too early.
2034 2007-11-26 Johan Dahlin <johan@gnome.org>
2036 * src/gmetadata.c (validate_struct_blob):
2037 pass blob_type to validate_function_blob instead of
2038 hard-coding BLOB_TYPE_STRUCT.
2040 Patch by Torsten Schoenfeld, fixes #314190
2042 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2044 * src/compiler.c, src/generate.c, src/gidlnode.c,
2045 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2046 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2047 warnings about return values, signedness mismatches, unused
2048 variables, and unhandles enum values in switch statements.
2050 * tests/invoke/Makefile.am: Don't install the invoke test program.
2051 Add -I ../../src to the cflags used for the test functions files.
2053 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2055 * src/girepository.h: Export g_invoke_error_quark.
2057 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2059 * src/ginvoke.c: Remove the fallback implementation of
2060 g_function_info_invoke since we now formally depend on libffi.
2062 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2064 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2065 Remove these files from cvs, as they are now generated.
2067 * src/gmetadata.c (validate_iface_type_blob): Don't
2068 complain if blob->pointer is not set, since that
2069 happens for enum and flag types. (#308935, Gustavo
2072 * Commit an autoconf-conversion patch by
2073 Gustavo Carneiro (#308708)
2075 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2077 * src/compiler.c (main): Use it here to validate
2078 the generated metadata.
2080 * src/gmetadata.[hc]: Add code to validate a
2083 * metadata-format.txt: Updates
2085 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2087 * tests/*: Add struct offsets to field and vfunc
2090 * src/generate.c (write_vfunc_info): Write offset
2091 information for vfuncs.
2093 * src/gidlnode.c (g_idl_node_build_metadata): Write
2094 the struct offsets into the metadata.
2096 * src/gidlparser.c: Parse the offset attributes of
2097 field and vfunc elements.
2099 * src/gidlnode.h: Add offset members to field and
2102 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2106 * gidl.dtd: Updates.
2108 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2109 file, creates, compiles and runs a C file, and folds the
2110 resulting struct offsets back into the .gidl file.
2112 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2114 * src/gidlparser.c (start_field): Make fields in objects
2117 * src/gidlmodule.c: Include string.h
2122 * metadata-format.txt: Cleanup basic types.
2123 * src/*: Adapt to the changes.
2124 * tests/*: Adapt to the changes.
2125 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2127 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2128 size for enum blobs.
2129 (g_idl_node_get_full_size): Report the correct size for
2132 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2133 error checking for blob sizes.
2135 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2137 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2138 interface types for which is_pointer is FALSE, e.g. enums.
2140 * src/gidlnode.c (g_idl_node_get_full_size)
2141 * src/gidlparser.c (parse_type_internal):
2142 * src/generate.c (write_type_info): Support unspecialized
2143 lists, hashtables and errors. Also emit a '*' after these.
2147 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2151 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2153 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2155 * src/*.c: Change the directory to be addressed by
2156 1-based indexes, and use an index of zero to mean
2159 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2161 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2163 * tests/union.test: Add a union test.
2165 * src/generate.c: Handle unions.
2167 * src/girepository.h:
2168 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2170 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2172 * src/gidlparser.c (start_union): Parse <union> elements.
2174 * src/gidlnode.h: Add a GIdlNodeUnion.
2176 * gidl.dtd: Add a <union> element.
2178 * src/gmetadata.c (g_metadata_check_sanity): Check
2181 * src/gmetadata.h: Add union_blob_size to Header,
2184 * metadata-format.txt: Add a UnionBlob.
2186 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2188 * tests/*: Update testcases.
2190 * src/generate.c (write_callable_info): Don't forget to
2191 write transfer and null-ok attributes for return types
2194 * src/girepository.h:
2195 * src/ginfo.c (g_callable_info_may_return_null):
2196 New function to find out if a function may return NULL.
2198 * src/compiler.c (format_output): Make the generated
2201 * README: Point to a recent libffi snapshot.
2203 * tests/invoke/*: Some invoke tests.
2205 * src/Makefile: Add ginvoke.c and the necessary
2208 * src/girepository.h (g_function_info_invoke): Add
2211 * src/ginvoke.c (g_function_info_invoke): Initial
2212 implementation of invoke functionality based on libffi.
2214 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2215 strings and types hash tables in the right order when
2217 (find_entry_node): Free the name parts.
2219 2005-05-12 Johan Dahlin <johan@gnome.org>
2221 * src/generate.c: Generate consistent end tags.
2225 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2229 * src/gidlparser.c (start_function): Actually add
2230 methods to objects. (Steven Walter)
2232 * src/girepository.h:
2233 * src/ginfo.c: Rename Transfer and Direction to
2234 GITransfer and GIDirection. (Torsten Schoenfeld)
2236 * tests/*: Make tests work with the changes in name
2239 * src/gidlnode.c (find_entry_node): Parse qualified
2240 names and generate xref nodes for them if needed. Don't
2241 require all modules to be loaded any more.
2243 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2246 * src/ginfo.c (g_object_info_get_parent): Return NULL
2247 if blob->parent is 0. Still need to make sure index
2250 * src/generate.c: Generate qualified names when
2251 referring to non-local types. Emit transfer attribute
2254 * src/compiler.c (format_output): Put the function
2255 attributes where gcc accepts them.
2257 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2259 * src/compiler.c (main): Add a --verbose cmdline option
2260 and only log messages if it is specified.
2263 * src/gidlnode.c (init_stats, dump_stats): Collect some
2264 statistics on string and type sharing.
2266 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2267 g_message() instead of fprintf().
2269 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2270 (g_idl_node_get_size): Implement for structs.
2271 (g_idl_node_get_full_size): Handle parent being NULL.
2272 (serialize_type): Handle lookup failures more gracefully.
2274 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2276 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2277 size calculation for 2-parameter types and for objects.
2279 * src/compiler.c: Add a cmdline option for debug output
2280 and install a log handler to implement it.
2281 * src/gidlnode.c: Add some debug spew.
2285 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2286 forget to count the module name when calculating the
2287 required size for the metadata.
2290 * src/gidlparser.c: Fix compiler warnings.
2292 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2294 * src/compiler.c (main): Free the option context.
2296 * gidl.dtd: Clean up handling of names. All elements
2297 have a "name", only the elements corresponding to
2298 actual callable functions (function, method, constructor),
2299 have an additional "symbol" attribute holding the
2300 dlsym()-able function name.
2302 * src/generate.c: Adapt to generate xml matching the
2306 * src/gidlnode.c: Adapt to parse the new dtd.
2308 * tests/*.test: Adjust to the new dtd.
2310 * metadata-format.txt:
2311 * src/gmetadata.h: Remove the short_name field
2313 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2314 * src/girepository.h:
2315 * src/ginfo.c (g_value_info_get_short_name): Removed
2317 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2319 * gidl.dtd: Allow constructors for boxed types,
2320 patch by Jonathan Blandford.
2323 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2325 * --- Initial import ---