mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
When trying to build the plugin, GCC starts complaining about issues with one of the cdparanoia headers and it block us from being able to build the plugin with Werror. The current warning in the header look like this: ``` [1/2] Compiling C object subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so.p/gstcdparanoiasrc.c.o In file included from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.h:37, from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.c:31: /usr/include/cdda/cdda_interface.h:164:3: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 164 | "Success", | ^~~~~~~~~ ... /usr/include/cdda/cdda_interface.h:163:14: warning: ‘strerror_tr’ defined but not used [-Wunused-variable] 163 | static char *strerror_tr[]={ | ^~~~~~~~~~~ [2/2] Linking target subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so ``` Last release of cdparanoia was in 2008, so our best bet for the time is to ignore the warnings. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2722>
50 lines
1.7 KiB
Meson
50 lines
1.7 KiB
Meson
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-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
|