diff options
author | Patrick Griffis <tingping@tingping.se> | 2016-10-04 16:22:52 -0400 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2016-10-21 02:23:54 -0400 |
commit | bae7d7b3d7ed524083455d451c87fcb1b1e2854f (patch) | |
tree | ca20661c818d3c9b3e82cd1f58fe097affdc286c /test cases/vala | |
parent | 263cb6a5f0dcbffdf25e159b3bfa07988838aae9 (diff) | |
download | meson-bae7d7b3d7ed524083455d451c87fcb1b1e2854f.zip meson-bae7d7b3d7ed524083455d451c87fcb1b1e2854f.tar.gz meson-bae7d7b3d7ed524083455d451c87fcb1b1e2854f.tar.bz2 |
gnome: Add generate_vapi() function
This allows C projects to generate vapi bindings from
gir files and returns a dependency that can be used by
Vala.
Diffstat (limited to 'test cases/vala')
-rw-r--r-- | test cases/vala/12 generated vapi/installed_files.txt | 7 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libbar/bar.c | 12 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libbar/bar.h | 5 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libbar/meson.build | 33 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libfoo/foo.c | 11 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libfoo/foo.h | 5 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/libfoo/meson.build | 36 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/main.vala | 9 | ||||
-rw-r--r-- | test cases/vala/12 generated vapi/meson.build | 13 |
9 files changed, 131 insertions, 0 deletions
diff --git a/test cases/vala/12 generated vapi/installed_files.txt b/test cases/vala/12 generated vapi/installed_files.txt new file mode 100644 index 0000000..5993d01 --- /dev/null +++ b/test cases/vala/12 generated vapi/installed_files.txt @@ -0,0 +1,7 @@ +usr/bin/vapigen-test +usr/lib/libfoo.so +usr/lib/libbar.so +usr/share/vala/vapi/foo-1.0.vapi +usr/share/vala/vapi/foo-1.0.deps +usr/share/vala/vapi/bar-1.0.vapi +usr/share/vala/vapi/bar-1.0.deps diff --git a/test cases/vala/12 generated vapi/libbar/bar.c b/test cases/vala/12 generated vapi/libbar/bar.c new file mode 100644 index 0000000..f0f5cb8 --- /dev/null +++ b/test cases/vala/12 generated vapi/libbar/bar.c @@ -0,0 +1,12 @@ +#include "bar.h" +#include "foo.h" + +/** + * bar_return_success: + * + * Returns 0 + */ +int bar_return_success(void) +{ + return foo_return_success(); +} diff --git a/test cases/vala/12 generated vapi/libbar/bar.h b/test cases/vala/12 generated vapi/libbar/bar.h new file mode 100644 index 0000000..165b104 --- /dev/null +++ b/test cases/vala/12 generated vapi/libbar/bar.h @@ -0,0 +1,5 @@ +#include <glib-object.h> + +#pragma once + +int bar_return_success(void); diff --git a/test cases/vala/12 generated vapi/libbar/meson.build b/test cases/vala/12 generated vapi/libbar/meson.build new file mode 100644 index 0000000..6482504 --- /dev/null +++ b/test cases/vala/12 generated vapi/libbar/meson.build @@ -0,0 +1,33 @@ +libbar_sources = [ + 'bar.c', + 'bar.h', +] + +libbar_deps = [ + dependency('gobject-2.0'), + libfoo_dep, +] + +libbar = shared_library('bar', libbar_sources, + dependencies: libbar_deps, + install: true, +) + +libbar_api_ver = '1.0' + +libbar_gir = gnome.generate_gir(libbar, + sources: libbar_sources, + namespace: 'Bar', + nsversion: libbar_api_ver, + packages: 'gobject-2.0', + symbol_prefix: 'bar', + extra_args: [ + '--c-include=bar.h', + ], +) + +libbar_vapi = gnome.generate_vapi('bar-' + libbar_api_ver, + sources: libbar_gir[0], + packages: libfoo_vapi, + install: true, +) diff --git a/test cases/vala/12 generated vapi/libfoo/foo.c b/test cases/vala/12 generated vapi/libfoo/foo.c new file mode 100644 index 0000000..0413ac5 --- /dev/null +++ b/test cases/vala/12 generated vapi/libfoo/foo.c @@ -0,0 +1,11 @@ +#include "foo.h" + +/** + * foo_return_success: + * + * Returns 0 + */ +int foo_return_success(void) +{ + return 0; +} diff --git a/test cases/vala/12 generated vapi/libfoo/foo.h b/test cases/vala/12 generated vapi/libfoo/foo.h new file mode 100644 index 0000000..f09256d --- /dev/null +++ b/test cases/vala/12 generated vapi/libfoo/foo.h @@ -0,0 +1,5 @@ +#include <glib-object.h> + +#pragma once + +int foo_return_success(void); diff --git a/test cases/vala/12 generated vapi/libfoo/meson.build b/test cases/vala/12 generated vapi/libfoo/meson.build new file mode 100644 index 0000000..482c8fe --- /dev/null +++ b/test cases/vala/12 generated vapi/libfoo/meson.build @@ -0,0 +1,36 @@ +libfoo_sources = [ + 'foo.c', + 'foo.h', +] + +libfoo_deps = [ + dependency('gobject-2.0') +] + +libfoo = shared_library('foo', libfoo_sources, + dependencies: libfoo_deps, + install: true, +) + +libfoo_api_ver = '1.0' + +libfoo_gir = gnome.generate_gir(libfoo, + sources: libfoo_sources, + namespace: 'Foo', + nsversion: libfoo_api_ver, + packages: 'gobject-2.0', + symbol_prefix: 'foo', + extra_args: [ + '--c-include=foo.h', + ], +) + +libfoo_vapi = gnome.generate_vapi('foo-' + libfoo_api_ver, + sources: libfoo_gir[0], + install: true, +) + +libfoo_dep = declare_dependency( + link_with: libfoo, + include_directories: include_directories('.'), +) diff --git a/test cases/vala/12 generated vapi/main.vala b/test cases/vala/12 generated vapi/main.vala new file mode 100644 index 0000000..303ab33 --- /dev/null +++ b/test cases/vala/12 generated vapi/main.vala @@ -0,0 +1,9 @@ +using Foo; +using Bar; + +class Main : GLib.Object { + public static int main(string[] args) { + var ignore = Foo.return_success(); + return Bar.return_success(); + } +} diff --git a/test cases/vala/12 generated vapi/meson.build b/test cases/vala/12 generated vapi/meson.build new file mode 100644 index 0000000..82f0c44 --- /dev/null +++ b/test cases/vala/12 generated vapi/meson.build @@ -0,0 +1,13 @@ +project('vapi-test', ['c', 'vala']) + +gnome = import('gnome') +subdir('libfoo') +subdir('libbar') + +vapiexe = executable('vapigen-test', + 'main.vala', + dependencies: [dependency('gobject-2.0'), libbar_vapi], + install: true, +) + +test('vapigen-test', vapiexe) |