From: Tim-Philipp Müller Date: Sun, 16 Dec 2018 18:07:48 +0000 (+0000) Subject: meson: build wildmidi plugin X-Git-Tag: 1.19.3~507^2~3704 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4130b087767957334237404e7d1743a4dc2f2552;p=platform%2Fupstream%2Fgstreamer.git meson: build wildmidi plugin --- diff --git a/ext/meson.build b/ext/meson.build index 9e718e2..9a5230c 100644 --- a/ext/meson.build +++ b/ext/meson.build @@ -52,7 +52,6 @@ subdir('spandsp') subdir('srt') subdir('srtp') #subdir('teletextdec') -#subdir('wildmidi') subdir('ttml') subdir('voaacenc') #subdir('voamrwbenc') @@ -61,6 +60,7 @@ subdir('wayland') subdir('webrtc') subdir('webrtcdsp') subdir('webp') +subdir('wildmidi') subdir('wpe') subdir('x265') subdir('zbar') diff --git a/ext/wildmidi/meson.build b/ext/wildmidi/meson.build new file mode 100644 index 0000000..902e066 --- /dev/null +++ b/ext/wildmidi/meson.build @@ -0,0 +1,32 @@ +if get_option('wildmidi').disabled() + subdir_done() +endif + +# Recent versions ship a pkg-config file, so try that first +wildmidi_dep = dependency('WildMIDI', version: '>= 0.4.2', required: false) + +if not wildmidi_dep.found() and cc.has_header ('wildmidi_lib.h') + wildmidi_ver_maj = cc.get_define('LIBWILDMIDI_VER_MAJOR', prefix: '#include ') + wildmidi_ver_min = cc.get_define('LIBWILDMIDI_VER_MINOR', prefix: '#include ') + wildmidi_ver_maj = ''.join(wildmidi_ver_maj.split('L')).to_int() # '0L' -> 0 + wildmidi_ver_min = ''.join(wildmidi_ver_min.split('L')).to_int() # '4L' -> 4 + if wildmidi_ver_maj == 0 and wildmidi_ver_min >= 4 + wildmidi_dep = cc.find_library('WildMidi', required: false) + else + message('WildMidi version too old, need >= 0.4.x') + endif +endif + +if wildmidi_dep.found() + gstwildmidi = library('gstwildmidi', + 'gstwildmididec.c', + c_args: gst_plugins_bad_args, + include_directories: [configinc], + dependencies: [gstaudio_dep, gstbadaudio_dep, wildmidi_dep], + install: true, + install_dir: plugins_install_dir, + ) + pkgconfig.generate(gstwildmidi, install_dir: plugins_pkgconfig_install_dir) +elif get_option('wildmidi').enabled() + error('WildMidi plugin explicitly enabled, but required library or headers not found.') +endif diff --git a/meson_options.txt b/meson_options.txt index e8d2ca9..b2cadd6 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -144,6 +144,7 @@ option('wasapi', type : 'feature', value : 'auto', description : 'Windows Audio option('webp', type : 'feature', value : 'auto', description : 'WebP image codec plugin') option('webrtc', type : 'feature', value : 'auto', description : 'WebRTC audio/video network bin plugin') option('webrtcdsp', type : 'feature', value : 'auto', description : 'Plugin with various audio filters provided by the WebRTC audio processing library') +option('wildmidi', type : 'feature', value : 'auto', description : 'WildMidi midi soft synth plugin') option('winks', type : 'feature', value : 'auto', description : 'Windows Kernel Streaming video source plugin') option('winscreencap', type : 'feature', value : 'auto', description : 'Windows Screen Capture video source plugin') option('x265', type : 'feature', value : 'auto', description : 'HEVC/H.265 video encoder plugin')