summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDieter Verfaillie <dieterv@optionexplicit.be>2011-09-05 21:49:05 +0200
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-07-02 08:37:59 +0800
commit7c1d8d28c3e35840939350233e567be01f345328 (patch)
tree99567c3b0028f38f837c9335bb17741fd83ebe18
parent4873213c426eccd1fa5cf67273bef9bd854354b5 (diff)
downloadgobject-introspection-7c1d8d28c3e35840939350233e567be01f345328.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
-rwxr-xr-xtools/g-ir-annotation-tool.in15
-rw-r--r--tools/g-ir-doc-tool.in13
-rwxr-xr-xtools/g-ir-scanner.in13
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