diff options
author | Dieter Verfaillie <dieterv@optionexplicit.be> | 2015-04-21 07:20:43 +0200 |
---|---|---|
committer | Dieter Verfaillie <dieterv@optionexplicit.be> | 2015-06-29 16:54:29 +0200 |
commit | 7e0014607513fc335f96baf9408cdeb6d29c1375 (patch) | |
tree | d1daed29b458d90136658dbce8e55e6cab3e4220 /tools/g-ir-tool-template.in | |
parent | af97f472b16ceef6c33b8fd6b9f36eef0e60c7cb (diff) | |
download | gobject-introspection-7e0014607513fc335f96baf9408cdeb6d29c1375.tar.gz |
tools: use a template to generate the tools scripts
g-ir-annotation-tool, g-ir-doc-tool and g-ir-scanner where identical
except for the module and function being invoked.
Avoid code duplication and generate these from a common template.
Diffstat (limited to 'tools/g-ir-tool-template.in')
-rw-r--r-- | tools/g-ir-tool-template.in | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in new file mode 100644 index 00000000..43eea46e --- /dev/null +++ b/tools/g-ir-tool-template.in @@ -0,0 +1,58 @@ +#!/usr/bin/env @PYTHON@ +# -*- Mode: Python -*- +# GObject-Introspection - a framework for introspecting GObject libraries +# Copyright (C) 2008 Johan Dahlin +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. +# + +import os +import sys +import __builtin__ + + +debug = os.getenv('GI_SCANNER_DEBUG', '').split(',') +if debug: + if 'pydevd' in debug: + # http://pydev.org/manual_adv_remote_debugger.html + pydevdpath = os.getenv('PYDEVDPATH', None) + if pydevdpath is not None and os.path.isdir(pydevdpath): + sys.path.insert(0, pydevdpath) + import pydevd + pydevd.settrace() + else: + def on_exception(exctype, value, tb): + print "Caught exception: %r %r" % (exctype, value) + import pdb + pdb.pm() + sys.excepthook = on_exception + +if os.name == 'nt': + datadir = os.path.join(os.path.dirname(__file__), '..', 'share') + pylibdir = os.path.join(os.path.dirname(__file__), '..', 'lib', 'gobject-introspection') +else: + datadir = "@datarootdir@" + pylibdir = os.path.join('@libdir@', 'gobject-introspection') + +srcdir = os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None) +if srcdir is not None: + pylibdir = srcdir + +__builtin__.__dict__['DATADIR'] = datadir +sys.path.insert(0, pylibdir) + +from giscanner.@TOOL_MODULE@ import @TOOL_FUNCTION@ +sys.exit(@TOOL_FUNCTION@(sys.argv)) |