1 2008-08-14 Johan Dahlin <johan@gnome.org>
7 * tools/generate.c (write_struct_info):
8 Fix generator for constant/gobject/struct
10 2008-08-14 Johan Dahlin <johan@gnome.org>
14 * tools/generate.c (write_enum_info):
15 Fix generation of enum/bitfields
17 2008-08-14 Johan Dahlin <johan@gnome.org>
19 * girepository/girparser.c (start_field), (start_constant),
20 (start_type), (end_element_handler):
21 Clear up constant parsing
26 * tools/generate.c (write_callable_info), (write_function_info),
27 (write_callback_info), (write_constant_info), (write_signal_info),
28 (write_vfunc_info), (write_property_info), (write_object_info),
29 (write_interface_info):
30 Constants/Signals are handled now.
32 2008-08-14 Johan Dahlin <johan@gnome.org>
34 * girepository/girparser.c (start_type):
39 Update, remove parts we don't support yet
40 * tests/roundtrips.sh:
42 * tools/generate.c (write_type_info), (write_field_info),
43 (write_callable_info), (write_struct_info):
44 Make it emit proper gir.
46 2008-08-14 Johan Dahlin <johan@gnome.org>
48 * giscanner/transformer.py:
49 New internal function for adding a new node.
51 2008-08-14 Johan Dahlin <johan@gnome.org>
54 Define an internal _H_ variable so we skip parsing both
55 i18n headers, only one is needed.
57 Add the glib-2.0.gir too.
58 * giscanner/glibast.py:
59 Add gconstpointer as an alias for ANY
60 * giscanner/transformer.py:
61 Do not lower case enumeration names per se.
62 Skip functions which has parameters called 'va_list'
64 2008-08-14 Colin Walters <walters@verbum.org>
66 * giscanner/transformer.py: Comment data structures.
67 Also squash pointers in resolve_type_name to correspond
68 with what we do for params.
69 * giscanner/glibtransformer.py: Print warnings in more
70 situations. Rework checks for method/constructor to
71 look up in our GType database instead of just checking
72 for *. Avoid generating <record> for GObject which
73 duplicate the <class>.
74 * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir
77 2008-08-14 Johan Dahlin <johan@gnome.org>
79 * giscanner/girwriter.py:
80 * giscanner/glibast.py:
81 * giscanner/glibtransformer.py:
82 * giscanner/transformer.py:
85 Add pyflakes.py and run it in make check.
86 Update the source code to fix the errors reported by
89 2008-08-14 Johan Dahlin <johan@gnome.org>
92 * giscanner/girparser.py:
93 * giscanner/glibast.py:
94 * giscanner/glibtransformer.py:
95 Refactor the parser a bit.
96 Add parent type to interfaces and update callsites.
98 2008-08-14 Johan Dahlin <johan@gnome.org>
100 * giscanner/glibtransformer.py:
101 * giscanner/utils.py:
102 Refactor a bit, avoid isinstance and add a method
103 for each type we parse.
105 2008-08-14 Johan Dahlin <johan@gnome.org>
108 * giscanner/girparser.py:
109 * giscanner/glibtransformer.py:
111 Run pep8.py in make check, fix old errors.
113 2008-08-13 Colin Walters <walters@verbum.org>
115 * giscanner/girparser.py: Parse records.
117 2008-08-13 Colin Walters <walters@verbum.org>
119 * gir/Makefile.am: Install again.
120 * gir/gobject-2.0.gir: Add some more bits.
122 2008-08-13 Colin Walters <walters@verbum.org>
124 * gir/gobject-2.0.gir: Use correct namespace, add GType.
125 * giscanner/girparser.py: Handle aliases.
126 * giscanner/transformer.py: Record aliases. Make resolver
127 functions public; we now call into these explicitly from
128 glibtransformer. Handle resolving aliases.
129 * giscanner/glibtransformer.py: Separate our internal namespace
130 from included ones. Call up into transformer's resolver functions.
132 2008-08-13 Johan Dahlin <johan@gnome.org>
134 * girepository/girnode.c (g_ir_node_get_full_size_internal):
135 * girepository/girparser.c (start_class):
136 * giscanner/glibtransformer.py:
137 Allow get_type to be None, set a get_type for GInitiallyUnowned too.
139 2008-08-13 Johan Dahlin <johan@gnome.org>
141 * giscanner/cgobject.py:
142 Register GInitiallyUnowned
143 * giscanner/girwriter.py:
144 * giscanner/glibtransformer.py:
145 Special case GObject/GInitially owned as they are a bit special to use.
147 2008-08-13 Colin Walters <walters@verbum.org>
149 * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir:
150 Object is in GObject namespace.
152 2008-08-13 Colin Walters <walters@verbum.org>
154 * giscanner/girparser.py: Fix processing of functions
157 2008-08-13 Colin Walters <walters@verbum.org>
159 * giscanner/girparser.py: Parse more than just <class.
160 * giscanner/glibtransformer.py: Put aliases in a separate
161 data structure since their name is not canonicall.
162 * giscanner/transformer.py: Handle resolving type names
165 2008-08-13 Johan Dahlin <johan@gnome.org>
167 * tools/g-ir-scanner:
168 Allow multiple libraries
169 * giscanner/glibtransformer.py:
170 Rename load_library to add_library, traverse over all libraries
171 when trying to resolve a function
173 2008-08-12 Colin Walters <walters@verbum.org>
175 * giscanner/transformer.py: Record typedefs as <alias> elements.
176 Also attempt to look up types in external namespaces.
177 * giscanner/girwriter.py: Write them.
178 * giscanner/glibtransformer.py: Rework resolver using real instanceof
179 checks. Resolve interface methods and properties.
180 * tests/scanner/foo-object.h: Add a method with typedef.
181 * tests/scanner/Foo-expected.gir: Update.
182 * girepository/girnode.c: Debug tweaks.
183 * girepository/girparser.c: Make a first pass through the XML where we
184 record all the aliases. This lets us resolve them as we go through the
186 * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come
189 2008-08-12 Colin Walters <walters@verbum.org>
191 * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList).
192 Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure
194 * giscanner/transformer.py: Record typedefs and expose public API for resolving
196 * tests/scanner/Foo-expected.gir: Fix expected callback types.
198 2008-08-12 Colin Walters <walters@verbum.org>
200 * giscanner/glibtransformer.py: Also transform object properties.
202 2008-08-12 Colin Walters <walters@verbum.org>
204 * giscanner/glibtransformer.py: Also transform callbacks
205 and structure field types.
206 * tests/scanner/Fooe-expected.gir: Update to expect correct
207 names for callbacks and structs.
209 2008-08-12 Colin Walters <walters@verbum.org>
211 * girepository/girparser.c: Handle 'any'.
212 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
215 2008-08-12 Colin Walters <walters@verbum.org>
217 * giscanner/glibtransformer.py: We need to do type
218 resolution in a second pass after we've seen all the
221 2008-08-12 Colin Walters <walters@verbum.org>
223 * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h:
224 Add enum return value.
225 * giscanner/glibtransformer.py: Transform function return types
228 2008-08-12 Colin Walters <walters@verbum.org>
230 * tests/scanner/Makefile.am: Dep .gir files on scanner
231 sources too. Also remove @ so we see scanner invocations.
233 2008-08-12 Colin Walters <walters@verbum.org>
235 * girepository/girparser.c, girepository/gtypelib.c,
236 girepository/gtypelib.h, girepository/girnode.c:
237 Remove usage of (GAPI-oriented) TypeTag in favor of
238 GITypeTag from girepository.h.
240 2008-08-10 Colin Walters <walters@verbum.org>
242 * tests/roundtrips.sh: Use the correct tests.
244 2008-08-10 Colin Walters <walters@verbum.org>
246 * giscanner/cgobject.py: Declare/wrap a few more functions.
247 Fix parameter types for g_object_new and g_type_fundamental.
249 2008-08-10 Colin Walters <walters@verbum.org>
251 * giscanner/cgobject.py: Add new decorator @gwrap which forces
252 us to declare types for both return value and parameters. The
253 ctypes default of 'int' is bad because it hides 32/64 bit
254 problems. Convert all existing functions to use it.
256 2008-08-09 Johan Dahlin <johan@gnome.org>
258 * giscanner/__init__.py:
260 * giscanner/cgobject.py:
261 * giscanner/gidlparser.py:
262 * giscanner/gidlwriter.py:
263 * giscanner/girparser.py:
264 * giscanner/girwriter.py:
265 * giscanner/glibast.py:
266 * giscanner/glibtransformer.py:
267 * giscanner/odict.py:
268 * giscanner/sourcescanner.py:
269 * giscanner/transformer.py:
270 * giscanner/utils.py:
271 * giscanner/xmlwriter.py:
272 * tools/g-ir-scanner:
276 2008-08-09 Johan Dahlin <johan@gnome.org>
279 * relaxng/c-types.xml:
280 * relaxng/g-types.xml:
281 * relaxng/relaxng.rng:
283 Remove outdated relaxng schemas.
285 2008-08-09 Johan Dahlin <johan@gnome.org>
288 Rename metadata to typelib in variable names,
291 2008-08-09 Johan Dahlin <johan@gnome.org>
295 Remove old C scanner, which got rewritten in python.
297 2008-08-09 Johan Dahlin <johan@gnome.org>
299 * girepository/Makefile.am:
309 Move shared *.[ch] files to girepository from tools
311 2008-08-09 Johan Dahlin <johan@gnome.org>
316 * tests/constant.test:
319 * tests/function.test:
320 * tests/gobject.test:
321 * tests/interface.test:
328 Rename *.test to *.gir
330 2008-08-09 Johan Dahlin <johan@gnome.org>
334 * tests/parser/Foo-expected.gir:
335 * tests/parser/Makefile.am:
336 * tests/parser/foo-object.h:
337 * tests/parser/foo.c:
338 * tests/parser/utility-expected.gir:
339 * tests/parser/utility.c:
340 * tests/parser/utility.h:
341 * tests/scanner/Makefile.am:
342 Rename tests/parser to test/scanner
344 2008-08-08 Colin Walters <walters@verbum.org>
346 * tests/roundtrips.sh: Use local .gir files again.
348 2008-08-08 Colin Walters <walters@verbum.org>
350 * tests/invoke/Makefile.am: .gir file depends on libtool
353 2008-08-08 Colin Walters <walters@verbum.org>
355 * tools/girnode.c: Pass through parent node so we can
356 print the node whose child is NULL, if that occurs.
358 2008-08-08 Johan Dahlin <johan@gnome.org>
361 Disable roundtrip tests which are not yet working
362 * tests/invoke/testfns.gir:
365 2008-08-08 Johan Dahlin <johan@gnome.org>
367 * giscanner/girwriter.py:
369 * giscanner/glibast.py:
370 * giscanner/glibtransformer.py:
371 Swap order of members, to keep it consistent with
374 2008-08-08 Johan Dahlin <johan@gnome.org>
376 * girepository/gtypelib.c (validate_header):
377 * girepository/gtypelib.h:
379 * giscanner/girwriter.py:
380 * giscanner/sourcescanner.c (gi_source_symbol_ref),
381 (gi_source_symbol_unref):
384 * tests/constant.test:
387 * tests/function.test:
388 * tests/gobject.test:
389 * tests/interface.test:
390 * tests/invoke/Makefile.am:
391 * tests/invoke/testfns.xml:
393 * tests/parser/Makefile.am:
394 * tests/roundtrips.sh:
401 * tools/compiler.c (main):
402 * tools/generate.c (write_callable_info), (write_function_info),
404 * tools/gidlmodule.c:
405 * tools/gidlmodule.h:
408 * tools/gidlparser.c:
409 * tools/gidlparser.h:
410 * tools/gidlwriter.c:
411 * tools/gidlwriter.h:
412 * tools/scanner.c (create_node_from_gtype),
413 (create_node_from_ctype), (g_igenerator_process_properties),
414 (g_igenerator_process_signals), (g_igenerator_create_object),
415 (g_igenerator_create_interface), (g_igenerator_create_boxed),
416 (g_igenerator_create_enum), (g_igenerator_create_flags),
417 (g_igenerator_process_function_symbol),
418 (g_igenerator_process_unregistered_struct_typedef),
419 (g_igenerator_process_struct_typedef),
420 (g_igenerator_process_union_typedef),
421 (g_igenerator_process_enum_typedef),
422 (g_igenerator_process_function_typedef),
423 (g_igenerator_process_constant), (g_igenerator_process_symbols),
424 (g_igenerator_add_module), (g_igenerator_add_include_idl):
425 Merge in the gir-compiler branch.
426 Thanks to Philip and Colin for their help.
428 2008-07-26 Colin Walters <walters@verbum.org>
430 * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler
431 and g-idl-generate to go along with how we're changing this
432 module to be installed.
433 * gobject-introspection-1.0.pc.in: Set up Cflags and Libs.
435 2008-07-24 Colin Walters <walters@verbum.org>
437 * girepository/girepository.c (g_irepository_register): Add
438 environment variable G_IREPOSITORY_VERBOSE so we can print
439 out what we're doing.
440 * girepository/girepository.c (g_irepository_register_file):
441 Add GError error message to g_debug call.
443 2008-07-08 Jürg Billeter <j@bitron.ch>
445 * giscanner/glibast.py:
449 2008-06-21 Johan Dahlin <jdahlin@async.com.br>
451 * giscanner/girparser.py (GIRParser._parse_api): Ignore a few
454 2008-06-20 Johan Dahlin <jdahlin@async.com.br>
457 * giscanner/girwriter.py:
458 * giscanner/transformer.py:
459 * tests/parser/Foo-expected.gir:
460 * tests/parser/foo-object.h:
461 * tests/parser/foo.c (foo_object_allow_none):
462 Add support for gtk-doc annotations for allow-none.
465 2008-06-19 Johan Dahlin <jdahlin@async.com.br>
468 * giscanner/girwriter.py:
469 * giscanner/glibast.py:
470 * giscanner/glibtransformer.py:
471 * giscanner/transformer.py:
472 * tests/parser/Foo-expected.gir:
473 Start using abstract type instead of the raw C types.
474 Register a bunch of glib types we care about.
476 2008-06-19 Rob Taylor <rob.taylor@codethink.co.uk>
481 2008-06-08 Philip Van Hoof <pvanhoof@gnome.org>
483 * girepository/girepository.c:
484 * girepository/gtypelib.c:
485 * girepository/ginfo.c:
486 * girepository/ginvoke.c:
487 * girepository/girepository.h:
488 * girepository/gtypelib.h:
489 * girepository/gmetadata.c:
490 * girepository/Makefile.am:
491 * girepository/gmetadata.h:
493 * tools/gidlmodule.c:
496 * tools/gidlmodule.h:
497 * tools/gidlparser.c:
499 Renamed GMetadata to GTypelib
501 2008-06-07 Johan Dahlin <jdahlin@async.com.br>
503 * giscanner/xmlwriter.py:
504 Improve line wrapping when > 79 charaters
506 2008-06-05 Jürg Billeter <j@bitron.ch>
509 * giscanner/girwriter.py:
510 * giscanner/transformer.py:
511 Use <type> element for field types
512 * tests/parser/Foo-expected.gir:
515 2008-06-04 Johan Dahlin <jdahlin@async.com.br>
517 * giscanner/glibtransformer.py:
518 Fix a bug which prevented GdkEvent from being generated
520 2008-06-03 Johan Dahlin <jdahlin@async.com.br>
522 * giscanner/Makefile.am:
524 * giscanner/girwriter.py:
525 * giscanner/glibast.py:
526 * giscanner/glibtransformer.py:
527 * giscanner/transformer.py:
528 * giscanner/utils.py:
529 * tests/parser/Foo-expected.gir:
530 Improve enum member parsing and introspection
532 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
534 * giscanner/scannerparser.y:
535 * giscanner/sourcescanner.h:
536 * giscanner/sourcescanner.py:
537 Add a new source type enum for member.
538 Use __repr__ for improved debugging
539 * giscanner/girparser.py:
541 * giscanner/transformer.py:
542 Improve parsing of struct members.
543 * tests/parser/foo-object.h:
546 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
548 * giscanner/xmlwriter.py:
549 Improve error reporting when trying to quote None.
550 * giscanner/girparser.py:
551 Do not print warnings when including more complete .gir files
552 * giscanner/girwriter.py:
553 Do not require a name for parameters, add a todo for singletons
554 * giscanner/glibtransformer.py:
555 Refactor the way structs are done, add a couple of hacks to allow
557 * giscanner/transformer.py:
558 Add enough hacks so cairo, atk and pango.gir can be parsed properly
559 * gobject-introspection-1.0.pc.in:
560 Export girdir, so we can access gobject-2.0.gir from outside
562 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
564 * tools/g-ir-scanner:
565 * tests/parser/Makefile.am:
566 Update sys.path before running the parser so we don't have
567 to setup PYTHONPATH ourselves.
571 * girepository/Makefile.am:
572 * giscanner/transformer.py:
573 * gobject-introspection-1.0.pc.in:
574 * gobject-introspection.pc.in:
577 Rename pkg-config name to gobject-introspection-1.0,
578 Do not installed anything which is not using the gir format.
579 Disable compililation the old C scanner, but still keep the source
580 until all the remaning functionallity has been ported.
582 2008-05-31 Johan Dahlin <jdahlin@async.com.br>
584 * giscanner/giscannermodule.c (symbol_get_ident): Prevent
585 a crash when symbol->indent is NULL.
587 * giscanner/sourcescanner.py (ctype_name): Add ctype_name,
588 a function to convert a CTYPE symbol to a string
590 2008-05-24 Johan Dahlin <jdahlin@async.com.br>
593 * giscanner/girwriter.py:
594 * giscanner/giscannermodule.c
595 (pygi_source_scanner_append_filename),
596 (pygi_source_scanner_parse_file):
597 * giscanner/glibtransformer.py:
598 * giscanner/sourcescanner.py:
599 Revert back to using temporary files to send in headers.
600 Allow Functions to be passed in as callbacks, add a couple
601 of try/excepts missing features.
602 We can now scan pango
604 2008-05-08 Johan Dahlin <johan@gnome.org>
606 * giscanner/glibtransformer.py:
607 * giscanner/transformer.py:
608 Move namespace stripping glibtransformer->transformer
610 2008-05-08 Johan Dahlin <johan@gnome.org>
613 * giscanner/girwriter.py:
614 * giscanner/glibtransformer.py:
615 * giscanner/transformer.py:
616 * tools/g-ir-scanner:
617 Introduce a namespace ast node
619 2008-05-05 Johan Dahlin <johan@gnome.org>
621 * giscanner/__init__.py:
622 * giscanner/sourcescanner.py:
623 * giscanner/transformer.py:
624 Move sourcescanner symbols to the sourcescanner module, instead
625 of in the global __init__ namespace.
627 2008-05-03 Johan Dahlin <johan@gnome.org>
629 * giscanner/glibtransformer.py:
630 * tools/g-ir-scanner:
631 Handle missing parameters better, allow - and + in .la dlname
634 2008-05-03 Johan Dahlin <johan@gnome.org>
636 * giscanner/__init__.py:
638 * giscanner/girwriter.py:
639 * giscanner/glibtransformer.py:
640 * giscanner/transformer.py:
641 Parse struct fields properly, improve debugging.
643 2008-04-29 Johan Dahlin <johan@gnome.org>
646 * giscanner/girwriter.py:
647 * giscanner/transformer.py:
648 * tests/parser/Foo-expected.gir:
650 Use transfer-ownership everywhere, to mark ownership/calle/caller etc.
652 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
655 * docs/g-ir-scanner.1:
656 * metadata-annotations-proposal.txt:
657 * metadata-format.txt:
658 Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt
660 2008-04-29 Johan Dahlin <jdahlin@async.com.br>
662 * giscanner/girwriter.py:
663 * giscanner/glibtransformer.py:
664 * giscanner/transformer.py:
665 * giscanner/xmlwriter.py:
666 * tests/parser/Foo-expected.gir:
667 * tests/parser/foo-object.h:
668 Write record/structs to gir file too. Add a couple of tests,
669 fix an off by one error in xmlwriter.py.
671 2008-04-28 Johan Dahlin <johan@gnome.org>
673 * giscanner/xmlwriter.py: Calculate the line length properly,
674 include the provided extra indentation in the calculation, really.
676 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
679 * giscanner/glibast.py:
680 * giscanner/glibtransformer.py:
681 * giscanner/transformer.py:
682 * tools/g-ir-scanner:
683 Add a --strip-prefix and sort out confusion between names and symbols
684 for functions and struct + derivaties.
685 Refactor bootstrap of g-ir-scanner, so we can set options on
686 Transformer() before parsing everything.
688 2008-04-28 Johan Dahlin <johan@gnome.org>
690 * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
691 when scanning girepository.h
693 * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
694 a __GI_SCANNER__ when we run.
696 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
699 * giscanner/girwriter.py:
700 * giscanner/glibast.py:
701 * giscanner/glibtransformer.py:
702 * tests/parser/Foo-expected.gir:
703 * tests/parser/utility-expected.gir:
704 Rename most c:identifier to c:type. Add new ones to
705 class/interface/enum/boxed.
707 2008-04-28 Johan Dahlin <jdahlin@async.com.br>
710 * giscanner/girwriter.py:
711 * giscanner/glibtransformer.py:
712 * tests/parser/Foo-expected.gidl:
713 * tests/parser/Makefile.am:
714 Move c:identifier from return-value to subchild type,
715 as per Jürgs suggestion
717 2008-04-28 Johan Dahlin <johan@gnome.org>
719 * giscanner/girwriter.py:
720 * tests/parser/Foo-expected.gir:
721 Write property.type as a child node.
723 2008-04-27 Johan Dahlin <johan@gnome.org>
728 * gidl/gobject-2.0.gidl:
730 * gir/gobject-2.0.gir:
731 * tests/parser/Makefile.am:
732 Replace the GObject gidl with a GObject gir.
734 2008-04-27 Johan Dahlin <johan@gnome.org>
736 * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script,
739 * giscanner/xmlwriter.py:
740 * tests/parser/Foo-expected.gir:
741 Include indentation in line length calculation
743 2008-04-27 Johan Dahlin <johan@gnome.org>
745 * giscanner/girparser.py:
746 Prettify NS parsing using elementtree.
748 2008-04-27 Johan Dahlin <johan@gnome.org>
751 * giscanner/Makefile.am:
752 * giscanner/girparser.py:
753 * giscanner/glibtransformer.py:
754 * tests/parser/Foo-expected.gidl:
755 * tests/parser/Foo-expected.gir:
756 * tests/parser/Makefile.am:
757 * tests/parser/utility-expected.gidl:
758 * tests/parser/utility-expected.gir:
759 * tools/g-ir-scanner:
760 Switch over to GIR as the default format. Add a simple GIDL
762 Update tests and fix simplify makefiles by depending
763 on GNU make extensions.
765 2008-04-27 Johan Dahlin <johan@gnome.org>
767 * giscanner/xmlwriter.py:
768 Wrap attributes for lines which are wider than 79 characters
770 * giscanner/scannerlexer.l:
771 Allow parenthesis in annotations
774 * giscanner/gidlwriter.py:
775 * giscanner/girwriter.py:
776 * giscanner/glibtransformer.py:
777 * giscanner/transformer.py:
778 Add initial sequence support, including annotation.
779 Refactor type handling a bit.
781 2008-04-27 Johan Dahlin <johan@gnome.org>
783 * tests/parser/Foo-expected.gidl:
784 * tests/parser/foo-object.h:
785 * tests/parser/foo.c (foo_object_class_init),
786 (foo_object_get_strings), (foo_object_get_objects):
787 Add two new functions to check sequence return values.
788 Also fixes a compilation warning.
790 2008-04-27 Johan Dahlin <johan@gnome.org>
792 * giscanner/giscannermodule.c (]): Cast the getter, avoids
793 a compilation warning.
795 * tools/Makefile.am (g_ir_scanner_SOURCES):
796 g-ir-scanner has no sources.
798 2008-04-25 Johan Dahlin <johan@gnome.org>
800 * giscanner/Makefile.am:
802 * giscanner/gidlparser.py:
803 * giscanner/gidlwriter.py:
804 * giscanner/girwriter.py:
805 * giscanner/glibast.py:
806 * giscanner/glibtransformer.py:
807 * giscanner/transformer.py:
808 Split out nodes to ast.py and glibast.py
810 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
812 * giscanner/Makefile.am:
813 * giscanner/gidlparser.py:
814 * giscanner/gidlwriter.py:
815 * giscanner/girwriter.py:
816 * giscanner/glibtransformer.py:
817 * giscanner/gobjecttreebuilder.py:
818 * giscanner/transformer.py:
819 * giscanner/treebuilder.py:
820 * tools/g-ir-scanner:
821 Rename treebuilder to transformer and
822 gobjectreebuilder to glibtransformer.
824 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
826 * giscanner/Makefile.am:
827 * giscanner/__init__.py:
828 * giscanner/cgobject.py:
829 * giscanner/gidlparser.py:
830 * giscanner/gidlwriter.py:
831 * giscanner/girwriter.py:
832 * giscanner/gobjecttreebuilder.py:
833 * giscanner/odict.py:
834 * giscanner/sourcescanner.py:
835 * giscanner/treebuilder.py:
836 * giscanner/xmlwriter.py:
838 * tools/g-ir-scanner:
839 Add LGPLv2 license header and install all python files
841 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
844 * giscanner/gidlwriter.py:
845 * giscanner/giscannermodule.c (pygi_source_directive_new),
846 (directive_get_options), (pygi_source_symbol_new),
847 (symbol_get_base_type), (pygi_source_type_new),
848 (type_get_base_type), (type_get_child_list),
849 (pygi_source_scanner_get_symbols),
850 (pygi_source_scanner_get_directives):
851 * giscanner/gobjecttreebuilder.py:
852 * giscanner/sourcescanner.py:
853 * giscanner/treebuilder.py:
854 * tests/parser/foo-object.h:
855 Add support for virtual methods.
856 Pair struct FooClass with struct Foo.
857 Clean up the SourceScanner bindings a bit.
858 Add a testcase for virtual methods.
860 2008-04-25 Johan Dahlin <jdahlin@async.com.br>
862 * giscanner/cgobject.py:
863 * giscanner/gidlwriter.py:
864 * giscanner/gobjecttreebuilder.py:
865 Add support for signals
867 * tests/parser/foo.c (foo_object_class_init):
869 Add a signal and update the expected output.
871 2008-04-24 Johan Dahlin <jdahlin@async.com.br>
873 * giscanner/gidlwriter.py:
874 * giscanner/girwriter.py:
875 * giscanner/giscannermodule.c (directive_get_name),
876 (directive_get_value), (directive_get_options),
877 (symbol_get_directives), (symbol_set_directives),
878 (pygi_source_scanner_parse_file),
879 (pygi_source_scanner_lex_filename),
880 (pygi_source_scanner_get_directives), (init_giscanner):
881 * giscanner/sourcescanner.c (gi_source_scanner_get_directives):
882 * giscanner/sourcescanner.h:
883 * giscanner/sourcescanner.py:
884 * giscanner/treebuilder.py:
885 * tools/g-ir-scanner:
886 Add support for source/header annotations.
888 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
890 * giscanner/gidlwriter.py:
891 * giscanner/girwriter.py:
892 * giscanner/gobjecttreebuilder.py:
893 * giscanner/treebuilder.py:
894 Add support for Callbacks
896 2008-04-22 Havoc Pennington <hp@pobox.com>
898 * girepository/ginvoke.c (g_function_info_invoke): If a symbol is
899 not in metadata->module, look for it in the global module, in case
900 some other object or the app itself provides the symbol.
902 2008-04-22 Havoc Pennington <hp@pobox.com>
904 * girepository/gmetadata.c (_g_metadata_init): hack to avoid
905 dlopening a library that is already in the main app, by checking
906 whether one of the lib's symbols is already loaded.
908 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
910 * tests/parser/Foo-expected.gidl:
911 * tests/parser/foo-object.h:
914 2008-04-22 Havoc Pennington <hp@pobox.com>
916 * girepository/ginfo.c (g_interface_info_find_method):
917 Use interface_blob_size not object_blob_size to compute offset.
919 2008-04-22 Havoc Pennington <hp@pobox.com>
921 * girepository/gmetadata.c (_g_metadata_init): remove
922 G_MODULE_BIND_LOCAL flag when loading libraries, since some libs
923 (Glade and Clutter for example) rely on being loaded globally.
925 2008-04-22 Havoc Pennington <hp@pobox.com>
927 * girepository/ginfo.c (g_registered_type_info_get_g_type): new
928 function to get the GType given a RegisteredTypeInfo
930 2008-04-22 Johan Dahlin <johan@gnome.org>
932 * COPYING: Add a LGPL license, to prevent automake to
933 put in a copy of GPL here. Pointed out by Havoc.
935 * girepository/ginfo.c (g_info_from_entry), (g_type_info_new),
936 (g_type_info_is_pointer), (g_type_info_get_tag),
937 (g_type_info_get_param_type), (g_type_info_get_interface),
938 (g_type_info_get_array_length), (g_type_info_is_zero_terminated),
939 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
940 (g_error_domain_info_get_codes), (g_enum_info_get_value),
941 (g_object_info_get_interface), (g_object_info_get_field),
942 (g_interface_info_get_prerequisite),
943 (g_signal_info_get_class_closure), (g_constant_info_get_value):
944 * girepository/ginvoke.c (get_ffi_type):
945 * girepository/girepository.h:
946 * girepository/gmetadata.c (g_metadata_get_dir_entry),
947 (g_metadata_check_sanity), (validate_header),
948 (validate_array_type_blob), (validate_iface_type_blob),
949 (validate_param_type_blob), (validate_error_type_blob),
950 (validate_type_blob), (validate_constant_blob),
951 (validate_struct_blob), (validate_enum_blob):
952 * girepository/gmetadata.h:
954 * tests/invoke/Makefile.am:
955 * tests/invoke/invoke.c (main):
956 * tests/roundtrips.sh:
958 * tools/compiler.c (format_output), (write_out_metadata), (main):
959 * tools/generate.c (write_type_name), (write_type_info),
960 (write_constant_value), (write_enum_info), (load_metadata), (main):
961 * tools/gidlcompilercontext.c:
962 * tools/gidlcompilercontext.h:
963 * tools/gidlcompilerentrynode.c:
964 * tools/gidlcompilerentrynode.h:
965 * tools/gidlcompilertypenode.c:
966 * tools/gidlcompilertypenode.h:
967 * tools/gidlmodule.c (g_idl_module_build_metadata):
968 * tools/gidlmodule.h:
969 * tools/gidlnode.c (init_stats), (dump_stats),
970 (g_idl_node_get_size), (g_idl_node_get_full_size),
971 (g_idl_node_cmp), (g_idl_node_can_have_member),
972 (g_idl_node_add_member), (g_idl_node_param_direction_string),
973 (parse_int_value), (parse_uint_value), (parse_float_value),
974 (parse_boolean_value), (find_entry_node), (find_entry),
975 (serialize_type), (g_idl_node_build_metadata), (write_string):
977 * tools/gidlparser.c (parse_type_internal):
978 * tools/quote-file.sh:
979 Revert revisions 157,149-148,136-129 and 120.
980 Move back to using g-idl-generate to generate the metadata and
981 avoids dependency on a c compiler.
983 2008-04-22 Johan Dahlin <jdahlin@async.com.br>
985 * giscanner/girwriter.py:
986 * tools/g-ir-scanner:
987 Add an initial GIR writer and a --format option to g-ir-scanner
989 2008-04-21 Johan Dahlin <johan@gnome.org>
991 * giscanner/cgobject.py: Use ctypes.util.find_library to locate
992 gobject-2.0 and raise ImportError if not found.
994 * giscanner/gidlparser.py:
995 * giscanner/gidlwriter.py:
996 * giscanner/gobjecttreebuilder.py:
997 * tools/g-ir-scanner:
998 Add a --include argument to include types from other idls.
999 Add a minimalistic GIDL parser (just objects for now)
1000 Implement resolving of external type references and use it to
1001 resolve parent types, argument types and return types.
1003 2008-04-21 Johan Dahlin <johan@gnome.org>
1005 * giscanner/gidlwriter.py:
1006 * giscanner/gobjecttreebuilder.py:
1007 * giscanner/treebuilder.py:
1008 Add support for properties.
1009 Refactor Class/Interface support a bit, to share more code and
1010 always initialize their method attribute to an empty list.
1012 2008-04-21 Johan Dahlin <johan@gnome.org>
1014 * giscanner/cgobject.py:
1015 Add a workaround for a glib bug interface introspection bug
1016 (object_interface_list_properties, object_class_list_properties):
1017 Cast the return value to GParamSpec.
1019 * tests/parser/Foo-expected.gidl: Update
1020 * tests/parser/foo.c: Add a string property
1022 * giscanner/gobjecttreebuilder.py:
1023 After stripping namespaces, remove the original
1024 item to avoid duplication (GtkButton struct and Button object)
1026 2008-04-21 Johan Dahlin <johan@gnome.org>
1028 * giscanner/gobjecttreebuilder.py:
1029 * giscanner/treebuilder.py:
1030 Strip namespaces before objects, so we'll export
1031 GtkButton as Button in the gtk namespace
1033 2008-04-21 Johan Dahlin <johan@gnome.org>
1035 * giscanner/gidlwriter.py:
1036 * giscanner/gobjecttreebuilder.py:
1037 * giscanner/treebuilder.py:
1038 Add constructors for object/boxed types.
1040 2008-04-21 Johan Dahlin <johan@gnome.org>
1042 * giscanner/gidlwriter.py:
1043 * giscanner/gobjecttreebuilder.py:
1044 Add support for boxed types
1046 2008-04-21 Johan Dahlin <johan@gnome.org>
1048 * giscanner/giscannermodule.c: Mark structures as const,
1049 wrap SourceType.const_string.
1051 * tests/parser/foo-object.h: Add a couple of constants.
1053 * giscanner/gidlwriter.py:
1054 * giscanner/gobjecttreebuilder.py:
1055 * giscanner/treebuilder.py:
1056 Add basic support for interfaces
1058 * tools/g-ir-scanner:
1059 Add -o/--output for writing to a file
1061 2008-04-21 Havoc Pennington <hp@redhat.com>
1063 * TODO: add some C API wishlist items I could think of quickly
1065 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1067 * giscanner/gidlwriter.py:
1068 * giscanner/xmlwriter.py:
1069 Add a simple api for writing tags which can be used
1070 with the new 'with statement' in python 2.5
1072 2008-04-21 Johan Dahlin <johan@gnome.org>
1074 * giscanner/gobjecttreebuilder.py:
1075 Strip namespace and object prefix from method names.
1077 2008-04-21 Johan Dahlin <johan@gnome.org>
1079 * tools/g-ir-scanner (main): Add --pkg option to pass in
1080 pkg-config modules to get cflags from.
1082 * giscanner/gidlwriter.py (GIDLWriter._write_method):
1083 Avoid duplication, reuse function writer for methods.
1085 2008-04-21 Johan Dahlin <jdahlin@async.com.br>
1087 * giscanner/gidlwriter.py:
1088 * giscanner/gobjecttreebuilder.py:
1089 * giscanner/treebuilder.py:
1090 * tools/g-ir-scanner:
1091 Resolve libtool .la files.
1092 Strip name spaces for methods.
1093 Add function symbols
1095 2008-04-20 Johan Dahlin <jdahlin@async.com.br>
1097 * giscanner/cgobject.py:
1098 * giscanner/gidlwriter.py:
1099 * giscanner/gobjecttreebuilder.py:
1100 * giscanner/treebuilder.py:
1101 Add support for classes and methods
1103 2008-04-20 Johan Dahlin <johan@gnome.org>
1105 * giscanner/gidlwriter.py:
1106 * giscanner/gobjecttreebuilder.py:
1107 * giscanner/odict.py:
1108 Avoid conflicts, keep the output ordered similar to
1109 the order of the input.
1110 Add a simple ordered dictionary implemenation
1112 2008-04-19 Johan Dahlin <johan@gnome.org>
1114 * giscanner/cgobject.py:
1115 * giscanner/gidlwriter.py:
1116 * giscanner/gobjecttreebuilder.py:
1117 * tools/g-ir-scanner:
1118 Start introspecting get-type functions.
1119 Implement support for GLib/GFlags GTypes.
1120 Add a ctype based GObject binding.
1122 2008-04-18 Johan Dahlin <jdahlin@async.com.br>
1124 * giscanner/gidlwriter.py:
1125 * giscanner/xmlwriter.py:
1126 * tools/g-ir-scanner:
1127 Add a simplistic gidl writer, which can't do too much.
1129 2008-04-18 Johan Dahlin <johan@gnome.org>
1131 * giscanner/sourcescanner.py:
1132 * giscanner/treebuilder.py:
1133 * tools/g-ir-scanner:
1134 split tree building and source scanning interface to separate files.
1136 2008-04-18 Johan Dahlin <johan@gnome.org>
1138 * tools/g-ir-scanner (Parameter.__init__): Start constructing
1140 - Add support for struct/parameter/return, start parsing of ctypes
1142 * giscanner/giscannermodule.c: wrap GISourceType.child_list and
1145 2008-03-31 Johan Dahlin <johan@gnome.org>
1147 * tools/g-ir-scanner:
1148 Start to build abstract syntax node of scanned sources.
1149 Add support for cpp options.
1151 2008-03-27 Johan Dahlin <johan@gnome.org>
1153 * giscanner/giscannermodule.c:
1154 * giscanner/scannerlexer.l:
1155 * giscanner/sourcescanner.c:
1156 * tools/g-ir-scanner:
1158 Add simple pre-processor using subprocess and a PIPE.
1159 Change the parse_file apis to accept a file descriptor.
1161 2008-03-25 Johan Dahlin <johan@gnome.org>
1163 * giscanner/__init__.py:
1164 * tools/g-ir-scanner:
1165 Fix a typo and add an example python test program.
1167 2008-03-25 Johan Dahlin <johan@gnome.org>
1169 * giscanner/__init__.py:
1170 * giscanner/giscannermodule.c:
1171 * giscanner/sourcescanner.c:
1172 * giscanner/sourcescanner.h:
1173 Add constants and wrap a few more SymbolType fields
1175 2008-03-25 Johan Dahlin <johan@gnome.org>
1179 * giscanner/__init__.py:
1180 * giscanner/giscannermodule.c:
1181 * giscanner/Makefile.am:
1183 Add initial python bindings for the scanner and
1184 depend on python 2.5.
1186 2008-03-25 Johan Dahlin <johan@gnome.org>
1190 * giscanner/Makefile.am:
1191 * giscanner/sourcescanner.c:
1192 * giscanner/sourcescanner.h:
1193 * tools/Makefile.am:
1194 * tools/grealpath.h:
1195 * tools/sourcescanner.c:
1196 * tools/sourcescanner.h:
1198 Move the scanner to a separate library.
1200 2008-03-23 Johan Dahlin <johan@gnome.org>
1202 * tools/Makefile.am:
1205 * tools/scannerlexer.l:
1206 * tools/scannerparser.y:
1207 * tools/sourcescanner.c:
1208 * tools/sourcescanner.h:
1209 Split out the source scanner from the generator.
1210 Rename the symbols used in the scanner to use the gi_ prefix.
1211 This should make it possible to use the raw C parser from
1214 2008-03-23 Johan Dahlin <johan@gnome.org>
1216 * tests/parser/Makefile.am (utility.gidl):
1217 * tests/parser/utility-expected.gidl:
1218 Pass in the gobject.gidl since we're defining a GObject.
1220 2008-03-12 Johan Dahlin <johan@gnome.org>
1222 * relaxng/relaxng.rng:
1223 Add a releaxng in relaxng we can use to validate the relaxngs
1226 2008-03-12 Jürg Billeter <j@bitron.ch>
1228 * tools/scanner.c: (g_igenerator_new):
1229 * tools/scannerparser.y:
1230 Fix compiler warnings.
1232 2008-03-12 Jürg Billeter <j@bitron.ch>
1236 * tools/scannerparser.y:
1237 Start fixing memory management in g-idl-scanner.
1239 2008-03-12 Rob Taylor <rob.taylor@codethink.co.uk>
1241 * tools/gidlcompilercontext.c: (write_compiled):
1242 Fix critical warning when no shlib passed to g-idl-compiler.
1244 2008-03-12 Johan Dahlin <johan@gnome.org>
1246 * tests/parser/utility-expected.gidl:
1247 * tests/parser/utility.h:
1248 Add a get_type-function, so the scanner actually
1249 parses it as an object.
1251 2008-03-12 Johan Dahlin <johan@gnome.org>
1253 * tools/gidlwriter.c (function_generate): Add missing trailing quote.
1256 * tests/parser/Foo-expected.gidl:
1257 * tests/parser/Makefile.am:
1258 * tests/parser/foo-object.h:
1259 * tests/parser/foo.c:
1260 * tests/parser/utility-expected.gidl:
1261 * tests/parser/utility.c:
1262 * tests/parser/utility.h:
1264 Add a new gidl test. 'utility.gidl', which is used to be able
1265 to test external type references. Add a reference to UtilityObject*
1268 2008-03-11 Johan Dahlin <johan@gnome.org>
1272 Remove most global variables
1274 2008-03-11 Philip Van Hoof <me@pvanhoof.be>
1276 * tools/scannerlexer.l:
1278 * tests/parser/Foo-expected.gidl:
1279 * tests/parser/foo.c:
1280 * tests/parser/Makefile.am:
1281 * tests/parser/foo-object.h:
1283 Added a few extra tests. Which resulted in finding a few
1284 bugs. Which resulted in me fixing those bugs
1286 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1288 * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry),
1289 (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref):
1290 Add some comments for strings into generated output for
1293 2008-03-11 Rob Taylor <rob.taylor@codethink.co.uk>
1295 * tools/gidlcompilercontext.c: (write_compiled):
1296 Write out the shlibs variable before writing out the strings
1297 length. Fixes compiler warning when using '-l' flag with
1300 2008-03-11 Johan Dahlin <johan@gnome.org>
1302 * tests/parser/Foo-expected.gidl:
1303 * tests/parser/foo-object.h:
1306 * tools/scannerlexer.l:
1307 Add support for parsing return arguments. Add support for
1308 caller-owns return types.
1309 Patch by Philip Van Hoof.
1311 * tools/scannerparser.y:
1312 Remove parsing of the @deprecated syntax used in headers.
1313 We will support gtk-doc deprecation in the future instead.
1315 2008-03-11 Johan Dahlin <johan@gnome.org>
1317 * tools/compiler.c (main): Coding style fixes
1319 2008-03-10 Johan Dahlin <johan@gnome.org>
1322 Add GCOV_LIBS to GILIBS
1324 2008-03-10 Johan Dahlin <johan@gnome.org>
1326 * tests/parser/Foo-expected.gidl:
1327 * tests/parser/foo.c:
1328 Rename null-ok to direction=out
1330 2008-03-10 Philip Van Hoof <me@pvanhoof.be>
1332 reviewed and extensively tested by Johan
1334 * tests/parser/Foo-expected.gidl:
1335 * tests/parser/foo-object.h:
1336 * tests/parser/foo.c:
1339 * tools/gidlwriter.c:
1342 * tools/scannerlexer.l:
1343 * tools/scannerparser.y:
1345 Add support for scanning for gtk-doc comments inside
1346 C source files. Add tests
1348 2008-03-10 Johan Dahlin <johan@gnome.org>
1350 * tests/parser/Makefile.am:
1351 * tests/parser/foo.c:
1354 * tools/scannerparser.y:
1355 Add an api to lex filenames.
1356 Lex all source .c files passed in on the command line.
1357 Scan sources in a test and a couple of private structures
1358 which should not be included in the generated gidl
1360 2008-03-10 Johan Dahlin <johan@gnome.org>
1362 * tests/invoke/Makefile.am: Make the generated metadata
1363 depend on the g-idl-compiler
1365 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1367 * tools/gidlmodule.c
1368 * tools/gidlmodule.h
1371 Remove the old g-idl-compiler code.
1374 2008-02-22 Mark Doffman <mark.doffman@codethink.co.uk>
1376 * tools/quote-file.sh
1379 Move to using the 'C' struct compiler code.
1381 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1383 * girepository/ginfo.c
1385 Change the way that external references with no namespace
1386 are dealt with. External references with no namespace
1387 are placed into the XML as-if they are a local reference.
1388 This is temporary, but helps with roundtrip tests.
1390 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1392 * girepository/ginfo.c
1393 Add the ability to get the value of a constant of
1394 type TYPE_TAG_SYMBOL. In the case of a symbol the value
1395 is provided as a string.
1397 This would deal properly with:
1398 typedef char* random;
1399 const random = "A string";
1401 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1403 * girepository/ginfo.c
1404 * girepository/girepository.h
1406 Add a function to check if an enum is registered or not.
1407 Previously anything testing this relied on the g-type
1408 string offset having a value of 0.
1410 * girepository/gmetadata.c
1411 * girepository/gmetadata.h
1413 Remove unneccesary or erroneous checks. There were two
1414 metadata validation checks which made sure that the blob
1415 sizes were the same as some magic numbers compiled into the code.
1416 This is wrong as it breaks any forwards compatibility that may
1419 Checks were also present that made sure that unregistered type
1420 blobs had a value of 0 in the g-type offset field. This is
1421 unneccessary. If a type blob is unregistered then any value
1422 in its g-type field is simply invalid.
1424 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1426 * girepository/ginfo.c
1427 * girepository/gmetadata.c
1428 * girepository/gmetadata.h
1430 Change the metadata format to have a standard header
1431 for all the type blobs. Merge the SimpleTypeBlob
1432 and InterfaceTypeBlob into a union. A union of these
1433 two blobs existed previously but was not explicit
1434 in the metadata format.
1436 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1438 * tools/gidlcompilercontext.c
1439 * tools/gidlcompilercontext.h
1440 * tools/gidlcompilerentrynode.c
1441 * tools/gidlcompilerentrynode.h
1442 * tools/gidlcompilertypenode.c
1443 * tools/gidlcompilertypenode.h
1445 Add code to compile a tree of GIdlNodes to
1446 a 'C' struct representing the metadata.
1447 This is to aid cross-compiling. Previously
1448 the g-idl-compiler created a binary blob with
1449 data written in the byte order and alignment
1450 of the tool rather than the intended target.
1452 Cleaned up and improved by Johan and Robert :-)
1454 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1456 * girepository/ginvoke.c
1457 * girepository/girepository.h
1458 * girepository/gmetadata.c
1459 * girepository/gmetadata.h
1461 * tools/gidlparser.c
1462 Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL
1463 to avoid confusion with the interface blob.
1466 * tools/gidlparser.c
1467 Remove magic numbers and replace with type-tag
1468 enumeration symbols.
1470 * girepository/gmetadata.c
1471 Add validate declaration.
1473 2008-03-10 Jürg Billeter <j@bitron.ch>
1475 * tools/gidlparser.c: (parse_type_internal):
1476 * tools/scannerlexer.l:
1477 * tools/scannerparser.y:
1478 Support C99 _Bool type in scanner.
1480 2008-03-10 Jürg Billeter <j@bitron.ch>
1482 * tests/parser/Foo-expected.gidl:
1483 * tests/parser/foo-object.h:
1484 * tests/parser/foo.c: (foo_enum_method):
1485 * tools/scanner.c: (g_igenerator_process_function_symbol):
1486 Don't skip functions that are defined in the namespace of a type
1487 that doesn't support methods, as for example enums.
1489 2008-03-10 Johan Dahlin <johan@gnome.org>
1491 * gidl.dtd: Remove, we're using relaxng for now
1493 * tests/parser/Foo-expected.gidl:
1494 * tests/parser/foo-object.h:
1495 * tests/parser/foo.c:
1496 Rename the enum/flags get_type functions to include the whole type.
1498 2008-03-08 Marc-Andre Lureau <marcandre.lureau@gmail.com>
1500 * tools/gidlwriter.c (enum_generate): added "type-name",
1501 "get-type" and "deprecated" missing arguments.
1502 * tests/parser/Foo-expected.gidl:
1503 * tests/parser/foo-object.h: test enum type, and no type.
1505 2008-03-06 Johan Dahlin <jdahlin@async.com.br>
1508 Consistent checks, add missing 'test'
1510 2008-03-05 Havoc Pennington <hp@redhat.com>
1512 * configure.ac: Take advantage of a libffi.pc if one exists, as it
1513 does on Fedora 8. Make libffi a hard requirement, since it was in
1514 practice anyway (was not really conditional in the code or
1515 makefile, only in configure).
1517 2008-02-21 Mark Doffman <mark.doffman@codethink.co.uk>
1519 reviewed by: Rob Taylor <rob.taylor@codethink.co.uk>
1520 reviewed by: Johan Dahlin <johan@gnome.org>
1522 * tests/Makefile.am:
1523 * tests/roundtrips.sh:
1524 Modify the roundtrips test so that they do not use the
1525 --raw option of the gidl compiler but instead compile a
1526 shared library to use with g_module.
1528 * tests/invoke/Makefile.am:
1529 * tests/invoke/invoke.c:
1530 Modify the invoke tests to build a shared library rather
1531 than use the --raw option.
1533 * tests/invoke/invoke-namespace-find.sh: Removed:
1534 Noone knows why this was here, so removed.
1536 2008-02-19 Rob Taylor <rob.taylor@codethink.co.uk>
1538 * tools/scanner.c: (g_igenerator_process_function_symbol):
1539 Move g_idl_node_can_have_member test later, as it broke spotting
1540 get_type's for nodes that can't have members.
1542 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1545 * tools/gidlnode.c: (g_idl_node_can_have_member):
1546 Add g_idl_node_can_have_member.
1548 * tools/scanner.c: (g_igenerator_process_function_symbol):
1549 Use g_idl_node_can_have_member to test if we should add a function
1550 as a member of the type node.
1552 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1554 * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl:
1556 * tests/parser/Makefile.am:
1557 Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl.
1559 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1561 * tools/scanner.c: (main):
1562 Ignore -pthread when passed to g-idl-scanner.
1564 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1566 * tools/grealpath.h: Added:
1567 * tools/scanner.c: (main):
1568 * tools/scannerlexer.l:
1569 * tools/Makefile.am:
1570 Always use absolute paths with symbolic links resolved when
1571 comparing filenames.
1573 2008-02-18 Rob Taylor <rob.taylor@codethink.co.uk>
1575 * gobject-introspection.pc.in:
1576 Provide variables for g-idl-parser, scanner and compiler in the
1579 2008-02-13 Rob Taylor <rob.taylor@codethink.co.uk>
1582 * girepository/Makefile.am:
1583 * tools/Makefile.am:
1584 Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining.
1586 2008-02-10 Johan Dahlin <johan@gnome.org>
1588 * tests/parser/Foo-expected.gidl:
1589 * tests/parser/foo-object.h:
1590 * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free),
1591 (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method):
1594 2008-02-10 Johan Dahlin <johan@gnome.org>
1596 * tests/parser/Foo-expected.gidl:
1597 * tests/parser/foo-object.h:
1598 * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type):
1599 Add enum and flags test.
1601 2008-02-10 Johan Dahlin <johan@gnome.org>
1605 * girepository/Makefile.am:
1606 Make 'make distcheck' work again.
1608 2008-02-10 Johan Dahlin <johan@gnome.org>
1610 * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4,
1613 * tests/parser/Makefile.am: Only create Foo.gidl when running make
1614 check, eg exclude it from BUILT_SOURCES.
1616 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1621 * girepository/Makefile.am:
1622 * m4/Makefile.am: Added:
1623 * m4/as-compiler-flag.m4: Added:
1624 * m4/gcov.m4: Added:
1625 * tools/Makefile.am:
1626 Add ability to generate a coverage report.
1627 Adds configure option --enable-gcov and make rule 'check-coverage'.
1629 2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk>
1633 * gidl/Makefile.am: Added:
1634 * girepository/Makefile.am: Added:
1635 * src/Makefile.am: Renamed to tools/Makefile.am:
1636 * src/compiler.c: Renamed to tools/compiler.c:
1637 * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl:
1638 * src/generate.c: Renamed to tools/generate.c:
1639 * src/gidlmodule.c: Renamed to tools/gidlmodule.c:
1640 * src/gidlmodule.h: Renamed to tools/gidlmodule.h:
1641 * src/gidlnode.c: Renamed to tools/gidlnode.c:
1642 * src/gidlnode.h: Renamed to tools/gidlnode.h:
1643 * src/gidlparser.c: Renamed to tools/gidlparser.c:
1644 * src/gidlparser.h: Renamed to tools/gidlparser.h:
1645 * src/gidlwriter.c: Renamed to tools/gidlwriter.c:
1646 * src/gidlwriter.h: Renamed to tools/gidlwriter.h:
1647 * src/ginfo.c: Renamed to girepository/ginfo.c:
1648 * src/ginvoke.c: Renamed to girepository/ginvoke.c:
1649 * src/girepository.c: Renamed to girepository/girepository.c:
1650 * src/girepository.h: Renamed to girepository/girepository.h:
1651 * src/gmetadata.c: Renamed to girepository/gmetadata.c:
1652 * src/gmetadata.h: Renamed to girepository/gmetadata.h:
1653 * src/scanner.c: Renamed to tools/scanner.c:
1654 * src/scanner.h: Renamed to tools/scanner.h:
1655 * src/scannerlexer.l: Renamed to tools/scannerlexer.l:
1656 * src/scannerparser.y: Renamed to tools/scannerparser.y:
1657 * tests/invoke/Makefile.am:
1658 Split src/ into girepository/ and tools/
1662 * girepository/Makefile.am:
1663 * tests/Makefile.am:
1664 * tests/invoke/Makefile.am:
1665 * tests/parser/Makefile.am:
1666 * tests/roundtrips.sh:
1667 * tools/Makefile.am:
1668 Make distcheck work.
1670 2008-02-04 Rob Taylor <rob.taylor@codethink.co.uk>
1672 * tests/invoke/invoke.c: (main):
1673 * tests/invoke/testfns.c: (test6), (test7):
1674 * tests/invoke/testfns.xml:
1675 Add tests for invokation with a GList argument.
1676 Also tests caller-owns return values.
1678 2008-02-04 Rob Taylor <robtaylor@floopily.org>
1681 Add some documentation for GICallableInfo
1683 2008-02-01 Mark Doffman <mark.doffman@codethink.co.uk>
1686 Correct syntax errors in the DTD file.
1688 * relaxng/c-types.xml:
1689 * relaxng/g-types.xml:
1691 Add a RelaxNG specification for the GObject Introspection XML data.
1692 The Specification has validated all of the test files.
1694 2008-01-25 Rob Taylor <robtaylor@floopily.org>
1696 * tests/roundtrips.sh:
1697 * tests/struct.test:
1698 Add roundtrip tests for structs.
1700 2008-01-11 Johan Dahlin <johan@gnome.org>
1702 * src/scanner.c (g_igenerator_process_function_symbol):
1703 Refactor out g_idle_node_add_member.
1704 (create_node_from_gtype, create_node_from_ctype):
1705 Use case instead of if...else
1706 (get_type_from_type_id):
1707 Rename to create_node_from_gtype
1708 (get_type_from_ctype):
1709 Rename to create_node_from_ctype
1711 Rename ginode -> node, gitype -> type, gifunc -> func.
1713 * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp):
1714 Two new functions, refactor out of scanner.c
1716 * src/scanner.c: (g_igenerator_process_function_symbol):
1717 * src/scannerlexer.l:
1718 Do not save the content of the deprecated variable, only
1721 2008-01-11 Johan Dahlin <johan@gnome.org>
1723 * tests/parser/foo-object.h: Add a couple of comment parser tests.
1725 2008-01-11 Jürg Billeter <j@bitron.ch>
1727 * src/scannerlexer.l:
1728 Fix GTK-Doc parsing.
1730 2008-01-11 Jürg Billeter <j@bitron.ch>
1732 * src/scannerlexer.l:
1733 Fix GTK-Doc parsing.
1735 2008-01-11 Jürg Billeter <j@bitron.ch>
1737 * src/scanner.c: (lookup_symbol):
1738 Return unresolved name if we find unknown symbol.
1740 2008-01-11 Jürg Billeter <j@bitron.ch>
1742 * src/scanner.c: (g_igenerator_generate):
1743 Initialize GObject to fix scanning interface properties.
1745 * tests/parser/Foo-expected.gidl:
1746 * tests/parser/foo-object.h:
1747 * tests/parser/foo.c: (foo_interface_get_type):
1748 Test interfaces with GObject prerequisite.
1750 * tests/parser/Makefile.am:
1751 Set G_DEBUG=fatal_warnings to abort test on warnings and criticals.
1753 2007-12-27 Johan Dahlin <johan@gnome.org>
1755 * src/scannerlexer.l:
1756 Parse gtk-doc comments.
1758 * src/gidlwriter.c: (function_generate):
1759 Reorganize, avoid duplication and add support for
1760 writing deprecated functions.
1762 * src/scannerparser.y:
1764 Add new structure CDirective and functions to create/free them.
1766 * src/scanner.c: (g_igenerator_process_function_symbol),
1767 (g_igenerator_process_unregistered_struct_typedef),
1768 (g_igenerator_process_struct_typedef),
1769 (g_igenerator_process_union_typedef),
1770 (g_igenerator_process_enum_typedef),
1771 (g_igenerator_process_function_typedef), (g_igenerator_add_symbol),
1772 (g_igenerator_start_preprocessor):
1773 Parse @deprecated directive for functions.
1774 Remove some more C99isms.
1775 Send in -C to cpp to avoid stripping comments.
1777 * tests/parser/foo-object.h:
1778 * tests/parser/Foo-expected.gidl:
1779 Add deprecated directive
1781 2007-12-27 Johan Dahlin <johan@gnome.org>
1783 * src/scannerlexer.l (intsuffix): Add emacs mode line and
1784 escape ' and " so it looks more like C.
1787 Unlink temporary file used.
1789 2007-12-27 Johan Dahlin <johan@gnome.org>
1791 * src/scanner.c: (g_igenerator_new), (g_igenerator_free),
1792 (g_igenerator_start_preprocessor), (main):
1794 * src/scannerparser.y:
1795 Plug a couple of simple memory leaks.
1797 2007-12-27 Johan Dahlin <johan@gnome.org>
1799 * src/scanner.c: (g_igenerator_parse_macros),
1800 (g_igenerator_start_preprocessor), (g_igenerator_set_verbose),
1803 * src/scannerparser.y:
1804 * tests/parser/Makefile.am:
1806 Improve error reporting, return when the preprocessor fails.
1807 Add a verbose parameter, to aid debugging.
1808 Revert to using a temporary file to communicate between the
1809 preprocessor and the parser, because we need to wait for
1810 the exit code from the pre-processor before starting to parse.
1812 2007-12-16 Johan Dahlin <jdahlin@async.com.br>
1814 * src/Makefile.am: Rename clexer.l to scannerlexer.l and
1815 cparser.y to scannerparser.y
1817 2007-12-11 Johan Dahlin <johan@gnome.org>
1821 * src/scanner.c: (g_igenerator_new):
1823 Get rid of the global the_generator variable.
1825 2007-12-10 Johan Dahlin <johan@gnome.org>
1827 * src/scanner.c (main): Add an output option,
1828 add checks for required parameters
1831 set BUILD_SOURCES and CLEANFILES properly
1833 * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write),
1834 (g_writer_write_indent), (g_writer_write_unindent),
1835 (field_generate), (value_generate), (constant_generate),
1836 (property_generate), (function_generate), (vfunc_generate),
1837 (signal_generate), (interface_generate), (struct_generate),
1838 (union_generate), (boxed_generate), (enum_generate),
1839 (node_generate), (g_writer_write_module), (g_idl_writer_save_file):
1841 * src/scanner.c: (g_igenerator_generate):
1843 * src/scannerwriter.c:
1845 Refactor scannerwriter to only be tied to a GIdlModule and move
1846 it (again!) to gidlwriter.c. Change the writer function to take
1849 2007-12-10 Johan Dahlin <johan@gnome.org>
1852 * src/scanner.c: (g_igenerator_generate):
1854 * src/scannerwriter.c: (g_igenerator_write_inline),
1855 (g_igenerator_write), (g_igenerator_write_indent),
1856 (g_igenerator_write_unindent), (field_generate), (value_generate),
1857 (constant_generate), (property_generate), (function_generate),
1858 (vfunc_generate), (signal_generate), (interface_generate),
1859 (struct_generate), (union_generate), (boxed_generate),
1860 (enum_generate), (node_generate), (module_generate),
1861 (g_scanner_write_file):
1863 Move the scanner gidl writing to a separate source file.
1865 2007-12-10 Johan Dahlin <johan@gnome.org>
1870 Move over all CType construction functions.
1872 * tests/parser/Makefile.am:
1873 Be verbose when printing parsing tests results.
1875 2007-12-10 Johan Dahlin <johan@gnome.org>
1877 * src/scanner.c (g_igenerator_start_preprocessor): Refactor
1878 preprocessor handling to here. Start cpp insteado of cc -E,
1879 always include -U__GNUC__, since it's specific to the preprocessor
1882 * tests/parser/Makefile.am (check-local): Silent diff and skip
1883 -U__GNUC__ which is always defined now
1885 2007-12-10 Johan Dahlin,,, <jdahlin@plasttroll>
1887 reviewed by: <delete if not using a buddy>
1889 * src/scanner.c: (g_igenerator_start_preprocessor), (main):
1890 * tests/parser/Makefile.am:
1892 2007-12-09 Johan Dahlin <johan@gnome.org>
1895 Use GOption for command line options.
1896 (g_igenerator_new, main): Simplify constructor and they way
1897 parameters are passed into it.
1903 * src/gen-introspect.c:
1904 * src/gen-introspect.h:
1906 Rename gen-introspect.[ch] to scanner.[ch]
1908 2007-12-09 Johan Dahlin <johan@gnome.org>
1912 * src/Makefile.am: Rename gen-introspect to g-idl-scanner,
1913 don't make the repository library and the other utilites link against
1916 * src/gen-introspect.c: (g_igenerator_create_object),
1917 (g_igenerator_create_interface), (g_igenerator_create_boxed),
1918 (g_igenerator_create_enum), (g_igenerator_create_flags),
1919 (g_igenerator_process_module_symbol),
1920 (g_igenerator_process_module), (g_igenerator_generate), (main):
1921 * src/gen-introspect.h:
1922 Refactor g_igenerator_process_types into smaller pieces.
1924 * tests/parser/Makefile.am:
1925 Depend on the gen-introspect binary
1927 2007-12-09 Johan Dahlin <johan@gnome.org>
1929 * src/gen-introspect.c (g_igenerator_process_types):
1930 Break into smaller pieces, one for each generated node type.
1932 2007-12-08 Johan Dahlin <johan@gnome.org>
1934 * src/gen-introspect.c: (g_igenerator_process_types),
1935 (g_igenerator_add_module):
1936 * tests/parser/Foo-expected.gidl:
1937 * tests/parser/foo-object.h:
1938 * tests/parser/foo.c: (foo_subobject_class_init),
1939 (foo_subobject_init):
1941 Add a subobject test and make sure to register defined classes
1942 in the lookup symbol hash table.
1944 2007-12-08 Johan Dahlin <johan@gnome.org>
1948 * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol),
1949 (g_igenerator_process_types), (g_igenerator_add_module),
1950 (g_igenerator_add_include_idl), (main):
1951 * src/gen-introspect.h:
1952 * tests/parser/Makefile.am:
1953 * tests/parser/Foo-expected.gidl:
1955 Change the gen-introspect to generate namespaced module names,
1956 such as GLib.Object instead of GObject.
1957 Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned,
1958 add a --include-idl parameter to gen-introspect,
1959 and update the parser test.
1961 2007-12-08 Johan Dahlin <johan@gnome.org>
1963 * src/gen-introspect.c:
1964 Move main to the end of the file and attempt to make it valid
1967 * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here,
1968 we're not quite ready to generate metadata yet.
1973 Add a simple gen-introspect parser test
1975 2007-12-06 Gustavo J. A. M. Carneiro <gjc@gnome.org>
1977 reviewed by: Johan Dahlin <johan@gnome.org>
1980 * gobject-introspection.pc.in:
1982 * src/compiler.c: (format_output), (write_out_metadata), (main):
1983 * src/gen-introspect.c: (main):
1984 * src/gen-introspect.h:
1985 * src/generate.c: (write_callable_info), (write_repository),
1986 (load_metadata), (main):
1987 * src/gidlmodule.c: (g_idl_module_new),
1988 (g_idl_module_build_metadata):
1990 * src/gidlparser.c: (start_element_handler):
1991 * src/ginfo.c: (g_info_new), (g_info_from_entry),
1992 (g_base_info_get_name), (g_base_info_get_namespace),
1993 (g_base_info_is_deprecated), (g_base_info_get_annotation),
1994 (g_base_info_get_metadata), (g_function_info_get_symbol),
1995 (g_function_info_get_flags), (g_function_info_get_property),
1996 (g_function_info_get_vfunc), (signature_offset), (g_type_info_new),
1997 (g_callable_info_may_return_null),
1998 (g_callable_info_get_caller_owns), (g_callable_info_get_n_args),
1999 (g_callable_info_get_arg), (g_arg_info_get_direction),
2000 (g_arg_info_is_return_value), (g_arg_info_is_dipper),
2001 (g_arg_info_is_optional), (g_arg_info_may_be_null),
2002 (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer),
2003 (g_type_info_get_tag), (g_type_info_get_param_type),
2004 (g_type_info_get_interface), (g_type_info_get_array_length),
2005 (g_type_info_is_zero_terminated),
2006 (g_type_info_get_n_error_domains), (g_type_info_get_error_domain),
2007 (g_error_domain_info_get_quark), (g_error_domain_info_get_codes),
2008 (g_value_info_get_value), (g_field_info_get_flags),
2009 (g_field_info_get_size), (g_field_info_get_offset),
2010 (g_registered_type_info_get_type_name),
2011 (g_registered_type_info_get_type_init),
2012 (g_struct_info_get_n_fields), (g_struct_info_get_field),
2013 (g_struct_info_get_n_methods), (g_struct_info_get_method),
2014 (find_method), (g_struct_info_find_method),
2015 (g_enum_info_get_n_values), (g_enum_info_get_value),
2016 (g_object_info_get_parent), (g_object_info_get_type_name),
2017 (g_object_info_get_type_init), (g_object_info_get_n_interfaces),
2018 (g_object_info_get_interface), (g_object_info_get_n_fields),
2019 (g_object_info_get_field), (g_object_info_get_n_properties),
2020 (g_object_info_get_property), (g_object_info_get_n_methods),
2021 (g_object_info_get_method), (g_object_info_find_method),
2022 (g_object_info_get_n_signals), (g_object_info_get_signal),
2023 (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc),
2024 (g_object_info_get_n_constants), (g_object_info_get_constant),
2025 (g_interface_info_get_n_prerequisites),
2026 (g_interface_info_get_prerequisite),
2027 (g_interface_info_get_n_properties),
2028 (g_interface_info_get_property), (g_interface_info_get_n_methods),
2029 (g_interface_info_get_method), (g_interface_info_find_method),
2030 (g_interface_info_get_n_signals), (g_interface_info_get_signal),
2031 (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc),
2032 (g_interface_info_get_n_constants),
2033 (g_interface_info_get_constant), (g_property_info_get_flags),
2034 (g_signal_info_get_flags), (g_signal_info_get_class_closure),
2035 (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags),
2036 (g_vfunc_info_get_offset), (g_vfunc_info_get_signal),
2037 (g_constant_info_get_value), (g_union_info_get_n_fields),
2038 (g_union_info_get_field), (g_union_info_get_n_methods),
2039 (g_union_info_get_method), (g_union_info_is_discriminated),
2040 (g_union_info_get_discriminator_offset),
2041 (g_union_info_get_discriminator):
2042 * src/ginvoke.c: (g_function_info_invoke):
2043 * src/girepository.c: (g_irepository_register),
2044 (g_irepository_unregister), (g_irepository_get_default),
2045 (count_interfaces), (g_irepository_get_n_infos), (find_interface),
2046 (g_irepository_get_info), (g_irepository_find_by_name),
2047 (g_irepository_get_shared_library),
2048 (g_irepository_build_search_path), (g_irepository_register_file),
2049 (g_irepository_error_quark):
2050 * src/girepository.h:
2051 * src/gmetadata.c: (g_metadata_get_dir_entry),
2052 (g_metadata_check_sanity), (validate_header),
2053 (validate_array_type_blob), (validate_iface_type_blob),
2054 (validate_param_type_blob), (validate_error_type_blob),
2055 (validate_type_blob), (validate_arg_blob),
2056 (validate_signature_blob), (validate_function_blob),
2057 (validate_callback_blob), (validate_constant_blob),
2058 (validate_value_blob), (validate_field_blob),
2059 (validate_property_blob), (validate_signal_blob),
2060 (validate_vfunc_blob), (validate_struct_blob),
2061 (validate_enum_blob), (validate_object_blob),
2062 (validate_interface_blob), (validate_errordomain_blob),
2063 (validate_union_blob), (validate_blob), (validate_directory),
2064 (validate_annotations), (g_metadata_validate), (_g_metadata_init),
2065 (g_metadata_new_from_memory), (g_metadata_new_from_const_memory),
2066 (g_metadata_new_from_mapped_file), (g_metadata_free),
2067 (g_metadata_set_module), (g_metadata_get_namespace):
2069 * tests/Makefile.am:
2070 * tests/invoke/Makefile.am:
2071 * tests/invoke/invoke-namespace-find.sh:
2072 * tests/invoke/invoke.c: (main):
2074 Add a namespace/shared library mapping. fixes #313268.
2076 2007-12-03 Johan Dahlin <johan@gnome.org>
2078 * src/gidlparser.c (parse_type_internal): Disable char/gchar and
2081 2007-11-30 Jürg Billeter <j@bitron.ch>
2087 * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new),
2088 (g_igenerator_write_inline), (g_igenerator_write),
2089 (g_igenerator_write_indent), (g_igenerator_write_unindent),
2090 (field_generate), (value_generate), (constant_generate),
2091 (property_generate), (function_generate), (vfunc_generate),
2092 (signal_generate), (interface_generate), (struct_generate),
2093 (union_generate), (boxed_generate), (enum_generate),
2094 (node_generate), (module_generate), (get_type_from_type_id),
2095 (str_replace), (g_igenerator_process_properties),
2096 (g_igenerator_process_signals), (g_igenerator_process_types),
2097 (get_type_from_ctype), (g_igenerator_process_function_symbol),
2098 (g_igenerator_process_unregistered_struct_typedef),
2099 (g_igenerator_process_struct_typedef),
2100 (g_igenerator_process_union_typedef),
2101 (g_igenerator_process_enum_typedef),
2102 (g_igenerator_process_function_typedef),
2103 (g_igenerator_process_constant), (g_igenerator_process_symbols),
2104 (g_igenerator_add_symbol), (g_igenerator_is_typedef),
2105 (g_igenerator_generate), (main), (csymbol_new),
2106 (csymbol_get_const_boolean), (ctype_new), (ctype_copy),
2107 (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new),
2108 (cenum_new), (cpointer_new), (carray_new), (cfunction_new),
2109 (eat_hspace), (eat_line), (read_identifier),
2110 (g_igenerator_parse_macros):
2111 * src/gen-introspect.h:
2113 Import gen-introspect to generate introspection information by
2116 2007-11-30 Jürg Billeter <j@bitron.ch>
2118 * src/gidlnode.c: (g_idl_node_new): support creating callback nodes
2120 2007-11-30 Jürg Billeter <j@bitron.ch>
2122 * src/gidlparser.c: (end_element_handler): Don't leave requires
2125 2007-11-29 Johan Dahlin <johan@gnome.org>
2127 * src/gidlparser.c (parse_type_internal): Add char,
2128 gchar and guchar to the builtin types.
2130 2007-11-26 Johan Dahlin <johan@gnome.org>
2132 * src/ginfo.c: (g_object_info_get_type_name),
2133 (g_object_info_get_type_init):
2134 * src/girepository.c: (g_irepository_is_registered):
2135 * src/girepository.h:
2137 Add g_object_info_get_type_name, g_object_info_get_type_init and
2138 g_irepository_is_registered.
2140 2006-08-14 Jürg Billeter <j@bitron.ch>
2142 * src/gidlparser.c: (end_element_handler): Don't leave
2143 namespace and implements states too early.
2146 2007-11-26 Johan Dahlin <johan@gnome.org>
2148 * src/gmetadata.c (validate_struct_blob):
2149 pass blob_type to validate_function_blob instead of
2150 hard-coding BLOB_TYPE_STRUCT.
2152 Patch by Torsten Schoenfeld, fixes #314190
2154 2006-10-03 Torsten Schoenfeld <tsch@cvs.gnome.org>
2156 * src/compiler.c, src/generate.c, src/gidlnode.c,
2157 src/gidlparser.c, src/ginfo.c, src/girepository.c,
2158 tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler
2159 warnings about return values, signedness mismatches, unused
2160 variables, and unhandles enum values in switch statements.
2162 * tests/invoke/Makefile.am: Don't install the invoke test program.
2163 Add -I ../../src to the cflags used for the test functions files.
2165 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2167 * src/girepository.h: Export g_invoke_error_quark.
2169 2005-08-31 Torsten Schoenfeld <tsch@cvs.gnome.org>
2171 * src/ginvoke.c: Remove the fallback implementation of
2172 g_function_info_invoke since we now formally depend on libffi.
2174 2005-07-25 Matthias Clasen <mclasen@redhat.com>
2176 * src/Makefile, tests/Makefile, tests/invoke/Makefile:
2177 Remove these files from cvs, as they are now generated.
2179 * src/gmetadata.c (validate_iface_type_blob): Don't
2180 complain if blob->pointer is not set, since that
2181 happens for enum and flag types. (#308935, Gustavo
2184 * Commit an autoconf-conversion patch by
2185 Gustavo Carneiro (#308708)
2187 2005-05-24 Matthias Clasen <mclasen@redhat.com>
2189 * src/compiler.c (main): Use it here to validate
2190 the generated metadata.
2192 * src/gmetadata.[hc]: Add code to validate a
2195 * metadata-format.txt: Updates
2197 2005-05-22 Matthias Clasen <mclasen@redhat.com>
2199 * tests/*: Add struct offsets to field and vfunc
2202 * src/generate.c (write_vfunc_info): Write offset
2203 information for vfuncs.
2205 * src/gidlnode.c (g_idl_node_build_metadata): Write
2206 the struct offsets into the metadata.
2208 * src/gidlparser.c: Parse the offset attributes of
2209 field and vfunc elements.
2211 * src/gidlnode.h: Add offset members to field and
2214 2005-05-21 Matthias Clasen <mclasen@redhat.com>
2218 * gidl.dtd: Updates.
2220 * src/g-idl-offsets.pl: A perl script which reads a .gidl
2221 file, creates, compiles and runs a C file, and folds the
2222 resulting struct offsets back into the .gidl file.
2224 2005-05-20 Matthias Clasen <mclasen@redhat.com>
2226 * src/gidlparser.c (start_field): Make fields in objects
2229 * src/gidlmodule.c: Include string.h
2234 * metadata-format.txt: Cleanup basic types.
2235 * src/*: Adapt to the changes.
2236 * tests/*: Adapt to the changes.
2237 * examples/gdk-pixbuf.gidl: Adapt to the changes.
2239 * src/gidlnode.c (g_idl_node_get_size): Report the correct
2240 size for enum blobs.
2241 (g_idl_node_get_full_size): Report the correct size for
2244 * src/gidlmodule.c (g_idl_module_build_metadata): Add some
2245 error checking for blob sizes.
2247 2005-05-19 Matthias Clasen <mclasen@redhat.com>
2249 * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle
2250 interface types for which is_pointer is FALSE, e.g. enums.
2252 * src/gidlnode.c (g_idl_node_get_full_size)
2253 * src/gidlparser.c (parse_type_internal):
2254 * src/generate.c (write_type_info): Support unspecialized
2255 lists, hashtables and errors. Also emit a '*' after these.
2259 2005-05-17 Matthias Clasen <mclasen@redhat.com>
2263 * metadata-format.txt: Cleanups by Maciej Katafiasz.
2265 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2267 * src/*.c: Change the directory to be addressed by
2268 1-based indexes, and use an index of zero to mean
2271 2005-05-15 Matthias Clasen <mclasen@redhat.com>
2273 * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test.
2275 * tests/union.test: Add a union test.
2277 * src/generate.c: Handle unions.
2279 * src/girepository.h:
2280 * src/ginfo.c: Add GIUnionInfo and functions to access it.
2282 * src/gidlnode.c: Handle GIdlNodeUnion nodes.
2284 * src/gidlparser.c (start_union): Parse <union> elements.
2286 * src/gidlnode.h: Add a GIdlNodeUnion.
2288 * gidl.dtd: Add a <union> element.
2290 * src/gmetadata.c (g_metadata_check_sanity): Check
2293 * src/gmetadata.h: Add union_blob_size to Header,
2296 * metadata-format.txt: Add a UnionBlob.
2298 2005-05-13 Matthias Clasen <mclasen@redhat.com>
2300 * tests/*: Update testcases.
2302 * src/generate.c (write_callable_info): Don't forget to
2303 write transfer and null-ok attributes for return types
2306 * src/girepository.h:
2307 * src/ginfo.c (g_callable_info_may_return_null):
2308 New function to find out if a function may return NULL.
2310 * src/compiler.c (format_output): Make the generated
2313 * README: Point to a recent libffi snapshot.
2315 * tests/invoke/*: Some invoke tests.
2317 * src/Makefile: Add ginvoke.c and the necessary
2320 * src/girepository.h (g_function_info_invoke): Add
2323 * src/ginvoke.c (g_function_info_invoke): Initial
2324 implementation of invoke functionality based on libffi.
2326 * src/gidlnode.c (g_idl_node_build_metadata): Pass the
2327 strings and types hash tables in the right order when
2329 (find_entry_node): Free the name parts.
2331 2005-05-12 Johan Dahlin <johan@gnome.org>
2333 * src/generate.c: Generate consistent end tags.
2337 2005-05-12 Matthias Clasen <mclasen@redhat.com>
2341 * src/gidlparser.c (start_function): Actually add
2342 methods to objects. (Steven Walter)
2344 * src/girepository.h:
2345 * src/ginfo.c: Rename Transfer and Direction to
2346 GITransfer and GIDirection. (Torsten Schoenfeld)
2348 * tests/*: Make tests work with the changes in name
2351 * src/gidlnode.c (find_entry_node): Parse qualified
2352 names and generate xref nodes for them if needed. Don't
2353 require all modules to be loaded any more.
2355 * src/gidlmodule.c (g_idl_module_build_metadata): Choke
2358 * src/ginfo.c (g_object_info_get_parent): Return NULL
2359 if blob->parent is 0. Still need to make sure index
2362 * src/generate.c: Generate qualified names when
2363 referring to non-local types. Emit transfer attribute
2366 * src/compiler.c (format_output): Put the function
2367 attributes where gcc accepts them.
2369 2005-05-11 Matthias Clasen <mclasen@redhat.com>
2371 * src/compiler.c (main): Add a --verbose cmdline option
2372 and only log messages if it is specified.
2375 * src/gidlnode.c (init_stats, dump_stats): Collect some
2376 statistics on string and type sharing.
2378 * src/gidlmodule.c (g_idl_module_build_metadata): Use
2379 g_message() instead of fprintf().
2381 * src/gidlnode.c (g_idl_node_free): Make this more robust.
2382 (g_idl_node_get_size): Implement for structs.
2383 (g_idl_node_get_full_size): Handle parent being NULL.
2384 (serialize_type): Handle lookup failures more gracefully.
2386 2005-05-10 Matthias Clasen <mclasen@redhat.com>
2388 * src/gidlnode.c (g_idl_node_get_full_size): Correct the
2389 size calculation for 2-parameter types and for objects.
2391 * src/compiler.c: Add a cmdline option for debug output
2392 and install a log handler to implement it.
2393 * src/gidlnode.c: Add some debug spew.
2397 * src/gidlmodule.c (g_idl_module_build_metadata): Don't
2398 forget to count the module name when calculating the
2399 required size for the metadata.
2402 * src/gidlparser.c: Fix compiler warnings.
2404 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2406 * src/compiler.c (main): Free the option context.
2408 * gidl.dtd: Clean up handling of names. All elements
2409 have a "name", only the elements corresponding to
2410 actual callable functions (function, method, constructor),
2411 have an additional "symbol" attribute holding the
2412 dlsym()-able function name.
2414 * src/generate.c: Adapt to generate xml matching the
2418 * src/gidlnode.c: Adapt to parse the new dtd.
2420 * tests/*.test: Adjust to the new dtd.
2422 * metadata-format.txt:
2423 * src/gmetadata.h: Remove the short_name field
2425 * src/gmetadata.c: Shrink size of ValueBlob to 12.
2426 * src/girepository.h:
2427 * src/ginfo.c (g_value_info_get_short_name): Removed
2429 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2431 * gidl.dtd: Allow constructors for boxed types,
2432 patch by Jonathan Blandford.
2435 2005-05-09 Matthias Clasen <mclasen@redhat.com>
2437 * --- Initial import ---