summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2018-12-16 00:56:50 +0000
committerSebastian Dröge <slomo@coaxion.net>2018-12-17 09:12:53 +0000
commit7c69abd9183bf5a4060eff74cd59967e9bee0b09 (patch)
tree7b1bc6f0fcdbb871bc6666f186f23f4d2b35c779
parentf102c61397d29ef82ac7ccbc3fc75ce397fbe7bf (diff)
downloadgstreamer-plugins-bad-7c69abd9183bf5a4060eff74cd59967e9bee0b09.tar.gz
meson: build gme plugin
-rw-r--r--ext/gme/meson.build23
-rw-r--r--ext/meson.build2
-rw-r--r--meson_options.txt1
3 files changed, 25 insertions, 1 deletions
diff --git a/ext/gme/meson.build b/ext/gme/meson.build
new file mode 100644
index 000000000..33c6e1bb2
--- /dev/null
+++ b/ext/gme/meson.build
@@ -0,0 +1,23 @@
+if get_option('gme').disabled()
+ subdir_done()
+endif
+
+have_gme = cc.has_header ('gme/gme.h')
+if have_gme
+ gme_dep = cc.find_library('gme', required: get_option('gme'))
+ have_gme = gme_dep.found()
+endif
+
+if have_gme
+ cdata.set('HAVE_LIBGME_ACCURACY', cc.has_function('gme_enable_accuracy', dependencies: gme_dep))
+ gstgme = library('gstgme', 'gstgme.c',
+ c_args: gst_plugins_bad_args,
+ include_directories: [configinc],
+ dependencies: [gstaudio_dep, gme_dep],
+ install: true,
+ install_dir: plugins_install_dir,
+ )
+ pkgconfig.generate(gstgme, install_dir: plugins_pkgconfig_install_dir)
+elif get_option('gme').enabled()
+ error('libgme plugin was enabled but required dependencies not found.')
+endif
diff --git a/ext/meson.build b/ext/meson.build
index e1350b43b..255e1c8f3 100644
--- a/ext/meson.build
+++ b/ext/meson.build
@@ -18,7 +18,7 @@ subdir('fdkaac')
subdir('flite')
subdir('fluidsynth')
subdir('gl')
-#subdir('gme')
+subdir('gme')
subdir('gsm')
subdir('hls')
subdir('iqa')
diff --git a/meson_options.txt b/meson_options.txt
index 6ac04747f..1ba732c26 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -99,6 +99,7 @@ option('fdkaac', type : 'feature', value : 'auto', description : 'Fraunhofer AAC
option('flite', type : 'feature', value : 'auto', description : 'Flite speech synthesizer source plugin')
option('fluidsynth', type : 'feature', value : 'auto', description : 'Fluidsynth MIDI decoder plugin')
option('gl', type : 'feature', value : 'auto', description : 'GStreamer OpenGL mixer plugin')
+option('gme', type : 'feature', value : 'auto', description : 'libgme gaming console music file decoder plugin')
option('gsm', type : 'feature', value : 'auto', description : 'GSM encoder/decoder plugin')
option('ipcpipeline', type : 'feature', value : 'auto', description : 'Inter-process communication plugin')
option('iqa', type : 'feature', value : 'auto', description : 'Image quality assessment plugin')