]> code.delx.au - pulseaudio/commitdiff
vala: move GLibMainLoop class into separate file to fix linker errors
authorAlexander Kurtz <kurtz.alex@googlemail.com>
Sat, 26 Mar 2011 11:26:46 +0000 (11:26 +0000)
committerColin Guthrie <cguthrie@mandriva.org>
Sat, 26 Mar 2011 11:26:57 +0000 (11:26 +0000)
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)

Makefile.am
vala/libpulse-mainloop-glib.deps [new file with mode: 0644]
vala/libpulse-mainloop-glib.vapi [new file with mode: 0644]
vala/libpulse.vapi

index 936e01910fc33b8c2bdc56b78e9e31d0d0eb61e0..6c88149ce4943f7a54be05dff6d1885ff2874932 100644 (file)
@@ -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 (file)
index 0000000..69bebf3
--- /dev/null
@@ -0,0 +1 @@
+libpulse
diff --git a/vala/libpulse-mainloop-glib.vapi b/vala/libpulse-mainloop-glib.vapi
new file mode 100644 (file)
index 0000000..a54cb45
--- /dev/null
@@ -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();
+        }
+}
index 8304911b7712bf453af9bc7fe473a173c946310a..4315988f141ebb3f6a9c6112350766a3ad234722 100644 (file)
@@ -878,16 +878,6 @@ namespace PulseAudio {
                 public bool in_thread();
         }
 
-        [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 {