mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 03:30:35 +00:00
d4bdbeaa0d
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>
38 lines
1.2 KiB
Meson
38 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]
|