aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2017-04-10 04:11:48 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2017-04-12 23:33:02 +0300
commitc52963cd16235ac4f6953fbbd33d257823331afa (patch)
tree0b3d3639ba3feab3bab6078893ee592d4a2a146c
parenteaaaee642132d3a568136dc740f74f8aaf4388b0 (diff)
downloadmeson-c52963cd16235ac4f6953fbbd33d257823331afa.zip
meson-c52963cd16235ac4f6953fbbd33d257823331afa.tar.gz
meson-c52963cd16235ac4f6953fbbd33d257823331afa.tar.bz2
vala: Allow installation into default directories
For generated headers, vapis, and GIRs. https://github.com/mesonbuild/meson/pull/1469#issuecomment-292814000
-rw-r--r--mesonbuild/backend/ninjabackend.py9
-rw-r--r--test cases/vala/7 shared library/installed_files.txt4
-rw-r--r--test cases/vala/7 shared library/lib/meson.build16
-rw-r--r--test cases/vala/9 gir/installed_files.txt2
-rw-r--r--test cases/vala/9 gir/meson.build2
5 files changed, 20 insertions, 13 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 848aa59..bce46f6 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1077,11 +1077,20 @@ int dummy;
args += ['--vapi', os.path.join('..', target.vala_vapi)]
valac_outputs.append(vapiname)
target.outputs += [target.vala_header, target.vala_vapi]
+ # Install header and vapi to default locations if user requests this
+ if len(target.install_dir) > 1 and target.install_dir[1] is True:
+ target.install_dir[1] = self.environment.get_includedir()
+ if len(target.install_dir) > 2 and target.install_dir[2] is True:
+ target.install_dir[2] = os.path.join(self.environment.get_datadir(), 'vala', 'vapi')
+ # Generate GIR if requested
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)
target.outputs.append(target.vala_gir)
+ # Install GIR to default location if requested by user
+ if len(target.install_dir) > 3 and target.install_dir[3] is True:
+ target.install_dir[3] = os.path.join(self.environment.get_datadir(), 'gir-1.0')
if self.get_option_for_target('werror', target):
args += valac.get_werror_args()
for d in target.get_external_deps():
diff --git a/test cases/vala/7 shared library/installed_files.txt b/test cases/vala/7 shared library/installed_files.txt
index 16ea442..f70e439 100644
--- a/test cases/vala/7 shared library/installed_files.txt
+++ b/test cases/vala/7 shared library/installed_files.txt
@@ -1,8 +1,8 @@
usr/lib/libinstalled_vala_lib.so
usr/lib/libinstalled_vala_all.so
usr/include/installed_vala_all.h
-usr/include/installed_vala_all_nolib.h
+usr/include/valah/installed_vala_all_nolib.h
usr/include/installed_vala_onlyh.h
usr/share/vala/vapi/installed_vala_all.vapi
-usr/share/vala/vapi/installed_vala_all_nolib.vapi
+usr/share/vala-1.0/vapi/installed_vala_all_nolib.vapi
usr/share/vala/vapi/installed_vala_onlyvapi.vapi
diff --git a/test cases/vala/7 shared library/lib/meson.build b/test cases/vala/7 shared library/lib/meson.build
index bb1e800..78646a8 100644
--- a/test cases/vala/7 shared library/lib/meson.build
+++ b/test cases/vala/7 shared library/lib/meson.build
@@ -7,27 +7,21 @@ shared_library('installed_vala_lib', 'mylib.vala',
shared_library('installed_vala_all', 'mylib.vala',
dependencies : valadeps,
install : true,
- install_dir : [true,
- join_paths(get_option('prefix'), get_option('includedir')),
- join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi')])
+ install_dir : [true, true, true])
shared_library('installed_vala_all_nolib', 'mylib.vala',
dependencies : valadeps,
install : true,
install_dir : [false,
- join_paths(get_option('prefix'), get_option('includedir')),
- join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi')])
+ join_paths(get_option('includedir'), 'valah'),
+ join_paths(get_option('datadir'), 'vala-1.0', 'vapi')])
shared_library('installed_vala_onlyh', 'mylib.vala',
dependencies : valadeps,
install : true,
- install_dir : [false,
- join_paths(get_option('prefix'), get_option('includedir')),
- false])
+ install_dir : [false, get_option('includedir'), false])
shared_library('installed_vala_onlyvapi', 'mylib.vala',
dependencies : valadeps,
install : true,
- install_dir : [false,
- false,
- join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi')])
+ install_dir : [false, false, join_paths(get_option('datadir'), 'vala', 'vapi')])
diff --git a/test cases/vala/9 gir/installed_files.txt b/test cases/vala/9 gir/installed_files.txt
new file mode 100644
index 0000000..7a0e055
--- /dev/null
+++ b/test cases/vala/9 gir/installed_files.txt
@@ -0,0 +1,2 @@
+usr/lib/libfoo.so
+usr/share/gir-1.0/Foo-1.0.gir
diff --git a/test cases/vala/9 gir/meson.build b/test cases/vala/9 gir/meson.build
index c0a8f54..1a09bec 100644
--- a/test cases/vala/9 gir/meson.build
+++ b/test cases/vala/9 gir/meson.build
@@ -5,6 +5,8 @@ gobject = dependency('gobject-2.0')
g_ir_compiler = find_program('g-ir-compiler')
foo = shared_library('foo', 'foo.vala',
+ install : true,
+ install_dir : [true, false, false, true],
vala_gir: 'Foo-1.0.gir',
dependencies: [glib, gobject])