summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-x[-rw-r--r--]tools/g-ir-tool-template.in4
-rw-r--r--tools/meson.build54
2 files changed, 58 insertions, 0 deletions
diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in
index edc68a4c..2eac21fd 100644..100755
--- a/tools/g-ir-tool-template.in
+++ b/tools/g-ir-tool-template.in
@@ -62,5 +62,9 @@ if srcdir is not None:
sys.path.insert(0, pylibdir)
+builddir = os.getenv('UNINSTALLED_INTROSPECTION_BUILDDIR', None)
+if builddir is not None:
+ sys.path.insert(0, os.path.join(builddir, 'giscanner'))
+
from giscanner.@TOOL_MODULE@ import @TOOL_FUNCTION@
sys.exit(@TOOL_FUNCTION@(sys.argv))
diff --git a/tools/meson.build b/tools/meson.build
new file mode 100644
index 00000000..73817ec8
--- /dev/null
+++ b/tools/meson.build
@@ -0,0 +1,54 @@
+libdir_abs = join_paths(get_option('prefix'), get_option('libdir'))
+datadir_abs = join_paths(get_option('prefix'), get_option('datadir'))
+python_path = py3.find_python().path()
+
+tools = [
+ ['g-ir-scanner', 'scannermain', 'scanner_main'],
+ ['g-ir-annotation-tool', 'annotationmain', 'annotation_main'],
+]
+if get_option('doctool')
+ tools += [['g-ir-doc-tool', 'docmain', 'doc_main']]
+endif
+
+tool_output = []
+foreach tool : tools
+ tools_conf = configuration_data()
+ tools_conf.set('libdir', libdir_abs)
+ tools_conf.set('datarootdir', datadir_abs)
+ tools_conf.set('PYTHON', python_path)
+
+ tools_conf.set('TOOL_MODULE', tool[1])
+ tools_conf.set('TOOL_FUNCTION', tool[2])
+ tool_output += configure_file(
+ input: 'g-ir-tool-template.in',
+ output: tool[0],
+ configuration: tools_conf,
+ install: true,
+ install_dir: get_option('bindir'),
+ )
+endforeach
+
+girscanner = tool_output[0]
+
+gircompiler = executable('g-ir-compiler', 'compiler.c',
+ c_args: '-DGIREPO_DEFAULT_SEARCH_PATH="@0"'.format(libdir_abs),
+ dependencies: [
+ girepo_internals_dep,
+ girepo_dep,
+ ],
+ install: true,
+)
+
+girgenerate = executable('g-ir-generate', 'generate.c',
+ c_args: '-DGIREPO_DEFAULT_SEARCH_PATH="@0"'.format(libdir_abs),
+ dependencies: [
+ girepo_internals_dep,
+ girepo_dep,
+ ],
+ install: true,
+)
+
+girinspect = executable('g-ir-inspect', 'g-ir-inspect.c',
+ dependencies: girepo_dep,
+ install: true,
+)