libsndfile: Add dependency on BR2_LARGEFILE
authorRyan Mallon <rmallon@gmail.com>
Tue, 5 Feb 2013 07:00:05 +0000 (07:00 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Tue, 5 Feb 2013 20:45:05 +0000 (21:45 +0100)
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>
package/bluez_utils/Config.in
package/libsndfile/Config.in
package/multimedia/gst-plugins-bad/Config.in
package/multimedia/gst-plugins-good/Config.in
package/multimedia/mpd/Config.in
package/multimedia/pulseaudio/Config.in

index 7ca23fcba8055566b4ad0372285c549530c19980..72b900c38e8d8aef28394ff953ed79d760c8f604 100644 (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
index 9afe4966c0a958e6f687a6d78c7825cd51dd3ae8..cdba70bad8ebc4d26840498651dccc780d0192d2 100644 (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
index 8cbe021c60bd3e339957a9aac4b08dc8b8ac9466..370259bbfa3c6f44e3ad0b5cbf638b38d45171ca 100644 (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"
index 1498ed01078a0f93946963f49a6103526c4c1a18..978aa0b32801e1c3908974e47ec8252bb03076c8 100644 (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"
 
index 2e447418a94d2f0ce9944ff1d043bb28d83b6779..6e5c6900bb6a4508322787ede193bd31f8695908 100644 (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
index eeb8b5ab07d6f4df63a58c00cdc107873bcbd6c5..03c26137e52eae811b41cda73d328bf99f725529 100644 (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