Colin Walters [Sat, 28 Feb 2009 00:02:48 +0000 (19:02 -0500)]
Bug 557383 - Virtual method support
Broadly speaking, this change adds the concept of <vfunc> to the .gir.
The typelib already had most of the infrastructure for virtual functions,
though there is one API addition.
The scanner assumes that any class callback slot that doesn't match
a signal name is a virtual. In the .gir, we write out *both* the <method>
wrapper and a <vfunc>. If we can determine an association between
them (based on the names matching, or a new Virtual: annotation),
then we notate that in the .gir.
The typelib gains an association from the vfunc to the function, if
it exists. This will be useful for bindings since they already know
how to consume FunctionInfo.
Andreas Rottmann [Wed, 4 Mar 2009 14:59:28 +0000 (15:59 +0100)]
Bug 573332 - Allow annotation of enums as bitfields
Add support for a `(type bitfield)' annotation for enums.
Signed-off-by: Andreas Rottmann <a.rottmann@gmx.at>
Andreas Rottmann [Wed, 4 Mar 2009 14:59:28 +0000 (15:59 +0100)]
Introduce documentation-block options
Allow a documentation block to have options, e.g.:
/*
* SomeType: (OPT-NAME VALUE) ...
*/
Signed-off-by: Andreas Rottmann <a.rottmann@gmx.at>
Colin Walters [Tue, 3 Mar 2009 23:14:28 +0000 (18:14 -0500)]
Add XftGlyphSpec to xft-2.0.gir
For PangoXft.
Colin Walters [Tue, 3 Mar 2009 23:00:16 +0000 (18:00 -0500)]
Add XTrapezoid to xlib-2.0.gir
This is necessary for PangoXft.
Colin Walters [Fri, 20 Feb 2009 02:48:51 +0000 (21:48 -0500)]
Bug 571548 - Generic attributes
We now support an extensible mechanism where arbitrary key-value
pairs may be associated with almost all items, including objects,
methods, and properties.
These attributes appear in both the .gir and the .typelib.
Colin Walters [Tue, 3 Mar 2009 21:44:36 +0000 (16:44 -0500)]
Keep TestStructA as simple by moving GObject member to a new structure
The change in commit 2912b broke the gjs test suite which was relying
on TestStructA being "simple" (i.e. only having primitive fields as members).
Colin Walters [Tue, 3 Mar 2009 19:55:39 +0000 (14:55 -0500)]
Remove hand-written .gir files, move PEP-8 inquisition into top Makefile.am
We have more comprehensive testing in tests/scanner and tests/everything,
and these tests were designed from a time when we were trying to make
the g-ir-generate output exactly match the .gir, which has not been true
for some time and will not be in the future.
Colin Walters [Sat, 28 Feb 2009 00:11:26 +0000 (19:11 -0500)]
Add a parent parmeter to g_ir_node_build_typelib
This will be useful for later changes which need to inspect the parent.
Johan Dahlin [Fri, 27 Feb 2009 16:50:06 +0000 (13:50 -0300)]
Add srcdir, so distcheck passes
Johan Dahlin [Fri, 27 Feb 2009 16:49:56 +0000 (13:49 -0300)]
Dist m4 files
Johan Dahlin [Fri, 27 Feb 2009 16:32:48 +0000 (13:32 -0300)]
Add GObject-2.0.xpath to EXTRA_DIST
Johan Dahlin [Fri, 27 Feb 2009 14:39:14 +0000 (11:39 -0300)]
Disable more of the build if gtk-doc is disabled
Andreas Rottmann [Thu, 26 Feb 2009 23:17:16 +0000 (00:17 +0100)]
Add --all option to g-ir-generate
Add --all option, which is intended to show some information not
usually included in the GIR.
Currently, it shows the size of structs and unions.
Signed-off-by: Andreas Rottmann <a.rottmann@gmx.at>
Andreas Rottmann [Thu, 26 Feb 2009 23:12:19 +0000 (00:12 +0100)]
Additions to "Everything" test namespace
Add a signal and a "bare" member (i.e. a member without getter/setter)
to TestObj.
Signed-off-by: Andreas Rottmann <a.rottmann@gmx.at>
Colin Walters [Thu, 26 Feb 2009 21:52:42 +0000 (16:52 -0500)]
Revert "Bug 557383 - Virtual function support"
This reverts commit
4470a24e8cf3827efaddcfe240c3271cf1a0d6c0.
Needs more work as it turns out, we need to figure out the binding
story.
Andreas Rottmann [Thu, 26 Feb 2009 20:17:39 +0000 (21:17 +0100)]
Bug 573306 – Relax callback grouping detection rules
Make the callback grouping heuristic more lax: consider all pointer
parameters ending in 'data' to be the user_data parameter (instead of
requiring an exact 'user_data' name).
Signed-off-by: Andreas Rottmann <a.rottmann@gmx.at>
Colin Walters [Thu, 26 Feb 2009 19:44:24 +0000 (14:44 -0500)]
Merge branch 'bug557383-vfuncs'
Colin Walters [Wed, 25 Feb 2009 23:43:14 +0000 (18:43 -0500)]
Bug 557383 - Virtual function support
In order to determine whether a method is virtual, by default we look
at the class table to find a callback field. This should be fairly reliable,
but we may also later need annotations to more finely control this
in the case of a name clash with a signal.
Johan Dahlin [Thu, 26 Feb 2009 13:21:40 +0000 (10:21 -0300)]
Don't assume _pkgconfig_packages is set.
This fixes a cache issue where the pickle in the cache doesn't
have self._pkgconfig_packages set in its instance
Colin Walters [Fri, 20 Feb 2009 22:34:20 +0000 (17:34 -0500)]
Bug 572434 - Associate interfaces with their C structures
Similar to GObject class structs, we pair up GInterfaces with
their C structures.
Also, move some GLib-specific things into glibast.py, and make
the naming more generic.
Colin Walters [Wed, 25 Feb 2009 20:25:36 +0000 (15:25 -0500)]
Bug 555964 - Parse floating-point #defines
Previously we just supported int and string, add double to this.
Technically we should probably differentiate between float and
double, but it's not likely to be very useful in practice to do so.
Johan Dahlin [Wed, 25 Feb 2009 17:38:39 +0000 (14:38 -0300)]
Merge commit 'origin'
Johan Dahlin [Wed, 25 Feb 2009 17:38:20 +0000 (14:38 -0300)]
Fix a typo, reel -> real
Colin Walters [Wed, 25 Feb 2009 17:25:28 +0000 (12:25 -0500)]
Handle multiple arguments for $CC
This makes the dumper not fail for people who set $CC to e.g. "distcc gcc".
Colin Walters [Tue, 24 Feb 2009 04:04:35 +0000 (23:04 -0500)]
Bug 572790 - Don't register #defines from .c files as constants
We keep track of the source filename for every symbol. This enables
us to later filter symbols based on that name.
Johan Bilien [Tue, 24 Feb 2009 15:19:07 +0000 (15:19 +0000)]
Bug 572965 – Allow generic marshaller to be called without parameters
girepository/ginvoke.c: handle the case where n_param_values == 0.
tests/invoke/genericmarshaller.c: add a test case for this.
Colin Walters [Mon, 23 Feb 2009 21:14:02 +0000 (16:14 -0500)]
Bug 561604 - Don't fail on va_list*
gvariant uses va_list *; we were previously skipping va_list, we should
skip indirect variants as well.
Colin Walters [Mon, 23 Feb 2009 21:58:12 +0000 (16:58 -0500)]
Punt on building with older gtk-doc; version skew in gtk-doc.make makes patching hard
We'll just require 1.12, which is the version fixed to work with shave.
Colin Walters [Mon, 23 Feb 2009 20:19:01 +0000 (15:19 -0500)]
shave fix: Patch gtk-doc.make if we don't have it yet
This fixes the build with gtk-doc enabled.
Johan Dahlin [Sat, 21 Feb 2009 03:00:34 +0000 (00:00 -0300)]
Do not include yyoutput in the generated lexer
Avoids a compilation warning (unused function)
in the generated lexer output.
Johan Dahlin [Sat, 21 Feb 2009 02:58:22 +0000 (23:58 -0300)]
Handle the return value to fwrite properly
Johan Dahlin [Sat, 21 Feb 2009 02:54:11 +0000 (23:54 -0300)]
Fix warnings pointed out by GCC
Johan Dahlin [Sat, 21 Feb 2009 02:53:38 +0000 (23:53 -0300)]
Be less verbose
Johan Dahlin [Sat, 21 Feb 2009 02:52:51 +0000 (23:52 -0300)]
Mention that we're generating a GIR
Johan Dahlin [Sat, 21 Feb 2009 02:52:10 +0000 (23:52 -0300)]
Reformat the output to fit shave
Johan Dahlin [Sat, 21 Feb 2009 02:35:45 +0000 (23:35 -0300)]
Disable a UTF-8 warning per default
Johan Dahlin [Sat, 21 Feb 2009 02:34:08 +0000 (23:34 -0300)]
Update .gitignore for gtk-doc
Johan Dahlin [Sat, 21 Feb 2009 02:32:26 +0000 (23:32 -0300)]
Use shave to reduce compiling output
Which let's us focus on the important warnings.
Colin Walters [Fri, 20 Feb 2009 16:05:53 +0000 (11:05 -0500)]
typelib building: Compress 5 arguments for g_ir_node_build_typelib
This makes it easier to add more over time without changing lots
of unrelated code.
Colin Walters [Thu, 19 Feb 2009 22:52:22 +0000 (17:52 -0500)]
Bug 572423 - Support --c-include argument for specifying C headers
This option is for specifying inside the .gir what C header files should
be included by C consumers (as opposed to parsed by the scanner).
Johan Dahlin [Fri, 20 Feb 2009 12:50:01 +0000 (09:50 -0300)]
Send in an empty list instead of None.
Colin Walters [Thu, 19 Feb 2009 23:38:27 +0000 (18:38 -0500)]
giscanner: Set Python exceptions on type errors instead of g_assert
This gives us nice stack traces.
Johan Dahlin [Thu, 19 Feb 2009 23:25:04 +0000 (20:25 -0300)]
Improve type checking
Johan Dahlin [Thu, 19 Feb 2009 22:50:36 +0000 (19:50 -0300)]
Add a hall of shame comment
Owen W. Taylor [Mon, 16 Feb 2009 21:52:52 +0000 (16:52 -0500)]
Bug 572075 - Make the scanner work with static and convenience libraries
We need to reference the get_type() functions we are going to dlsym
or otherwise the linker may not include them in the introspection
binary.
giscanner/dumper.py: Accept a list of _get_type() functions
and write an array referencing them into the introspection
binary.
giscanner/glibtransformer.py: Break parsing into too stages -
the stage where we compute the _get_type() functions and the
stage where we invoke the introspection binary.
tools/g-ir-scanner: Pass _get_type() functions from the
scanner when creating the introspection binary.
http://bugzilla.gnome.org/show_bug.cgi?id=572075
Colin Walters [Thu, 19 Feb 2009 16:23:32 +0000 (11:23 -0500)]
Remove gtk-doc.m4, should be installed by autogen
Colin Walters [Thu, 19 Feb 2009 16:18:48 +0000 (11:18 -0500)]
Further cleanup for commented-out Union discriminator handling
Colin Walters [Fri, 13 Feb 2009 20:10:21 +0000 (15:10 -0500)]
Bug 563382 - Define PATH_MAX if not available
This fixes the build on Hurd. If anyone ever actually uses Hurd with
filenames longer than 4096, they can open a new bug.
Colin Walters [Thu, 19 Feb 2009 14:56:20 +0000 (09:56 -0500)]
Fix bad merge introduced in commit b006d50
Colin Walters [Thu, 12 Feb 2009 20:17:25 +0000 (15:17 -0500)]
Bug 571373 - Add padding to typelib objects
Expand various typelib objects to ensure we have at least 16 bits
left for each one to add another string indirection or directory offset,
and also that we have at least a few bits for more flags.
Colin Walters [Thu, 12 Feb 2009 04:53:05 +0000 (23:53 -0500)]
Bug 571373 - Remove hardcoded sizes/offsets in girnode.c
Where appropriate we now use G_STRUCT_OFFSET and sizeof()
instead of hardcoded integers. Add comments for some special
cases.
Colin Walters [Thu, 12 Feb 2009 04:51:28 +0000 (23:51 -0500)]
Bug 571373 - Remove hardcoded offsets in ginfo.c
In a few places we had hardcoded sizes for accessing structure members
and computing into variable size arrays. Remove those.
Colin Walters [Thu, 12 Feb 2009 04:36:31 +0000 (23:36 -0500)]
Bug 571373 - Consistently use sizeof () inside gtypelib and girmodule
This not only makes it easier to change these structures, it becomes
clearer exactly what each magic number is just for reference.
Colin Walters [Thu, 12 Feb 2009 01:46:59 +0000 (20:46 -0500)]
Bug 571373 - Move typelib docs from typelib-format.txt into girepository.h
typelib-format.txt was growing out of date; a good solution to this is
to move it closer to the code it's documenting. By doing this we also
gain the ability to use gtk-doc on it.
Colin Walters [Thu, 19 Feb 2009 02:35:04 +0000 (21:35 -0500)]
Fix SUBDIRS order, call gnome-autogen.sh with COMMON_DOC_BUILD
The latter option seems to be what others are doing, so we do too.
Colin Walters [Wed, 18 Feb 2009 19:18:45 +0000 (14:18 -0500)]
gtk-doc fixes: Require 1.10, fix --name-space argument typo, change Typelib section title
Colin Walters [Wed, 18 Feb 2009 18:24:21 +0000 (13:24 -0500)]
Remove generated tmpl/ directory; we will use inline section comments
The gtk-doc manual suggests using inline comments:
http://library.gnome.org/devel/gtk-doc-manual/stable/documenting.html.en
So we'll do that.
Colin Walters [Wed, 18 Feb 2009 17:34:39 +0000 (12:34 -0500)]
Various gtk-doc fixes: only require 1.11, remove generated files, add docs to SUBDIRS
The gtk-doc introductory commit introduced some generated files; remove those.
We apparently only require 1.11, so downgrade to that.
Finally, the docs directory was missing from the toplevel SUBDIRS.
Colin Walters [Tue, 17 Feb 2009 23:07:51 +0000 (18:07 -0500)]
Followup to bug 567906 - Redo option filtering logic to be a bit cleaner
This was suggested during a refactoring of the affected code for
bug 567906.
Colin Walters [Thu, 12 Feb 2009 15:12:01 +0000 (10:12 -0500)]
Bug 571483 - Sort toplevel .gir entries
This ensures we're stable on a macro level.
Colin Walters [Tue, 17 Feb 2009 21:59:48 +0000 (16:59 -0500)]
Merge branch 'master' of ssh://walters@git.gnome.org/git/gobject-introspection
Johan Dahlin [Tue, 17 Feb 2009 21:24:45 +0000 (18:24 -0300)]
Unref the GIBaseInfo after usage
Johan Dahlin [Tue, 17 Feb 2009 21:23:25 +0000 (18:23 -0300)]
Add a simple invokation example
Johan Dahlin [Tue, 17 Feb 2009 18:01:14 +0000 (15:01 -0300)]
Merge commit 'origin'
Colin Walters [Tue, 17 Feb 2009 18:00:58 +0000 (13:00 -0500)]
Merge branch 'master' of ssh://walters@git.gnome.org/git/gobject-introspection
Johan Dahlin [Tue, 17 Feb 2009 17:58:06 +0000 (14:58 -0300)]
Add missing tab
Owen W. Taylor [Mon, 16 Feb 2009 23:23:25 +0000 (18:23 -0500)]
Parse doc-comment tags case-insensitive
gtk-doc treats tags like 'Return value:' or 'Since:' as case-insensitive,
do the same to make things as predictable as possibe and avoid strange
problems where a 'Return Value:' tag work with gtk-doc but not
g-ir-scanner.
http://bugzilla.gnome.org/show_bug.cgi?id=572086
Johan Dahlin [Tue, 17 Feb 2009 14:15:52 +0000 (11:15 -0300)]
Set LD_LIBRARY_PATH for girepository-1.0
This is needed when girepository-1.0 is not installed
and thus not in the library path.
Johan Dahlin [Tue, 17 Feb 2009 00:58:11 +0000 (21:58 -0300)]
Merge commit 'origin'
David Ignacio [Tue, 17 Feb 2009 00:57:35 +0000 (21:57 -0300)]
Add allow-none for operation in g_mount_volume
Owen W. Taylor [Mon, 16 Feb 2009 21:51:13 +0000 (16:51 -0500)]
Add more types to GL-1.0.gir
Add dummy definitions for:
GLboolean, GLintptr, GLsizeiptr
Johan Dahlin [Sat, 14 Feb 2009 19:17:48 +0000 (17:17 -0200)]
Avoid a couple of gtk-doc warnings
Do this by including the generated annotation
glossary.
Colin Walters [Fri, 13 Feb 2009 16:25:23 +0000 (11:25 -0500)]
Merge branch 'master' of ssh://walters@git.gnome.org/git/gobject-introspection
Johan Dahlin [Fri, 13 Feb 2009 01:50:59 +0000 (23:50 -0200)]
Bug 571182 – introspection.m4 issues
Adds the introspection.m4 file to gobject-introspection.
This is meant to be used by third-party libraries.
Johan Dahlin [Thu, 12 Feb 2009 22:35:35 +0000 (20:35 -0200)]
Begin to document the GIR format
Robert Carr [Thu, 12 Feb 2009 14:51:16 +0000 (09:51 -0500)]
Fix build
Johan Dahlin [Thu, 12 Feb 2009 03:32:25 +0000 (01:32 -0200)]
Add gtk-doc support
Johan Dahlin [Thu, 12 Feb 2009 01:14:09 +0000 (23:14 -0200)]
Add an empty ChangeLog to make autogen.sh quiet
Colin Walters [Thu, 5 Feb 2009 22:36:35 +0000 (17:36 -0500)]
Bug 567906 - Put pkg-config dependencies in .gir files
When generating a .gir file, we now first parse all of our .gir includes
to pick up their <package> headers. Then, we merge that with the set of
--pkg arguments passed to us, run pkg-config to gather the arguments,
and finally save the merged pkg-config list to our new .gir file.
This is useful for software which needs to map from .gir to pkg-config
in a programmatic way.
Johan Dahlin [Wed, 11 Feb 2009 19:19:00 +0000 (17:19 -0200)]
Push the tags to the remote host when doing the release
Johan Dahlin [Wed, 11 Feb 2009 19:09:33 +0000 (17:09 -0200)]
Rename ChangeLog to ChangeLog.pre-git
Johan Dahlin [Wed, 11 Feb 2009 19:03:10 +0000 (17:03 -0200)]
Add a .gitignore file
Johan Dahlin [Wed, 11 Feb 2009 18:59:17 +0000 (16:59 -0200)]
Add missing self parameter
This is really why you shouldn't catch TypeError.
Johan Dahlin [Wed, 11 Feb 2009 18:53:51 +0000 (16:53 -0200)]
Update release-tag target
Johan Dahlin [Wed, 11 Feb 2009 18:23:35 +0000 (16:23 -0200)]
Remove trailing whitespace
Colin Walters [Wed, 11 Feb 2009 00:08:49 +0000 (00:08 +0000)]
Bug 571248 - Ignore unknown elements in girparser
We want the gir to be extensible.
svn path=/trunk/; revision=1096
Rober Carr [Tue, 10 Feb 2009 23:34:04 +0000 (23:34 +0000)]
Bug 569633 – Typelib compiler fails with vararg callbacks
2009-02-10 Rober Carr <carrr@rpi.edu>
Bug 569633 – Typelib compiler fails with vararg callbacks
* girepository/girparser.c: Also filter out callback functions
which take vararg arguments.
svn path=/trunk/; revision=1095
Johan Dahlin [Tue, 10 Feb 2009 21:01:08 +0000 (21:01 +0000)]
Rename namespace to namespace_ to make the header compilable with a C++ compiler
svn path=/trunk/; revision=1094
Xan Lopez [Mon, 9 Feb 2009 23:27:27 +0000 (23:27 +0000)]
Forgot to update ChangeLog.
svn path=/trunk/; revision=1093
Xan Lopez [Sun, 8 Feb 2009 08:49:46 +0000 (08:49 +0000)]
g-ir-scanner.1: add information about include paths for source files.
svn path=/trunk/; revision=1092
Owen Taylor [Fri, 6 Feb 2009 21:11:11 +0000 (21:11 +0000)]
Add KeySym and KeyCode to xlib-2.0.gir.
gir/xlib-2.0.gir: Add dummy definitions for KeySym and KeyCode
to the dummy xlib-2.0.gir.
svn path=/trunk/; revision=1091
Colin Walters [Fri, 6 Feb 2009 18:57:24 +0000 (18:57 +0000)]
Make .tgir diffs fail the check
svn path=/trunk/; revision=1090
Colin Walters [Fri, 6 Feb 2009 18:57:21 +0000 (18:57 +0000)]
Remove extra space from foo-1.0-expected.tgir
svn path=/trunk/; revision=1089
Colin Walters [Fri, 6 Feb 2009 18:37:13 +0000 (18:37 +0000)]
Bug 551738 - Associate classes with their structs
Inside glibtransformer, we now look at structures ending in "Class" and
see if they have an associated GlibObject (i.e. a structure of the same
name without the "Class" suffix). If found, pair them up.
The .gir file for <class> gains an attribute denoting its associated
class struct. Any <record> many now have a glib:is-class-struct-for
annotation which tells which (if any) <class> for which it defines the
layout.
In the .typelib, we record the association between the class and
its structure. Generic structures however just have a boolean
saying whether they're a class struct. (Going from a generic class
struct to its class should not be necessary).
Finally, we expose GIRepository APIs to access both bits of information
from the .typelib.
svn path=/trunk/; revision=1088
Colin Walters [Thu, 5 Feb 2009 22:43:39 +0000 (22:43 +0000)]
Bug 561360 - If we can't resolve parent class, use GObject
This enables us to support "hidden" parent classes.
svn path=/trunk/; revision=1087
Colin Walters [Thu, 5 Feb 2009 20:41:06 +0000 (20:41 +0000)]
Bug 561604 - Add test case for skipping va_list
svn path=/trunk/; revision=1086
Colin Walters [Thu, 5 Feb 2009 18:00:00 +0000 (18:00 +0000)]
girnode.c: Fix copy & paste error
This line is almost certainly a copy & paste error. It appears to be
harmless, but it's better to not have it.
svn path=/trunk/; revision=1085
Johan Dahlin [Thu, 5 Feb 2009 00:40:14 +0000 (00:40 +0000)]
Add utility functions for invocing closures given a GICallableInfo using
2009-02-04 Johan Dahlin <jdahlin@async.com.br>
* girepository/Makefile.am:
* girepository/girffi.c (g_callable_info_get_ffi_arg_types),
(g_callable_info_get_ffi_return_type),
(g_callable_info_prepare_closure), (g_callable_info_free_closure):
* girepository/girffi.h:
Add utility functions for invocing closures given a GICallableInfo
using libffi.
svn path=/trunk/; revision=1084
Colin Walters [Wed, 4 Feb 2009 00:48:27 +0000 (00:48 +0000)]
Remove outstanding FIXMEs for nested struct/union
svn path=/trunk/; revision=1083