diff options
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/girwriter.py | 14 | ||||
-rw-r--r-- | giscanner/scannermain.py | 3 | ||||
-rw-r--r-- | giscanner/transformer.py | 3 |
3 files changed, 13 insertions, 7 deletions
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py index e30bc6b..ddd562c 100644 --- a/giscanner/girwriter.py +++ b/giscanner/girwriter.py @@ -35,16 +35,17 @@ from .xmlwriter import XMLWriter class GIRWriter(XMLWriter): - def __init__(self, namespace, shlibs, includes, pkgs, c_includes): + def __init__(self, namespace, shlibs, includes, pkgs, c_includes, cprefix): super(GIRWriter, self).__init__() self.write_comment( '''This file was automatically generated from C sources - DO NOT EDIT! To affect the contents of this file, edit the original C definitions, and/or use gtk-doc annotations. ''') - self._write_repository(namespace, shlibs, includes, pkgs, c_includes) + self._write_repository(namespace, shlibs, includes, pkgs, + c_includes, cprefix) def _write_repository(self, namespace, shlibs, includes=None, - packages=None, c_includes=None): + packages=None, c_includes=None, cprefix=None): if includes is None: includes = frozenset() if packages is None: @@ -64,7 +65,7 @@ and/or use gtk-doc annotations. ''') self._write_pkgconfig_pkg(pkg) for c_include in sorted(set(c_includes)): self._write_c_include(c_include) - self._write_namespace(namespace, shlibs) + self._write_namespace(namespace, shlibs, cprefix) def _write_include(self, include): attrs = [('name', include.name), ('version', include.version)] @@ -78,7 +79,7 @@ and/or use gtk-doc annotations. ''') attrs = [('name', c_include)] self.write_tag('c:include', attrs) - def _write_namespace(self, namespace, shlibs): + def _write_namespace(self, namespace, shlibs, cprefix): libraries = [] for l in shlibs: found_libname = find_library(l) @@ -88,7 +89,8 @@ and/or use gtk-doc annotations. ''') attrs = [('name', namespace.name), ('version', namespace.version), - ('shared-library', ','.join(libraries))] + ('shared-library', ','.join(libraries)), + ('c:prefix', cprefix)] with self.tagcontext('namespace', attrs): # We define a custom sorting function here because # we want aliases to be first. They're a bit diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py index f7ac884..e280159 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py @@ -331,7 +331,8 @@ def scanner_main(args): # Write out AST writer = Writer(namespace, libraries, transformer.get_includes(), - options.packages, options.c_includes) + options.packages, options.c_includes, + transformer.get_strip_prefix()) data = writer.get_xml() if options.output: fd = open(options.output, "w") diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 2746b6e..c084606 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -83,6 +83,9 @@ class Transformer(object): def set_strip_prefix(self, strip_prefix): self._strip_prefix = strip_prefix + def get_strip_prefix(self): + return self._strip_prefix + def get_pkgconfig_packages(self): return self._pkg_config_packages |