Commit c129ca9f authored by Max Kellermann's avatar Max Kellermann

lib/xiph/VorbisComments: move to separate static library

This also reverts the previous commit which was wrong. When the Vorbis decoder is disabled, we can't compile VorbisComments.cxx at all. Instead of expanding the #ifdef, this commit moves VorbisComments.cxx to a separate library with dependencies on libvorbis (which was missing previously, which could also lead to build failures if the libvorbis headers were in a non-standard directory).
parent 1e034577
...@@ -36,9 +36,9 @@ if flac_dep.found() ...@@ -36,9 +36,9 @@ if flac_dep.found()
] ]
endif endif
conf.set('ENABLE_VORBIS_DECODER', libvorbis_dep.found() or libvorbisidec_dep.found()) conf.set('ENABLE_VORBIS_DECODER', vorbis_dep.found())
conf.set('HAVE_TREMOR', libvorbisidec_dep.found()) conf.set('HAVE_TREMOR', libvorbisidec_dep.found())
if libvorbis_dep.found() or libvorbisidec_dep.found() if vorbis_dep.found()
decoder_plugins_sources += [ decoder_plugins_sources += [
'VorbisDecoderPlugin.cxx', 'VorbisDecoderPlugin.cxx',
'VorbisDomain.cxx', 'VorbisDomain.cxx',
...@@ -181,8 +181,7 @@ decoder_plugins = static_library( ...@@ -181,8 +181,7 @@ decoder_plugins = static_library(
libopus_dep, libopus_dep,
libsidplay_dep, libsidplay_dep,
libsndfile_dep, libsndfile_dep,
libvorbis_dep, vorbis_dep,
libvorbisidec_dep,
ogg_dep, ogg_dep,
wavpack_dep, wavpack_dep,
wildmidi_dep, wildmidi_dep,
......
...@@ -29,8 +29,6 @@ ...@@ -29,8 +29,6 @@
#include "util/StringView.hxx" #include "util/StringView.hxx"
#include "config.h" #include "config.h"
#ifdef ENABLE_VORBIS_DECODER
#ifndef HAVE_TREMOR #ifndef HAVE_TREMOR
#include <vorbis/codec.h> #include <vorbis/codec.h>
#else #else
...@@ -65,8 +63,6 @@ VorbisCommentToReplayGain(ReplayGainInfo &rgi, ...@@ -65,8 +63,6 @@ VorbisCommentToReplayGain(ReplayGainInfo &rgi,
return found; return found;
} }
#endif /* ENABLE_VORBIS_DECODER */
static void static void
vorbis_scan_comment(StringView comment, TagHandler &handler) noexcept vorbis_scan_comment(StringView comment, TagHandler &handler) noexcept
{ {
......
...@@ -40,6 +40,7 @@ endif ...@@ -40,6 +40,7 @@ endif
if not libogg_dep.found() and not libflac_dep.found() if not libogg_dep.found() and not libflac_dep.found()
xiph_dep = dependency('', required: false) xiph_dep = dependency('', required: false)
ogg_dep = dependency('', required: false) ogg_dep = dependency('', required: false)
vorbis_dep = dependency('', required: false)
flac_dep = dependency('', required: false) flac_dep = dependency('', required: false)
subdir_done() subdir_done()
endif endif
...@@ -82,6 +83,29 @@ else ...@@ -82,6 +83,29 @@ else
ogg_dep = dependency('', required: false) ogg_dep = dependency('', required: false)
endif endif
if libvorbis_dep.found() or libvorbisidec_dep.found()
vorbis = static_library(
'vorbis',
'VorbisComments.cxx',
include_directories: inc,
dependencies: [
libvorbis_dep,
libvorbisidec_dep,
],
)
vorbis_dep = declare_dependency(
link_with: vorbis,
dependencies: [
ogg_dep,
libvorbis_dep,
libvorbisidec_dep,
],
)
else
vorbis_dep = dependency('', required: false)
endif
if libflac_dep.found() if libflac_dep.found()
flac = static_library( flac = static_library(
'flac', 'flac',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment