diff options
-rw-r--r-- | girepository/girparser.c | 4 | ||||
-rw-r--r-- | giscanner/transformer.py | 3 | ||||
-rw-r--r-- | meson.build | 1 | ||||
-rwxr-xr-x | tools/g-ir-tool-template.in | 3 | ||||
-rw-r--r-- | tools/meson.build | 3 |
5 files changed, 11 insertions, 3 deletions
diff --git a/girepository/girparser.c b/girepository/girparser.c index 53450baf..fb47e75c 100644 --- a/girepository/girparser.c +++ b/girepository/girparser.c @@ -309,6 +309,10 @@ locate_gir (GIrParser *parser, if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) return path; g_free (path); + path = g_build_filename (UNINSTALLED_GIR_DIR, girname, NULL); + if (g_file_test (path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) + return path; + g_free (path); return NULL; } diff --git a/giscanner/transformer.py b/giscanner/transformer.py index f63894cb..bcabdedc 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -183,7 +183,6 @@ None.""" def _get_gi_data_dirs(self): data_dirs = utils.get_system_data_dirs() data_dirs.append(DATADIR) - data_dirs.append(GIRDIR) if os.name != 'nt': # For backwards compatibility, was always unconditionally added to the list. data_dirs.append('/usr/share') @@ -191,9 +190,9 @@ None.""" def _find_include(self, include): searchdirs = self._includepaths[:] + searchdirs.extend(GIRDIR) for path in self._get_gi_data_dirs(): searchdirs.append(os.path.join(path, 'gir-1.0')) - searchdirs.append(os.path.join(DATADIR, 'gir-1.0')) girname = '%s-%s.gir' % (include.name, include.version) for d in searchdirs: diff --git a/meson.build b/meson.build index 7d71c8e5..bd6eaa48 100644 --- a/meson.build +++ b/meson.build @@ -90,6 +90,7 @@ endif girdir = join_paths(gir_dir_prefix, 'gir-1.0') config.set_quoted('GIR_DIR', girdir) config.set_quoted('GOBJECT_INTROSPECTION_LIBDIR', join_paths(get_option('prefix'), get_option('libdir'))) +config.set_quoted('UNINSTALLED_GIR_DIR', join_paths(meson.current_build_dir(), 'gir')) foreach type : ['char', 'short', 'int', 'long'] size = cc.sizeof(type) diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in index 3b33f75d..8462f88a 100755 --- a/tools/g-ir-tool-template.in +++ b/tools/g-ir-tool-template.in @@ -61,7 +61,7 @@ if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'): # for autotools elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'): girdir = os.path.dirname(os.path.abspath('@GIR_DIR@')) -builtins.__dict__['GIRDIR'] = girdir +builtins.__dict__['GIRDIR'] = [girdir] # Again, relative paths first so that the installation prefix is relocatable pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection')) @@ -85,6 +85,7 @@ if not os.path.isfile(os.path.join(pylibdir, 'giscanner', '_giscanner' + py_mod_ # We're running uninstalled inside meson builddir = os.path.abspath(os.path.join(filedir, '..')) pylibdir = builddir + builtins.__dict__['GIRDIR'].append(os.path.join(filedir, os.pardir, 'gir')) gdump_path = os.path.join(builddir, 'girepository', 'gdump.c') if os.path.isfile(gdump_path): builtins.__dict__['GDUMP_PATH'] = gdump_path diff --git a/tools/meson.build b/tools/meson.build index 6cc3186a..1fedaa53 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -56,6 +56,7 @@ gircompiler = executable('g-ir-compiler', 'compiler.c', install: true, c_args: custom_c_args, ) +meson.override_find_program('g-ir-compiler', gircompiler) girgenerate = executable('g-ir-generate', 'generate.c', dependencies: [ @@ -65,9 +66,11 @@ girgenerate = executable('g-ir-generate', 'generate.c', install: true, c_args: custom_c_args, ) +meson.override_find_program('g-ir-generate', girgenerate) girinspect = executable('g-ir-inspect', 'g-ir-inspect.c', dependencies: girepo_dep, install: true, c_args: custom_c_args, ) +meson.override_find_program('g-ir-inspect', girinspect)
\ No newline at end of file |