madplay: fix build on noMMU platforms
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 7 Dec 2016 22:24:07 +0000 (23:24 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 7 Dec 2016 22:24:07 +0000 (23:24 +0100)
A recent change in uClibc-ng removed the MADV_* definitions for
madvise(), but kept the madvise() function itself. This defeats the
logic used in madplay: it checks if madvise() is available, and if it
is, uses it and assumes the MADV_* definitions exist.

This inconsistency has been reported to upstream uClibc-ng, but in the
mean time, we can simply tell madplay to not use madvise(), which is
anyway useless on noMMU platforms.

Fixes:

  http://autobuild.buildroot.net/results/3291554ea013e5f4a8f3447e10e664dffa8b131b/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/madplay/madplay.mk

index 2606ac8d6634e4f54e5faa618aa837fa8aba2631..6b13819754852a98d7cfbeeb5a328fa1eb7eb0a9 100644 (file)
@@ -11,6 +11,14 @@ MADPLAY_LICENSE_FILES = COPYING COPYRIGHT
 MADPLAY_LIBTOOL_PATCH = NO
 MADPLAY_DEPENDENCIES = libmad libid3tag $(if $(BR2_PACKAGE_GETTEXT),gettext)
 
+# Workaround a bug in uClibc-ng, which exposes madvise() but doesn't
+# provide the corresponding MADV_* definitions. Bug reported at
+# http://mailman.uclibc-ng.org/pipermail/devel/2016-December/001306.html. madvise()
+# is anyway useless on noMMU.
+ifeq ($(BR2_USE_MMU),)
+MADPLAY_CONF_ENV += ac_cv_func_madvise=no
+endif
+
 # Check if ALSA is built, then we should configure after alsa-lib so
 # ./configure can find alsa-lib.
 ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y)