summaryrefslogtreecommitdiff
path: root/gir
Commit message (Collapse)AuthorAgeFilesLines
* Add --xpath-assertions option to g-ir-scannerColin Walters2008-09-122-0/+5
| | | | | | | | | | | | * 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. svn path=/trunk/; revision=592
* top_srcdir -> top_builddirJohan Dahlin2008-08-311-3/+3
| | | | svn path=/trunk/; revision=559
* Add a GModule.girJohan Dahlin2008-08-311-1/+25
| | | | | | | | | | 2008-08-31 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: Add a GModule.gir svn path=/trunk/; revision=549
* Put dependencies in typelibs, resolve them when loadingColin Walters2008-08-301-6/+6
| | | | | | | | | | | | | | | | | | | * gir/Makefile.am: Dep on Makefile * girepository/ginfo.c: Print out a nicer error message if we failed to load something. * girepository/girepository.c: Clean up default typelib handling; remove global default_typelib variable. Ensure we handle NULL repository in more places. Support dependency resolution. * tests/Makefile.am: Kill off gobject.gir, it conflicts with the real one. * tests/Object.gir: Depend on GObject. * tools/generate.c: Take --includedir argument to say which directories to search for typelibs. Print out dependencies. svn path=/trunk/; revision=541
* Expand aliases when generating typelibsColin Walters2008-08-281-2/+2
| | | | | | | | | | | * 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. svn path=/trunk/; revision=512
* Make distcheck pass.Johan Dahlin2008-08-281-3/+3
| | | | | | | | | | | | | | | 2008-08-28 Johan Dahlin <johan@gnome.org> * Makefile.am: * configure.ac: * gir/Makefile.am: * giscanner/Makefile.am: * tests/Makefile.am: * tests/scanner/Makefile.am: Make distcheck pass. svn path=/trunk/; revision=507
* Remove generated filesJohan Dahlin2008-08-274-40591/+0
| | | | svn path=/trunk/; revision=505
* Make g-ir-scanner work on Windows. Still problems with the typelib code.Tor Lillqvist2008-08-271-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-27 Tor Lillqvist <tml@novell.com> 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 <dlfcn.h>, 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. svn path=/trunk/; revision=503
* Search $DATADIR/girepository instead of $DATADIR/gitypelibs; this namingColin Walters2008-08-261-1/+1
| | | | | | | | | | | | | 2008-08-26 Colin Walters <walters@verbum.org> * 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. svn path=/trunk/; revision=502
* Avoid undeffing __GNUC__, instead define __attribute__ & friends. RemoveJohan Dahlin2008-08-261-2/+1
| | | | | | | | | | | | | | | 2008-08-26 Johan Dahlin <johan@gnome.org> * 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. svn path=/trunk/; revision=496
* Dep on compilerColin Walters2008-08-231-2/+2
| | | | svn path=/trunk/; revision=472
* Ignore <include>. Parse them. Generate them. Process <include>Colin Walters2008-08-231-1/+0
| | | | | | | | | | | | | | | | | 2008-08-22 Colin Walters <walters@verbum.org> * girepository/girparser.c: Ignore <include>. * giscanner/girparser.py: Parse them. * giscanner/girwriter.py: Generate them. * giscanner/transformer.py: Process <include> 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. svn path=/trunk/; revision=467
* Send in undefs/defines via writing it directly to stdin of cpp instead ofJohan Dahlin2008-08-221-1/+1
| | | | | | | | | | | | 2008-08-22 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: * giscanner/sourcescanner.py: Send in undefs/defines via writing it directly to stdin of cpp instead of via arguments. svn path=/trunk/; revision=463
* Use the generated glibconfig.h for all scanner invokations. Rename it toJohan Dahlin2008-08-221-10/+2
| | | | | | | | | | | | | | | | 2008-08-22 Johan Dahlin <johan@gnome.org> * 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. svn path=/trunk/; revision=456
* Make it work again, clean up the mess I madeJohan Dahlin2008-08-221-7/+4
| | | | svn path=/trunk/; revision=455
* Avoid using builddirJohan Dahlin2008-08-221-5/+5
| | | | svn path=/trunk/; revision=452
* 1->0, not 1->1Johan Dahlin2008-08-221-1/+1
| | | | svn path=/trunk/; revision=451
* Replace glibconfig.h with our own, do some replacement for CPP/C featuresJohan Dahlin2008-08-221-2/+14
| | | | | | | | | | | 2008-08-22 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: Replace glibconfig.h with our own, do some replacement for CPP/C features we do not support svn path=/trunk/; revision=450
* Build and install the Gio.typelib tooJohan Dahlin2008-08-211-1/+1
| | | | | | | | | | 2008-08-21 Johan Dahlin <johan@gnome.org> * gir/Makefile.am (typelibs_DATA): Build and install the Gio.typelib too svn path=/trunk/; revision=438
* CLEANFILES typelibs too.Colin Walters2008-08-211-0/+1
| | | | | | | | 2008-08-21 Colin Walters <walters@verbum.org> * gir/Makefile.am: CLEANFILES typelibs too. svn path=/trunk/; revision=436
* Parse glibconfig.h as well and install the compiled typelibJohan Dahlin2008-08-211-2/+3
| | | | | | | | | | | 2008-08-21 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: Parse glibconfig.h as well and install the compiled typelib svn path=/trunk/; revision=433
* Do not hard-core library names in the Makefile, reuse ctypes find_libraryJohan Dahlin2008-08-211-6/+9
| | | | | | | | | | | | | 2008-08-21 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: * giscanner/glibtransformer.py: * tools/g-ir-scanner: Do not hard-core library names in the Makefile, reuse ctypes find_library instead. svn path=/trunk/; revision=432
* Remove g_irepository_register_file in favor of g_irepository_require.Colin Walters2008-08-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-20 Colin Walters <walters@verbum.org> * 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. svn path=/trunk/; revision=426
* Install GObject.typelibJohan Dahlin2008-08-201-4/+4
| | | | svn path=/trunk/; revision=423
* Rename .gir files using GI namespace. Use XDG_DATA_DIRS for looking upColin Walters2008-08-201-8/+13
| | | | | | | | | | | | | | | 2008-08-20 Colin Walters <walters@verbum.org> * 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. svn path=/trunk/; revision=422
* Regnerate Do not delete Class structures, we need them in gdk/gtk.Johan Dahlin2008-08-203-576/+5052
| | | | | | | | | | | | | | | | | | 2008-08-20 Johan Dahlin <johan@gnome.org> * 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. svn path=/trunk/; revision=414
* Type checking reworkColin Walters2008-08-191-1/+4
| | | | svn path=/trunk/; revision=400
* Regenerate.Johan Dahlin2008-08-183-10369/+12330
| | | | | | | | | | | | 2008-08-18 Johan Dahlin <johan@gnome.org> * gir/gio-2.0-good.gir: * gir/glib-2.0-good.gir: * gir/gobject-2.0-good.gir: Regenerate. svn path=/trunk/; revision=399
* Set ctype of enums Improve enum parsing for enums without a GType. MakeJohan Dahlin2008-08-181-0/+1
| | | | | | | | | | | | | | | | | | | | | 2008-08-18 Johan Dahlin <johan@gnome.org> * 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 svn path=/trunk/; revision=397
* Add a gio gir.Johan Dahlin2008-08-172-3/+9854
| | | | | | | | | | | 2008-08-17 Johan Dahlin <johan@gnome.org> * gir/Makefile.am: * gir/gio-2.0-good.gir: Add a gio gir. svn path=/trunk/; revision=392
* Regenerate GObject & GType. Avoid warnings when generatingJohan Dahlin2008-08-173-147/+38
| | | | | | | | | | | | | | | | 2008-08-17 Johan Dahlin <johan@gnome.org> * 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. svn path=/trunk/; revision=391
* Move .gir files to -good.gir, tweak build order.Colin Walters2008-08-173-2/+6
| | | | | | | | | | | | * 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. svn path=/trunk/; revision=390
* RegenerateJohan Dahlin2008-08-162-118/+1113
| | | | | | | | | | | | | | 2008-08-16 Johan Dahlin <johan@gnome.org> * gir/glib-2.0.gir: * gir/gobject-2.0.gir: Regenerate * tests/scanner/Makefile.am: parser -> scanner svn path=/trunk/; revision=383
* Define an internal _H_ variable so we skip parsing both i18n headers, onlyJohan Dahlin2008-08-142-1/+16886
| | | | | | | | | | | | | | | | | | 2008-08-14 Johan Dahlin <johan@gnome.org> * 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' svn path=/trunk/; revision=374
* Comment data structures. Also squash pointers in resolve_type_name toColin Walters2008-08-142-8/+6543
| | | | | | | | | | | | | | | | | | 2008-08-14 Colin Walters <walters@verbum.org> * 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 <record> for GObject which duplicate the <class>. * gir/Makefile.am: Generate glib-2.0.gir and gobject-2.0.gir in here. svn path=/trunk/; revision=373
* Install again. Add some more bits.Colin Walters2008-08-132-2/+33
| | | | | | | | | | 2008-08-13 Colin Walters <walters@verbum.org> * gir/Makefile.am: Install again. * gir/gobject-2.0.gir: Add some more bits. svn path=/trunk/; revision=364
* Use correct namespace, add GType. Handle aliases. Record aliases. MakeColin Walters2008-08-131-1/+2
| | | | | | | | | | | | | | | | 2008-08-13 Colin Walters <walters@verbum.org> * 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. svn path=/trunk/; revision=363
* Record typedefs as <alias> elements. Also attempt to look up types inColin Walters2008-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | 2008-08-12 Colin Walters <walters@verbum.org> * giscanner/transformer.py: Record typedefs as <alias> 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. svn path=/trunk/; revision=355
* Add parent for GInitiallyUnownedJohan Dahlin2008-04-281-0/+1
| | | | svn path=/trunk/; revision=249
* Replace the GObject gidl with a GObject gir.Johan Dahlin2008-04-282-0/+17
2008-04-27 Johan Dahlin <johan@gnome.org> * 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. svn path=/trunk/; revision=241