meson: build sid plugin
authorTim-Philipp Müller <tim@centricular.com>
Fri, 23 Jun 2017 17:33:24 +0000 (18:33 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 23 Jun 2017 17:34:14 +0000 (18:34 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=784135

ext/meson.build
ext/sidplay/meson.build [new file with mode: 0644]

index 6c5a176..dc3536d 100644 (file)
@@ -6,6 +6,6 @@ subdir('dvdread')
 subdir('lame')
 subdir('mpeg2dec')
 subdir('mpg123')
-#subdir('sidplay') # FIXME
+subdir('sidplay')
 subdir('twolame')
 subdir('x264')
diff --git a/ext/sidplay/meson.build b/ext/sidplay/meson.build
new file mode 100644 (file)
index 0000000..ebc2a2a
--- /dev/null
@@ -0,0 +1,25 @@
+# sidplay plugin works with libsidplay 1.36.x (not 2.x.x)
+have_sidplay = false
+if add_languages('cpp')
+  cxx = meson.get_compiler('cpp')
+
+  if cxx.has_header('sidplay/player.h')
+    sid_code = '''#include <sidplay/player.h>
+                  void somefunc (void) {
+                    sidTune tune = sidTune(0);
+                  }'''
+    sidplay_dep = cxx.find_library('sidplay')
+    if sidplay_dep.found()
+      have_sidplay = cxx.compiles(sid_code, dependencies: sidplay_dep, name : 'sidplay')
+    endif
+  endif
+endif
+
+if have_sidplay
+  shared_module('gstsid', 'gstsiddec.cc',
+    cpp_args : ugly_args,
+    include_directories : [configinc],
+    dependencies : [gstaudio_dep, sidplay_dep],
+    install : true,
+    install_dir : plugins_install_dir)
+endif