aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorGuillaume Poirier-Morency <guillaumepoiriermorency@gmail.com>2016-10-07 10:28:07 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2016-11-12 18:03:24 -0500
commitb2a39dd06ee139152d5522c961e6ba04acdec791 (patch)
tree82d6f16f33f9aeb5211051909615de436158c788 /mesonbuild
parent59a414283c5caf006745aefff44489e689223050 (diff)
downloadmeson-b2a39dd06ee139152d5522c961e6ba04acdec791.zip
meson-b2a39dd06ee139152d5522c961e6ba04acdec791.tar.gz
meson-b2a39dd06ee139152d5522c961e6ba04acdec791.tar.bz2
vala: Generate GIR into the build directory (fix #185)
Add a Vala test generating GIR and typelib files.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/backend/ninjabackend.py6
-rw-r--r--mesonbuild/build.py2
2 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index fb1280b..fa4d5cf 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1034,10 +1034,14 @@ int dummy;
valac_outputs.append(hname)
# Outputted vapi file
vapiname = os.path.join(self.get_target_dir(target), target.vala_vapi)
- # Force valac to write the vapi file in the target build dir.
+ # Force valac to write the vapi and gir files in the target build dir.
# Without this, it will write it inside c_out_dir
args += ['--vapi', os.path.join('..', target.vala_vapi)]
valac_outputs.append(vapiname)
+ if isinstance(target.vala_gir, str):
+ girname = os.path.join(self.get_target_dir(target), target.vala_gir)
+ args += ['--gir', os.path.join('..', target.vala_gir)]
+ valac_outputs.append(girname)
if self.environment.coredata.get_builtin_option('werror'):
args += valac.get_werror_args()
for d in target.get_external_deps():
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index d1746f1..42cdc57 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -57,6 +57,7 @@ known_lib_kwargs.update({'version' : True, # Only for shared libs
'vs_module_defs' : True, # Only for shared libs
'vala_header': True,
'vala_vapi': True,
+ 'vala_gir' : True,
'pic' : True, # Only for static libs
})
@@ -513,6 +514,7 @@ class BuildTarget():
if not isinstance(self, Executable):
self.vala_header = kwargs.get('vala_header', self.name + '.h')
self.vala_vapi = kwargs.get('vala_vapi', self.name + '.vapi')
+ self.vala_gir = kwargs.get('vala_gir', None)
dlist = stringlistify(kwargs.get('d_args', []))
self.add_compiler_args('d', dlist)
self.link_args = kwargs.get('link_args', [])