gstreamer/subprojects/gst-plugins-base/ext/cdparanoia/meson.build
Jordan Petridis 75872c802b cdparanoia: Ignore compiler warning coming from the cdparanoia header
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>
2022-10-19 08:18:45 +00:00

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