diff options
author | Johan Dahlin <johan@gnome.org> | 2008-05-03 14:59:43 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-05-03 14:59:43 +0000 |
commit | 2851996accfa8f952d80b1633eff5d695000caa7 (patch) | |
tree | c2d1a08c49526fa1a8b3978ff3bbccb48740c0c5 | |
parent | b7e6d64c635284ec8a5315d2365722f1b00626f8 (diff) | |
download | gobject-introspection-2851996accfa8f952d80b1633eff5d695000caa7.tar.gz |
Handle missing parameters better, allow - and + in .la dlname filenames.
2008-05-03 Johan Dahlin <johan@gnome.org>
* giscanner/glibtransformer.py:
* tools/g-ir-scanner:
Handle missing parameters better, allow - and + in .la dlname
filenames.
svn path=/trunk/; revision=262
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | giscanner/glibtransformer.py | 4 | ||||
-rwxr-xr-x | tools/g-ir-scanner | 14 |
3 files changed, 21 insertions, 4 deletions
@@ -1,5 +1,12 @@ 2008-05-03 Johan Dahlin <johan@gnome.org> + * giscanner/glibtransformer.py: + * tools/g-ir-scanner: + Handle missing parameters better, allow - and + in .la dlname + filenames. + +2008-05-03 Johan Dahlin <johan@gnome.org> + * giscanner/__init__.py: * giscanner/ast.py: * giscanner/girwriter.py: diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py index cd3ac9bf..bebae5f5 100644 --- a/giscanner/glibtransformer.py +++ b/giscanner/glibtransformer.py @@ -44,7 +44,7 @@ def to_underscores(name): name = _upperstr_pat3.sub(r'\1_\2', name, count=1) return name -_libtool_pat = re.compile("dlname='([A-z0-9\.]+)'\n") +_libtool_pat = re.compile("dlname='([A-z0-9\.\-\+]+)'\n") def resolve_libtool(libname): data = open(libname).read() @@ -176,6 +176,8 @@ class GLibTransformer(object): parameter.type = self._resolve_param_type(parameter.type) def _parse_get_type_function(self, func): + if self._library is None: + return False # GType *_get_type(void) symbol = func.symbol if not symbol.endswith('_get_type'): diff --git a/tools/g-ir-scanner b/tools/g-ir-scanner index 570055b0..9fd16f18 100755 --- a/tools/g-ir-scanner +++ b/tools/g-ir-scanner @@ -20,6 +20,7 @@ import commands import optparse +import os import sys sys.path.insert(0, '.') @@ -72,9 +73,13 @@ def main(args): (options, args) = parser.parse_args(args) - if not args: - print 'ERROR: Needs at least one filename.' - return 0 + if len(args) <= 1: + print 'ERROR: Need at least one filename.' + return 1 + + if not options.namespace: + print 'ERROR: Namespace missing.' + return 1 for package in options.packages: output = commands.getoutput('pkg-config --cflags %s' % (package,)) @@ -91,6 +96,9 @@ def main(args): for arg in args: if (arg.endswith('.c') or arg.endswith('.h')): + if not os.path.exists(arg): + print 'ERROR: %s: no such a file or directory' % (arg,) + return 1 filenames.append(arg) ss.parse_files(filenames) |