aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-05-10 21:01:06 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2014-05-10 21:01:06 +0300
commit0322579329d8a6a5251682f82b412feaef503c2f (patch)
tree62f883a06142197672013cc6d1575e5a170bc181
parentcdee05082b017b3f7d2e20c7ea0019778e670174 (diff)
downloadmeson-0322579329d8a6a5251682f82b412feaef503c2f.zip
meson-0322579329d8a6a5251682f82b412feaef503c2f.tar.gz
meson-0322579329d8a6a5251682f82b412feaef503c2f.tar.bz2
Can use external dependencies in Vala.
-rw-r--r--ninjabackend.py4
-rw-r--r--test cases/vala/3 dep/gioprog.vala8
-rw-r--r--test cases/vala/3 dep/meson.build9
3 files changed, 21 insertions, 0 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index 6aff044..8269304 100644
--- a/ninjabackend.py
+++ b/ninjabackend.py
@@ -16,6 +16,7 @@ import backends
import environment
import build
import mlog
+import dependencies
from meson_install import InstallData
from build import InvalidArguments
from coredata import MesonException
@@ -455,6 +456,9 @@ class NinjaBackend(backends.Backend):
relsc = os.path.join(self.get_target_dir(target), target.get_basename() + '.dir', sc)
rel_s = os.path.join(self.build_to_src, s)
flags += ['--deps', relsc + '.d']
+ for d in target.external_deps:
+ if isinstance(d, dependencies.PkgConfigDependency):
+ flags += ['--pkg', d.name]
generated_c += [relsc]
element = NinjaBuildElement(relsc, valac.get_language() + '_COMPILER', rel_s)
element.add_item('FLAGS', flags)
diff --git a/test cases/vala/3 dep/gioprog.vala b/test cases/vala/3 dep/gioprog.vala
new file mode 100644
index 0000000..969aa97
--- /dev/null
+++ b/test cases/vala/3 dep/gioprog.vala
@@ -0,0 +1,8 @@
+class GioProg {
+
+ public static int main(string[] args) {
+ var homedir = File.new_for_path(Environment.get_home_dir());
+ stdout.printf("Home directory as told by gio is " + homedir.get_path() + "\n");
+ return 0;
+ }
+}
diff --git a/test cases/vala/3 dep/meson.build b/test cases/vala/3 dep/meson.build
new file mode 100644
index 0000000..e6ffd07
--- /dev/null
+++ b/test cases/vala/3 dep/meson.build
@@ -0,0 +1,9 @@
+project('giotest', 'vala', 'c')
+
+glib = dependency('glib-2.0')
+gobject = dependency('gobject-2.0')
+gio = dependency('gio-2.0')
+
+e = executable('gioprog', 'gioprog.vala',
+deps : [glib, gobject, gio])
+test('giotest', e)