aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-10-03 21:27:54 +0300
committerGitHub <noreply@github.com>2016-10-03 21:27:54 +0300
commitf73c0a1098aec43e7d8162edcf412b198c4ca4ab (patch)
treec1192811acfed0d7fa17009293a811bf1e459b2d
parent7256e109bf93d9a7de3802c6df01b0e728c4511c (diff)
parentdd9dfa77fb7caa36128024f27d2b204a1adc16a9 (diff)
downloadmeson-f73c0a1098aec43e7d8162edcf412b198c4ca4ab.zip
meson-f73c0a1098aec43e7d8162edcf412b198c4ca4ab.tar.gz
meson-f73c0a1098aec43e7d8162edcf412b198c4ca4ab.tar.bz2
Merge pull request #843 from mesonbuild/tingping/gir-dir
gnome.generate_gir(): Fix install_dir and add install_dir_gir and install_dir_typelib
-rw-r--r--mesonbuild/modules/gnome.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 2a9b6a0..81cc462 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -195,6 +195,8 @@ class GnomeModule:
def generate_gir(self, state, args, kwargs):
if len(args) != 1:
raise MesonException('Gir takes one argument')
+ if kwargs.get('install_dir'):
+ raise MesonException('install_dir is not supported with generate_gir(), see "install_dir_gir" and "install_dir_typelib"')
girtarget = args[0]
while hasattr(girtarget, 'held_object'):
girtarget = girtarget.held_object
@@ -311,7 +313,8 @@ class GnomeModule:
}
if kwargs.get('install'):
scankwargs['install'] = kwargs['install']
- scankwargs['install_dir'] = os.path.join(state.environment.get_datadir(), 'gir-1.0')
+ scankwargs['install_dir'] = kwargs.get('install_dir_gir',
+ os.path.join(state.environment.get_datadir(), 'gir-1.0'))
scan_target = GirTarget(girfile, state.subdir, scankwargs)
typelib_output = '%s-%s.typelib' % (ns, nsversion)
@@ -335,10 +338,15 @@ class GnomeModule:
if girdir:
typelib_cmd += ["--includedir=%s" % (girdir, )]
- kwargs['output'] = typelib_output
- kwargs['command'] = typelib_cmd
- kwargs['install_dir'] = os.path.join(state.environment.get_libdir(), 'girepository-1.0')
- typelib_target = TypelibTarget(typelib_output, state.subdir, kwargs)
+ typelib_kwargs = {
+ 'output': typelib_output,
+ 'command': typelib_cmd,
+ }
+ if kwargs.get('install'):
+ typelib_kwargs['install'] = kwargs['install']
+ typelib_kwargs['install_dir'] = kwargs.get('install_dir_typelib',
+ os.path.join(state.environment.get_libdir(), 'girepository-1.0'))
+ typelib_target = TypelibTarget(typelib_output, state.subdir, typelib_kwargs)
return [scan_target, typelib_target]
def compile_schemas(self, state, args, kwargs):