summaryrefslogtreecommitdiff
path: root/ext/sidplay/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sidplay/meson.build')
-rw-r--r--ext/sidplay/meson.build57
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]