summaryrefslogtreecommitdiff
path: root/tests/scanner/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
...
* Do not use install-data-localJohan Dahlin2010-09-131-4/+2
| | | | Instead use xxxdir + xxx_DATA which uninstalls correctly
* build: Also use $DESTDIR for regress.[ch]Colin Walters2010-09-101-1/+1
|
* [tests] Link libfoo against girepositoryFunda Wang2010-09-061-0/+1
| | | | | | To avoid undefined references to gi_cclosure_marshal_generic Fixes https://bugzilla.gnome.org/show_bug.cgi?id=625995
* scanner: Readd --warn-error to tests, fix test caseColin Walters2010-09-031-1/+1
| | | | | | | | | 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.
* [scanner] Allow nameless parameters for vfuncsJohan Dahlin2010-09-021-1/+1
| | | | | | | 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
* scanner: Add --accept-unprefixedColin Walters2010-09-011-0/+1
| | | | This is necessary for Mutter right now.
* Major rewriteColin Walters2010-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* tests: Fix namespacing for BarApp (should be just Bar)Colin Walters2010-08-311-37/+36
|
* tests: Remove GIMarshallingTests, rename Everything to RegressColin Walters2010-08-311-0/+17
| | | | | | | | | | | | | | | | | | 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.
* Don't include machine-dependent integral types in the typelibColin Walters2010-07-091-28/+4
| | | | | | | | | | | | | | | | | | | | 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
* Support introspectable=no attribute, add warnings frameworkColin Walters2010-06-171-0/+2
| | | | | | | | | | | | | | | | | | 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
* Revert "Support introspectable=no attribute, add warnings framework"Johan Dahlin2010-06-171-2/+0
| | | | This reverts commit 074192b89c6afcdd7f062f03989972e44334b8bf.
* Support introspectable=no attribute, add warnings frameworkColin Walters2010-06-161-0/+2
| | | | | | | | | | | | | | | | 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.
* Use AM_V_GEN more a more quiet buildJohan Dahlin2009-12-311-1/+1
| | | | Also suppress a bit more using @
* Add a Makefile.introspectionJohan Dahlin2009-12-141-71/+37
| | | | | This will make it easier for third-party projects to use introspection by having easy make rules.
* Better scope in GAsyncReadyCallback/GDestroyNotifyJohan Dahlin2009-12-021-1/+2
| | | | | | | | 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
* LD_LIBRARY_PATH exorcismColin Walters2009-08-241-2/+2
| | | | | | | | | | | | | | | 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.
* Remove some $(builddir) that crept back inOwen W. Taylor2009-08-201-2/+2
| | | | | | | With recent merges, a few instances of $(builddir) got reintroduced. Remove them. http://bugzilla.gnome.org/show_bug.cgi?id=592114
* Also remove LD_LIBRARY_PATH bit from before AM_V_GEN for BarAppColin Walters2009-08-171-1/+1
|
* Support passing --library=lib<foo>.laOwen W. Taylor2009-08-171-5/+5
| | | | | | | | | | | | | | | | 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
* Resolve library names to shared libraries ourselvesOwen W. Taylor2009-08-171-2/+2
| | | | | | | | | | | | | | | | | | | | | 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
* Excise shave in favor of automake 1.11 silent rulesColin Walters2009-08-161-6/+6
| | | | Shave is just way too invasive in the build system.
* Prepend to $LD_LIBRARY_PATH not appendOwen W. Taylor2009-08-131-2/+2
| | | | | | | 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
* Reformat the output to fit shaveJohan Dahlin2009-02-201-3/+2
|
* Use shave to reduce compiling outputJohan Dahlin2009-02-201-6/+6
| | | | Which let's us focus on the important warnings.
* Bug 572423 - Support --c-include argument for specifying C headersColin Walters2009-02-201-0/+1
| | | | | 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).
* Add missing tabJohan Dahlin2009-02-171-1/+1
|
* Set LD_LIBRARY_PATH for girepository-1.0Johan Dahlin2009-02-171-3/+3
| | | | | This is needed when girepository-1.0 is not installed and thus not in the library path.
* Make .tgir diffs fail the checkColin Walters2009-02-061-3/+5
| | | | svn path=/trunk/; revision=1090
* Fix distcheckJohan Dahlin2009-01-221-0/+5
| | | | svn path=/trunk/; revision=1059
* Bug 562622 – Errordomains missingJohan Dahlin2009-01-221-4/+7
| | | | | | | | | | | | | | | | | | 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
* Bug 567813 – Everything should be versionedJohan Dahlin2009-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* Remove drawable-injectedJohan Dahlin2009-01-141-6/+0
| | | | svn path=/trunk/; revision=1043
* Don't install barapp.Colin Walters2008-12-111-1/+1
| | | | svn path=/trunk/; revision=992
* Add --libtool option which we expect Automake-using people to passColin Walters2008-11-261-0/+6
| | | | svn path=/trunk/; revision=977
* Remove hand-rolled generation of .tgirColin Walters2008-11-261-5/+1
| | | | | | | | 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
* fix builddir != srcdirTommi Komulainen2008-11-181-1/+1
| | | | svn path=/trunk/; revision=947
* Bug 558436 - avoid having scanner load app codeColin Walters2008-11-131-25/+35
| | | | svn path=/trunk/; revision=912
* Bug 558383 – builddir != srcdir build fails if giscanner python moduleJohan Dahlin2008-10-301-6/+7
| | | | | | | | | | | | | | | | | | | | | | | 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
* fix distcheckTommi Komulainen2008-10-291-0/+4
| | | | | | | * tests/scanner/Makefile.am: stop %.typelib rule from building %-expected.tgir (via %-expected.typelib) svn path=/trunk/; revision=824
* distcheck fixesTommi Komulainen2008-10-291-3/+5
| | | | | | | | | | * 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
* Bug 557377 – Add test to ensure annotations survive the roundtrip via typelibTommi Komulainen2008-10-221-2/+11
| | | | | | | | | | | | | | | | | | 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
* Add GtkFrob test that mirrors GtkSourceColin Walters2008-10-181-1/+17
| | | | svn path=/trunk/; revision=747
* Bug 556610 – giscanner/girparser.py drops parameter optionsJohan Bilien2008-10-171-0/+5
| | | | | | | | | | | | | | | 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
* Include gir dir when running g-ir-generate so we work uninstalledColin Walters2008-10-161-2/+2
| | | | svn path=/trunk/; revision=728
* Don't use --typelib-xml, use g-ir-generateColin Walters2008-10-161-4/+8
| | | | svn path=/trunk/; revision=727
* Merge branch 'bug556331-includecleanup'Colin Walters2008-10-161-7/+11
| | | | svn path=/trunk/; revision=724
* Bug 552858: versioningColin Walters2008-10-121-12/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use $(EXEEXT).Tor Lillqvist2008-09-141-1/+1
| | | | | | | | | 2008-09-14 Tor Lillqvist <tml@novell.com> * tests/scanner/Makefile.am (%.typelib): Use $(EXEEXT). svn path=/trunk/; revision=602
* Set PYTHONPATH so the scanner can run even if you didn't install anything.Johan Dahlin2008-09-011-2/+2
| | | | | | | | | | | 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