2008-10-06 Lucas Rocha <lucasr@gnome.org>
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.
svn path=/trunk/; revision=660
* 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
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
2008-08-24 Colin Walters <walters@verbum.org>
* girepository/girepository.c (g_irepository_require):
Don't open shared library here; we already do it
in gtypelib.c.
svn path=/trunk/; revision=483
2008-08-21 Johan Dahlin <johan@gnome.org>
* girepository/girepository.c (g_irepository_require):
Plug memory leak and avoid using freed memory.
Resolve the whole module path, here as well.
svn path=/trunk/; revision=441
2008-08-21 Colin Walters <walters@verbum.org>
* girepository/girparser.c (g_irepository_require):
Fix one small leak in error case.
svn path=/trunk/; revision=434
2008-08-21 Johan Dahlin <johan@gnome.org>
* girepository/girepository.c (g_irepository_require):
Rewrap and fix double free bug by leaking a bit.
svn path=/trunk/; revision=430
2008-08-20 Colin Walters <walters@verbum.org>
* girepository/girepository.c: Add new function
g_irepository_get_typelib_path which tells
us from where we loaded a namespace.
svn path=/trunk/; revision=429
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
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
2008-07-24 Colin Walters <walters@verbum.org>
* 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.
svn path=/trunk/; revision=296