cdparanoia_deps = [] cdparanoia_found = false cdparanoia_option = get_option('cdparanoia') if cdparanoia_option.disabled() subdir_done() endif # cdparanoia upstream has a pkg-config file only in post-10.2 SVN so far, no release yet cdparanoia_dep = dependency('cdparanoia-3', version : '>=10.2', required : false) if cdparanoia_dep.found() cdparanoia_deps = [cdparanoia_dep] cdparanoia_found = true else cdparanoia_dep = cc.find_library('cdda_paranoia', required : cdparanoia_option) cdinterface_dep = cc.find_library('cdda_interface', required : cdparanoia_option) if cdparanoia_dep.found() and cdinterface_dep.found() cdparanoia_deps = [cdparanoia_dep, cdinterface_dep] cdparanoia_found = true if cc.has_header_symbol('cdda/cdda_interface.h', 'cdda_open') core_conf.set('CDPARANOIA_HEADERS_IN_DIR', true) elif cc.has_header_symbol('cdda_interface.h', 'cdda_open') core_conf.set('CDPARANOIA_HEADERS_IN_DIR', false) endif endif endif if not cdparanoia_found and cdparanoia_option.enabled() error('cdparanoia plugin enabled but library not found') endif if cdparanoia_found # The cdda/cdda_interface.h header triggers GCC 12+ warnings which # then trickle down when we build the plugin with -Werror. # This wouldn't be needed usually, but cdparanoia's last release # was in 2008. extra_args = cc.get_supported_arguments([ '-Wno-discarded-qualifiers', '-Wno-incompatible-pointer-types-discards-qualifiers', '-Wno-unused-variable' ]) gstcdparanoia = library('gstcdparanoia', ['gstcdparanoiasrc.c'], include_directories: [configinc, libsinc], c_args : gst_plugins_base_args + extra_args, dependencies : cdparanoia_deps + [audio_dep, gst_dep, gst_base_dep], install : true, install_dir : plugins_install_dir, ) plugins += [gstcdparanoia] endif