diff options
author | Dieter Verfaillie <dieterv@optionexplicit.be> | 2011-09-05 21:49:05 +0200 |
---|---|---|
committer | Dieter Verfaillie <dieterv@optionexplicit.be> | 2011-09-07 22:23:54 +0200 |
commit | 0102c517c44d3e8fc3baf2394cb92281511941e3 (patch) | |
tree | 1deb389d618fe77c2af92b21609a4aa759091466 /tools | |
parent | 390c8b473a6098e06bbc9fc7d81a9f7153844d83 (diff) | |
download | gobject-introspection-0102c517c44d3e8fc3baf2394cb92281511941e3.tar.gz |
Windows port: Make g-ir-annotiotion-tool, g-ir-doc-tool and g-ir-scanner 'relocatable' at runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=620566
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/g-ir-annotation-tool.in | 15 | ||||
-rw-r--r-- | tools/g-ir-doc-tool.in | 13 | ||||
-rwxr-xr-x | tools/g-ir-scanner.in | 13 |
3 files changed, 34 insertions, 7 deletions
diff --git a/tools/g-ir-annotation-tool.in b/tools/g-ir-annotation-tool.in index 5668cbe6..9ce008d3 100755 --- a/tools/g-ir-annotation-tool.in +++ b/tools/g-ir-annotation-tool.in @@ -23,7 +23,12 @@ import os import sys import __builtin__ -__builtin__.__dict__['DATADIR'] = "@datarootdir@" +if os.name == 'nt': + datadir = os.path.join(os.path.dirname(__file__), '..', 'share') +else: + datadir = "@datarootdir@" + +__builtin__.__dict__['DATADIR'] = datadir if 'GI_SCANNER_DEBUG' in os.environ: def on_exception(exctype, value, tb): @@ -32,13 +37,17 @@ if 'GI_SCANNER_DEBUG' in os.environ: pdb.pm() sys.excepthook = on_exception -srcdir=os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None) +srcdir = os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None) if srcdir is not None: path = srcdir else: # This is a private directory, we don't want to pollute the global # namespace. - path = os.path.join('@libdir@', 'gobject-introspection') + if os.name == 'nt': + # Makes g-ir-annotation-tool 'relocatable' at runtime on Windows. + path = os.path.join(os.path.dirname(__file__), '..', 'lib', 'gobject-introspection') + else: + path = os.path.join('@libdir@', 'gobject-introspection') sys.path.insert(0, path) from giscanner.annotationmain import annotation_main diff --git a/tools/g-ir-doc-tool.in b/tools/g-ir-doc-tool.in index 4a84afad..02db10cd 100644 --- a/tools/g-ir-doc-tool.in +++ b/tools/g-ir-doc-tool.in @@ -23,7 +23,12 @@ import os import sys import __builtin__ -__builtin__.__dict__['DATADIR'] = "@datarootdir@" +if os.name == 'nt': + datadir = os.path.join(os.path.dirname(__file__), '..', 'share') +else: + datadir = "@datarootdir@" + +__builtin__.__dict__['DATADIR'] = datadir if 'GI_SCANNER_DEBUG' in os.environ: def on_exception(exctype, value, tb): @@ -38,7 +43,11 @@ if srcdir is not None: else: # This is a private directory, we don't want to pollute the global # namespace. - path = os.path.join('@libdir@', 'gobject-introspection') + if os.name == 'nt': + # Makes g-ir-doc-tool 'relocatable' at runtime on Windows. + path = os.path.join(os.path.dirname(__file__), '..', 'lib', 'gobject-introspection') + else: + path = os.path.join('@libdir@', 'gobject-introspection') sys.path.insert(0, path) from giscanner.docmain import doc_main diff --git a/tools/g-ir-scanner.in b/tools/g-ir-scanner.in index f709683c..9a1b2bff 100755 --- a/tools/g-ir-scanner.in +++ b/tools/g-ir-scanner.in @@ -23,7 +23,12 @@ import os import sys import __builtin__ -__builtin__.__dict__['DATADIR'] = "@datarootdir@" +if os.name == 'nt': + datadir = os.path.join(os.path.dirname(__file__), '..', 'share') +else: + datadir = "@datarootdir@" + +__builtin__.__dict__['DATADIR'] = datadir if 'GI_SCANNER_DEBUG' in os.environ: def on_exception(exctype, value, tb): @@ -38,7 +43,11 @@ if srcdir is not None: else: # This is a private directory, we don't want to pollute the global # namespace. - path = os.path.join('@libdir@', 'gobject-introspection') + if os.name == 'nt': + # Makes g-ir-scanner 'relocatable' at runtime on Windows. + path = os.path.join(os.path.dirname(__file__), '..', 'lib', 'gobject-introspection') + else: + path = os.path.join('@libdir@', 'gobject-introspection') sys.path.insert(0, path) from giscanner.scannermain import scanner_main |