gstreamer/subprojects/gst-plugins-ugly/ext/sidplay/meson.build
Tim-Philipp Müller d4bdbeaa0d meson: add 'gpl' option and only build plugins with (A)GPL deps if explicitly enabled
Require explicit opt-in to build plugins with (A)GPL dependencies.

Keep ugly/bad options on 'auto' for now so cerbero doesn't fail.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01:00

39 lines
1.2 KiB
Meson

sidplay_option = get_option('sidplay').require(gpl_allowed, error_message: '''
Plugin sidplay explicitly required via options but GPL-licensed plugins disabled via options.
Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built.
''')
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)
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
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]