libao: Remove OSS plugin when ALSA is enabled

At runtime, libao will load all plugins, even ones that will never be used.
Since libao will prefer ALSA over OSS by default anyway, it is pretty safe
to exclude the OSS plugin.

There is no configure option for disabling the OSS plugin, so we remove
the shared object in a post-install hook.

Also disable alsa oss emulation workaround as it no longer will be used with
alsa.

[Peter: explain why --disable-broken-oss is passed]
Signed-Off-By: Maarten ter Huurne <maarten@treewalker.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Maarten ter Huurne 2014-04-08 19:45:07 +02:00 committed by Peter Korsgaard
parent 230b1efb02
commit a889c72cc8

View File

@ -11,11 +11,17 @@ LIBAO_INSTALL_STAGING = YES
LIBAO_LICENSE = GPLv2+
LIBAO_LICENSE_FILES = COPYING
LIBAO_CONF_OPT = --disable-esd --disable-wmm --disable-arts \
--disable-nas --disable-pulse
--disable-nas --disable-pulse --disable-broken-oss
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
LIBAO_DEPENDENCIES += alsa-lib
LIBAO_CONF_OPT += --enable-alsa --enable-alsa-mmap
# Remove the OSS plugin if ALSA is enabled, as libao will prefer ALSA anyway
define LIBAO_REMOVE_OSS_PLUGIN
rm -f $(TARGET_DIR)/usr/lib/ao/plugins-4/liboss.so
endef
LIBAO_POST_INSTALL_TARGET_HOOKS += LIBAO_REMOVE_OSS_PLUGIN
else
LIBAO_CONF_OPT += --disable-alsa
endif