summaryrefslogtreecommitdiff
path: root/tools/generate.c
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-10-12 04:51:48 +0000
committerColin Walters <walters@src.gnome.org>2008-10-12 04:51:48 +0000
commit2d6a7c97d16cd56a01b6d044cc7048e01344799d (patch)
treee739a70f3f6f62323be09e8d83574e20c5b6eda2 /tools/generate.c
parent8210400fe121dd9ba2694d4d6049b29beaa12eaa (diff)
downloadgobject-introspection-2d6a7c97d16cd56a01b6d044cc7048e01344799d.tar.gz
Bug 552858: versioning
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
Diffstat (limited to 'tools/generate.c')
-rw-r--r--tools/generate.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/tools/generate.c b/tools/generate.c
index 5f10d27c..7e8d5a28 100644
--- a/tools/generate.c
+++ b/tools/generate.c
@@ -1064,13 +1064,16 @@ write_repository (const char *namespace,
{
const gchar *shared_library;
const char *ns = namespace;
+ const char *version;
+
+ version = g_irepository_get_version (repository, ns);
shared_library = g_irepository_get_shared_library (repository, ns);
if (shared_library)
- g_fprintf (file, " <namespace name=\"%s\" shared-library=\"%s\">\n",
- ns, shared_library);
+ g_fprintf (file, " <namespace name=\"%s\" version=\"%s\" shared-library=\"%s\">\n",
+ ns, version, shared_library);
else
- g_fprintf (file, " <namespace name=\"%s\">\n", ns);
+ g_fprintf (file, " <namespace name=\"%s\" version=\"%s\">\n", ns, version);
for (j = 0; j < g_irepository_get_n_infos (repository, ns); j++)
{