X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=f885e3ecce5e4f1df19659b76a89598d5df4fab5;hp=721a9a51963cce9925ec7f7c8ff61b4072ff2a25;hpb=5404679aba387c5295ae7b50fa1af2259d4b9cf7;p=platform%2Fupstream%2Fgobject-introspection.git diff --git a/ChangeLog b/ChangeLog index 721a9a5..e69de29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5302 +0,0 @@ -2008-11-16 Andreas Rottmann - - Bug 560241 - Out-arguments should not be marked as being pointers - in all cases - - * girepository/girparser.c: Improved logic for out arguments. - -2008-11-16 Andreas Rottmann - - Bug 559601 - Pointers in structs/unions unduly treated as arrays - - * giscanner/transformer.py: Differentiate type creation logic - between parameters and struct components. - -2008-11-15 Colin Walters - - * giscanner/dumper.py: Check return code from pkg-config - invocations. - -2008-11-14 Johan Dahlin - - * tests/everything/everything.c (test_array_int_in), - (test_array_gtype_in): - * tests/everything/everything.h: - Rename the int/gtype array tests. Make the return value - useful, an aggregation of the array input values. - -2008-11-14 Johan Dahlin - - * tests/everything/Makefile.am: - * tests/everything/everything.c: - * tests/everything/everything.h: - * tests/everything/gitesttypes.c: - * tests/everything/gitesttypes.h: - Rename gitesttypes.[ch] to everything.[ch] - -2008-11-13 Andreas Rottmann - - Bug 560708 – Don't treat arrays that have a length specified as - zero-terminated by default - - * giscanner/transformer.py: Default to non zero terminated for - arrays with length. - * tests/*: Update, add test for zero vs not. - -2008-11-13 Andreas Rottmann - - Bug 557788 - Return types for constructors in generated typelib bogus - - * girepository/girnode.c: Namespace-qualify XREFs; not doing so is - obviously broken in the face of duplicate names in different - namespaces. - * tests/scanner/*expected.gir: Fix up. - -2008-11-13 Owen Taylor - - * girepository/girffi.c: Fix "Unexpected time for time_t" - message. - -2008-11-13 Colin Walters - - Bug 558436 - avoid having scanner load app code - - * giscanner/cgobject.py: Delete; we no longer load shared - libraries directly. - * giscanner/dumper.py: Support for linking a library to - a stub binary for introspection. - * giscanner/glibtransformer.py: Rewrite to use gdump XML - from invocation of child binary. - * giscanner/transformer.py: Fix up to use fully qualified - name in parse tree. Make parse_ctype public so we can use - it inside glibtransformer. - * tests/scanner/barapp.c: New test, using --program arg - for g-ir-scanner. - * tests/*: Update to use common.mk for invoking scanner. - * tools/g-ir-scanner: Add options --program, --program-arg, - and --no-libtool. - * docs/g-ir-scanner.1: Update. - -2008-11-13 Colin Walters - - * configure.ac: Depend on Gio, we use it in gdump.c. - * girepository/gdump.c: Code to dump GType data to XML. - * girepository/girepository.c: Add option group for dumping. - * girepository/girepository.h: Define API for the above. - -2008-11-13 Colin Walters - - * common.mk: Add a file to include with Makefile fragments - useful for scanner invocation. - -2008-11-13 Tommi Komulainen - - * tests/everything/gitesttypes.c (test_filename_return): Return - strings in filename encoding. - -2008-11-13 Owen Taylor - - Bug 560253 – Add structure and boxed types to Everything test module - - * tests/everything/gitesttypes.[ch]: Add examples of: - - Plain old data structs - Plain old data structs with nested fields - Plain old data boxed - Plain old data boxed with nested fields - More complicated boxed types with internal state - -2008-11-12 Johan Dahlin - - * tests/everything/gitesttypes.c (test_gtype_in): - * tests/everything/gitesttypes.h: - Add a test of GType arrays, a la gtk_list_store_set_columns. - -2008-11-12 Owen Taylor - - Bug 560419 – Cache includes when parsing - - Keep track of all modules parsed within a GIrParser, and when a - module is referenced a second time, use the existing parsed copy - instead of reparsing. - -2008-11-12 Owen Taylor - - Fix management of ParseContext.includes_modules (#560419) - - * girepository/girparser.c: Fix some trivial bugs in managing the - list of include modules. (Add to module's list twice, not - initialized to NULL, not freed.) - -2008-11-12 Owen Taylor - - Keep aliases and disguised_structures local to each module (#560419) - - * girepository/girmodule.[ch]: When parsing, keep keep a separate - hash tables of aliases and 'disguised' flags for each module, and - store that on the module. - - After parsing an include merge the aliases/disguised flags to the - including module. - - * girepository/girparser.c: Remove 'prefix_aliases' flag and - always prefix aliases/disguised structure types when parsing; this - simplifies the code considerably. - -2008-11-12 Owen Taylor - - Fix mismatches between .gir name and 'name' attribute (#560419) - - * tests/boxed.gir tests/constant.gir tests/enum.gir tests/invoke/invoke.c - tests/invoke/testfns-1.0.gir tests/object.gir tests/struct.gir: Fix places - where the 'name' element of didn't match the filename of the - gir, an assumption that the compiler has always expected and now enforces. - -2008-11-12 Owen Taylor - - Only allow one element per (#560419) - - * girepository/girparser.c: The logic in girparser.c didn't work - very well if there were multiple nodes within a - single (context->namespace was always the overall - filename and not the the name specified in the - element for one thing; this would cause aliases to be mis-prefixed - in include modules.) Also check that the "name" in the - node matches the filename. - -2008-11-12 Owen Taylor - - Add a GirParser object to hold the state of a compilation - - * girepository/girparser.[ch] tools/compiler.c: Add a toplevel - GirParser object to hold state that is global across a - compilation. Currently just holds the include path, but will - eventually also keep a cached list of parsed modules. - -2008-11-12 Tommi Komulainen - - * girepository/girepository.c (find_namespace_latest): Fix - minor memory leak. - -2008-11-12 Tommi Komulainen - - * configure.ac: use 'introspection' component for bugs - -2008-11-12 Johan Dahlin - - * tests/everything/gitesttypes.c (test_filename_return): - * tests/everything/gitesttypes.h: - Add a filename return test. - -2008-11-12 Tommi Komulainen - - * tests/offsets/Makefile.am (gitestoffsets.c): fix - gen-gitestoffsets invocation with builddir != srcdir - -2008-11-12 Johan Dahlin - - * girepository/girepository.c: - Change the element type from utf8 to filename - * girepository/girnode.c (g_ir_node_build_typelib): - Special case filename equally to utf8 here. - -2008-11-12 Johan Dahlin - - * gir/Makefile.am: - Remove unused variables, add a dependency of girepository.ch, so when - they change we rebuild the gir automatically. - -2008-11-12 Johan Dahlin - - * girepository/girepository.c (g_irepository_get_search_path): - * girepository/girepository.h: - Add a g_irepository_get_search_path, so we can access the search - paths from runtime. - -2008-11-12 Johan Bilien - - Bug 560474 – g-ir-compiler crashes when compiling the glib gir - - * girepository/girparser.c: avoid freeing an uninitialized pointer - -2008-11-12 Johan Dahlin - - * gir/Makefile.am: - * giscanner/glibtransformer.py: - * tools/g-ir-scanner: - Add a GIRepository-2.0.gir. Change the libtool lookup slightly - so we can just pass in --library=foo/bar/baz.la and the scanner - does the right thing. - Don't warn for _get_type() functions if they don't take any - parameters - -2008-11-11 Owen Taylor - - Bug 560404 – Prefix types when resolving aliases in included modules - - * girepository/girparser.c: When resolving aliases in an included - module, prefix types before looking them up. - -2008-11-11 Owen Taylor - - Compute field offsets and overall size for object structures - - Bug 560326 – Fails to build Gtk-2.0.typelib with "Unexpected non-pointer - field of type object in structure" - - Do basic computation of field offsets for objects and interfaces; - this doesn't attempt to address all of the "mess" for virtual - functions described in Bug 560281. - -2008-11-11 Tommi Komulainen - - Bug 560308 – g-ir-compiler goes in infinite loop on Gdk-2.0.gir - - Based on patch by Johan Bilien. - - * giscanner/transformer.py (_create_member, _create_parameter): - Resolve types here as well. - (_resolve_type_name_1): Try resolving using 'ctype' first since - it's least ambiguous. Fixes struct member type resolution with - similarly named types, e.g. Gdk.PangoRendererClass and - Pango.RendererClass - * tests/scanner/foo*: Add test. - -2008-11-11 Owen Taylor - - * girepository/girparser.c: Search provided include dirs before - the default directories. - -2008-11-11 Owen Taylor - - * girepository/giroffsets.c: Include fully-qualified names in - all error messages. - -2008-11-11 Owen Taylor - - * girepository/giroffsets.c: Fail gracefully with an informative - error message when recursion is encountered when computing a - structure size. - -2008-11-11 Owen Taylor - - * girepository/girparser.c: Remove an unused variable. - -2008-11-10 Owen Taylor - - Add tests for field offset computations - - * tests/offsets/offsets.h: Header file with structure definitions to test - - * tests/offsets/gen-gitestoffsets: Generate a C program that computes - field offsets for the structures in offsets.h two ways: using - the information from a generated typelib, and as computed by the - compiler. - - We diff these two versions to test that everything is OK. - -2008-11-10 Owen Taylor - - Remove field offsets from g-ir-generate output and test inputs - - Field offsets are a) architecture dependent so they shouldn't be part - of the architecture-independent gir format which is installed in - datadir. b) Are architecture-dependent so they shouldn't be in test - expected output. - - * girepository/girparser.c: Don't parse offset for fields - * tools/generate.c: Don't parse offset for fields - * tests/*.gir test/scanner/*.tgir: Remove offsets - - (Virtual function and discriminator offsets are not removed, as they - aren't fully hooked up to the field-offset computation machinery yet.) - -2008-11-10 Owen Taylor - - Bug 560252 - Compute field offsets before writing typelib - - * girepository/girnode.h: Store the total size and alignment for - GIrNodeStruct/Boxed/Union. - - * girepository/giroffset.c: New file implementing computation of - structure field offsets. - - * girepository/girnode.c: Compute structure field offsets before - writing types into the typelib. - - * docs/typelib-format.txt: Document that a field offset of 0xFFFF - means "unknown". Also fix description of the discriminator_offset - field for unions. - -2008-11-10 Owen Taylor - - Bug 560250 - Fully parse included modules - - For some things, like computing structure offsets to put into the typelib - we need more than just the aliases from included modules. Do a completel - parse of included modules and store in module->included_modules. - - Also add g_ir_find_node() to find node information from within the - active set of modules and their includes. - -2008-11-10 Owen Taylor - - Split g_ir_ffi_get_ffi_type() out from ginvoke.c - - Extract a function to convert GITypeTag to ffi_type from the internals - of ginvoke.c. This will be useful in figure out structure alignment. - - Also fix handling of gsize and time_t to be portable. (Add a check - to configure.ac to figure out the width of time_t.) - -2008-11-10 Owen Taylor - - Bug 560248 – "disguised structures" - - Certain types like GIConv and GdkAtom are pointers internally but don't - look like pointers when referenced. They have the form. - - typedef struct _X *X; - - Parse these as structures/records but mark them in the gir with a 'disguised' - attribute so that we know that they need special handling. - - In the typelib treat them like any other structure. - -2008-11-09 Jürg Billeter - - * giscanner/ast.py: - * giscanner/girwriter.py: - - Write throws attribute for virtual functions, fixes bug 559703 - -2008-11-07 Johan Dahlin - - * giscanner/libtoolimporter.py (LibtoolImporter.find_module): Clear - up some confusion about the second argument to find_module, it's - actually the packages __path__ attribute which we can safely ignore - for our purposes. - (LibtoolImporter.load_module): Set module.__loader__ as per PEP 302. - -2008-11-07 Owen Taylor - - Bug 559737 – Deal with continuations in macros - - * giscanner/giscannerlexer.l: Treat continuation lines the same - as regular newlines. This makes the scanner not complain about - #define foo(x) \ inside a C file. There's no attempt - however to handle parsing macro definitions split across lines. - -2008-11-07 Johan Dahlin - - * giscanner/cachestore.py: - Handle broken cache entries, write only filesystems and - running out of diskspace. - -2008-11-07 Owen Taylor - - * giscanner/giscannermodule.c (pygi_source_scanner_lex_filename): - Set current_filename before lexing the file so error messages - are reported in the right file. - -2008-11-06 Colin Walters - - * tests/everything/*: Add some tests for strv. - -2008-11-05 Colin Walters - - * girepository/ginvoke.c (g_function_info_invoke): Don't use - nested scope local variable for error which may go away after - conditional is complete. - -2008-11-05 Colin Walters - - * giscanner/scannerlexer.l: Avoid static 256 char buf which we - manipulate hackily; just use GString. This avoids an - uninitialized memory read pointed out by Havoc. - -2008-11-04 Johan Dahlin - - * giscanner/__init__.py: - * giscanner/ast.py: - * giscanner/cachestore.py: - * giscanner/cgobject.py: - * giscanner/girparser.py: - * giscanner/girwriter.py: - * giscanner/giscannermodule.c: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/libtoolimporter.py: - * giscanner/minixpath.py: - * giscanner/odict.py: - * giscanner/sourcescanner.c: - * giscanner/sourcescanner.h: - * giscanner/sourcescanner.py: - * giscanner/transformer.py: - * giscanner/utils.py: - * giscanner/xmlwriter.py: - * COPYING: - Relicense the giscanner library under LGPLv2+. - This has been approved by all contributors. - -2008-11-01 Owen Taylor - - Bug 558848 giparser.py: shared library should be optional - - When parsing a .gir, allow the shared-library attribute - of to be missing: this corresponds to the handling - in libgirepository and elsewhere. - -2008-11-01 Tommi Komulainen - - Bug 557898 – Fails to build on OSX 10.4 - - * configure.ac: Check for $shrext_cmds that should be implicitly - available if you're using libtool >= 2.0. If undefined, call - libtool --config explicitly to get its value. - * girepository/gtypelib.c: Remove special case for (non-)Darwin - systems as unneeded. - -2008-10-31 Colin Walters - - * COPYING, COPYING.lib, COPYING.tools: Clarify licensing status. - -2008-10-31 Johan Dahlin - - * configure.ac: Post release version bump - -=== 0.6.0 === -2008-10-31 Johan Dahlin - - * NEWS: - * configure.ac: - * docs/release-checklist.txt: - 0.6.0 - -2008-10-31 Johan Dahlin - - * Makefile.am: add an upload-release target - * docs/release-checklist.txt: - Release process documentation - -2008-10-31 Colin Walters - - Bug 558109 – _g_typelib_init fails to find shared libraries - - * transformer/glibtransformer.py: Use ctypes' find_library - on passed libraries and write that for the shared-library - entry. We want to avoid depending on -devel packages. - -2008-10-31 Johan Dahlin - - * docs/g-ir-scanner.1: - Document the renaming options. - -2008-10-31 Tommi Komulainen - - * giscanner/Makefile.am: - * tests/invoke/Makefile.am: - * tests/repository/Makefile.am: List in-tree libraries first in - LDADD / LIBADD. If installed library is listed first, the - resulting binary will prefer installed version to one in .libs, - possibly making 'make check' behave strangely. - -2008-10-30 Tommi Komulainen - - * giscanner/ast.py: map 'id' (ObjC) to 'any' type to stop - gir-repository from choking with gdk/quartz - -2008-10-30 Johan Dahlin - - * giscanner/giscannermodule.c (calc_attrs_length), - (pygi_collect_attributes): - * giscanner/xmlwriter.py: - Write a C version of the xml namespace formatter. - Saves 15% of the time it takes to create a gtk gir. - -2008-10-30 Johan Dahlin - - * giscanner/xmlwriter.py: Abstract attribute formatting - to a function external to the XMLWriter class. - - * giscanner/scannerlexer.l: - Parse and discard __typeof and __attribute. - -2008-10-30 Johan Dahlin - - * giscanner/girparser.py: - Remove arguments from the constructor, move them to - separate accessors. Add a new parse_tree method - which takes an element tree instance. - * tools/g-ir-scanner: - Update callsite for this - - * giscanner/Makefile.am: - * giscanner/cachestore.py: - * giscanner/transformer.py: - Cache the include parsing. Saves ~25% time when - creating vte (which includes everything up to gtk+). - -2008-10-30 Colin Walters - - * giscanner/transformer.py: Don't reparse includes - we've already processed. - -2008-10-30 Johan Dahlin - - * giscanner/girparser.py: - * giscanner/transformer.py: - Avoid parsing parameters, types etc when parsing - includes. Should speed up include parsing a bit. - -2008-10-30 Johan Dahlin - - * giscanner/girparser.py: - Avoid big if/else and use a dispatch table like - approach. - -2008-10-30 Johan Dahlin - - * giscanner/transformer.py: - Clean up include parsing and registration. - -2008-10-30 Johan Dahlin - - * giscanner/transformer.py: - Clean up imports - -2008-10-30 Johan Dahlin - - Bug 558383 – builddir != srcdir build fails if giscanner python module not already installed - - * gir/Makefile.am: - construct PYTHONPATH just once - - * tests/everything/Makefile.am: - * tests/scanner/Makefile.am: - add $(top_srcdir) to PYTHONPATH to - handle builddir != srcdir - - * giscanner/libtoolimporter.py: - * giscanner/sourcescanner.py: - Make the libtoolimporter work when distchecking too. - - Mostly based on patch by Tommi Komulainen - -2008-10-29 Owen Taylor - - * giscanner/glibtransformer.py: If a filename of an existing - file is passed to --library, hunt for it directly, rather than - searching for a corresponding library. - -2008-10-29 Johan Dahlin - - * giscanner/libtoolimporter.py: - * giscanner/sourcescanner.py: - Clean up the libtool importer a bit. Add a context so we - can use it through a with statement. - Don't just look in the current directory, look in the whole - sys.path. - -2008-10-29 Tommi Komulainen - - Bug 558065 – gitesttypes should be installed - - * configure.ac: - * tests/Makefile.am: - * tests/types/Makefile.am -> tests/everything/Makefile.am - * tests/types/gitesttypes.c -> tests/everything/gitesttypes.c - * tests/types/gitesttypes.h -> tests/everything/gitesttypes.h - move tests/types to tests/everything - - * tests/everything/Makefile.am: build normal shared library - libgirepository-everything.so.1.0.0 and corresponding typelib - Everything-1.0.typelib - - * tests/everything/Makefile.am: explicitly link libtool - versioning with typelib versioning with variables - -2008-10-28 Johan Bilien - - * tools/g-ir-scanner: add LD_LIBRARY_PATH to LPATH before calling ld. - -2008-10-27 Johan Bilien - - * gio/gio-2.0.c: add allow-none annotations, based on the pygobject - .defs file - -2008-10-27 Johan Bilien - - Bug 558068 – when invoking a method, offset the in arguments by one, - not the out - - * tests/invoke/invoke.c, tests/invoke/testfns.c, - tests/invoke/testfns-1.0.gir: Add testing of method and constructor. - * girepository/ginvoke.c: do not offset the index of given out - arguments by one for methods, "this" is provided as in argument only. - -2008-10-27 Johan Bilien - - * gir/gio-2.0.c: add annotation for g_file_delete - -2008-10-27 Tommi Komulainen - - Bug 558062 – provide and use paths in the .pc file - - * gobject-introspection-1.0.pc.in: provide typelibdir variable - for where .typelibs should be installed (callers shouldn't need - to construct paths from bits and pieces) - -2008-10-25 Andreas Rottmann - - Bug 557791 – g_irepository_require() could return a GTypelib * - - * girepository/girepository.c: Return GTypelib; this is useful - for low level manipulation. - -2008-10-25 Colin Walters - - Bug 557788 – Return types for constructors in generated typelib bogus - - * giscanner/glibtransformer.py: Don't resolve ctors incrementally, - rely on end pass resolution. - -2008-10-25 Andreas Rottmann - - Bug 557786 - support fixed size arrays - - * girepository/ginfo.c: Add g_type_info_get_array_fixed_size. - * giscanner/scannerparser.y: Retain fixed array size. - * giscanner/ast.py: Add to note. - * giscanner/girwriter.py: Write to gir. - * girepository/girnode.c: Write it to typelib. - * tools/generate.c: Generate. - * tests/*: Add tests. - -2008-10-25 Colin Walters - - Bug 557076 - move typelibs to $libdir - - * configure.ac: Steal some configury bits from dbus to expand - libdir. - * gir/Makefile.am: Move to libdir. - * girepository/girepository.c: Stop searching XDG_DATA_DIRS; - instead just look at one hardcoded path in libdir. - * acinclude.m4: Bits from dbus. - -2008-10-24 Johan Dahlin - - * girepository/girnode.c (g_ir_node_check_unhandled_members): - Be quiet, do not warn about unhandled members. - -2008-10-24 Johan Dahlin - - * girepository/gtypelib.c: - Only use SHLIB_SUFFIX on darwin, otherwise use - G_MODULE_SUFFIX, we cannot get shext_cmds from libtool 2.2. - -2008-10-24 Lucas Rocha - - Bug 557623 - Constructors shouldn't be flagged as methods. - - * girepository/ginfo.c (g_function_info_get_flags): ditto. - -2008-10-24 Johan Dahlin - - * giscanner/scannerparser.y: - Check against division by zero for the modula operator. - This fixes header parsing of OSX system headers included - by libsoup. - -2008-10-24 Johan Dahlin - - * CONTRIBUTORS: - * Makefile.am: - Add a CONTRIBUTORS file and dist it. - -2008-10-23 Tommi Komulainen - - Bug 556739 – transfer-ownership attribute should be mandatory in .gir - - * girepository/girparser.c (parse_param_transfer): - * giscanner/transformer.py (_create_parameter, _create_return): - * giscanner/girwriter.py (_write_return, _write_parameter): - * tools/generate.c (write_callable_info): always write and - require "transfer-ownership" for return-values and parameters - - * tests/boxed.gir: - * tests/invoke/testfns-1.0.gir: - * tests/object.gir: - * tests/scanner/DrawableAdditions.xml: - * tests/scanner/GtkFrob-1.0-expected.tgir: - * tests/scanner/annotation-1.0-expected.tgir: - * tests/scanner/drawable-1.0-expected.tgir: - * tests/scanner/drawable-injected-1.0-expected.gir: - * tests/scanner/drawable-injected-1.0-expected.tgir: - * tests/scanner/foo-1.0-expected.tgir: Updated - -2008-10-23 Tommi Komulainen - - * giscanner/cgobject.py: build fundamental types same way as glib - - * giscanner/glibtransformer.py (_type_from_gtype): record GType - when constructing the Type from it - - * giscanner/glibtransformer.py (_adjust_transfer): Check whether - the parameter is a GObject from its GType, if available. - - * giscanner/glibtransformer.py (_adjust_transfer): - * tests/scanner/foo-1.0-expected.gir: - * tests/scanner/foo-1.0-expected.tgir: deduce - transfer-ownership from GTypes - -2008-10-23 Tommi Komulainen - - * giscanner/transformer.py (_create_parameter): - * tests/scanner/foo-1.0-expected.gir: make varargs - transfer-ownership="none" - -2008-10-23 Colin Walters - - Bug 556739 - transfer ownership - - * giscanner/ast.py: Refactor Parameter/Return to share - common attributes. Add transfer_inferred attribute - which says whether or not we made a guess. - * giscanner/transformer.py: Add much more extensive - heuristics around parameter and return transfer. - * giscanner/glibtransformer.py: Adjust to inspect - transfer_inferred. - * tests/*: Adjust. - -2008-10-22 Tommi Komulainen - - Bug 557377 – Add test to ensure annotations survive the roundtrip via typelib - - * tests/scanner/Makefile.am: - * tests/scanner/annotation-1.0-expected.tgir: - * tests/scanner/drawable-1.0-expected.tgir: - * tests/scanner/drawable-injected-1.0-expected.tgir: - * tests/scanner/foo-1.0-expected.tgir: - * tests/scanner/GtkFrob-1.0-expected.tgir: - * tests/scanner/utility-1.0-expected.tgir: Add test to ensure - annotations survive the roundtrip via typelib - - The expectations are as currently produced by g-ir-generate, - comparison with the .gir files shows there are differences. - -2008-10-23 Johan Bilien - - Bug 557468 – Support for GI_TYPELIB_PATH - - * girepository/girepository.c: if the GI_TYPELIB_PATH is set, add the - provided paths to the global search path. - -2008-10-22 Tommi Komulainen - - Bug 557379 – g-ir-generate not writing the 'abstract' attribute - - * tests/scanner/drawable-1.0-expected.tgir: - * tests/scanner/drawable-injected-1.0-expected.tgir: - * tests/scanner/foo-1.0-expected.tgir: - * tools/generate.c (write_object_info): write 'abstract' - attribute for classes - -2008-10-22 Lucas Rocha - - * girepository/girmodule.c, girepository/gtypelib.c, - girepository/girparser.[ch]: fix some build warnings. - -2008-10-22 Tommi Komulainen - - Bug 557405 – Use 'allow-none' consistently - - * docs/typelib-format.txt: - * girepository/ginfo.c (g_arg_info_may_be_null): - * girepository/girnode.c (g_ir_node_build_typelib): - * girepository/girnode.h (struct _GIrNodeParam): - * girepository/girparser.c (start_parameter): - * girepository/girwriter.c (function_generate): - * girepository/gtypelib.h (ArgBlob): - * tests/errors.gir: - * tests/function.gir: - * tools/generate.c (write_callable_info): Use 'allow-none' - consistently throughout - -2008-10-22 Tommi Komulainen - - Bug 557092 – Callback annotations not used - - * giscanner/transformer.py (_create_callback): use annotations - for callbacks - * tests/scanner/annotation.h - * tests/scanner/annotation-1.0-expected.gir: add tests - -2008-10-21 Colin Walters - - * giscanner/scannerlexer.l: Don't require trailing whitespace after - uncommented parameters. - * tests/*: Test it. - -2008-10-21 Colin Walters - - * girepository/girepository.c: Ensure that when doing an unversioned - require, we prefer items earlier in the search path to later ones. - -2008-10-21 Owen Taylor - - * giscanner/transformer.py: For string parameters allow transfer annotation - to override the standard automatic guessing based on 'const'. - -2008-10-21 Johan Bilien - - Bug 557241 – "throws" flag for functions - - * tests/scanner/drawable-1.0-expected.gir, - tests/scanner/drawable-injected-1.0-expected.gir, - tests/scanner/drawable.[ch]: add simple test for throwing - function (has GError ** as last argument) - - * giscanner/ast.py: add a 'throws' flag to Function - * giscanner/glibtransformer.py: if a function's last paramerter is - a GError, set the 'throws' flag and remove that parameter - * giscanner/girwriter.py: write out the 'throws' attribute - * giscanner/girparser.py: support parsing the 'throws' attribute - - * tests/repository/gitestthrows.c: add a simple test to check the - throws flag in a typelib and invoke the function - - * girepository/ginfo.c, girepository/girnode.[ch], - girepository/girnode.h, girepository/girparser.c, - girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag - - * girepository/ginvoke.c: if a function throws, add a GError as last - arguments, and propagate the error to the invoker. - -2008-10-21 Tommi Komulainen - - * giscanner/transformer.py (_create_parameters): Warn if we see - annotations for unknown parameters. If .h and .c files name - parameters differently, the annotations may be lost. - -2008-10-21 Johan Dahlin - - Bug 556358 - don't use libtool internals - - * giscanner/Makefile.am: - * giscanner/libtoolimporter.py: - * giscanner/sourcescanner.py: - * giscanner/utils.py: - Add a python meta importer and remove a libtool symlink hack. - -2008-10-20 Andreas Rottmann - - * tests/scanner/Makefile.am (%.typelib): Set PYTHONPATH - and --add-include-path appropriately when invoking the scanner. - * tests/types/Makefile.am (%typelib): Likewise. - -2008-10-20 Colin Walters - - Bug 556777 - validate properties - - * giscanner/transformer.py: Add option to throw on unknown types. - * giscanner/glibtransformer.py: Use it on properties. - * tests/*: Add a test. - -2008-10-20 Colin Walters - - * giscanner/glibast.py: Also register g variants of - default_array_types. This is not beautiful, but - good alternatives aren't easy to come by. - This fixes gchar ** parsing. - -2008-10-20 Colin Walters - - * docs/typelib-format.txt, girepository/gtypelib.h: - Take a bit from ObjectInfo to represent abstract flag. - * giscanner/cgobject.py: Expose g_type_get_flags. - * girepository/girepository.h: Add accessor. - * girepository/ginfo.c: Implement it. - * giscanner/ast.py: Add is_abstract flag to generic - class object. - * giscanner/glibast.py: Use it. - * giscanner/girwriter.py: Write it. - * girepository/girparser.c: Parse it. - * tests/*: Test it. - -2008-10-20 Tommi Komulainen - - * giscanner/girparser.py (_parse_function): don't lose - 'transfer-ownership' attributes when injecting, check for the - correct attribute - -2008-10-19 Johan Dahlin - - * giscanner/scannerlexer.l: Parse and ignore __asm. - -2008-10-19 Colin Walters - - * giscanner/girparser.py: Parse array length= to ensure - it doesn't get lost from --inject. - -2008-10-17 Colin Walters - - Bug 556795 - char ** regression - - * giscanner/transformer.py: Fix parsing of ctypes, add some - comments about what's going on. - * tests/*: Add a test for char **. - -2008-10-17 Colin Walters - - Bug 556783 - change namespace handling to be more consistent - - * giscanner/transformer.py: Eliminate usage of - strip_namespace_object. We now treat --namespace as the default - --strip-prefix; however, if --strip-prefix is specified it - overrides --namespace. This applies to everything except function - names, where we do also strip the namespace. - * giscanner/glibtransformer.py: Remove usage of - strip_namespace_object. - * tests/*: Update. - * tests/*: Add skeletal GtkFrob-1.0 test which has different - --namespace and --strip-prefix. - -2008-10-17 Tommi Komulainen - - Bug 556732 – generate gir files consistently - - * girepository/girparser.c (start_parameter): - * tests/boxed.gir: - * tests/invoke/testfns-1.0.gir: - * tools/generate.c (write_callable_info): write - 'transfer-ownership' attribute consistently with both - return-value and parameter elements - -2008-10-17 Tommi Komulainen - - Bug 556732 – generate gir files consistently - - * tools/generate.c (write_callable_info): write 'direction' - attribute only if other than 'in' to be consistent with - girwriter.py - * tests/boxed.gir: - * tests/object.gir: remove direction="in" which is the default - -2008-10-17 Tommi Komulainen - - Bug 556732 – generate gir files consistently - - * giscanner/ast.py (Field): add readable and writable properties - * giscanner/girparser.py (_parse_field): copy 'readable' and - 'writable' attributes - * giscanner/transformer.py (_create_member): create fields as - read-write - * giscanner/glibtransformer.py (_introspect_object, - _pair_class_struct): make object instance and class fields - read-only - * giscanner/girwriter.py (_write_field): - * tools/generate.c (write_field_info): write field 'readable' - and 'writable' attributes only if non-default (read-only) - * girepository/girparser.c (start_field): in the absence of - attributes assume fields are read-only - * tests/boxed.gir: - * tests/struct.gir: remove redundant readable="1" from fields - * tests/scanner/foo-1.0-expected.gir: - * tests/scanner/utility-1.0-expected.gir: add writable="1" to - all record and union fields - -2008-10-17 Tommi Komulainen - - Bug 556732 – generate gir files consistently - - * giscanner/girwriter.py (_write_property): write properties - 'construct' attribute if set - * tools/generate.c (write_property_info): write properties - 'readable' and 'writable' attributes only if non-default - * tests/object.gir: add writable="0" - * tests/scanner/foo-1.0-expected.gir: add construct="1" - -2008-10-17 Johan Bilien - - * gir/glib-2.0.c: added annotations - -2008-10-16 Johan Bilien - - * giscanner/ast.py: Also assume direction=out for size_t*, ssize_t* - arguments - -2008-10-16 Johan Bilien - - Bug 556610 – giscanner/girparser.py drops parameter options - - * tests/scanner/drawable-injected-1.0-expected.gir, - tests/scanner/DrawableAdditions.xml: added simple test for injection. - * giscanner/ast.py: allow Parameter to take options in the constructor - * giscanner/girparser.py: parse parameter options (transfer, - direction, allow-none) - -2008-10-16 Colin Walters - - Bug 556185 - segfault on g_callable_info_get_return_type - - Initial patch from John Ehresman. - - * tests/repository/*: Add a test using - g_callable_info_get_return_type. Instead of casting a - GITypeInfo directly to a GIRegisteredTypeInfo, we need - to call g_type_info_get_interface. - -2008-10-16 Colin Walters - - Bug 556579 - union and struct name misresolved - - * giscanner/transformer.py: The calls to _resolve_type_name - for struct/union names was a legacy holdover from when type - resolution had multiple phases. Now it's actively harmful - since we might pull in an identical name from another - namespace. - * tests/*: Update. - -2008-10-16 Colin Walters - - Bug 556432 - transfer annotations and defaults - - * giscanner/transformer.py: Canonicalize type - after removing *, not before. This ensures that - guchar* is transformed to 'uint8'. - Add some comments here. - * giscanner/glibtransformer.py: Add _adjust_transfer - phase for tweaking GObject transfers. - * tests/*: test it. - -2008-10-16 Tommi Komulainen - - * configure.ac: enable bunch of gcc warning CFLAGS - -2008-10-16 Tommi Komulainen - - Bug 556543 – reduce compiler warnings - - * girepository/ginfo.c: - * girepository/girepository.c (register_internal, - count_interfaces, find_interface, find_namespace_version, - parse_version, g_irepository_require): - * girepository/girmodule.c (g_ir_module_build_typelib): - * girepository/girnode.c (init_stats, dump_stats, - _g_irnode_init_stats, _g_irnode_dump_stats, - g_ir_node_can_have_member): - * girepository/girparser.c (firstpass_end_element_handler, - locate_gir, parse_basic, parse_type_internal, resolve_aliases, - start_alias, start_type, end_type_top, parse_include, cleanup, - post_filter): - * girepository/gtypelib.c (validate_function_blob, validate_enum_blob): - * giscanner/giscannermodule.c (directive_get_options, - type_get_child_list): - * giscanner/scannerlexer.l (parse_gtkdoc): - * giscanner/scannerparser.y (ctype_free): - * giscanner/sourcescanner.c: - * giscanner/sourcescanner.h (gi_source_scanner_parse_macros): - * tests/types/gitesttypes.c: - * tools/compiler.c (main): - * tools/generate.c (write_repository): Remove unused variables - and code, add missing includes, declarations and case - statements. - -2008-10-16 Tommi Komulainen - - Bug 556541 – access union members through UnionBlob rather than - StructBlob - - * girepository/ginfo.c (g_union_info_find_method): access union - members through UnionBlob rather than StructBlob - -2008-10-15 Colin Walters - - Bug 556331 - clean up includes handling - - * tools/g-ir-scanner: Rework command line arguments; now we take - --add-include-path and --include separately. - * giscanner/girwriter.py: Separate name= and version= in include - directives. - * giscanner/ast.py: Add Include type. - * giscanner/transformer.py: Cleanups to register_include now that - we don't need to handle mixed filenames and relative arguments. - * girepository/girparser.c: Parse name and version separately; - this fixes a bug as a side effect where we weren't resolving - through aliases for basic types. - * girepository/girepository.c: Fix format string args. - * gir/Makefile.am: Update. - * tests/*: Update. - -2008-10-15 Tommi Komulainen - - Bug 556434 – unhandled interface/object/... member types - - * girepository/girnode.c (g_ir_node_check_unhandled_members, - g_ir_node_build_typelib): Check all - interface/object/boxed/struct/union members are processed and - abort if they are not. (Mostly callbacks in structs, but also - fields in interfaces.) - -2008-10-15 Tommi Komulainen - - * a/girepository/girnode.c (g_ir_node_build_members, - g_ir_node_build_typelib): refactor common code for processing - members to a function - -2008-10-15 Tommi Komulainen - - * gir/Makefile.am (check-local): check that typelib -> gir -> typelib - transformation is lossless (it's not) - -2008-10-15 Tommi Komulainen - - * tests/Makefile.am: fix tests to compare xml to xml instead of - typelib to xml, and stop on error - -2008-10-15 Tommi Komulainen - - * tools/generate.c (write_type_name, write_type_info, - write_type_info, write_object_info, write_object_info, - write_interface_info, write_error_domain_info): reduce code - duplication - -2008-10-15 Tommi Komulainen - - Bug 556174 – parse types for lists etc. - - * girepository/girparser.c (end_type_recurse): - * tests/boxed.gir: - * tools/generate.c (write_type_info, write_field_info, - write_callable_info, write_callable_info, write_constant_info, - write_property_info): use nested s for lists and hashes - -2008-10-15 Tommi Komulainen - - * tests/enum.gir: - * tests/object.gir: remove trailing whitespace from inside - elements to match g-ir-generate output - -2008-10-15 Tommi Komulainen - - * tools/generate.c (xml_printf): quote printf arguments so that - we don't generate invalid XML by writing unescaped double quotes - and such in attributes - -2008-10-15 Tommi Komulainen - - * tools/generate.c (write_field_info, write_callable_info, - write_function_info, write_callback_info, write_struct_info, - write_constant_value, write_signal_info, write_vfunc_info, - write_object_info, write_interface_info, write_union_info, - write_repository): remove unused indent parameters, xmlwriter - keeps track of necessary indentation - -2008-10-15 Tommi Komulainen - - * tools/generate.c (xml_element_new, xml_element_free, - xml_start_element, xml_end_element, xml_end_element_unchecked, - xml_open, xml_close): Keep track of generated XML tree and - handle indentation and closing tags properly. - (write_field_info, write_callable_info, write_function_info, - write_callback_info, write_struct_info, write_value_info, - write_constant_info, write_enum_info, write_signal_info, - write_vfunc_info, write_property_info, write_object_info, - write_interface_info, write_error_domain_info, write_union_info, - write_repository): Use xml_start_element and xml_end_element to - open/close tags. - -2008-10-15 Tommi Komulainen - - * tools/generate.c (xml_printf, xml_open, xml_close, xml_free): - (write_type_name, write_type_info, write_field_info, - write_callable_info, write_function_info, write_callback_info, - write_struct_info, write_value_info, write_constant_value, - write_constant_info, write_enum_info, write_signal_info, - write_vfunc_info, write_property_info, write_object_info, - write_interface_info, write_error_domain_info, write_union_info, - write_repository): wrap all FILE access to go through simple xmlwriter - -2008-10-15 Tommi Komulainen - - Bug 556400 – Fails to build on OS X 10.4 - - * configure.ac: check for functions backtrace and backtrace_symbols - * girepository/girparser.c (backtrace_stderr): Comment out - implementation if the functions are not available. - * gcov.mak (clean-gcov, clean-gcno): always call 'find' with a - directory for better portability - -2008-10-15 Johan Bilien - - Bug 556433 – assume direction = out for int * parameters - - * giscanner/ast.py: define a list of types for which, if passed as - reference, we assume a default direction of 'out' - * giscanner/transformer.py: if a type has type pointer to one of the - previously defined types, and no direction is set, assume out. - * tests/scanner/drawable.[ch]: added tests for guessed direction=out - -2008-10-15 Johan Bilien - - * tests/scanner/annotation.c: fixed a few copy-paste errors - -2008-10-14 Johan Bilien - - Bug 556323 – transfer-ownership is wrong for functions returning const - char * - - * giscanner/transformer.py: check for a const string as return value, - not just const char*. Suggested by Colin Walters - * tests/scanner/annotation-1.0-expected.gir: updated expected output - -2008-10-14 Johan Bilien - - * girepository/ginfo.c, girepository/girepository.h: add - g_union_info_find_method - -2008-10-14 Colin Walters - - * tests/repository/Makefile.am: Reenable repo test. - * tests/repository/gitestrepo.c: Prepend search - path for $(top_builddir)/gir dir so that we don't - require installation for "make check" to pass. - -2008-10-13 Jürg Billeter - - * giscanner/glibtransformer.py: - * tests/scanner/annotation-1.0-expected.gir: - * tests/scanner/drawable-1.0-expected.gir: - * tests/scanner/foo-1.0-expected.gir: - * tests/scanner/utility-1.0-expected.gir: - - Support fields in GObject structs - -2008-10-13 Jürg Billeter - - * giscanner/ast.py: add signed integer and off_t to type_names - -2008-10-12 Jürg Billeter - - * giscanner/girparser.py: Parse bits attribute of fields - -2008-10-12 Tommi Komulainen - - * tests/repository/Makefile.am: run 'gitestrepo' in 'make check' - * tests/repository/gitestrepo.c (main): instantiate - 'GCancellable' to ensure the GType is registered before using - g_type_from_name() - -2008-10-12 Johan Bilien - - * giscanner/girparser.py: actually add the parsed constant nodes - -2008-10-12 Colin Walters - - * girepository/girepository.c: Don't cast DirEntry to Blob, - actually look it up by offset. - -2008-10-12 Johan Bilien - - * giscanner/girparser.py: parse constant nodes in gir files - -2008-10-12 Johan Bilien - - * giscanner/transformer.py: prefix for constants have an underscore, - so remove them as if they were functions, not objects. - -2008-10-12 Johan Bilien - - * tests/scanner/foo-1.0-expected.gir: add constants to expected gir - file - -2008-10-12 Colin Walters - - Initial patch from Jani Monoses. - - * girepository/gtypelib.c: Fix inverted test for success - in version parsing. - -2008-10-12 Tommi Komulainen - - * tools/generate.c (write_callable_info): use "transfer-ownership" - attribute for return values - -2008-10-12 Tommi Komulainen - - * tools/generate.c (write_callable_info): move "transfer" and - "null-ok" attributes from to element - -2008-10-12 Tommi Komulainen - - * girepository/girparser.c (start_return_value): handle - "transfer-ownership" attribute - -2008-10-12 Tommi Komulainen - - * girepository/girparser.c (parse_param_transfer): - * tools/generate.c (write_callable_info): use "container" for - container/shallow ownership transfer (not "shallow") - -2008-10-12 Tommi Komulainen - - * girepository/girparser.c (parse_param_transfer, - start_parameter): Refactor handling of transfer=none/shallow/full - to separate function - -2008-10-12 Tommi Komulainen - - Bug 556048 – Crash in g_irepository_find_by_gtype - - * girepository/gtypelib.h (BLOB_IS_REGISTERED_TYPE): added - * girepository/girepository.c (find_interface): Fix - find_by_gtype case to get the type name from right offset - -2008-10-12 Jürg Billeter - - * giscanner/girparser.py: Fix parsing transfer-ownership attribute - of - -2008-10-12 Tommi Komulainen - - * girepository/gtypelib.h (RegisteredTypeBlob): make - 'unregistered' one bit wide as everywhere else - -2008-10-12 Jürg Billeter - - * giscanner/glibtransformer.py: - * tests/scanner/annotation-1.0-expected.gir: - * tests/scanner/drawable-1.0-expected.gir: - * tests/scanner/drawable.h: - * tests/scanner/foo-1.0-expected.gir: - * tests/scanner/utility-1.0-expected.gir: - - Readd class records as workaround to not break Gtk typelib - -2008-10-12 Tommi Komulainen - - * tests/types/Makefile.am: fix typo in gitesttypes namespace - -2008-10-12 Jürg Billeter - - * giscanner/glibtransformer.py: Don't generate elements - for class structs. - * tests/scanner/*: Update test cases - -2008-10-11 Colin Walters - - Bug 552858: versioning - - This is a big patch. You should probably remove your installation - tree to be cleaner. - - * docs/typelib-format.txt: Add nsversion entry which holds - version of namespace. - * girepository/girepository.h: Add 'version' parameter to - g_irepository_require. This may be NULL. Normally - bindings should pass an explicit version though. - * girepository/girepository.c: Lots of infrastructure to - support versioning. Add some more documentation. Disallow - some usage of NULL namespaces. - * girepository/girmodule.c: Add version parameter. - * girepository/gtypelib.c: Update header size. - * giscanner/ast.py: Add version to Namespace. - * giscanner/girparser.py: Parse version attribute from - XML, pass to Namespace. - * giscanner/girwriter.py: Write out version parameter. - * giscanner/transformer.py: Clean up include registration. - * tests/*: Add version attribute. - * tests/invoke/invoke.c: Don't try looking up test before - it's loaded in repository. - * tools/generate.c: Output version parameter. - * gir/Makefile.am: Add 2.0 version to .gir files. - -2008-10-11 Colin Walters - - * giscanner/scannerlexer.l (parse_gtkdoc): Don't lose - if we have mismatched parens. - -2008-10-11 Lucas Rocha - - * giscanner/girparser.py (_parse_enumeration_bitfield): fix typo - on 'members' variable. - -2008-10-11 Colin Walters - - Bug 555947 - update annotations syntax - - * giscanner/ast.py: Default to None for transfer. Remove - default transfers for container types; we require this to - be specified now. - * giscanner/girwriter.py: Transfer is now 'none', 'container', - 'full' to match repository. - * giscanner/scannerlexer.l: Annotations now are parenthesized. - * giscanner/transformer.py: Update for new annotations syntax. - * tests/*: Update. - -2008-10-11 Johan Bilien - - * giscanner/scannerparser.y: ignore non-UTF-8 string constants - -2008-10-11 Johan Bilien - - Bug 552347: Parse #defines constants - - * girepository/gtypelib.c: update the list of value_size - with recently defined type tags - * giscanner/scannerparser.y: brought back parsing of #defined, as - present in older version - * giscanner/giscannermodule.c: bind gi_source_scanner_append_filename - * giscanner/girwriter.py: write out constant tags in the gir - * giscanner/sourcescanner.py: add accessor for const_string - * giscanner/transformer.py, giscanner/glibtransformer.py: handle - constant - -2008-10-11 Tommi Komulainen - - Bug 555946: Install a test module exercising all types, transfer - rules, etc. - - * configure.ac - * tests/Makefile.am - * tests/types/*: Add and install a test module that has functions - accepting and returning most of the basic types to enable bindings - implementors to more easily test their type conversion routines. - -2008-10-11 Jürg Billeter - - Bug 552374: Const strings should be identified in the gir. - - * giscanner/transformer.py: support string memory management - * tests/scanner/foo.h: use char * and const char * - * tests/scanner/foo-expected.gir: test that - -2008-10-11 Johan Dahlin - - * giscanner/girparser.py: - Also parse enums which are not glib types. - -2008-10-11 Lucas Rocha - - Bug 552370: add one more test for unsigned as a type, not as - a type qualifier. - - * giscanner/ast.py: add 'uint' type name for 'unsigned'. - * test/scanner/foo.h: add function which uses unsigned as a type. - * test/scanner/foo-expected.gir: test that. - -2008-10-11 Andreas Rottmann - - Bug 555712: Struct and union issues - - * giscanner/scannerparser.y (struct_declarator): Use information - provided about the bit width of a field. - * giscanner/transformer.py (Transformer._create_member): Pass the - symbol's const_int member to the created field (it represents the - bit width). - * giscanner/girwriter.py (GIRWriter._write_field): Output 'bits' - field attribute, if present. - * giscanner/ast.py (Field): Add 'bits' member, specifying the - width in bits of the field (only relevant for bitfields). - * tests/*: Updated. - - * giscanner/transformer.py (Transformer._create_typedef_struct) - (Transformer._create_typedef_union): Add calls to _create_struct() - and _create_union(), respectively. This causes the scanner to - generate output for fields of struct and union typedefs. - * tests/*: Updated. - -2008-10-11 Jürg Billeter - - Bug 552370: unsigned not scanned properly - - * giscanner/scannerparser.y: combine basic types such as unsigned - int and long long when scanning - * tests/scanner/foo-expected.gir: - * tests/scanner/foo.c: (foo_test_unsigned): - * tests/scanner/foo.h: test that - -2008-10-11 Lucas Rocha - - Bug 554854: The --typelib-xml and --inject options should reuse - giscanner parser/writer. - - * giscanner/ast.py: add constructor list to Struct and Union. - Add new param in Return's contructor to define transfer. - * giscanner/girparser.py: several additions to the parser in order - to have parsing all nodes of the gir xml files. - * tools/g-ir-scanner (typelib_xml_strip, inject): use gir parser - and writer in --inject and --typelib-xml options. - * giscanner/xmlwriter.py: ignore empty attributes instead of - raising an error as this basically exposes a bug in GIRParser. - This should be reverted as soon as the parser is fixed. - -2008-10-11 Lucas Rocha - - Bug 552376: scanner generates wrong names for enum members when - there's no defined gtype. - - * giscanner/utils.py (strip_common_prefix): Always strip common - prefix exactly up to the last "_", and not beyond. - * tests/scanner/foo.h (FooEnumNoType): add FOO_ENUM_NEUF. The point - here is that the first character after the last '_' should should be - the same as the character in the same position on the type name. - * tests/scanner/foo-expected.gir: test that - -2008-10-10 Lucas Rocha - - Bug 555293: append library_paths to LPATH env variable to work - around a bug in find_library when using ldconfig. - - * tools/g-ir-scanner (main): ditto. - -2008-10-09 Lucas Rocha - - * girepository/girepository.c (register_internal): fix regression on - invoke test case by making sure we load the global module in the - typelib when dealing with inline typelibs. - * girepository/gtypelib.c: a couple of coding style fixes. - -2008-10-06 Lucas Rocha - - Bug 555294: Add support for multiple shared libraries per typelib. - - * girepository/ginvoke.c (g_function_info_invoke), - girepository/ginfo.c(g_registered_type_info_get_g_type): use - g_typelib_symbol instead of g_module_symbol. - * girepository/girepository.h: remove g_typelib_set_module and add - g_typelib_symbol. - * girepository/gtypelib.[ch] (find_some_symbol, _g_typelib_init, - g_typelib_new_from_memory, g_typelib_new_from_const_memory, - g_typelib_free, g_typelib_symbol): chnage GTypeLib to hold a list of - modules instead of just one. The symbol lookup is now abstracted - behind g_typelib_symbol which tries to find the passed symbol name in - one of its modules. - * giscanner/girwriter.py, tools/g-ir-scanner: change scanner to read - and write shared_library attribute as a comma-separated list of libs. - -2008-10-06 Colin Walters - - * giscanner/transformer.py: Parse length= annotation as - a parameter name, not a raw int. - * tests/*: Update. - -2008-10-03 Colin Walters - - Bug 551744: Non-GObject types aren't aggregating ctors and methods - - * girepository/gtypelib.c: Allow ctors/methods on struct,union, - and boxed. - * giscanner/glibtransformer.py: Ditto, and GLibBoxed is also a - registered type. - * tests/*: Extend. - -2008-10-03 Colin Walters - - Bug 554576: scan problem with ev_selection_render_selection() - - * giscanner/transformer.py: Only do type resolution once we've - scanned all types. What could happen before is that we'd strip - the namespace from local type "EvSelection" => Selection, and - then later pull a "Selection" from some other namespace because - we hadn't yet seen the local EvSelection. This could come - down to hash table ordering and other things so not easy - to write a test for. - -2008-10-03 Lucas Rocha - - * giscanner/girwriter.py (_parser_member): fix the last parameter of - GLibEnumMember constructor as it should be the enum member nick. - -2008-10-02 Colin Walters - - Bug 552961: remove this parameter for methods - - * giscanner/glibtransformer.py: Delete this parameter; it is - redundant. - * girepository/ginvoke.c: Insert this parameter for methods. - * girepository/gtypelib.c: Remove no longer needed verification of - method this parameter. - * tests/*: Update. - -2008-09-30 Dan Winship - - Bug 554490: g-ir-scanner gets confused by '\\' - - * giscanner/scannerlexer.l (chartext, stringtext): fix use of - backslashes so it will correctly parse '\\' and "\\" - - * tests/scanner/annotation.c: add a use of '\\' to make sure that - this stays fixed - - * giscanner/glibtransformer.py (GLibTransformer.count_type): typo - -2008-10-02 Colin Walters - - bug 552393: Note variadic functions - - * giscanner/scannerparser.y: Parse ellipsis. Refactor grammar - to use parameter_list directly. - * giscanner/sourcescanner.h: Add ellipsis csymbol type. - * giscanner/ast.py: Add Varargs type. - * giscanner/transformer.py: Check for ellipsis symbol, transform - to varargs type. - * girepository/girnode.h: Add varargs flag to in-memory nodes. - Parse varargs functions, but filter them out before we start - compiling the typelib. - -2008-10-02 Colin Walters - - Bug 554632: type tag for GType - - * girepository/girepository.h, girepository/girepository.c: - Add type tag for GType - it's a special type we don't want - to resolve to just "long". - * docs/typelib-format.txt: Update. - * girepository/girparser.c: Parse it. - * giscanner/glibtransformer.py: Ensure we don't put GType in - the GObject.gir. - * tools/generate.c: Remove hardcoded type list. - * test/* update. - -2008-09-30 Dan Winship - - Bug 554521: scanner generates wrong names for enum members with - full type name prefix - - * giscanner/utils.py (strip_common_prefix): Fix this to strip the - right amount when the entire "first" string is a prefix of - "second" - - * tests/scanner/foo.h (FooEnumFullname): - * tests/scanner/foo-expected.gir: test that - -2008-09-29 Colin Walters - - Bug 552380: Array parameters should be marked in the gir - - * giscanner/ast.py: Default char** to utf8[], and guchar* to - uint8[]. Add Array, List, and Map subclasses of Type; - these types can be generic. Return transfer defaults - to true if return value is string or container type. - Delete Sequence type. - * giscanner/scannerlexer.l: Syntax change for annotations; - use <> since it's more readable. - * giscanner/girwriter.py: Write out these changes. - * giscanner/girparser.py: Parse them. - * giscanner/transformer.py: Have a defined set of - both list and map types. When creating a type, - check if the ctype we've parsed is one of them, - if so create a container type subclass as appropriate. - * girepository/girparser.c: Parse in generic types. - * tests/*: Update. - -2008-09-27 Colin Walters - - * tools/g-ir-scanner: Add --inject option. - -2008-09-25 Colin Walters - - Remove non-repository types from GIR - - * giscanner/ast.py: The canonical name is 'utf8', not - 'string'. - * giscanner/glibast.py: A few more glib type mappings. - * girepository/girparser.c: We only parse repository types. - * tests/*.gir: Update. - -2008-09-23 Colin Walters - - Bug 552566: Add time_t type - - We need a type for time_t since it's special in C, and just - mapping it to long precluded bindings from handling it - in a nice way. - -2008-09-19 Colin Walters - - Bug 552390: Handle capitialization like "DBus" more robustly - - The to_underscores function was designed for use against prefixed - names; we need a separate function which will convert names like - DBusFoo into dbus_foo, not d_bus_foo. - -2008-09-19 Colin Walters - - Add check to make sure we're not hitting out unresolved types - - Validate the "this" argument for methods - - Remove heuristic matching of methods to classes based on prefix - - It was a broken hack that dated from when we handled underscoring - and capitalization conventions less well. - -2008-09-18 Colin Walters - - Bug 552384: Use SHLIB_SUFFIX intead of G_MODULE_SUFFIX for Darwin - - On Darwin, the suffix for installed shared libraries (.dylib) is - different from loadable modules (.so). We use a bit of magic shell - script from Behdad Esfahbod to figure out the right suffix. - -2008-09-15 Johan Dahlin - - * giscanner/sourcescanner.py (SourceType.type_qualifier): Add - a wrapper for type_qualifier as well. - -2008-09-15 Colin Walters - - http://bugzilla.gnome.org/show_bug.cgi?id=552065 - - * giscanner/ast.py: Add deprecation attributes. - * giscanner/girwriter.py: Write out deprecation data. - * girepository/girparser.c: Relax parsing; deprecated - attribute now includes freeform string. - * giscanner/scannerlexer.l: Parse Deprecated. - * giscanner/transformer.py: Look for deprecated attribute - on functions. - * tests/scanner/*: Add a Deprecated test. - -2008-09-14 Tor Lillqvist - - * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT). - -2008-09-14 Colin Walters - - * giscanner/glibtransformer.py: Ignore functions with - leading _. - -2008-09-12 Colin Walters - - * giscanner/glibtransformer.py: Accept Gtk.Type as GType. - -2008-09-12 Colin Walters - - * giscanner/ast.py: Bind pid_t to INT for vte. - -2008-09-12 Colin Walters - - * giscanner/girparser.py: Parse c:type for boxed records/unions. - * giscanner/glibast.py: Avoid overwriting ctype. - * giscsanner/transformer.py: Try resolving types using the GType names. - -2008-09-12 Colin Walters - - * giscanner/minixpath.py: Code to run an "XPath" - assertion against an XML tree, taken from - gir-repository/gir/tests.py. - * giscanner/Makefile.am: Ship it. - * tools/g-ir-scanner: Add --xpath-assertions option. - * gir/GLib-assertions.txt: Add a few assertions. - * gir/Makefile.am: Run them. - -2008-09-11 Colin Walters - - http://bugzilla.gnome.org/show_bug.cgi?id=551737 - - * giscanner/transformer.py: Fix strip_namespace_func to only strip - prefix if it ends with _. Tweak callback stripping to determine - based on presence of _ whether we need to use strip_namespace_func - or strip_namespace_object. - -2008-09-09 Owen Taylor - - * docs/typelib-format.txt: Wether => Whether - -2008-09-08 Colin Walters - - * girepository/girparser.c: Default to "readable" for properties. - * giscanner/ast.py: Add readable, writable etc. - * giscanner/girwriter.py: Writ them. - * giscanner/glibtransformer.py: Inspect them. - * tests/*: Update. - -2008-09-07 Colin Walters - - * giscanner/cgobject.py: Add comment. - -2008-09-07 Colin Walters - - * giscanner/cgobject.py: Also call g_thread_init. - -2008-09-07 Colin Walters - - * giscanner/transformer.py: Fix regression by not - stripping prefix before stripping namespace for unions - either. - -2008-09-06 Colin Walters - - * giscanner/transformer.py: If a namespace contains - multiple caps, try stripping both gnomekeyring_ and - gnome_keyring_. - -2008-09-07 Johan Dahlin - - Bug 551162 – giscanner does not recognize asm and __asm__ - * giscanner/scannerlexer.l: - Patch by Jani Monoses. - -2008-09-06 Colin Walters - - * girepository/girnode.c: Allow gtype_name - and gtype_init in struct and union. - * girepository/girparser.c: Parse glib: - boxed bits for both structure and union. - * girepository/gtypelib.c: Don't barf - if structure is boxed. - * giscanner/girparser.py: Parse new XML - format. - * giscanner/girwriter.py: Write out new - XML format. - * giscanner/glibast.py: Define new classes - which are both Boxed and Struct/Union, as - well as an "Other" for everything else. - * giscanner/glibtransformer.py: Handle - boxed types specially; we try to merge - them with a struct/union if one exists, - otherwise fall back to generic boxed. - * tests/*: Update. - * tools/generate.c: Write out new format. - -2008-09-06 Johan Dahlin - - * giscanner/grealpath.h: Include stdlib.h - - * docs/g-ir-generate.1: Remove leading % - -2008-09-01 Colin Walters - - * girepository/girparser.c: Look at c:type to determine - whether or not an item is a pointer. - -2008-09-01 Johan Dahlin - - * tests/scanner/Makefile.am: - Set PYTHONPATH so the scanner can run - even if you didn't install anything. - -2008-09-01 Johan Dahlin - - * configure.ac: - Post-release version bump - -=== 0.5.0 === -2008-09-01 Johan Dahlin - - * NEWS: Update - -2008-08-31 Colin Walters - - * giscanner/glibtransformer.py: Quiet info - prints for now. - -2008-08-31 Johan Dahlin - - * configure.ac: - Bump version to 0.5.0 - -2008-08-31 Colin Walters - - * giscanner/glibtransformer.py: Follow aliases to ensure - we don't get a constructor returning a basic type. - * giscanner/transformer.py: Add function to follow aliases. - * tests/ Update. - -2008-08-31 Johan Dahlin - - * giscanner/scannerlexer.l: - * giscanner/scannerparser.y: - * giscanner/sourcescanner.h: - * giscanner/sourcescanner.py: - Parse GCC extensions in the parser instead of just undeffing them - in the pre-processor. - -2008-08-31 Johan Dahlin - - * giscanner/glibtransformer.py: - Clean up a huge if. Do not add methods or constructors - to enums/flags. - * giscanner/utils.py: - second might be longer than first, check that. - -2008-08-31 Johan Dahlin - - * gir/Makefile.am: - Add a GModule.gir - -2008-08-31 Colin Walters - - * girepository/girparser.c: Don't lose if we - have no includedirs - -2008-08-31 Colin Walters - - * giscanner/glibtransformer.py: Look for libtool - library in current directory - * tests/scanner - Update. - -2008-08-30 Colin Walters - - * docs/typelib-format.txt: Add a guint32 - for dependencies. - * gir/Makefile.am: Dep on Makefile - * girepository/ginfo.c: - * girepository/girepository.c: Clean up - default typelib handling; remove global - default_typelib variable. Ensure we handle - NULL repository in more places. - Support dependency resolution. - Support lazy loading. - * girepository/girepository.h: Remove - g_irepository_unregister; we don't support - unloading typelibs since really they're - process-global. Update for lazy loading - API. - * girepository/girmodule.c: Use g_new0. - Add dependencies to GirModule. - * girepository/girparser.c: Parse dependencies. - * girepository/gtypelib.c: Add 4 bytes for - dependencies. - * tests/Makefile.am: Kill off gobject.gir, - it conflicts with the real one. - * tests/object.gir: Dep on GObject. - * tools/generate.c: Take --includedir - argument to say which directories to search - for typelibs. Print out dependencies. - -2008-08-30 Colin Walters - - * giscanner/glibtransformer.py: Reduce warning noise. - -2008-08-29 Colin Walters - - * girepository/ginfo.c: Add some assertions regarding - refcounts, just to be sure. - * giscanner/glibtransformer.py: Blacklist a few more - odd Gio methods. - -2008-08-29 Colin Walters - - * giscanner/glibtransformer.py: Blacklist a few - functions that use GError oddly - -2008-08-29 Colin Walters - - * girepository/gtypelib.c: Don't crash if no - shlib is embedded - -2008-08-29 Colin Walters - - * girepository/girparser.c: Handle chains of aliases - across modules by ensuring we fully qualify aliases - from includes. - -2008-08-29 Colin Walters - - * girepository/girparser.c: Don't search aliases - for basic types. - -2008-08-29 Colin Walters - - * girepository/girparser.c: Rewrite type parsing - to handle both GLib parsing case as well as correctly - handling GLib.List and friends. Don't try to treat - e.g. ListStore as a List. - -2008-08-29 Colin Walters - - * girepository/gtypelib.c: Add more context - during validate. - -2008-08-29 Colin Walters - - * giscanner/glibtransformer.py: Add some informative - logging messages in corner cases. Be sure we use - the most recent node set instead of a cache - when generating result set. - * tests/: Remove duplicated bits in expected girs - * girepository/girparser.c: Accept both List (for - compiling GLib) and GLib.List (what the scanner - generates). - * tests/ - Update. - * tools/generate.c: Generate canonical form. - -2008-08-29 Johan Dahlin - - * giscanner/config.py.in: - Use datarootdir instead of datadir to avoid - an autoconf warning. - -2008-08-29 Johan Dahlin - - * README: - * TODO: - * examples/gdk-pixbuf.gidl: - * libffi.pc.in: - Update and remove old cruft. - -2008-08-29 Johan Dahlin - - * Makefile.am: - * docs/g-ir-compiler.1: - * docs/g-ir-generate.1: - * docs/g-ir-scanner.1: - Add man pages for the generator and compiler. - -2008-08-29 Johan Dahlin - - * docs/g-ir-scanner.1: Document - - * giscanner/Makefile.am: - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * tools/g-ir-scanner: - Remove gidl support. - -2008-08-28 Colin Walters - - * tests/scanner/Makefile.am: Pass the right - --includedir args. Add a Makefile dep. - * tools/compiler.c: Pass includedirs down. - * girepository/girparser.c: Actually put - includedirs in context, pass down. Fix - locate_gir. - -2008-08-28 Colin Walters - - * gir/Makefile.am: Use --includedir - * girepository/girparser.c: Recursively parse - includes to pull in aliases and expand them. - We need this to avoid putting unknown names in - the typelibs. - * tools/compiler.c: Add --includedir option. - * giscanner/ast.py: Map size/ssize to types - too. - -2008-08-28 Tor Lillqvist - - Make check now runs successfully on Windows. - - * tools/compiler.c (write_out_typelib): Use binary mode for output - file on Windows. - - * girepository/girnode.c: Don't print NULL strings. - - * tests/invoke/Makefile.am - * tests/scanner/Makefile.am: Use -no-undefined on Windows to - convince libtool to build shared libraries. - - * tests/invoke/invoke.c: Don't needlessly include . Use - g_assert() instead of printing out expected errors. - -2008-08-28 Tor Lillqvist - - * girepository/gtypelib.h: Change type of bitfield fields from - guint to the most suitable smaller type. This makes the struct - sizes match the ones on Linux that the sanity check expects when - using gcc -mms-bitfields on Windows. - -2008-08-28 Johan Dahlin - - * Makefile.am: - * configure.ac: - * gir/Makefile.am: - * giscanner/Makefile.am: - * tests/Makefile.am: - * tests/scanner/Makefile.am: - Make distcheck pass. - -2008-08-27 Johan Dahlin - - * giscanner/Makefile.am: - Only send in -no-undefined on Win32 as it breaks on MacOS X. - -2008-08-27 Tor Lillqvist - - Make g-ir-scanner work on Windows. Still problems with the typelib - code. Changes okayed by jdahlin. - - * configure.ac: Check for Windows, set Automake conditional - OS_WIN32. Change backslashes to forward slashes in pyexecdir to - avoid shell quoting issues - - * girepository/Makefile.am: Use -no-undefined so that libtool - agrees to build a shared library on Windows. - - * girepository/girparser.c (backtrace_stderr): No backtrace() on - Windows. Empty implementation on Windows so far. - - * girepository/gtypelib.c (g_typelib_check_sanity): Give more - informative error message for the assertion failures. Tell also - what the expected size of the struct is. Check all sizes first and - fail afterwards if at least one size was different from expected. - - * tools/Makefile.am: Reorder libraries into proper logical - dependency order. - - * tools/generate.c: Don't include , not used. - - * giscanner/Makefile.am: On Windows, link with the Python library, - and install the module DLL as _giscanner.pyd. Remove the - unnecessary import library and libtool library that libtool has - installed. - - * giscanner/scannerlexer.l: Recognize the gcc __attribute__ syntax - and just skip it. Recognize also two "l" suffixes for long long - constants. Recognize also __inline__. - - * giscanner/grealpath.h (g_realpath): Implement on Windows, using - GetFullPathName(). As such, GetFullPathName() does more than the - UNIX realpath(). It also changes relative paths into absolute - paths. But for our purposes that shouldn't matter. - - * giscanner/giscannermodule.c (pygi_source_scanner_parse_file): On - Windows the file descriptor passed to us is from Python. Python - Python2.5 uses the msvcr71.dll C library, while mingw-built code - uses msvcrt.dll. On Windows, file descriptors are specific to - which C library is used. So we must find out what underlying OS - handle corresponds to the file descriptor Python passes us, and - then make that into a file descriptor valid for the C library this - code uses. - - * giscanner/sourcescanner.py (_parse): Don't need to bypass - __attribute__ as the lexer now handles it. The definition as empty - was ineffective for mingw anyway, as mingw's _mingw.h undefines - __attribute__. Close the temp file before unlinking it. - - * giscanner/cgobject.py: Use correct library name for the gobject - DLL on Windows. - - * gir/Makefile.am: Must pass the full basename of the DLLs on - Windows to g-ir-scanner. It's a bit ugly that we have to "know" - that the names of the GLib DLLs are like libglib-2.0-0.dll, but in - reality they won't change, until there is a GLib 3, and then also - the Unix code here needs changing. - - Must pass CPPFLAGS to g-ir-scanner when building GLib.gir so that - libintl.h is found. - -2008-08-26 Colin Walters - - * girepository/girepository.c: Search - $DATADIR/girepository instead of - $DATADIR/gitypelibs; this naming makes - it clearer that e.g. jgir can install - .jars there. - * gir/Makefile.am: Install there. - -2008-08-26 Colin Walters - - * girepository/gtypelib.c (_g_typelib_init): Also - use G_MODULE_SUFFIX instead of hardcoding .so. - -2008-08-26 Colin Walters - - * girepository/gtypelib.c (_g_typelib_init): Free - string in the right place. - -2008-08-26 Colin Walters - - * girepository/gtypelib.c (_g_typelib_init): Handle - both .la and .so names; this works better in the - uninstalled library case. - -2008-08-26 Johan Dahlin - - * gir/Makefile.am: - * giscanner/Makefile.am: - * giscanner/cgobject.py: - * giscanner/config.py.in: - * giscanner/sourcescanner.py: - Avoid undeffing __GNUC__, instead define - __attribute__ & friends. Remove glibconfig.h hack. - This makes gobject-introspection work better on - MacOS X, Thanks to Richard Hult for kind help. - -2008-08-25 Colin Walters - - * giscanner/glibtransformer.py: Always print - statistics. - -2008-08-25 Colin Walters - - * giscanner/glibtransformer.py: Skip over - interfaces we don't know. - -2008-08-25 Colin Walters - - * girepository/girparser.c: Parse new implements - syntax, drop gapi one. - * tests/object.gir: Update. - * tools/generate.c: Generate new syntax. - -2008-08-25 Colin Walters - - * giscanner/ast.py: Add interfaces property - to class. - * giscanner/girwriter.py: Write out implemented - interfaces. - * giscanner/glibtransformer.py: Introspect - implemented interfaces. - * tests/scanner/*: Make FooObject implement - FooInterface. - -2008-08-25 Colin Walters - - * giscanner/glibtransformer.py: More correctly pair - methods; if we have a symbol that starts with - e.g. hippo_canvas look for a matching HippoCanvas - class before accepting e.g. HippoCanvasImage. - -2008-08-24 Colin Walters - - * tools/g-ir-scanner: Filter out unknown options from - pkg-config files. - -2008-08-24 Colin Walters - - * giscanner/glibtransformer.py: Fail with better - error if we can't find library. - -2008-08-24 Colin Walters - - * tools/g-ir-scanner: Use subprocess instead of - commands, works on Windows and avoids the evil - shell on Unix. - -2008-08-24 Colin Walters - - * giscanner/glibtransformer.py: Skip over - g_object_get_type from GLib trunk. - -2008-08-24 Colin Walters - - * girepository/girepository.c (g_irepository_require): - Don't open shared library here; we already do it - in gtypelib.c. - -2008-08-24 Colin Walters - - * girepository/gtypelib.c: Add context stack so - when we get an error we can print out nicely - where it is. - -2008-08-24 Johan Dahlin - - * girepository/girparser.c (start_glib_boxed), (start_function), - (start_field), (start_alias): - Refactor a couple of parsing functions to be simpler to follow. - Avoid huge ifs. - -2008-08-24 Johan Dahlin - - * girepository/girparser.c (start_function): - Remove left-over code, checking type of function. - -2008-08-23 Colin Walters - - * giscanner/config.py: Define DATADIR. - * giscanner/transformer.py: Look in DATADIR. - -2008-08-23 Colin Walters - - * girepository/gtypelib.c: Check constructor - returns. - * girepository/girnode.c: Small tweaks. - * girepository/ginfo.c: Calculate signature offsets - more robustly. - * girepository/girparser.c: Remove duplicate - start_boxed. - * giscanner/glibtransformer.py: Avoid marking - functions which return a basic type as - constructors. - -2008-08-23 Colin Walters - - * girepository/girparser.c: Ignore . - * giscanner/girparser.py: Parse them. - * giscanner/girwriter.py: Generate them. - * giscanner/transformer.py: Process - recursively. Don't require full path for - includes, look in {$XDG_DATA_DIRS}/gir. - * tools/g-ir-scanner: Pass through includes. - * Makefile.am: Remove extra --include - args for scanner. - * *-expected.gir: Add expected includes. - -2008-08-23 Johan Dahlin - - * tests/scanner/Makefile.am: - * tests/scanner/annotation-expected.gir: - * tests/scanner/drawable-expected.gir: - Avoid duplication in the Makefile, regenerate with new - namespaces (same as the filename) - -2008-08-22 Colin Walters - - * girepository/girnode.c: Don't hardcode integers, - use GITypeTag. - -2008-08-22 Johan Dahlin - - * giscanner/sourcescanner.py: - Check for ../gobject-introspection-1.0.pc.in to determine - if we run installed or uninstalled. - -2008-08-22 Johan Dahlin - - * gir/Makefile.am: - * giscanner/sourcescanner.py: - Send in undefs/defines via writing it directly to stdin - of cpp instead of via arguments. - -2008-08-22 Colin Walters - - * tools/generate.c, tools/compiler.c: Default - to --raw. - * all Makefile.am: Update. - -2008-08-22 Colin Walters - - * girepository/girparser.c: Pass through - recursive types. Avoid overwriting errors. - * giscanner/xmlwriter.py: Always write the - XML header. - * tests/*.gir: Adjust. - * tests/scanner/Makefile.am: Build typelibs, - and generate XML from those. Once we - have a good diff mechanism... - * tests/scanner/*-expected.gir: Add XML - header. - * tools/g-ir-scanner: Accept --typelib-xml - option. - * tools/generate.c: Better defaults for transfer. - -2008-08-22 Johan Dahlin - - * configure.ac: - * gir/Makefile.am: - * giscanner/Makefile.am: - * giscanner/config.py.in: - * giscanner/sourcescanner.py: - Use the generated glibconfig.h for all scanner invokations. - Rename it to glibconfig-scanner.h and install it. - Add a config.py which so far contains the include dir. - -2008-08-22 Johan Dahlin - - * gir/Makefile.am: - Replace glibconfig.h with our own, do some replacement - for CPP/C features we do not support - -2008-08-22 Colin Walters - - * tools/generate.c (write_callable_info): Fix unref - sequence. - -2008-08-22 Colin Walters - - * gobject-introspection-1.0.pc.in: Add g-ir-generate. - * tests/Makefile.am: Support $(DEBUG) - * tools/generate.c: Do immediate close tags if no - sub-elements. - -2008-08-21 Colin Walters - - * tests/scanner/drawable-expected.gir, - * tests/scanner/drawable.c, - * tests/scanner/drawable.h: - Add a method. - -2008-08-21 Colin Walters - - * giscanner/glibtransformer.py: Compute prefix - by searching through the symbol for bits - rather than going directly from ctype; this fixes - webkit_ namespace. - -2008-08-21 Colin Walters - - * giscanner/glibtransformer.py: Also try squashing - underscores from namespace, fixes webkit_web_view_new. - -2008-08-21 Colin Walters - - * giscanner/glibtransformer.py: More ctor work, - avoid having gtk_window_group_new end up under - GtkWindow. - -2008-08-21 Colin Walters - - * giscanner/glibtransformer.py: Much simpler approach - of mapping uscored names to classes. - * giscanner/utils.py: Remove unnecessary function. - -2008-08-21 Johan Dahlin - - * girepository/girepository.c (g_irepository_require): - Plug memory leak and avoid using freed memory. - Resolve the whole module path, here as well. - -2008-08-21 Colin Walters - - * giscanner/glibtransformer.py: Look up all permutations - of class names when scanning methods/ctors based on - the prefix instead of using the return value. This - associates gtk_window_new with the right class. - -2008-08-21 Colin Walters - - * girepository/girmodule.c (g_ir_module_build_typelib): - Revert change to increment header_size; we do that in - write_string. - -2008-08-21 Colin Walters - - * girepository/girnode.c (write_string): Tweak to - use UINT instead of INT. Not likely to matter. - * girepository/girmodule.c (g_ir_module_build_typelib): - Add to header_offset as well for header strings - to match what write_string does. - * girepository/gtypelib.c: Replace is_name with - validate_name, which more strongly validates and - handles errors in a better way. Update all callers. - * giscanner/glibtransformer.py: Handle constructors - better. - -2008-08-21 Johan Dahlin - - * gir/Makefile.am (typelibs_DATA): Build and - install the Gio.typelib too - - * girepository/gtypelib.c (_g_typelib_init): - Use g_module_build_path to resolve the shlib name - -2008-08-21 Colin Walters - - * gir/Makefile.am: CLEANFILES typelibs too. - -2008-08-21 Johan Dahlin - - * giscanner/glibtransformer.py: - Do not send .la files through find_library. - -2008-08-21 Colin Walters - - * girepository/girparser.c (g_irepository_require): - Fix one small leak in error case. - -2008-08-21 Johan Dahlin - - * gir/Makefile.am: - Parse glibconfig.h as well and install the compiled - typelib - -2008-08-21 Johan Dahlin - - * gir/Makefile.am: - * giscanner/glibtransformer.py: - * tools/g-ir-scanner: - Do not hard-core library names in the Makefile, reuse - ctypes find_library instead. - -2008-08-21 Johan Dahlin - - * girepository/girparser.c (resolve_aliases): - Remove compilation warnings - -2008-08-21 Johan Dahlin - - * girepository/girepository.c (g_irepository_require): - Rewrap and fix double free bug by leaking a bit. - -2008-08-20 Colin Walters - - * girepository/girepository.c: Add new function - g_irepository_get_typelib_path which tells - us from where we loaded a namespace. - -2008-08-20 Colin Walters - - * tests/scanner/*-expected.gir: Adjust for - added shared-library. - * giscanner/giwriter.py: Make pylint happy. - -2008-08-20 Colin Walters - - * girepository/girmodule.c (g_ir_module_build_typelib): - Calculate size correctly, avoid use-after-free. - -2008-08-20 Colin Walters - - * girepository/girepository.c: Remove - g_irepository_register_file in favor of - g_irepository_require. There are two - possible deployment scenarios for typelibs: - First, separate in $DATADIR/gitypelibs/. Second, - they may be embedded in shlibs. However since - the first is now the normal case, the API is - optimized around it. - - Refactor internals to look up typelibs for - namespaces just-in-time, but we expect - consumers to call g_irepository_require. - - Also, add some docs. No one has died from that - before. - * gir/Makefile.am: Need --library for glib. - * giscanner/girwriter.py: Write out shared-library. - * tools/g-ir-writer: Take the first --library - argument as the target of shared-library. In - the future we should make this nicer with pkg-config - probably. - -2008-08-20 Colin Walters - - * girepository/girparser.py: And parse them. - -2008-08-20 Johan Dahlin - - * giscanner/glibast.py: Add gshort/gushort types - -2008-08-20 Colin Walters - - * gir/Makefile.am: Rename .gir files using GI namespace. - * girepository/girepository.c: Use XDG_DATA_DIRS for - looking up typelibs. Also typelibs are now suffixed - with .typelib. - * tests/invoke/Makefile.am: Only use metadata. - * girepository/Makefile.am: Remove unnecessary include. - * tests/scanner/Makefile.am: Update using GI namespaces - for scanner includes. - -2008-08-20 Colin Walters - - * girepository/transformer.py: Suppress aliases whose - name is a builtin. - * girepository/ast.py: Define some more aliases. - -2008-08-20 Colin Walters - - * girepository/girparser.c: Avoid alias infloops. - -2008-08-20 Colin Walters - - * tests/scanner/foo-expected.gir: Fix expected list type. - -2008-08-20 Johan Dahlin - - * giscanner/glibtransformer.py (GLibTransformer._resolve_type_name): - Add a workaround for #548689. - We can now compile gtk! - -2008-08-20 Colin Walters - - * giscanner/glibtransformer.py: Try to look up - aliases using the c:type too. - -2008-08-20 Colin Walters - - * girepository/girparser.c: Parse union fields. - -2008-08-20 Johan Dahlin - - * giscanner/ast.py: Make time_t an alias for long - - * gir/gio-2.0-good.gir: - * gir/glib-2.0-good.gir: - * gir/gobject-2.0-good.gir: - Regnerate - * giscanner/glibtransformer.py: - Do not delete Class structures, we need them in gdk/gtk. - * tests/scanner/drawable-expected.gir: - * tests/scanner/foo-expected.gir: - * tests/scanner/utility-expected.gir: - Update tests. - -2008-08-20 Johan Dahlin - - * tests/scanner/Makefile.am: - * tests/scanner/annotation-expected.gir: - * tests/scanner/annotation.c (annotation_object_class_init), - (annotation_object_init), (annotation_object_method), - (annotation_object_in), (annotation_object_out), - (annotation_object_inout), (annotation_object_inout2), - (annotation_object_inout3), (annotation_object_calleeowns), - (annotation_object_calleesowns), (annotation_object_get_strings), - (annotation_object_with_voidp), (annotation_object_get_objects), - (annotation_object_create_object), (annotation_object_allow_none): - * tests/scanner/annotation.h: - * tests/scanner/foo-expected.gir: - * tests/scanner/foo.c: - * tests/scanner/foo.h: - Split out annotation tests out of foo - -2008-08-20 Johan Dahlin - - * tests/scanner/Foo-expected.gir: - * tests/scanner/Makefile.am: - * tests/scanner/foo-expected.gir: - * tests/scanner/foo-object.h: - * tests/scanner/foo.c: - Foo->foo, foo-object.h -> foo.h - -2008-08-20 Johan Dahlin - - * tests/scanner/Foo-expected.gir: - * tests/scanner/Makefile.am: - * tests/scanner/drawable-expected.gir: - * tests/scanner/drawable.c (test_drawable_class_init), - (test_drawable_init): - * tests/scanner/drawable.h: - * tests/scanner/foo-object.h: - * tests/scanner/foo.c (foo_boxed_method): - Move the drawable parts out of Foo to its own test. - -2008-08-20 Johan Dahlin - - * tests/scanner/Foo-expected.gir: - * tests/scanner/foo-object.h: - * tests/scanner/foo.c (foo_drawable_class_init), - (foo_drawable_init): - Add a based on GdkDrawable which generates - a broken gir. - -2008-08-19 Colin Walters - - * giscanner/transformer.py: Don't try - to strip prefix before namespace. - -2008-08-19 Johan Dahlin - - * giscanner/transformer.py: - * tests/scanner/Foo-expected.gir: - * tests/scanner/foo-object.h: - Add support for typedef void foo type of - aliases. - -2008-08-19 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * tests/scanner/Foo-expected.gir: - Add basic support for union, base the code much - on Struct. Add a testcase. - -2008-08-19 Johan Dahlin - - * tests/scanner/Foo-expected.gir: - * tests/scanner/foo-object.h: - Add a union testcase which the compiler currently - barfs at. - -2008-08-19 Johan Dahlin - - * gobject-introspection-1.0.pc.in: - Add a g_ir_compiler variable - -2008-08-19 Colin Walters - - * giscanner/ast.py: Rework types to be more closely - based on GITypeTag. - * giscanner/girparser.py: Parse more bits. - * giscanner/girwriter.py: Write sequences in a new - way that specifies container type. - * giscanner/glibast.py: Adjust for ast.py changes, - add 'ctype' property to GLibObject and GLibInterface - so we can look things up by it later. - * gicanner/transformer.py: Names is new class holding - the various namespaces we manage. Do not confuse - with Namespace which is toplevel XML node effectively. - Rework all type resolution to go through - _resolve_type_name_1. - * giscanner/glibtransformer.py: Raise UnknownTypeError - instead of ValueError for cleanliness. Add Unresolved - class to mark types whose parent we haven't seen yet. - Use new Names object from transformer.py. - Correctly look up parent=. - Fix type validation to handle sequences. - * tests/scanner/Foo-expected.gir: Update for sequence - work, int instead of int32. - * tools/g-ir-scanner: Add --noclosure option - * gir/Makefile.am: Use --noclosure by default for - GLib/GObject. - -2008-08-18 Johan Dahlin - - * gir/gio-2.0-good.gir: - * gir/glib-2.0-good.gir: - * gir/gobject-2.0-good.gir: - Regenerate. - -2008-08-18 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girparser.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * tests/scanner/Foo-expected.gir: - * tests/scanner/foo-object.h: - * tests/scanner/utility-expected.gir: - * tests/scanner/utility.h: - Redo type resolving and validation. - Add a couple of new tests. - Patch mostly written by Colin. - -2008-08-18 Johan Dahlin - - * gir/Makefile.am: - * giscanner/girparser.py: - Set ctype of enums - * giscanner/transformer.py: - Improve enum parsing for enums without a GType. - Make flags/enum references to other girs work - * giscanner/utils.py: - Simplify this a bit - * tests/scanner/Makefile.am: - * tests/scanner/foo-object.h: - * tests/scanner/utility-expected.gir: - * tests/scanner/utility.h: - Add a new test for external enum references - -2008-08-18 Johan Dahlin - - * docs/global-module-registry.txt: Update - - * tests/array.gir: Update with new type proposal - - * girepository/girepository.c (g_type_tag_to_string): - * girepository/girepository.h: - * girepository/girnode.c (g_ir_node_get_full_size_internal), - (find_entry_node): - * girepository/girnode.h: - Make enum serializing functions public. Clean up some whitespace. - -2008-08-17 Johan Dahlin - - * docs/global-module-registry.txt: - Add a document for an on disk module registry format - -2008-08-17 Johan Dahlin - - * gir/Makefile.am: - * gir/gio-2.0-good.gir: - Add a gio gir. - -2008-08-17 Johan Dahlin - - * gir/Makefile.am: - * gir/glib-2.0-good.gir: - * gir/gobject-2.0-good.gir: - * giscanner/cgobject.py: - * giscanner/glibtransformer.py: - Regenerate GObject & GType. - Avoid warnings when generating gobject-2.0.gir. - Introspect a little more, and skip *_get_type functions. - -2008-08-17 Colin Walters - - * gir/glib-2.0.gir, gir/gobject-2.0.gir: - Rename to -good, always generate during build. - * gir/Makefile.am: Ensure .gir files dep on - all scanner sources. - * Makefile.am: Switch build order to ensure - the scanner is ready before we do gir/. - * tools/g-ir-scanner: Look for .git too. - -2008-08-17 Johan Dahlin - - * girepository/gtypelib.c (validate_enum_blob): - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - Remove resolve_possible_typedefs, it was unused. - Allow multiple enum values of the sample value in an enum, - since it's actually pretty common. - Register enums so they can be resolved too. - -2008-08-16 Johan Dahlin - - * giscanner/girparser.py: - Parse enumeration/bitfield. - -2008-08-16 Johan Dahlin - - * giscanner/girparser.py: - Parse boxed types. - -2008-08-16 Johan Dahlin - - * giscanner/glibtransformer.py: - Resolve type names for alias targets - * giscanner/transformer.py: - Skip FILE* parameters fow now - -2008-08-16 Johan Dahlin - - * gir/glib-2.0.gir: - * gir/gobject-2.0.gir: - Regenerate - - * tests/scanner/Makefile.am: - parser -> scanner - -2008-08-15 Colin Walters - - * giscanner/glibtransformer.py: Explicitly construct - new list, since we're deleting as we iterate. - Don't delete all structures which end in Class; just - ones which have a paired GObject. - Fix printing of type warning. - * giscanner/transformer.py: Make strip_namespace_object - be the identity function if it doesn't match the - namespace. - -2008-08-15 Colin Walters - - * giscanner/cgobject.py: Define yet more argument - prototypes; fix prototype for g_type_fundamental. - -2008-08-14 Johan Dahlin - - * tests/Makefile.am: - * tests/constant.gir: - * tests/gobject.gir: - * tests/struct.gir: - * tools/generate.c (write_struct_info): - Fix generator for constant/gobject/struct - -2008-08-14 Johan Dahlin - - * tests/Makefile.am: - * tests/enum.gir: - * tools/generate.c (write_enum_info): - Fix generation of enum/bitfields - -2008-08-14 Johan Dahlin - - * girepository/girparser.c (start_field), (start_constant), - (start_type), (end_element_handler): - Clear up constant parsing - - * tests/object.gir: - Update - - * tools/generate.c (write_callable_info), (write_function_info), - (write_callback_info), (write_constant_info), (write_signal_info), - (write_vfunc_info), (write_property_info), (write_object_info), - (write_interface_info): - Constants/Signals are handled now. - -2008-08-14 Johan Dahlin - - * girepository/girparser.c (start_type): - Don't require c:type. - * tests/Makefile.am: - Test boxed.gir - * tests/boxed.gir: - Update, remove parts we don't support yet - * tests/roundtrips.sh: - Remove - * tools/generate.c (write_type_info), (write_field_info), - (write_callable_info), (write_struct_info): - Make it emit proper gir. - -2008-08-14 Johan Dahlin - - * giscanner/transformer.py: - New internal function for adding a new node. - -2008-08-14 Johan Dahlin - - * gir/Makefile.am: - Define an internal _H_ variable so we skip parsing both - i18n headers, only one is needed. - * gir/glib-2.0.gir: - Add the glib-2.0.gir too. - * giscanner/glibast.py: - Add gconstpointer as an alias for ANY - * giscanner/transformer.py: - Do not lower case enumeration names per se. - Skip functions which has parameters called 'va_list' - -2008-08-14 Colin Walters - - * giscanner/transformer.py: Comment data structures. - Also squash pointers in resolve_type_name to correspond - with what we do for params. - * giscanner/glibtransformer.py: Print warnings in more - situations. Rework checks for method/constructor to - look up in our GType database instead of just checking - for *. Avoid generating for GObject which - duplicate the . - * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir - in here. - -2008-08-14 Johan Dahlin - - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * misc/pyflakes.py: - * tests/Makefile.am: - Add pyflakes.py and run it in make check. - Update the source code to fix the errors reported by - pyflakes. - -2008-08-14 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girparser.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - Refactor the parser a bit. - Add parent type to interfaces and update callsites. - -2008-08-14 Johan Dahlin - - * giscanner/glibtransformer.py: - * giscanner/utils.py: - Refactor a bit, avoid isinstance and add a method - for each type we parse. - -2008-08-14 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girparser.py: - * giscanner/glibtransformer.py: - * tests/Makefile.am: - Run pep8.py in make check, fix old errors. - -2008-08-13 Colin Walters - - * giscanner/girparser.py: Parse records. - -2008-08-13 Colin Walters - - * gir/Makefile.am: Install again. - * gir/gobject-2.0.gir: Add some more bits. - -2008-08-13 Colin Walters - - * gir/gobject-2.0.gir: Use correct namespace, add GType. - * giscanner/girparser.py: Handle aliases. - * giscanner/transformer.py: Record aliases. Make resolver - functions public; we now call into these explicitly from - glibtransformer. Handle resolving aliases. - * giscanner/glibtransformer.py: Separate our internal namespace - from included ones. Call up into transformer's resolver functions. - -2008-08-13 Johan Dahlin - - * girepository/girnode.c (g_ir_node_get_full_size_internal): - * girepository/girparser.c (start_class): - * giscanner/glibtransformer.py: - Allow get_type to be None, set a get_type for GInitiallyUnowned too. - -2008-08-13 Johan Dahlin - - * giscanner/cgobject.py: - Register GInitiallyUnowned - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - Special case GObject/GInitially owned as they are a bit special to use. - -2008-08-13 Colin Walters - - * tests/scanner/Foo-expected.gir, tests/scanner/utility-expected.gir: - Object is in GObject namespace. - -2008-08-13 Colin Walters - - * giscanner/girparser.py: Fix processing of functions - from last commit. - -2008-08-13 Colin Walters - - * giscanner/girparser.py: Parse more than just - - * tools/g-ir-scanner: - Allow multiple libraries - * giscanner/glibtransformer.py: - Rename load_library to add_library, traverse over all libraries - when trying to resolve a function - -2008-08-12 Colin Walters - - * giscanner/transformer.py: Record typedefs as elements. - Also attempt to look up types in external namespaces. - * giscanner/girwriter.py: Write them. - * giscanner/glibtransformer.py: Rework resolver using real instanceof - checks. Resolve interface methods and properties. - * tests/scanner/foo-object.h: Add a method with typedef. - * tests/scanner/Foo-expected.gir: Update. - * girepository/girnode.c: Debug tweaks. - * girepository/girparser.c: Make a first pass through the XML where we - record all the aliases. This lets us resolve them as we go through the - second pass. - * gir/Makefile.am: Don't install gobject-2.0.gir; we want that to come - from gir-repository. - -2008-08-12 Colin Walters - - * giscanner/glibtransformer.py: Resolve typedefs (e.g. AtkAttributeSet -> GSList). - Correctly do subclasseing in 2nd pass resolution. Handle callbacks in structure - fields. - * giscanner/transformer.py: Record typedefs and expose public API for resolving - them. - * tests/scanner/Foo-expected.gir: Fix expected callback types. - -2008-08-12 Colin Walters - - * giscanner/glibtransformer.py: Also transform object properties. - -2008-08-12 Colin Walters - - * giscanner/glibtransformer.py: Also transform callbacks - and structure field types. - * tests/scanner/Fooe-expected.gir: Update to expect correct - names for callbacks and structs. - -2008-08-12 Colin Walters - - * girepository/girparser.c: Handle 'any'. - * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h: - Add test for void *. - -2008-08-12 Colin Walters - - * giscanner/glibtransformer.py: We need to do type - resolution in a second pass after we've seen all the - enums, records, etc. - -2008-08-12 Colin Walters - - * tests/scanner/Foo-expected.gir, tests/scanner/foo-object.h: - Add enum return value. - * giscanner/glibtransformer.py: Transform function return types - too. - -2008-08-12 Colin Walters - - * tests/scanner/Makefile.am: Dep .gir files on scanner - sources too. Also remove @ so we see scanner invocations. - -2008-08-12 Colin Walters - - * girepository/girparser.c, girepository/gtypelib.c, - girepository/gtypelib.h, girepository/girnode.c: - Remove usage of (GAPI-oriented) TypeTag in favor of - GITypeTag from girepository.h. - -2008-08-10 Colin Walters - - * tests/roundtrips.sh: Use the correct tests. - -2008-08-10 Colin Walters - - * giscanner/cgobject.py: Declare/wrap a few more functions. - Fix parameter types for g_object_new and g_type_fundamental. - -2008-08-10 Colin Walters - - * giscanner/cgobject.py: Add new decorator @gwrap which forces - us to declare types for both return value and parameters. The - ctypes default of 'int' is bad because it hides 32/64 bit - problems. Convert all existing functions to use it. - -2008-08-09 Johan Dahlin - - * giscanner/__init__.py: - * giscanner/ast.py: - * giscanner/cgobject.py: - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * giscanner/girparser.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/odict.py: - * giscanner/sourcescanner.py: - * giscanner/transformer.py: - * giscanner/utils.py: - * giscanner/xmlwriter.py: - * tools/g-ir-scanner: - - PEP8ify - -2008-08-09 Johan Dahlin - - * relaxng/api.xml: - * relaxng/c-types.xml: - * relaxng/g-types.xml: - * relaxng/relaxng.rng: - * relaxng/util.xml: - Remove outdated relaxng schemas. - -2008-08-09 Johan Dahlin - - * *.[ch]: - Rename metadata to typelib in variable names, - comments and apis. - -2008-08-09 Johan Dahlin - - * tools/scanner.c: - * tools/scanner.h: - Remove old C scanner, which got rewritten in python. - -2008-08-09 Johan Dahlin - - * girepository/Makefile.am: - * tools/Makefile.am: - * tools/girmodule.c: - * tools/girmodule.h: - * tools/girnode.c: - * tools/girnode.h: - * tools/girparser.c: - * tools/girparser.h: - * tools/girwriter.c: - * tools/girwriter.h: - Move shared *.[ch] files to girepository from tools - -2008-08-09 Johan Dahlin - - * tests/Makefile.am: - * tests/array.test: - * tests/boxed.test: - * tests/constant.test: - * tests/enum.test: - * tests/errors.test: - * tests/function.test: - * tests/gobject.test: - * tests/interface.test: - * tests/object.test: - * tests/struct.test: - * tests/types.test: - * tests/union.test: - * tests/xref1.test: - * tests/xref2.test: - Rename *.test to *.gir - -2008-08-09 Johan Dahlin - - * configure.ac: - * tests/Makefile.am: - * tests/parser/Foo-expected.gir: - * tests/parser/Makefile.am: - * tests/parser/foo-object.h: - * tests/parser/foo.c: - * tests/parser/utility-expected.gir: - * tests/parser/utility.c: - * tests/parser/utility.h: - * tests/scanner/Makefile.am: - Rename tests/parser to test/scanner - -2008-08-08 Colin Walters - - * tests/roundtrips.sh: Use local .gir files again. - -2008-08-08 Colin Walters - - * tests/invoke/Makefile.am: .gir file depends on libtool - library. - -2008-08-08 Colin Walters - - * tools/girnode.c: Pass through parent node so we can - print the node whose child is NULL, if that occurs. - -2008-08-08 Johan Dahlin - - * tests/Makefile.am: - Disable roundtrip tests which are not yet working - * tests/invoke/testfns.gir: - Rewrite as gir. - -2008-08-08 Johan Dahlin - - * giscanner/girwriter.py: - type -> ntype - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - Swap order of members, to keep it consistent with - base enum class - -2008-08-08 Johan Dahlin - - * girepository/gtypelib.c (validate_header): - * girepository/gtypelib.h: - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/sourcescanner.c (gi_source_symbol_ref), - (gi_source_symbol_unref): - * tests/array.test: - * tests/boxed.test: - * tests/constant.test: - * tests/enum.test: - * tests/errors.test: - * tests/function.test: - * tests/gobject.test: - * tests/interface.test: - * tests/invoke/Makefile.am: - * tests/invoke/testfns.xml: - * tests/object.test: - * tests/parser/Makefile.am: - * tests/roundtrips.sh: - * tests/struct.test: - * tests/types.test: - * tests/union.test: - * tests/xref1.test: - * tests/xref2.test: - * tools/Makefile.am: - * tools/compiler.c (main): - * tools/generate.c (write_callable_info), (write_function_info), - (write_repository): - * tools/gidlmodule.c: - * tools/gidlmodule.h: - * tools/gidlnode.c: - * tools/gidlnode.h: - * tools/gidlparser.c: - * tools/gidlparser.h: - * tools/gidlwriter.c: - * tools/gidlwriter.h: - * tools/scanner.c (create_node_from_gtype), - (create_node_from_ctype), (g_igenerator_process_properties), - (g_igenerator_process_signals), (g_igenerator_create_object), - (g_igenerator_create_interface), (g_igenerator_create_boxed), - (g_igenerator_create_enum), (g_igenerator_create_flags), - (g_igenerator_process_function_symbol), - (g_igenerator_process_unregistered_struct_typedef), - (g_igenerator_process_struct_typedef), - (g_igenerator_process_union_typedef), - (g_igenerator_process_enum_typedef), - (g_igenerator_process_function_typedef), - (g_igenerator_process_constant), (g_igenerator_process_symbols), - (g_igenerator_add_module), (g_igenerator_add_include_idl): - Merge in the gir-compiler branch. - Thanks to Philip and Colin for their help. - -2008-07-26 Colin Walters - - * tools/Makefile.am (bin_PROGRAMS): Install g-idl-compiler - and g-idl-generate to go along with how we're changing this - module to be installed. - * gobject-introspection-1.0.pc.in: Set up Cflags and Libs. - -2008-07-24 Colin Walters - - * girepository/girepository.c (g_irepository_register): Add - environment variable G_IREPOSITORY_VERBOSE so we can print - out what we're doing. - * girepository/girepository.c (g_irepository_register_file): - Add GError error message to g_debug call. - -2008-07-08 Jürg Billeter - - * giscanner/glibast.py: - - Fix typo - -2008-06-21 Johan Dahlin - - * giscanner/girparser.py (GIRParser._parse_api): Ignore a few - more tags - -2008-06-20 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/transformer.py: - * tests/parser/Foo-expected.gir: - * tests/parser/foo-object.h: - * tests/parser/foo.c (foo_object_allow_none): - Add support for gtk-doc annotations for allow-none. - Add test case. - -2008-06-19 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * tests/parser/Foo-expected.gir: - Start using abstract type instead of the raw C types. - Register a bunch of glib types we care about. - -2008-06-19 Rob Taylor - - * AUTHORS: - Update authors - -2008-06-08 Philip Van Hoof - - * girepository/girepository.c: - * girepository/gtypelib.c: - * girepository/ginfo.c: - * girepository/ginvoke.c: - * girepository/girepository.h: - * girepository/gtypelib.h: - * girepository/gmetadata.c: - * girepository/Makefile.am: - * girepository/gmetadata.h: - * tools/compiler.c: - * tools/gidlmodule.c: - * tools/gidlnode.c - * tools/generate.c: - * tools/gidlmodule.h: - * tools/gidlparser.c: - - Renamed GMetadata to GTypelib - -2008-06-07 Johan Dahlin - - * giscanner/xmlwriter.py: - Improve line wrapping when > 79 charaters - -2008-06-05 Jürg Billeter - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/transformer.py: - Use element for field types - * tests/parser/Foo-expected.gir: - Update testcase - -2008-06-04 Johan Dahlin - - * giscanner/glibtransformer.py: - Fix a bug which prevented GdkEvent from being generated - -2008-06-03 Johan Dahlin - - * giscanner/Makefile.am: - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * giscanner/utils.py: - * tests/parser/Foo-expected.gir: - Improve enum member parsing and introspection - -2008-05-31 Johan Dahlin - - * giscanner/scannerparser.y: - * giscanner/sourcescanner.h: - * giscanner/sourcescanner.py: - Add a new source type enum for member. - Use __repr__ for improved debugging - * giscanner/girparser.py: - Ignore some more - * giscanner/transformer.py: - Improve parsing of struct members. - * tests/parser/foo-object.h: - Add a new testcase - -2008-05-31 Johan Dahlin - - * giscanner/xmlwriter.py: - Improve error reporting when trying to quote None. - * giscanner/girparser.py: - Do not print warnings when including more complete .gir files - * giscanner/girwriter.py: - Do not require a name for parameters, add a todo for singletons - * giscanner/glibtransformer.py: - Refactor the way structs are done, add a couple of hacks to allow - us to get further. - * giscanner/transformer.py: - Add enough hacks so cairo, atk and pango.gir can be parsed properly - * gobject-introspection-1.0.pc.in: - Export girdir, so we can access gobject-2.0.gir from outside - -2008-05-31 Johan Dahlin - - * tools/g-ir-scanner: - * tests/parser/Makefile.am: - Update sys.path before running the parser so we don't have - to setup PYTHONPATH ourselves. - - * Makefile.am: - * configure.ac: - * girepository/Makefile.am: - * giscanner/transformer.py: - * gobject-introspection-1.0.pc.in: - * gobject-introspection.pc.in: - * tools/Makefile.am: - - Rename pkg-config name to gobject-introspection-1.0, - Do not installed anything which is not using the gir format. - Disable compililation the old C scanner, but still keep the source - until all the remaning functionallity has been ported. - -2008-05-31 Johan Dahlin - - * giscanner/giscannermodule.c (symbol_get_ident): Prevent - a crash when symbol->indent is NULL. - - * giscanner/sourcescanner.py (ctype_name): Add ctype_name, - a function to convert a CTYPE symbol to a string - -2008-05-24 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/giscannermodule.c - (pygi_source_scanner_append_filename), - (pygi_source_scanner_parse_file): - * giscanner/glibtransformer.py: - * giscanner/sourcescanner.py: - Revert back to using temporary files to send in headers. - Allow Functions to be passed in as callbacks, add a couple - of try/excepts missing features. - We can now scan pango - -2008-05-08 Johan Dahlin - - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - Move namespace stripping glibtransformer->transformer - -2008-05-08 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * tools/g-ir-scanner: - Introduce a namespace ast node - -2008-05-05 Johan Dahlin - - * giscanner/__init__.py: - * giscanner/sourcescanner.py: - * giscanner/transformer.py: - Move sourcescanner symbols to the sourcescanner module, instead - of in the global __init__ namespace. - -2008-05-03 Johan Dahlin - - * giscanner/glibtransformer.py: - * tools/g-ir-scanner: - Handle missing parameters better, allow - and + in .la dlname - filenames. - -2008-05-03 Johan Dahlin - - * giscanner/__init__.py: - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - Parse struct fields properly, improve debugging. - -2008-04-29 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/transformer.py: - * tests/parser/Foo-expected.gir: - * TODO: - Use transfer-ownership everywhere, to mark ownership/calle/caller etc. - -2008-04-29 Johan Dahlin - - * Makefile.am: - * docs/g-ir-scanner.1: - * metadata-annotations-proposal.txt: - * metadata-format.txt: - Add a basic, unfinshed man page for g-ir-scanner, move documents into .txt - -2008-04-29 Johan Dahlin - - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * giscanner/xmlwriter.py: - * tests/parser/Foo-expected.gir: - * tests/parser/foo-object.h: - Write record/structs to gir file too. Add a couple of tests, - fix an off by one error in xmlwriter.py. - -2008-04-28 Johan Dahlin - - * giscanner/xmlwriter.py: Calculate the line length properly, - include the provided extra indentation in the calculation, really. - -2008-04-28 Johan Dahlin - - * giscanner/ast.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - * tools/g-ir-scanner: - Add a --strip-prefix and sort out confusion between names and symbols - for functions and struct + derivaties. - Refactor bootstrap of g-ir-scanner, so we can set options on - Transformer() before parsing everything. - -2008-04-28 Johan Dahlin - - * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion - when scanning girepository.h - - * giscanner/sourcescanner.py (SourceScanner._preprocess): Define - a __GI_SCANNER__ when we run. - -2008-04-28 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * tests/parser/Foo-expected.gir: - * tests/parser/utility-expected.gir: - Rename most c:identifier to c:type. Add new ones to - class/interface/enum/boxed. - -2008-04-28 Johan Dahlin - - * giscanner/ast.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * tests/parser/Foo-expected.gidl: - * tests/parser/Makefile.am: - Move c:identifier from return-value to subchild type, - as per Jürgs suggestion - -2008-04-28 Johan Dahlin - - * giscanner/girwriter.py: - * tests/parser/Foo-expected.gir: - Write property.type as a child node. - -2008-04-27 Johan Dahlin - - * Makefile.am: - * configure.ac: - * gidl/Makefile.am: - * gidl/gobject-2.0.gidl: - * gir/Makefile.am: - * gir/gobject-2.0.gir: - * tests/parser/Makefile.am: - Replace the GObject gidl with a GObject gir. - -2008-04-27 Johan Dahlin - - * tools/Makefile.am (bin_SCRIPTS): g-ir-scanner is a script, - not a program. - - * giscanner/xmlwriter.py: - * tests/parser/Foo-expected.gir: - Include indentation in line length calculation - -2008-04-27 Johan Dahlin - - * giscanner/girparser.py: - Prettify NS parsing using elementtree. - -2008-04-27 Johan Dahlin - - * configure.ac: - * giscanner/Makefile.am: - * giscanner/girparser.py: - * giscanner/glibtransformer.py: - * tests/parser/Foo-expected.gidl: - * tests/parser/Foo-expected.gir: - * tests/parser/Makefile.am: - * tests/parser/utility-expected.gidl: - * tests/parser/utility-expected.gir: - * tools/g-ir-scanner: - Switch over to GIR as the default format. Add a simple GIDL - parser. - Update tests and fix simplify makefiles by depending - on GNU make extensions. - -2008-04-27 Johan Dahlin - - * giscanner/xmlwriter.py: - Wrap attributes for lines which are wider than 79 characters - - * giscanner/scannerlexer.l: - Allow parenthesis in annotations - - * giscanner/ast.py: - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - Add initial sequence support, including annotation. - Refactor type handling a bit. - -2008-04-27 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c (foo_object_class_init), - (foo_object_get_strings), (foo_object_get_objects): - Add two new functions to check sequence return values. - Also fixes a compilation warning. - -2008-04-27 Johan Dahlin - - * giscanner/giscannermodule.c (]): Cast the getter, avoids - a compilation warning. - - * tools/Makefile.am (g_ir_scanner_SOURCES): - g-ir-scanner has no sources. - -2008-04-25 Johan Dahlin - - * giscanner/Makefile.am: - * giscanner/ast.py: - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/glibast.py: - * giscanner/glibtransformer.py: - * giscanner/transformer.py: - Split out nodes to ast.py and glibast.py - -2008-04-25 Johan Dahlin - - * giscanner/Makefile.am: - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/glibtransformer.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/transformer.py: - * giscanner/treebuilder.py: - * tools/g-ir-scanner: - Rename treebuilder to transformer and - gobjectreebuilder to glibtransformer. - -2008-04-25 Johan Dahlin - - * giscanner/Makefile.am: - * giscanner/__init__.py: - * giscanner/cgobject.py: - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/odict.py: - * giscanner/sourcescanner.py: - * giscanner/treebuilder.py: - * giscanner/xmlwriter.py: - * tools/Makefile.am: - * tools/g-ir-scanner: - Add LGPLv2 license header and install all python files - -2008-04-25 Johan Dahlin - - * TODO: - * giscanner/gidlwriter.py: - * giscanner/giscannermodule.c (pygi_source_directive_new), - (directive_get_options), (pygi_source_symbol_new), - (symbol_get_base_type), (pygi_source_type_new), - (type_get_base_type), (type_get_child_list), - (pygi_source_scanner_get_symbols), - (pygi_source_scanner_get_directives): - * giscanner/gobjecttreebuilder.py: - * giscanner/sourcescanner.py: - * giscanner/treebuilder.py: - * tests/parser/foo-object.h: - Add support for virtual methods. - Pair struct FooClass with struct Foo. - Clean up the SourceScanner bindings a bit. - Add a testcase for virtual methods. - -2008-04-25 Johan Dahlin - - * giscanner/cgobject.py: - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - Add support for signals - - * tests/parser/foo.c (foo_object_class_init): - * Foo-expected.gidl: - Add a signal and update the expected output. - -2008-04-24 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/giscannermodule.c (directive_get_name), - (directive_get_value), (directive_get_options), - (symbol_get_directives), (symbol_set_directives), - (pygi_source_scanner_parse_file), - (pygi_source_scanner_lex_filename), - (pygi_source_scanner_get_directives), (init_giscanner): - * giscanner/sourcescanner.c (gi_source_scanner_get_directives): - * giscanner/sourcescanner.h: - * giscanner/sourcescanner.py: - * giscanner/treebuilder.py: - * tools/g-ir-scanner: - Add support for source/header annotations. - -2008-04-22 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/girwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Add support for Callbacks - -2008-04-22 Havoc Pennington - - * girepository/ginvoke.c (g_function_info_invoke): If a symbol is - not in metadata->module, look for it in the global module, in case - some other object or the app itself provides the symbol. - -2008-04-22 Havoc Pennington - - * girepository/gmetadata.c (_g_metadata_init): hack to avoid - dlopening a library that is already in the main app, by checking - whether one of the lib's symbols is already loaded. - -2008-04-22 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - Add a callback test - -2008-04-22 Havoc Pennington - - * girepository/ginfo.c (g_interface_info_find_method): - Use interface_blob_size not object_blob_size to compute offset. - -2008-04-22 Havoc Pennington - - * girepository/gmetadata.c (_g_metadata_init): remove - G_MODULE_BIND_LOCAL flag when loading libraries, since some libs - (Glade and Clutter for example) rely on being loaded globally. - -2008-04-22 Havoc Pennington - - * girepository/ginfo.c (g_registered_type_info_get_g_type): new - function to get the GType given a RegisteredTypeInfo - -2008-04-22 Johan Dahlin - - * COPYING: Add a LGPL license, to prevent automake to - put in a copy of GPL here. Pointed out by Havoc. - - * girepository/ginfo.c (g_info_from_entry), (g_type_info_new), - (g_type_info_is_pointer), (g_type_info_get_tag), - (g_type_info_get_param_type), (g_type_info_get_interface), - (g_type_info_get_array_length), (g_type_info_is_zero_terminated), - (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), - (g_error_domain_info_get_codes), (g_enum_info_get_value), - (g_object_info_get_interface), (g_object_info_get_field), - (g_interface_info_get_prerequisite), - (g_signal_info_get_class_closure), (g_constant_info_get_value): - * girepository/ginvoke.c (get_ffi_type): - * girepository/girepository.h: - * girepository/gmetadata.c (g_metadata_get_dir_entry), - (g_metadata_check_sanity), (validate_header), - (validate_array_type_blob), (validate_iface_type_blob), - (validate_param_type_blob), (validate_error_type_blob), - (validate_type_blob), (validate_constant_blob), - (validate_struct_blob), (validate_enum_blob): - * girepository/gmetadata.h: - * tests/Makefile.am: - * tests/invoke/Makefile.am: - * tests/invoke/invoke.c (main): - * tests/roundtrips.sh: - * tools/Makefile.am: - * tools/compiler.c (format_output), (write_out_metadata), (main): - * tools/generate.c (write_type_name), (write_type_info), - (write_constant_value), (write_enum_info), (load_metadata), (main): - * tools/gidlcompilercontext.c: - * tools/gidlcompilercontext.h: - * tools/gidlcompilerentrynode.c: - * tools/gidlcompilerentrynode.h: - * tools/gidlcompilertypenode.c: - * tools/gidlcompilertypenode.h: - * tools/gidlmodule.c (g_idl_module_build_metadata): - * tools/gidlmodule.h: - * tools/gidlnode.c (init_stats), (dump_stats), - (g_idl_node_get_size), (g_idl_node_get_full_size), - (g_idl_node_cmp), (g_idl_node_can_have_member), - (g_idl_node_add_member), (g_idl_node_param_direction_string), - (parse_int_value), (parse_uint_value), (parse_float_value), - (parse_boolean_value), (find_entry_node), (find_entry), - (serialize_type), (g_idl_node_build_metadata), (write_string): - * tools/gidlnode.h: - * tools/gidlparser.c (parse_type_internal): - * tools/quote-file.sh: - Revert revisions 157,149-148,136-129 and 120. - Move back to using g-idl-generate to generate the metadata and - avoids dependency on a c compiler. - -2008-04-22 Johan Dahlin - - * giscanner/girwriter.py: - * tools/g-ir-scanner: - Add an initial GIR writer and a --format option to g-ir-scanner - -2008-04-21 Johan Dahlin - - * giscanner/cgobject.py: Use ctypes.util.find_library to locate - gobject-2.0 and raise ImportError if not found. - - * giscanner/gidlparser.py: - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * tools/g-ir-scanner: - Add a --include argument to include types from other idls. - Add a minimalistic GIDL parser (just objects for now) - Implement resolving of external type references and use it to - resolve parent types, argument types and return types. - -2008-04-21 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Add support for properties. - Refactor Class/Interface support a bit, to share more code and - always initialize their method attribute to an empty list. - -2008-04-21 Johan Dahlin - - * giscanner/cgobject.py: - Add a workaround for a glib bug interface introspection bug - (object_interface_list_properties, object_class_list_properties): - Cast the return value to GParamSpec. - - * tests/parser/Foo-expected.gidl: Update - * tests/parser/foo.c: Add a string property - - * giscanner/gobjecttreebuilder.py: - After stripping namespaces, remove the original - item to avoid duplication (GtkButton struct and Button object) - -2008-04-21 Johan Dahlin - - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Strip namespaces before objects, so we'll export - GtkButton as Button in the gtk namespace - -2008-04-21 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Add constructors for object/boxed types. - -2008-04-21 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - Add support for boxed types - -2008-04-21 Johan Dahlin - - * giscanner/giscannermodule.c: Mark structures as const, - wrap SourceType.const_string. - - * tests/parser/foo-object.h: Add a couple of constants. - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Add basic support for interfaces - - * tools/g-ir-scanner: - Add -o/--output for writing to a file - -2008-04-21 Havoc Pennington - - * TODO: add some C API wishlist items I could think of quickly - -2008-04-21 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/xmlwriter.py: - Add a simple api for writing tags which can be used - with the new 'with statement' in python 2.5 - -2008-04-21 Johan Dahlin - - * giscanner/gobjecttreebuilder.py: - Strip namespace and object prefix from method names. - -2008-04-21 Johan Dahlin - - * tools/g-ir-scanner (main): Add --pkg option to pass in - pkg-config modules to get cflags from. - - * giscanner/gidlwriter.py (GIDLWriter._write_method): - Avoid duplication, reuse function writer for methods. - -2008-04-21 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - * tools/g-ir-scanner: - Resolve libtool .la files. - Strip name spaces for methods. - Add function symbols - -2008-04-20 Johan Dahlin - - * giscanner/cgobject.py: - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/treebuilder.py: - Add support for classes and methods - -2008-04-20 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * giscanner/odict.py: - Avoid conflicts, keep the output ordered similar to - the order of the input. - Add a simple ordered dictionary implemenation - -2008-04-19 Johan Dahlin - - * giscanner/cgobject.py: - * giscanner/gidlwriter.py: - * giscanner/gobjecttreebuilder.py: - * tools/g-ir-scanner: - Start introspecting get-type functions. - Implement support for GLib/GFlags GTypes. - Add a ctype based GObject binding. - -2008-04-18 Johan Dahlin - - * giscanner/gidlwriter.py: - * giscanner/xmlwriter.py: - * tools/g-ir-scanner: - Add a simplistic gidl writer, which can't do too much. - -2008-04-18 Johan Dahlin - - * giscanner/sourcescanner.py: - * giscanner/treebuilder.py: - * tools/g-ir-scanner: - split tree building and source scanning interface to separate files. - -2008-04-18 Johan Dahlin - - * tools/g-ir-scanner (Parameter.__init__): Start constructing - a real node tree. - - Add support for struct/parameter/return, start parsing of ctypes - - * giscanner/giscannermodule.c: wrap GISourceType.child_list and - fix the style - -2008-03-31 Johan Dahlin - - * tools/g-ir-scanner: - Start to build abstract syntax node of scanned sources. - Add support for cpp options. - -2008-03-27 Johan Dahlin - - * giscanner/giscannermodule.c: - * giscanner/scannerlexer.l: - * giscanner/sourcescanner.c: - * tools/g-ir-scanner: - - Add simple pre-processor using subprocess and a PIPE. - Change the parse_file apis to accept a file descriptor. - -2008-03-25 Johan Dahlin - - * giscanner/__init__.py: - * tools/g-ir-scanner: - Fix a typo and add an example python test program. - -2008-03-25 Johan Dahlin - - * giscanner/__init__.py: - * giscanner/giscannermodule.c: - * giscanner/sourcescanner.c: - * giscanner/sourcescanner.h: - Add constants and wrap a few more SymbolType fields - -2008-03-25 Johan Dahlin - - * configure.ac: - * giscanner: - * giscanner/__init__.py: - * giscanner/giscannermodule.c: - * giscanner/Makefile.am: - - Add initial python bindings for the scanner and - depend on python 2.5. - -2008-03-25 Johan Dahlin - - * Makefile.am: - * configure.ac: - * giscanner/Makefile.am: - * giscanner/sourcescanner.c: - * giscanner/sourcescanner.h: - * tools/Makefile.am: - * tools/grealpath.h: - * tools/sourcescanner.c: - * tools/sourcescanner.h: - - Move the scanner to a separate library. - -2008-03-23 Johan Dahlin - - * tools/Makefile.am: - * tools/scanner.c: - * tools/scanner.h: - * tools/scannerlexer.l: - * tools/scannerparser.y: - * tools/sourcescanner.c: - * tools/sourcescanner.h: - Split out the source scanner from the generator. - Rename the symbols used in the scanner to use the gi_ prefix. - This should make it possible to use the raw C parser from - other programs. - -2008-03-23 Johan Dahlin - - * tests/parser/Makefile.am (utility.gidl): - * tests/parser/utility-expected.gidl: - Pass in the gobject.gidl since we're defining a GObject. - -2008-03-12 Johan Dahlin - - * relaxng/relaxng.rng: - Add a releaxng in relaxng we can use to validate the relaxngs - schemas - -2008-03-12 Jürg Billeter - - * tools/scanner.c: (g_igenerator_new): - * tools/scannerparser.y: - Fix compiler warnings. - -2008-03-12 Jürg Billeter - - * tools/scanner.c: - * tools/scanner.h: - * tools/scannerparser.y: - Start fixing memory management in g-idl-scanner. - -2008-03-12 Rob Taylor - - * tools/gidlcompilercontext.c: (write_compiled): - Fix critical warning when no shlib passed to g-idl-compiler. - -2008-03-12 Johan Dahlin - - * tests/parser/utility-expected.gidl: - * tests/parser/utility.h: - Add a get_type-function, so the scanner actually - parses it as an object. - -2008-03-12 Johan Dahlin - - * tools/gidlwriter.c (function_generate): Add missing trailing quote. - Bad Philip! - - * tests/parser/Foo-expected.gidl: - * tests/parser/Makefile.am: - * tests/parser/foo-object.h: - * tests/parser/foo.c: - * tests/parser/utility-expected.gidl: - * tests/parser/utility.c: - * tests/parser/utility.h: - - Add a new gidl test. 'utility.gidl', which is used to be able - to test external type references. Add a reference to UtilityObject* - in the idl file. - -2008-03-11 Johan Dahlin - - * tools/compiler.c: - * tools/generate.c: - Remove most global variables - -2008-03-11 Philip Van Hoof - - * tools/scannerlexer.l: - * tools/scanner.c: - * tests/parser/Foo-expected.gidl: - * tests/parser/foo.c: - * tests/parser/Makefile.am: - * tests/parser/foo-object.h: - - Added a few extra tests. Which resulted in finding a few - bugs. Which resulted in me fixing those bugs - -2008-03-11 Rob Taylor - - * tools/gidlcompilercontext.c: (g_idl_compiler_write_dir_entry), - (g_idl_compiler_write_xref_entry), (g_idl_compiler_add_xref): - Add some comments for strings into generated output for - easier debugging. - -2008-03-11 Rob Taylor - - * tools/gidlcompilercontext.c: (write_compiled): - Write out the shlibs variable before writing out the strings - length. Fixes compiler warning when using '-l' flag with - g-idl-compiler - -2008-03-11 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tools/scanner.c: - * tools/scanner.h: - * tools/scannerlexer.l: - Add support for parsing return arguments. Add support for - caller-owns return types. - Patch by Philip Van Hoof. - - * tools/scannerparser.y: - Remove parsing of the @deprecated syntax used in headers. - We will support gtk-doc deprecation in the future instead. - -2008-03-11 Johan Dahlin - - * tools/compiler.c (main): Coding style fixes - -2008-03-10 Johan Dahlin - - * configure.ac: - Add GCOV_LIBS to GILIBS - -2008-03-10 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo.c: - Rename null-ok to direction=out - -2008-03-10 Philip Van Hoof - - reviewed and extensively tested by Johan - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: - * tools/gidlnode.c: - * tools/gidlnode.h: - * tools/gidlwriter.c: - * tools/scanner.c: - * tools/scanner.h: - * tools/scannerlexer.l: - * tools/scannerparser.y: - - Add support for scanning for gtk-doc comments inside - C source files. Add tests - -2008-03-10 Johan Dahlin - - * tests/parser/Makefile.am: - * tests/parser/foo.c: - * tools/scanner.c: - * tools/scanner.h: - * tools/scannerparser.y: - Add an api to lex filenames. - Lex all source .c files passed in on the command line. - Scan sources in a test and a couple of private structures - which should not be included in the generated gidl - -2008-03-10 Johan Dahlin - - * tests/invoke/Makefile.am: Make the generated metadata - depend on the g-idl-compiler - -2008-02-21 Mark Doffman - - * tools/gidlmodule.c - * tools/gidlmodule.h - * tools/gidlnode.c - * tools/gidlnode.h - Remove the old g-idl-compiler code. - - -2008-02-22 Mark Doffman - - * tools/quote-file.sh - * tools/compiler.c - * tools/generate.c - Move to using the 'C' struct compiler code. - -2008-02-21 Mark Doffman - - * girepository/ginfo.c - * tools/generate.c - Change the way that external references with no namespace - are dealt with. External references with no namespace - are placed into the XML as-if they are a local reference. - This is temporary, but helps with roundtrip tests. - -2008-02-21 Mark Doffman - - * girepository/ginfo.c - Add the ability to get the value of a constant of - type TYPE_TAG_SYMBOL. In the case of a symbol the value - is provided as a string. - - This would deal properly with: - typedef char* random; - const random = "A string"; - -2008-02-21 Mark Doffman - - * girepository/ginfo.c - * girepository/girepository.h - * tools/generate.c - Add a function to check if an enum is registered or not. - Previously anything testing this relied on the g-type - string offset having a value of 0. - - * girepository/gmetadata.c - * girepository/gmetadata.h - * tools/generate.c - Remove unneccesary or erroneous checks. There were two - metadata validation checks which made sure that the blob - sizes were the same as some magic numbers compiled into the code. - This is wrong as it breaks any forwards compatibility that may - be possible. - - Checks were also present that made sure that unregistered type - blobs had a value of 0 in the g-type offset field. This is - unneccessary. If a type blob is unregistered then any value - in its g-type field is simply invalid. - -2008-02-21 Mark Doffman - - * girepository/ginfo.c - * girepository/gmetadata.c - * girepository/gmetadata.h - - Change the metadata format to have a standard header - for all the type blobs. Merge the SimpleTypeBlob - and InterfaceTypeBlob into a union. A union of these - two blobs existed previously but was not explicit - in the metadata format. - -2008-02-21 Mark Doffman - - * tools/gidlcompilercontext.c - * tools/gidlcompilercontext.h - * tools/gidlcompilerentrynode.c - * tools/gidlcompilerentrynode.h - * tools/gidlcompilertypenode.c - * tools/gidlcompilertypenode.h - - Add code to compile a tree of GIdlNodes to - a 'C' struct representing the metadata. - This is to aid cross-compiling. Previously - the g-idl-compiler created a binary blob with - data written in the byte order and alignment - of the tool rather than the intended target. - - Cleaned up and improved by Johan and Robert :-) - -2008-02-21 Mark Doffman - - * girepository/ginvoke.c - * girepository/girepository.h - * girepository/gmetadata.c - * girepository/gmetadata.h - * tools/generate.c - * tools/gidlparser.c - Modify TYPE_TAG_INTERFACE to TYPE_TAG_SYMBOL - to avoid confusion with the interface blob. - - * tools/generate.c - * tools/gidlparser.c - Remove magic numbers and replace with type-tag - enumeration symbols. - - * girepository/gmetadata.c - Add validate declaration. - -2008-03-10 Jürg Billeter - - * tools/gidlparser.c: (parse_type_internal): - * tools/scannerlexer.l: - * tools/scannerparser.y: - Support C99 _Bool type in scanner. - -2008-03-10 Jürg Billeter - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: (foo_enum_method): - * tools/scanner.c: (g_igenerator_process_function_symbol): - Don't skip functions that are defined in the namespace of a type - that doesn't support methods, as for example enums. - -2008-03-10 Johan Dahlin - - * gidl.dtd: Remove, we're using relaxng for now - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: - Rename the enum/flags get_type functions to include the whole type. - -2008-03-08 Marc-Andre Lureau - - * tools/gidlwriter.c (enum_generate): added "type-name", - "get-type" and "deprecated" missing arguments. - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: test enum type, and no type. - -2008-03-06 Johan Dahlin - - * configure.ac: - Consistent checks, add missing 'test' - -2008-03-05 Havoc Pennington - - * configure.ac: Take advantage of a libffi.pc if one exists, as it - does on Fedora 8. Make libffi a hard requirement, since it was in - practice anyway (was not really conditional in the code or - makefile, only in configure). - -2008-02-21 Mark Doffman - - reviewed by: Rob Taylor - reviewed by: Johan Dahlin - - * tests/Makefile.am: - * tests/roundtrips.sh: - Modify the roundtrips test so that they do not use the - --raw option of the gidl compiler but instead compile a - shared library to use with g_module. - - * tests/invoke/Makefile.am: - * tests/invoke/invoke.c: - Modify the invoke tests to build a shared library rather - than use the --raw option. - - * tests/invoke/invoke-namespace-find.sh: Removed: - Noone knows why this was here, so removed. - -2008-02-19 Rob Taylor - - * tools/scanner.c: (g_igenerator_process_function_symbol): - Move g_idl_node_can_have_member test later, as it broke spotting - get_type's for nodes that can't have members. - -2008-02-18 Rob Taylor - - * tools/gidlnode.h: - * tools/gidlnode.c: (g_idl_node_can_have_member): - Add g_idl_node_can_have_member. - - * tools/scanner.c: (g_igenerator_process_function_symbol): - Use g_idl_node_can_have_member to test if we should add a function - as a member of the type node. - -2008-02-18 Rob Taylor - - * gidl/GLib.gidl: Renamed to gidl/gobject-2.0.gidl: - * gidl/Makefile.am: - * tests/parser/Makefile.am: - Rename GLib.gidl to gobject-2.0.gidl and install in /usr/share/gidl. - -2008-02-18 Rob Taylor - - * tools/scanner.c: (main): - Ignore -pthread when passed to g-idl-scanner. - -2008-02-18 Rob Taylor - - * tools/grealpath.h: Added: - * tools/scanner.c: (main): - * tools/scannerlexer.l: - * tools/Makefile.am: - Always use absolute paths with symbolic links resolved when - comparing filenames. - -2008-02-18 Rob Taylor - - * gobject-introspection.pc.in: - Provide variables for g-idl-parser, scanner and compiler in the - pkgconfig file. - -2008-02-13 Rob Taylor - - * gcov.mak: - * girepository/Makefile.am: - * tools/Makefile.am: - Rename GCOV_SOURCES to GCOVSOURCES to top automake complaining. - -2008-02-10 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: (foo_boxed_copy), (foo_boxed_free), - (foo_boxed_get_type), (foo_boxed_new), (foo_boxed_method): - Add boxed test. - -2008-02-10 Johan Dahlin - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: (foo_enum_get_type), (foo_flags_get_type): - Add enum and flags test. - -2008-02-10 Johan Dahlin - - * Makefile.am: - * configure.ac: - * girepository/Makefile.am: - Make 'make distcheck' work again. - -2008-02-10 Johan Dahlin - - * m4/Makefile.am (EXTRA_DIST): its called as-compiler-flag.m4, - not as-compiler.m4. - - * tests/parser/Makefile.am: Only create Foo.gidl when running make - check, eg exclude it from BUILT_SOURCES. - -2008-02-08 Rob Taylor - - * Makefile.am: - * configure.ac: - * gcov.mak: Added: - * girepository/Makefile.am: - * m4/Makefile.am: Added: - * m4/as-compiler-flag.m4: Added: - * m4/gcov.m4: Added: - * tools/Makefile.am: - Add ability to generate a coverage report. - Adds configure option --enable-gcov and make rule 'check-coverage'. - -2008-02-08 Rob Taylor - - * Makefile.am: - * configure.ac: - * gidl/Makefile.am: Added: - * girepository/Makefile.am: Added: - * src/Makefile.am: Renamed to tools/Makefile.am: - * src/compiler.c: Renamed to tools/compiler.c: - * src/g-idl-offsets.pl: Renamed to tools/g-idl-offsets.pl: - * src/generate.c: Renamed to tools/generate.c: - * src/gidlmodule.c: Renamed to tools/gidlmodule.c: - * src/gidlmodule.h: Renamed to tools/gidlmodule.h: - * src/gidlnode.c: Renamed to tools/gidlnode.c: - * src/gidlnode.h: Renamed to tools/gidlnode.h: - * src/gidlparser.c: Renamed to tools/gidlparser.c: - * src/gidlparser.h: Renamed to tools/gidlparser.h: - * src/gidlwriter.c: Renamed to tools/gidlwriter.c: - * src/gidlwriter.h: Renamed to tools/gidlwriter.h: - * src/ginfo.c: Renamed to girepository/ginfo.c: - * src/ginvoke.c: Renamed to girepository/ginvoke.c: - * src/girepository.c: Renamed to girepository/girepository.c: - * src/girepository.h: Renamed to girepository/girepository.h: - * src/gmetadata.c: Renamed to girepository/gmetadata.c: - * src/gmetadata.h: Renamed to girepository/gmetadata.h: - * src/scanner.c: Renamed to tools/scanner.c: - * src/scanner.h: Renamed to tools/scanner.h: - * src/scannerlexer.l: Renamed to tools/scannerlexer.l: - * src/scannerparser.y: Renamed to tools/scannerparser.y: - * tests/invoke/Makefile.am: - Split src/ into girepository/ and tools/ - - * Makefile.am: - * configure.ac: - * girepository/Makefile.am: - * tests/Makefile.am: - * tests/invoke/Makefile.am: - * tests/parser/Makefile.am: - * tests/roundtrips.sh: - * tools/Makefile.am: - Make distcheck work. - -2008-02-04 Rob Taylor - - * tests/invoke/invoke.c: (main): - * tests/invoke/testfns.c: (test6), (test7): - * tests/invoke/testfns.xml: - Add tests for invokation with a GList argument. - Also tests caller-owns return values. - -2008-02-04 Rob Taylor - - * src/ginfo.c: - Add some documentation for GICallableInfo - -2008-02-01 Mark Doffman - - * gidl.dtd: - Correct syntax errors in the DTD file. - * relaxng/api.xml: - * relaxng/c-types.xml: - * relaxng/g-types.xml: - * relaxng/util.xml: - Add a RelaxNG specification for the GObject Introspection XML data. - The Specification has validated all of the test files. - -2008-01-25 Rob Taylor - - * tests/roundtrips.sh: - * tests/struct.test: - Add roundtrip tests for structs. - -2008-01-11 Johan Dahlin - - * src/scanner.c (g_igenerator_process_function_symbol): - Refactor out g_idle_node_add_member. - (create_node_from_gtype, create_node_from_ctype): - Use case instead of if...else - (get_type_from_type_id): - Rename to create_node_from_gtype - (get_type_from_ctype): - Rename to create_node_from_ctype - - Rename ginode -> node, gitype -> type, gifunc -> func. - - * src/gidlnode.c (g_idl_node_add_member, g_idl_node_cmp): - Two new functions, refactor out of scanner.c - - * src/scanner.c: (g_igenerator_process_function_symbol): - * src/scannerlexer.l: - Do not save the content of the deprecated variable, only - if it's set or not. - -2008-01-11 Johan Dahlin - - * tests/parser/foo-object.h: Add a couple of comment parser tests. - -2008-01-11 Jürg Billeter - - * src/scannerlexer.l: - Fix GTK-Doc parsing. - -2008-01-11 Jürg Billeter - - * src/scannerlexer.l: - Fix GTK-Doc parsing. - -2008-01-11 Jürg Billeter - - * src/scanner.c: (lookup_symbol): - Return unresolved name if we find unknown symbol. - -2008-01-11 Jürg Billeter - - * src/scanner.c: (g_igenerator_generate): - Initialize GObject to fix scanning interface properties. - - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: (foo_interface_get_type): - Test interfaces with GObject prerequisite. - - * tests/parser/Makefile.am: - Set G_DEBUG=fatal_warnings to abort test on warnings and criticals. - -2007-12-27 Johan Dahlin - - * src/scannerlexer.l: - Parse gtk-doc comments. - - * src/gidlwriter.c: (function_generate): - Reorganize, avoid duplication and add support for - writing deprecated functions. - - * src/scannerparser.y: - * src/scanner.h: - Add new structure CDirective and functions to create/free them. - - * src/scanner.c: (g_igenerator_process_function_symbol), - (g_igenerator_process_unregistered_struct_typedef), - (g_igenerator_process_struct_typedef), - (g_igenerator_process_union_typedef), - (g_igenerator_process_enum_typedef), - (g_igenerator_process_function_typedef), (g_igenerator_add_symbol), - (g_igenerator_start_preprocessor): - Parse @deprecated directive for functions. - Remove some more C99isms. - Send in -C to cpp to avoid stripping comments. - - * tests/parser/foo-object.h: - * tests/parser/Foo-expected.gidl: - Add deprecated directive - -2007-12-27 Johan Dahlin - - * src/scannerlexer.l (intsuffix): Add emacs mode line and - escape ' and " so it looks more like C. - - * src/scanner.c: - Unlink temporary file used. - -2007-12-27 Johan Dahlin - - * src/scanner.c: (g_igenerator_new), (g_igenerator_free), - (g_igenerator_start_preprocessor), (main): - * src/scanner.h: - * src/scannerparser.y: - Plug a couple of simple memory leaks. - -2007-12-27 Johan Dahlin - - * src/scanner.c: (g_igenerator_parse_macros), - (g_igenerator_start_preprocessor), (g_igenerator_set_verbose), - (main): - * src/scanner.h: - * src/scannerparser.y: - * tests/parser/Makefile.am: - - Improve error reporting, return when the preprocessor fails. - Add a verbose parameter, to aid debugging. - Revert to using a temporary file to communicate between the - preprocessor and the parser, because we need to wait for - the exit code from the pre-processor before starting to parse. - -2007-12-16 Johan Dahlin - - * src/Makefile.am: Rename clexer.l to scannerlexer.l and - cparser.y to scannerparser.y - -2007-12-11 Johan Dahlin - - * src/clexer.l: - * src/cparser.y: - * src/scanner.c: (g_igenerator_new): - * src/scanner.h: - Get rid of the global the_generator variable. - -2007-12-10 Johan Dahlin - - * src/scanner.c (main): Add an output option, - add checks for required parameters - - * src/Makefile.am: - set BUILD_SOURCES and CLEANFILES properly - - * src/gidlwriter.c: (g_writer_write_inline), (g_writer_write), - (g_writer_write_indent), (g_writer_write_unindent), - (field_generate), (value_generate), (constant_generate), - (property_generate), (function_generate), (vfunc_generate), - (signal_generate), (interface_generate), (struct_generate), - (union_generate), (boxed_generate), (enum_generate), - (node_generate), (g_writer_write_module), (g_idl_writer_save_file): - * src/gidlwriter.h: - * src/scanner.c: (g_igenerator_generate): - * src/scanner.h: - * src/scannerwriter.c: - - Refactor scannerwriter to only be tied to a GIdlModule and move - it (again!) to gidlwriter.c. Change the writer function to take - a filename. - -2007-12-10 Johan Dahlin - - * src/Makefile.am: - * src/scanner.c: (g_igenerator_generate): - * src/scanner.h: - * src/scannerwriter.c: (g_igenerator_write_inline), - (g_igenerator_write), (g_igenerator_write_indent), - (g_igenerator_write_unindent), (field_generate), (value_generate), - (constant_generate), (property_generate), (function_generate), - (vfunc_generate), (signal_generate), (interface_generate), - (struct_generate), (union_generate), (boxed_generate), - (enum_generate), (node_generate), (module_generate), - (g_scanner_write_file): - - Move the scanner gidl writing to a separate source file. - -2007-12-10 Johan Dahlin - - * src/cparser.y: - * src/scanner.c: - * src/scanner.h: - Move over all CType construction functions. - - * tests/parser/Makefile.am: - Be verbose when printing parsing tests results. - -2007-12-10 Johan Dahlin - - * src/scanner.c (g_igenerator_start_preprocessor): Refactor - preprocessor handling to here. Start cpp insteado of cc -E, - always include -U__GNUC__, since it's specific to the preprocessor - we use. - - * tests/parser/Makefile.am (check-local): Silent diff and skip - -U__GNUC__ which is always defined now - -2007-12-10 Johan Dahlin,,, - - reviewed by: - - * src/scanner.c: (g_igenerator_start_preprocessor), (main): - * tests/parser/Makefile.am: - -2007-12-09 Johan Dahlin - - * src/scanner.c: - Use GOption for command line options. - (g_igenerator_new, main): Simplify constructor and they way - parameters are passed into it. - - * src/cparser.y: - * src/Makefile.am: - * src/clexer.l: - * src/cparser.y: - * src/gen-introspect.c: - * src/gen-introspect.h: - * src/scanner.c: - Rename gen-introspect.[ch] to scanner.[ch] - -2007-12-09 Johan Dahlin - - * TODO: Update - - * src/Makefile.am: Rename gen-introspect to g-idl-scanner, - don't make the repository library and the other utilites link against - gthread-2.0 - - * src/gen-introspect.c: (g_igenerator_create_object), - (g_igenerator_create_interface), (g_igenerator_create_boxed), - (g_igenerator_create_enum), (g_igenerator_create_flags), - (g_igenerator_process_module_symbol), - (g_igenerator_process_module), (g_igenerator_generate), (main): - * src/gen-introspect.h: - Refactor g_igenerator_process_types into smaller pieces. - - * tests/parser/Makefile.am: - Depend on the gen-introspect binary - -2007-12-09 Johan Dahlin - - * src/gen-introspect.c (g_igenerator_process_types): - Break into smaller pieces, one for each generated node type. - -2007-12-08 Johan Dahlin - - * src/gen-introspect.c: (g_igenerator_process_types), - (g_igenerator_add_module): - * tests/parser/Foo-expected.gidl: - * tests/parser/foo-object.h: - * tests/parser/foo.c: (foo_subobject_class_init), - (foo_subobject_init): - - Add a subobject test and make sure to register defined classes - in the lookup symbol hash table. - -2007-12-08 Johan Dahlin - - * gidl/GLib.gidl: - * src/Makefile.am: - * src/gen-introspect.c: (g_igenerator_new), (lookup_symbol), - (g_igenerator_process_types), (g_igenerator_add_module), - (g_igenerator_add_include_idl), (main): - * src/gen-introspect.h: - * tests/parser/Makefile.am: - * tests/parser/Foo-expected.gidl: - - Change the gen-introspect to generate namespaced module names, - such as GLib.Object instead of GObject. - Add a GLib.gidl which introduces GLib.Object and GLib.InitiallyUnowned, - add a --include-idl parameter to gen-introspect, - and update the parser test. - -2007-12-08 Johan Dahlin - - * src/gen-introspect.c: - Move main to the end of the file and attempt to make it valid - ansi c. - - * tests/parser/Makefile.am (BUILT_SOURCES): Remove .repo here, - we're not quite ready to generate metadata yet. - - * tests/parser/: - * configure.ac: - - Add a simple gen-introspect parser test - -2007-12-06 Gustavo J. A. M. Carneiro - - reviewed by: Johan Dahlin - - * configure.ac: - * gobject-introspection.pc.in: - * src/Makefile.am: - * src/compiler.c: (format_output), (write_out_metadata), (main): - * src/gen-introspect.c: (main): - * src/gen-introspect.h: - * src/generate.c: (write_callable_info), (write_repository), - (load_metadata), (main): - * src/gidlmodule.c: (g_idl_module_new), - (g_idl_module_build_metadata): - * src/gidlmodule.h: - * src/gidlparser.c: (start_element_handler): - * src/ginfo.c: (g_info_new), (g_info_from_entry), - (g_base_info_get_name), (g_base_info_get_namespace), - (g_base_info_is_deprecated), (g_base_info_get_annotation), - (g_base_info_get_metadata), (g_function_info_get_symbol), - (g_function_info_get_flags), (g_function_info_get_property), - (g_function_info_get_vfunc), (signature_offset), (g_type_info_new), - (g_callable_info_may_return_null), - (g_callable_info_get_caller_owns), (g_callable_info_get_n_args), - (g_callable_info_get_arg), (g_arg_info_get_direction), - (g_arg_info_is_return_value), (g_arg_info_is_dipper), - (g_arg_info_is_optional), (g_arg_info_may_be_null), - (g_arg_info_get_ownership_transfer), (g_type_info_is_pointer), - (g_type_info_get_tag), (g_type_info_get_param_type), - (g_type_info_get_interface), (g_type_info_get_array_length), - (g_type_info_is_zero_terminated), - (g_type_info_get_n_error_domains), (g_type_info_get_error_domain), - (g_error_domain_info_get_quark), (g_error_domain_info_get_codes), - (g_value_info_get_value), (g_field_info_get_flags), - (g_field_info_get_size), (g_field_info_get_offset), - (g_registered_type_info_get_type_name), - (g_registered_type_info_get_type_init), - (g_struct_info_get_n_fields), (g_struct_info_get_field), - (g_struct_info_get_n_methods), (g_struct_info_get_method), - (find_method), (g_struct_info_find_method), - (g_enum_info_get_n_values), (g_enum_info_get_value), - (g_object_info_get_parent), (g_object_info_get_type_name), - (g_object_info_get_type_init), (g_object_info_get_n_interfaces), - (g_object_info_get_interface), (g_object_info_get_n_fields), - (g_object_info_get_field), (g_object_info_get_n_properties), - (g_object_info_get_property), (g_object_info_get_n_methods), - (g_object_info_get_method), (g_object_info_find_method), - (g_object_info_get_n_signals), (g_object_info_get_signal), - (g_object_info_get_n_vfuncs), (g_object_info_get_vfunc), - (g_object_info_get_n_constants), (g_object_info_get_constant), - (g_interface_info_get_n_prerequisites), - (g_interface_info_get_prerequisite), - (g_interface_info_get_n_properties), - (g_interface_info_get_property), (g_interface_info_get_n_methods), - (g_interface_info_get_method), (g_interface_info_find_method), - (g_interface_info_get_n_signals), (g_interface_info_get_signal), - (g_interface_info_get_n_vfuncs), (g_interface_info_get_vfunc), - (g_interface_info_get_n_constants), - (g_interface_info_get_constant), (g_property_info_get_flags), - (g_signal_info_get_flags), (g_signal_info_get_class_closure), - (g_signal_info_true_stops_emit), (g_vfunc_info_get_flags), - (g_vfunc_info_get_offset), (g_vfunc_info_get_signal), - (g_constant_info_get_value), (g_union_info_get_n_fields), - (g_union_info_get_field), (g_union_info_get_n_methods), - (g_union_info_get_method), (g_union_info_is_discriminated), - (g_union_info_get_discriminator_offset), - (g_union_info_get_discriminator): - * src/ginvoke.c: (g_function_info_invoke): - * src/girepository.c: (g_irepository_register), - (g_irepository_unregister), (g_irepository_get_default), - (count_interfaces), (g_irepository_get_n_infos), (find_interface), - (g_irepository_get_info), (g_irepository_find_by_name), - (g_irepository_get_shared_library), - (g_irepository_build_search_path), (g_irepository_register_file), - (g_irepository_error_quark): - * src/girepository.h: - * src/gmetadata.c: (g_metadata_get_dir_entry), - (g_metadata_check_sanity), (validate_header), - (validate_array_type_blob), (validate_iface_type_blob), - (validate_param_type_blob), (validate_error_type_blob), - (validate_type_blob), (validate_arg_blob), - (validate_signature_blob), (validate_function_blob), - (validate_callback_blob), (validate_constant_blob), - (validate_value_blob), (validate_field_blob), - (validate_property_blob), (validate_signal_blob), - (validate_vfunc_blob), (validate_struct_blob), - (validate_enum_blob), (validate_object_blob), - (validate_interface_blob), (validate_errordomain_blob), - (validate_union_blob), (validate_blob), (validate_directory), - (validate_annotations), (g_metadata_validate), (_g_metadata_init), - (g_metadata_new_from_memory), (g_metadata_new_from_const_memory), - (g_metadata_new_from_mapped_file), (g_metadata_free), - (g_metadata_set_module), (g_metadata_get_namespace): - * src/gmetadata.h: - * tests/Makefile.am: - * tests/invoke/Makefile.am: - * tests/invoke/invoke-namespace-find.sh: - * tests/invoke/invoke.c: (main): - - Add a namespace/shared library mapping. fixes #313268. - -2007-12-03 Johan Dahlin - - * src/gidlparser.c (parse_type_internal): Disable char/gchar and - guchar for now. - -2007-11-30 Jürg Billeter - - * configure.ac: - * src/Makefile.am: - * src/clexer.l: - * src/cparser.y: - * src/gen-introspect.c: (g_idl_node_cmp), (g_igenerator_new), - (g_igenerator_write_inline), (g_igenerator_write), - (g_igenerator_write_indent), (g_igenerator_write_unindent), - (field_generate), (value_generate), (constant_generate), - (property_generate), (function_generate), (vfunc_generate), - (signal_generate), (interface_generate), (struct_generate), - (union_generate), (boxed_generate), (enum_generate), - (node_generate), (module_generate), (get_type_from_type_id), - (str_replace), (g_igenerator_process_properties), - (g_igenerator_process_signals), (g_igenerator_process_types), - (get_type_from_ctype), (g_igenerator_process_function_symbol), - (g_igenerator_process_unregistered_struct_typedef), - (g_igenerator_process_struct_typedef), - (g_igenerator_process_union_typedef), - (g_igenerator_process_enum_typedef), - (g_igenerator_process_function_typedef), - (g_igenerator_process_constant), (g_igenerator_process_symbols), - (g_igenerator_add_symbol), (g_igenerator_is_typedef), - (g_igenerator_generate), (main), (csymbol_new), - (csymbol_get_const_boolean), (ctype_new), (ctype_copy), - (cbasic_type_new), (ctypedef_new), (cstruct_new), (cunion_new), - (cenum_new), (cpointer_new), (carray_new), (cfunction_new), - (eat_hspace), (eat_line), (read_identifier), - (g_igenerator_parse_macros): - * src/gen-introspect.h: - - Import gen-introspect to generate introspection information by - parsing C headers. - -2007-11-30 Jürg Billeter - - * src/gidlnode.c: (g_idl_node_new): support creating callback nodes - -2007-11-30 Jürg Billeter - - * src/gidlparser.c: (end_element_handler): Don't leave requires - state too early. - -2007-11-29 Johan Dahlin - - * src/gidlparser.c (parse_type_internal): Add char, - gchar and guchar to the builtin types. - -2007-11-26 Johan Dahlin - - * src/ginfo.c: (g_object_info_get_type_name), - (g_object_info_get_type_init): - * src/girepository.c: (g_irepository_is_registered): - * src/girepository.h: - - Add g_object_info_get_type_name, g_object_info_get_type_init and - g_irepository_is_registered. - -2006-08-14 Jürg Billeter - - * src/gidlparser.c: (end_element_handler): Don't leave - namespace and implements states too early. - Fixes #351264 - -2007-11-26 Johan Dahlin - - * src/gmetadata.c (validate_struct_blob): - pass blob_type to validate_function_blob instead of - hard-coding BLOB_TYPE_STRUCT. - - Patch by Torsten Schoenfeld, fixes #314190 - -2006-10-03 Torsten Schoenfeld - - * src/compiler.c, src/generate.c, src/gidlnode.c, - src/gidlparser.c, src/ginfo.c, src/girepository.c, - tests/invoke/invoke.c, test/invoke/testfns.c: Hush compiler - warnings about return values, signedness mismatches, unused - variables, and unhandles enum values in switch statements. - - * tests/invoke/Makefile.am: Don't install the invoke test program. - Add -I ../../src to the cflags used for the test functions files. - -2005-08-31 Torsten Schoenfeld - - * src/girepository.h: Export g_invoke_error_quark. - -2005-08-31 Torsten Schoenfeld - - * src/ginvoke.c: Remove the fallback implementation of - g_function_info_invoke since we now formally depend on libffi. - -2005-07-25 Matthias Clasen - - * src/Makefile, tests/Makefile, tests/invoke/Makefile: - Remove these files from cvs, as they are now generated. - - * src/gmetadata.c (validate_iface_type_blob): Don't - complain if blob->pointer is not set, since that - happens for enum and flag types. (#308935, Gustavo - Carneiro) - - * Commit an autoconf-conversion patch by - Gustavo Carneiro (#308708) - -2005-05-24 Matthias Clasen - - * src/compiler.c (main): Use it here to validate - the generated metadata. - - * src/gmetadata.[hc]: Add code to validate a - metadata blob. - - * metadata-format.txt: Updates - -2005-05-22 Matthias Clasen - - * tests/*: Add struct offsets to field and vfunc - elements. - - * src/generate.c (write_vfunc_info): Write offset - information for vfuncs. - - * src/gidlnode.c (g_idl_node_build_metadata): Write - the struct offsets into the metadata. - - * src/gidlparser.c: Parse the offset attributes of - field and vfunc elements. - - * src/gidlnode.h: Add offset members to field and - vfunc nodes. - -2005-05-21 Matthias Clasen - - * TODO: Updates. - - * gidl.dtd: Updates. - - * src/g-idl-offsets.pl: A perl script which reads a .gidl - file, creates, compiles and runs a C file, and folds the - resulting struct offsets back into the .gidl file. - -2005-05-20 Matthias Clasen - - * src/gidlparser.c (start_field): Make fields in objects - work. - - * src/gidlmodule.c: Include string.h - - * TODO: Updates. - : - - * metadata-format.txt: Cleanup basic types. - * src/*: Adapt to the changes. - * tests/*: Adapt to the changes. - * examples/gdk-pixbuf.gidl: Adapt to the changes. - - * src/gidlnode.c (g_idl_node_get_size): Report the correct - size for enum blobs. - (g_idl_node_get_full_size): Report the correct size for - function blobs. - - * src/gidlmodule.c (g_idl_module_build_metadata): Add some - error checking for blob sizes. - -2005-05-19 Matthias Clasen - - * src/gidlnode.c (g_idl_node_build_metadata): Correctly handle - interface types for which is_pointer is FALSE, e.g. enums. - - * src/gidlnode.c (g_idl_node_get_full_size) - * src/gidlparser.c (parse_type_internal): - * src/generate.c (write_type_info): Support unspecialized - lists, hashtables and errors. Also emit a '*' after these. - - * TODO: Updates - -2005-05-17 Matthias Clasen - - * TODO: Updates - - * metadata-format.txt: Cleanups by Maciej Katafiasz. - -2005-05-15 Matthias Clasen - - * src/*.c: Change the directory to be addressed by - 1-based indexes, and use an index of zero to mean - 'no object'. - -2005-05-15 Matthias Clasen - - * tests/roundtrips.sh (SIMPLE_TESTS): Add union.test. - - * tests/union.test: Add a union test. - - * src/generate.c: Handle unions. - - * src/girepository.h: - * src/ginfo.c: Add GIUnionInfo and functions to access it. - - * src/gidlnode.c: Handle GIdlNodeUnion nodes. - - * src/gidlparser.c (start_union): Parse elements. - - * src/gidlnode.h: Add a GIdlNodeUnion. - - * gidl.dtd: Add a element. - - * src/gmetadata.c (g_metadata_check_sanity): Check - union_blob_size. - - * src/gmetadata.h: Add union_blob_size to Header, - add a UnionBlob. - - * metadata-format.txt: Add a UnionBlob. - -2005-05-13 Matthias Clasen - - * tests/*: Update testcases. - - * src/generate.c (write_callable_info): Don't forget to - write transfer and null-ok attributes for return types - and parameters. - - * src/girepository.h: - * src/ginfo.c (g_callable_info_may_return_null): - New function to find out if a function may return NULL. - - * src/compiler.c (format_output): Make the generated - C code compile. - - * README: Point to a recent libffi snapshot. - - * tests/invoke/*: Some invoke tests. - - * src/Makefile: Add ginvoke.c and the necessary - libffi information. - - * src/girepository.h (g_function_info_invoke): Add - a GError argument. - - * src/ginvoke.c (g_function_info_invoke): Initial - implementation of invoke functionality based on libffi. - - * src/gidlnode.c (g_idl_node_build_metadata): Pass the - strings and types hash tables in the right order when - recursing. - (find_entry_node): Free the name parts. - -2005-05-12 Johan Dahlin - - * src/generate.c: Generate consistent end tags. - - * tests/*: Update - -2005-05-12 Matthias Clasen - - * TODO: Updates - - * src/gidlparser.c (start_function): Actually add - methods to objects. (Steven Walter) - - * src/girepository.h: - * src/ginfo.c: Rename Transfer and Direction to - GITransfer and GIDirection. (Torsten Schoenfeld) - - * tests/*: Make tests work with the changes in name - handling. - - * src/gidlnode.c (find_entry_node): Parse qualified - names and generate xref nodes for them if needed. Don't - require all modules to be loaded any more. - - * src/gidlmodule.c (g_idl_module_build_metadata): Choke - on '.' in names. - - * src/ginfo.c (g_object_info_get_parent): Return NULL - if blob->parent is 0. Still need to make sure index - 0 is not used. - - * src/generate.c: Generate qualified names when - referring to non-local types. Emit transfer attribute - for return types. - - * src/compiler.c (format_output): Put the function - attributes where gcc accepts them. - -2005-05-11 Matthias Clasen - - * src/compiler.c (main): Add a --verbose cmdline option - and only log messages if it is specified. - - * src/gidlnode.h: - * src/gidlnode.c (init_stats, dump_stats): Collect some - statistics on string and type sharing. - - * src/gidlmodule.c (g_idl_module_build_metadata): Use - g_message() instead of fprintf(). - - * src/gidlnode.c (g_idl_node_free): Make this more robust. - (g_idl_node_get_size): Implement for structs. - (g_idl_node_get_full_size): Handle parent being NULL. - (serialize_type): Handle lookup failures more gracefully. - -2005-05-10 Matthias Clasen - - * src/gidlnode.c (g_idl_node_get_full_size): Correct the - size calculation for 2-parameter types and for objects. - - * src/compiler.c: Add a cmdline option for debug output - and install a log handler to implement it. - * src/gidlnode.c: Add some debug spew. - - * TODO: Updates - - * src/gidlmodule.c (g_idl_module_build_metadata): Don't - forget to count the module name when calculating the - required size for the metadata. - - * src/gidlnode.c: - * src/gidlparser.c: Fix compiler warnings. - -2005-05-09 Matthias Clasen - - * src/compiler.c (main): Free the option context. - - * gidl.dtd: Clean up handling of names. All elements - have a "name", only the elements corresponding to - actual callable functions (function, method, constructor), - have an additional "symbol" attribute holding the - dlsym()-able function name. - - * src/generate.c: Adapt to generate xml matching the - new dtd. - - * src/gidlparser.c: - * src/gidlnode.c: Adapt to parse the new dtd. - - * tests/*.test: Adjust to the new dtd. - - * metadata-format.txt: - * src/gmetadata.h: Remove the short_name field - from the ValueBlob. - * src/gmetadata.c: Shrink size of ValueBlob to 12. - * src/girepository.h: - * src/ginfo.c (g_value_info_get_short_name): Removed - -2005-05-09 Matthias Clasen - - * gidl.dtd: Allow constructors for boxed types, - patch by Jonathan Blandford. - - -2005-05-09 Matthias Clasen - - * --- Initial import ---