| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Instead use xxxdir + xxx_DATA which uninstalls correctly
|
| |
|
|
|
|
|
|
| |
To avoid undefined references to gi_cclosure_marshal_generic
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=625995
|
|
|
|
|
|
|
|
|
| |
Commit b6fb70f9 wrongly disabled fatal warnings - in fact there
is a way to make this test case work, and it was a bug in the
scanner not processing virtual function annotations correctly.
Add a different test case for un-named parameters that doesn't
have a callback.
|
|
|
|
|
|
|
| |
Add a test case and disable fatal warnings since there's
currently no way to avoid the warning(s)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=628567
|
|
|
|
| |
This is necessary for Mutter right now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of the first big changes in this rewrite is changing the Type
object to have separate target_fundamental and target_giname properties,
rather than just being strings. Previously in the scanner, it was
awful because we used heuristics around strings.
The ast.py is refactored so that not everything is a Node - that
was a rather useless abstraction. Now, only things which can have
a GIName are Node. E.g. Type and Field are no longer Node.
More things were merged from glibast.py into ast.py, since it isn't
a very useful split.
transformer.py gains more intelligence and will e.g. turn GLib.List
into a List() object earlier. The namespace processing is a lot
cleaner now; since we parse the included .girs, we know the C
prefix for each namespace, and have functions to parse both
C type names (GtkFooBar) and symbols gtk_foo_bar into their
symbols cleanly. Type resolution is much, much saner because
we know Type(target_giname=Gtk.Foo) maps to the namespace Gtk.
glibtransformer.py now just handles the XML processing from the dump,
and a few miscellaneous things.
The major heavy lifting now lives in primarytransformer.py, which
is a combination of most of annotationparser.py and half of
glibtransformer.py.
annotationparser.py now literally just parses annotations; it's
no longer in the business of e.g. guessing transfer too.
finaltransformer.py is a new file which does post-analysis for
"introspectability" mainly.
girparser.c is fixed for some introspectable=0 processing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GIMarshallingTests will be replaced with automatically
generated code; it was far from comprehensive, and was a pain
to maintain.
The namespacing in Everything was broken; it had an empty C
prefix effectively, because all the symbols just started with
"test". We do want "test" as part of the symbols, since otherwise
the exported API would be weird. Fix this by changing the namespace
to Regress (i.e. prefixing all the C code with Regress). This
makes sense anyways because Everything wasn't really Everything.
We no longer install a pre-built regress.(so,gir,typelib); instead we
install the C code to
$(datadir)/gobject-introspection/tests/regress.[ch].
Bindings should compile this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we had both e.g. GI_TYPE_TAG_LONG and GI_TYPE_TAG_INT64,
but in fact the typelib is already machine-specific, so it makes sense
to just encode this as a fixed type. The .gir remains abstract.
We also remove size_t from the typelib; one would never want to treat
it differently than an integer.
time_t is removed as well; while bindings like gjs had special handling
to turn it into e.g. a JS Date object, I don't think we should encourage
people to use these POSIX types in their API. Use GTimeVal or the like
instead.
Because the typelib is now really machine-specific, we need to remove
the -expected.tgirs from git. (We could potentially add a check
which wasn't just a literal diff later)
https://bugzilla.gnome.org/show_bug.cgi?id=623774
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This work allows us to move closer to replacing gtk-doc, among other
things. We add a generic attribute "introspectable", and inside the
typelib compiler if we see "introspectable=no", we don't put it in the
typelib. This replaces the hackish pre-filter for varargs with a much
more generic mechanism.
The varargs is now handled in the scanner, and we emit
introspectable=no for them.
Add generic metadata to Node with references to file/line/column,
which currently comes from symbols.
Add scanner options --warn-all and --warn-error.
https://bugzilla.gnome.org/show_bug.cgi?id=621570
|
|
|
|
| |
This reverts commit 074192b89c6afcdd7f062f03989972e44334b8bf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This work allows us to move closer to replacing gtk-doc, among other
things. We add a generic attribute "introspectable", and inside the
typelib compiler if we see "introspectable=no", we don't put it in the
typelib. This replaces the hackish pre-filter for varargs with a much
more generic mechanism.
The varargs is now handled in the scanner, and we emit
introspectable=no for them.
Add generic metadata to Node with references to file/line/column,
which currently comes from symbols.
Add scanner options --Wall and --Werror.
|
|
|
|
| |
Also suppress a bit more using @
|
|
|
|
|
| |
This will make it easier for third-party projects to use
introspection by having easy make rules.
|
|
|
|
|
|
|
|
| |
GAsyncReadyCallback should have use the async scope per
default and GDestroyNotify should be notified if the
previous parameters are a callback and user data.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=602862
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to commit 6d510b8db, we now no longer need LD_LIBRARY_PATH
to be set for invoking the compiler.
Next, before we were taking the LD_LIBRARY_PATH variable and
turning it into a compile path, presumably to attempt to handle
the cases where we weren't getting the right -L flags. Also
interacting with this was a while ago we weren't really doing
uninstalled libtool libraries correctly, which is probably
how hacks involving LD_LIBRARY_PATH crept into the scanner.
Just require that we're passed the right -L flags, and we
should be doing libtool libraries better now.
|
|
|
|
|
|
|
| |
With recent merges, a few instances of $(builddir) got reintroduced.
Remove them.
http://bugzilla.gnome.org/show_bug.cgi?id=592114
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to the current --library=<foo>, support --library=lib<foo>.la.
This makes it unambiguous that we are referencing an uninstalled
library and allows accurate extraction of the shared library name
for the uninstalled library.
* tests/scanner/Makefile.am tests/offsets/Makefile.am: Use the
new form of --library=. Also some LD_LIBRARY_PATH frobbing as needed.
*-expected.gir *-expected.tgir: We now pick out the shared library
accurately, so fix shared-library="" in our reference girs. (The
comparison may need some pre-sanitization now to work on non-ELF)
http://bugzilla.gnome.org/show_bug.cgi?id=591669
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using ctypes.util.find_library() to resolve library names to
sonames causes problems with dealing with uninstalled libtool
operation properly. We're unlikely to find any way of combining
the two that will be robust against future changes in both
facilities.
Switch to a different approach - run 'ldd' on the compiled
introspection binary and extract sonames from there This is
less portable but should be quite robust where it works.
utils.py dumper.py: Move libtool-command-line finding into utils.py
girwriter.py: Remove library name resolution from here, expect libraries
to be passed in preresolved.
shlibs.py scannermain.py: New file including resolve_shlibs() to resolve
library names using the introspection binary.
tests/scanner/Makefile.am: Add .libs to LD_LIBRARY_PATH
http://bugzilla.gnome.org/show_bug.cgi?id=591669
|
|
|
|
| |
Shave is just way too invasive in the build system.
|
|
|
|
|
|
|
| |
We want to extend $LD_LIBRARY_PATH from the front so that uninstalled
libraries take precedence over installed libraries.
http://bugzilla.gnome.org/show_bug.cgi?id=591740
|
| |
|
|
|
|
| |
Which let's us focus on the important warnings.
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
| |
This is needed when girepository-1.0 is not installed
and thus not in the library path.
|
|
|
|
| |
svn path=/trunk/; revision=1090
|
|
|
|
| |
svn path=/trunk/; revision=1059
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-21 Johan Dahlin <jdahlin@async.com.br>
Bug 562622 – Errordomains missing
* giscanner/girwriter.py:
* giscanner/glibast.py:
* giscanner/glibtransformer.py:
* tests/scanner/Makefile.am:
* tests/scanner/foo-1.0-expected.gir:
* tests/scanner/foo-1.0-expected.tgir:
* tests/scanner/foo.c (foo_error_get_type), (foo_error_quark):
* tests/scanner/foo.h:
svn path=/trunk/; revision=1057
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-01-15 Johan Dahlin <jdahlin@async.com.br>
Bug 567813 – Everything should be versioned
* gir/Makefile.am:
* girepository/Makefile.am:
* girepository/girepository.c (init_globals):
* girepository/girparser.c (locate_gir):
* giscanner/dumper.py:
* giscanner/transformer.py:
* gobject-introspection-1.0.pc.in:
* tests/everything/Makefile.am:
* tests/invoke/Makefile.am:
* tests/offsets/Makefile.am:
* tests/repository/Makefile.am:
* tests/scanner/Makefile.am:
* tools/Makefile.am:
svn path=/trunk/; revision=1046
|
|
|
|
| |
svn path=/trunk/; revision=1043
|
|
|
|
| |
svn path=/trunk/; revision=992
|
|
|
|
| |
svn path=/trunk/; revision=977
|
|
|
|
|
|
|
|
| |
It's easier to just use a Makefile rule and dependencies.
This corresponds with a change made to gir-repository to fix
srcdir != builddir issues.
svn path=/trunk/; revision=976
|
|
|
|
| |
svn path=/trunk/; revision=947
|
|
|
|
| |
svn path=/trunk/; revision=912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-30 Johan Dahlin <jdahlin@async.com.br>
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
svn path=/trunk/; revision=833
|
|
|
|
|
|
|
| |
* tests/scanner/Makefile.am: stop %.typelib rule from building
%-expected.tgir (via %-expected.typelib)
svn path=/trunk/; revision=824
|
|
|
|
|
|
|
|
|
|
| |
* gir/Makefile.am:
* tests/Makefile.am:
* tests/invoke/Makefile.am:
* tests/scanner/Makefile.am: Add missing files to EXTRA_DIST and
CLEANFILES, reference files using $(srcdir)
svn path=/trunk/; revision=823
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-22 Tommi Komulainen <tommi.komulainen@iki.fi>
* 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.
svn path=/trunk/; revision=784
|
|
|
|
| |
svn path=/trunk/; revision=747
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-10-16 Johan Bilien <jobi@via.ecp.fr>
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)
svn path=/trunk/; revision=738
|
|
|
|
| |
svn path=/trunk/; revision=728
|
|
|
|
| |
svn path=/trunk/; revision=727
|
|
|
|
| |
svn path=/trunk/; revision=724
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
svn path=/trunk/; revision=677
|
|
|
|
|
|
|
|
|
| |
2008-09-14 Tor Lillqvist <tml@novell.com>
* tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT).
svn path=/trunk/; revision=602
|
|
|
|
|
|
|
|
|
|
|
| |
2008-09-01 Johan Dahlin <johan@gnome.org>
* tests/scanner/Makefile.am:
Set PYTHONPATH so the scanner can run
even if you didn't install anything.
svn path=/trunk/; revision=570
|