diff options
Diffstat (limited to 'ext/sidplay/meson.build')
-rw-r--r-- | ext/sidplay/meson.build | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/ext/sidplay/meson.build b/ext/sidplay/meson.build index 12fe4b23..6310652f 100644 --- a/ext/sidplay/meson.build +++ b/ext/sidplay/meson.build @@ -1,27 +1,38 @@ +sidplay_option = get_option('sidplay') +if sidplay_option.disabled() + subdir_done() +endif + +if not add_languages('cpp', native: false, required: sidplay_option) + subdir_done() +endif + +if not cxx.has_header('sidplay/player.h', required: sidplay_option) + subdir_done() +endif + +sidplay_dep = cxx.find_library('sidplay', required: sidplay_option) +if not sidplay_dep.found() + subdir_done() +endif + # sidplay plugin works with libsidplay 1.36.x (not 2.x.x) -have_sidplay = false -if have_cxx and not get_option('sidplay').disabled() - 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', required: get_option('sidplay')) - if sidplay_dep.found() - have_sidplay = cxx.compiles(sid_code, dependencies: sidplay_dep, name : 'sidplay') - endif +sid_code = '''#include <sidplay/player.h> + void somefunc (void) { + sidTune tune = sidTune(0); + }''' +if not cxx.compiles(sid_code, dependencies: sidplay_dep, name : 'sidplay usage') + if sidplay_option.enabled() + error('sidplay headers and libraries were found, but were not usable') endif + subdir_done() endif -if have_sidplay - gstsid = library('gstsid', 'gstsiddec.cc', - cpp_args : ugly_args, - include_directories : [configinc], - dependencies : [gstaudio_dep, sidplay_dep], - install : true, - install_dir : plugins_install_dir) - pkgconfig.generate(gstsid, install_dir : plugins_pkgconfig_install_dir) - plugins += [gstsid] -elif get_option('sidplay').enabled() - error('sidplay plugin enabled but dependencies not found') -endif +gstsid = library('gstsid', 'gstsiddec.cc', + cpp_args : ugly_args, + include_directories : [configinc], + dependencies : [gstaudio_dep, sidplay_dep], + install : true, + install_dir : plugins_install_dir) +pkgconfig.generate(gstsid, install_dir : plugins_pkgconfig_install_dir) +plugins += [gstsid] |