summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kurtz <kurtz.alex@googlemail.com>2011-03-26 11:26:46 +0000
committerColin Guthrie <cguthrie@mandriva.org>2011-03-26 11:33:54 +0000
commit64985aa9bb46b447973f4051d065afd9035e48ca (patch)
tree90c6f84e8b6721cd78148bc3386433bc98ff1950
parentea0a2a603c970a5ae59a3b2a49ed189997c91ece (diff)
vala: move GLibMainLoop class into separate file to fix linker errors
Vala uses the name of the *.vapi file to determine the libraries to link against. Since the pa_glib_mainloop_*() functions are in a separate library (libpulse-mainloop-glib.so) the corresponding objects in the Vala bindings have to be in a separate *.vapi file. If you are compiling an app without the GLib integration you could use: $ valac --pkg=libpulse test.vala but if you do use GLib you can use: $ valac --pkg=libpulse-mainloop-glib test.vala (libpulse is a dep of the libpulse-mainloop-glib so no need to specify it explicitly)
-rw-r--r--Makefile.am8
-rw-r--r--vala/libpulse-mainloop-glib.deps1
-rw-r--r--vala/libpulse-mainloop-glib.vapi13
-rw-r--r--vala/libpulse.vapi10
4 files changed, 20 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am
index 3439c89b..c764f187 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,7 +29,9 @@ EXTRA_DIST = \
README \
todo \
vala/libpulse.deps \
- vala/libpulse.vapi
+ vala/libpulse.vapi \
+ vala/libpulse-mainloop-glib.deps \
+ vala/libpulse-mainloop-glib.vapi
SUBDIRS = src doxygen man po
@@ -37,7 +39,9 @@ MAINTAINERCLEANFILES =
noinst_DATA =
vapidir = $(datadir)/vala/vapi
-vapi_DATA = vala/libpulse.deps vala/libpulse.vapi
+vapi_DATA = \
+ vala/libpulse.deps vala/libpulse.vapi \
+ libpulse-mainloop-glib.deps libpulse-mainloop-glib.vapi
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libpulse.pc libpulse-simple.pc
diff --git a/vala/libpulse-mainloop-glib.deps b/vala/libpulse-mainloop-glib.deps
new file mode 100644
index 00000000..69bebf33
--- /dev/null
+++ b/vala/libpulse-mainloop-glib.deps
@@ -0,0 +1 @@
+libpulse
diff --git a/vala/libpulse-mainloop-glib.vapi b/vala/libpulse-mainloop-glib.vapi
new file mode 100644
index 00000000..a54cb458
--- /dev/null
+++ b/vala/libpulse-mainloop-glib.vapi
@@ -0,0 +1,13 @@
+using GLib;
+
+namespace PulseAudio {
+ [Compact]
+ [CCode (cheader_filename="pulse/glib-mainloop.h", cname="pa_glib_mainloop", cprefix="pa_glib_mainloop_", free_function="pa_glib_mainloop_free")]
+ public class GLibMainLoop {
+
+ [CCode (cname="pa_glib_mainloop_new")]
+ public GLibMainLoop(MainContext? c = null);
+
+ public unowned MainLoopApi get_api();
+ }
+}
diff --git a/vala/libpulse.vapi b/vala/libpulse.vapi
index 8304911b..4315988f 100644
--- a/vala/libpulse.vapi
+++ b/vala/libpulse.vapi
@@ -879,16 +879,6 @@ namespace PulseAudio {
}
[Compact]
- [CCode (cheader_filename="pulse/glib-mainloop.h", cname="pa_glib_mainloop", cprefix="pa_glib_mainloop_", free_function="pa_glib_mainloop_free")]
- public class GLibMainLoop {
-
- [CCode (cname="pa_glib_mainloop_new")]
- public GLibMainLoop(MainContext? c = null);
-
- public unowned MainLoopApi get_api();
- }
-
- [Compact]
[CCode (cname="pa_operation", cprefix="pa_operation_", unref_function="pa_operation_unref", ref_function="pa_operation_ref")]
public class Operation {