libsndfile: Add dependency on BR2_LARGEFILE

libsndfile requires sizeof(sf_count_t) == 8, where sf_count_t is a
typedef alias for off_t. This is not true by default for all
tool-chains, which leads to a runtime assert failure in binaries
compiled against libsndfile. See:

  http://permalink.gmane.org/gmane.comp.audio.libsndfile.devel/229

Add a dependency on BR2_LARGEFILE for libsndfile, and a comment if
BR2_LARGEFILE is not selected.

[Thomas: rebased patch, added more propagation of the new
BR2_LARGEFILE dependency to gst-plugins-good and mpd.]

Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Ryan Mallon 2013-02-05 07:00:05 +00:00 committed by Peter Korsgaard
parent af3fdf3e7b
commit 8f8e537d43
6 changed files with 24 additions and 2 deletions

View File

@ -22,9 +22,13 @@ config BR2_PACKAGE_BLUEZ_UTILS_AUDIO
bool "audio support"
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_LIBSNDFILE
depends on BR2_LARGEFILE
help
Audio support
comment "bluez-utils audio requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE
config BR2_PACKAGE_BLUEZ_UTILS_USB
bool "USB support"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb

View File

@ -1,8 +1,15 @@
config BR2_PACKAGE_LIBSNDFILE
bool "libsndfile"
# The absence of largefile doesn't prevent libsndfile to
# build, but at runtime the code assumes that off_t is 64
# bits, and asserts if not.
depends on BR2_LARGEFILE
help
Libsndfile is a C library for reading and writing files containing
sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format)
through one standard library interface.
http://www.mega-nerd.com/libsndfile/
comment "libsndfile requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE

View File

@ -305,6 +305,10 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SDL
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_SNDFILE
bool "sndfile"
select BR2_PACKAGE_LIBSNDFILE
depends on BR2_LARGEFILE
comment "gst-plugins-bad-plugin-sndfile requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VCD
bool "vcd"

View File

@ -198,6 +198,7 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_OSS4
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"

View File

@ -41,6 +41,7 @@ config BR2_PACKAGE_MPD_AUDIOFILE
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
@ -105,10 +106,14 @@ config BR2_PACKAGE_MPD_LIBSAMPLERATE
config BR2_PACKAGE_MPD_LIBSNDFILE
bool "libsndfile"
select BR2_PACKAGE_LIBSNDFILE
depends on BR2_LARGEFILE
help
Enable libsndfile input/streaming support.
Select this if you want to play back WAV files.
comment "mpd-libsndfile requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE
config BR2_PACKAGE_MPD_MAD
bool "mad"
default y

View File

@ -7,6 +7,7 @@ config BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_LIBSNDFILE
select BR2_PACKAGE_SPEEX
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
depends on BR2_LARGEFILE
help
PulseAudio is a sound system for POSIX OSes, meaning that it
is a proxy for your sound applications. It allows you to do
@ -18,5 +19,5 @@ config BR2_PACKAGE_PULSEAUDIO
http://pulseaudio.org
comment "pulseaudio requires a toolchain with WCHAR and threads support"
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
comment "pulseaudio requires a toolchain with WCHAR, LARGEFILE and threads support"
depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS