From c728daee4385893822534b3cebc2c6d165c17682221d9185c23ff035eed2a638 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 13 Dec 2012 09:22:05 +0000 Subject: [PATCH] Accepting request 145255 from home:tiwai:branches:multimedia:libs - 0041-configure-Quite-AM_CONDITIONAL-arguments.patch: Fix for the recent automake conditionals - 0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch: Minor fix for the build without libdl - Fix endian check breakage due to the recent UAPI header move: 0043-Fix-endian-check-in-local.h.patch OBS-URL: https://build.opensuse.org/request/show/145255 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=121 --- ...igure-Quite-AM_CONDITIONAL-arguments.patch | 180 ++++++++++++++++++ ...d-simple_abst-when-no-libdl-is-avail.patch | 53 ++++++ 0043-Fix-endian-check-in-local.h.patch | 55 ++++++ alsa.changes | 10 + alsa.spec | 6 + 5 files changed, 304 insertions(+) create mode 100644 0041-configure-Quite-AM_CONDITIONAL-arguments.patch create mode 100644 0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch create mode 100644 0043-Fix-endian-check-in-local.h.patch diff --git a/0041-configure-Quite-AM_CONDITIONAL-arguments.patch b/0041-configure-Quite-AM_CONDITIONAL-arguments.patch new file mode 100644 index 0000000..3b90994 --- /dev/null +++ b/0041-configure-Quite-AM_CONDITIONAL-arguments.patch @@ -0,0 +1,180 @@ +From 8d14698931d6c319c42c4bc39886e92d13d19f1e Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Fri, 7 Dec 2012 09:27:11 +0100 +Subject: [PATCH 41/43] configure: Quite AM_CONDITIONAL() arguments + +Otherwise it won't be processed properly with the recent automake. + +Signed-off-by: Takashi Iwai +--- + configure.in | 91 ++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 46 insertions(+), 45 deletions(-) + +diff --git a/configure.in b/configure.in +index 383f5de..e397dad 100644 +--- a/configure.in ++++ b/configure.in +@@ -15,7 +15,7 @@ AC_CANONICAL_HOST + AM_INIT_AUTOMAKE(alsa-lib, 1.0.26) + eval LIBTOOL_VERSION_INFO="2:0:0" + dnl ************************************************* +-AM_CONDITIONAL(INSTALL_M4, test -n "${ACLOCAL}") ++AM_CONDITIONAL([INSTALL_M4], [test -n "${ACLOCAL}"]) + + # Test for new silent rules and enable only if they are available + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +@@ -63,7 +63,7 @@ AC_HEADER_TIME + dnl Checks for library functions. + AC_PROG_GCC_TRADITIONAL + AC_CHECK_FUNC([hsearch_r], [HAVE_HSEARCH_R=yes]) +-AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes]) ++AM_CONDITIONAL([ALSA_HSEARCH_R], [test "x$HAVE_HSEARCH_R" != xyes]) + AC_CHECK_FUNCS([uselocale]) + + SAVE_LIBRARY_VERSION +@@ -161,7 +161,7 @@ if test "$versioned" = "yes"; then + else + AC_MSG_RESULT(no) + fi +-AM_CONDITIONAL(VERSIONED_SYMBOLS, test x$versioned = xyes) ++AM_CONDITIONAL([VERSIONED_SYMBOLS], [test x$versioned = xyes]) + + dnl Check for symbolic-functions + AC_MSG_CHECKING(for symbolic-functions) +@@ -179,7 +179,7 @@ if test "$symfuncs" = "yes"; then + else + AC_MSG_RESULT(no) + fi +-AM_CONDITIONAL(SYMBOLIC_FUNCTIONS, test x"$symfuncs" = xyes) ++AM_CONDITIONAL([SYMBOLIC_FUNCTIONS], [test x"$symfuncs" = xyes]) + + dnl See if toolchain has a custom prefix for symbols ... + AC_MSG_CHECKING(for custom symbol prefixes) +@@ -254,6 +254,7 @@ AC_MSG_CHECKING(for libdl) + AC_ARG_WITH(libdl, + AS_HELP_STRING([--with-libdl], [Use libdl for plugins (default = yes)]), + [ have_libdl="$withval" ], [ have_libdl="yes" ]) ++HAVE_LIBDL= + if test "$have_libdl" = "yes"; then + AC_CHECK_LIB([dl], [dlsym], [HAVE_LIBDL="yes"]) + if test "$HAVE_LIBDL" = "yes" ; then +@@ -263,7 +264,7 @@ if test "$have_libdl" = "yes"; then + else + AC_MSG_RESULT(no) + fi +-AM_CONDITIONAL(BUILD_MODULES, test "$HAVE_LIBDL"="yes") ++AM_CONDITIONAL([BUILD_MODULES], [test "$HAVE_LIBDL" = "yes"]) + + dnl Check for pthread + AC_MSG_CHECKING(for pthread) +@@ -409,7 +410,7 @@ test "$softfloat" = "yes" && build_alisp="no" + AC_ARG_ENABLE(old-symbols, + AS_HELP_STRING([--disable-old-symbols], [disable old obsoleted symbols]), + [keep_old_symbols="$enableval"], [keep_old_symbols="yes"]) +-AM_CONDITIONAL(KEEP_OLD_SYMBOLS, test x$keep_old_symbols = xyes) ++AM_CONDITIONAL([KEEP_OLD_SYMBOLS], [test x$keep_old_symbols = xyes]) + + AC_ARG_ENABLE(python, + AS_HELP_STRING([--disable-python], [disable the python components]), +@@ -438,14 +439,14 @@ fi + AC_SUBST(PYTHON_LIBS) + AC_SUBST(PYTHON_INCLUDES) + +-AM_CONDITIONAL(BUILD_MIXER, test x$build_mixer = xyes) +-AM_CONDITIONAL(BUILD_PCM, test x$build_pcm = xyes) +-AM_CONDITIONAL(BUILD_RAWMIDI, test x$build_rawmidi = xyes) +-AM_CONDITIONAL(BUILD_HWDEP, test x$build_hwdep = xyes) +-AM_CONDITIONAL(BUILD_SEQ, test x$build_seq = xyes) +-AM_CONDITIONAL(BUILD_UCM, test x$build_ucm = xyes) +-AM_CONDITIONAL(BUILD_ALISP, test x$build_alisp = xyes) +-AM_CONDITIONAL(BUILD_PYTHON, test x$build_python = xyes) ++AM_CONDITIONAL([BUILD_MIXER], [test x$build_mixer = xyes]) ++AM_CONDITIONAL([BUILD_PCM], [test x$build_pcm = xyes]) ++AM_CONDITIONAL([BUILD_RAWMIDI], [test x$build_rawmidi = xyes]) ++AM_CONDITIONAL([BUILD_HWDEP], [test x$build_hwdep = xyes]) ++AM_CONDITIONAL([BUILD_SEQ], [test x$build_seq = xyes]) ++AM_CONDITIONAL([BUILD_UCM], [test x$build_ucm = xyes]) ++AM_CONDITIONAL([BUILD_ALISP], [test x$build_alisp = xyes]) ++AM_CONDITIONAL([BUILD_PYTHON], [test x$build_python = xyes]) + + if test "$build_mixer" = "yes"; then + AC_DEFINE([BUILD_MIXER], "1", [Build mixer component]) +@@ -520,34 +521,34 @@ if test "$softfloat" = "yes"; then + build_pcm_ladspa="no" + fi + +-AM_CONDITIONAL(BUILD_PCM_PLUGIN, test x$build_pcm_plugin = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_COPY, test x$build_pcm_copy = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_LINEAR, test x$build_pcm_linear = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_ROUTE, test x$build_pcm_route = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_MULAW, test x$build_pcm_mulaw = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_ALAW, test x$build_pcm_alaw = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_ADPCM, test x$build_pcm_adpcm = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_RATE, test x$build_pcm_rate = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_PLUG, test x$build_pcm_plug = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_MULTI, test x$build_pcm_multi = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_SHM, test x$build_pcm_shm = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_FILE, test x$build_pcm_file = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_NULL, test x$build_pcm_null = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_EMPTY, test x$build_pcm_empty = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_SHARE, test x$build_pcm_share = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_METER, test x$build_pcm_meter = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_HOOKS, test x$build_pcm_hooks = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_LFLOAT, test x$build_pcm_lfloat = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_LADSPA, test x$build_pcm_ladspa = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_DMIX, test x$build_pcm_dmix = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_DSHARE, test x$build_pcm_dshare = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_DSNOOP, test x$build_pcm_dsnoop = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_ASYM, test x$build_pcm_asym = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_IEC958, test x$build_pcm_iec958 = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_SOFTVOL, test x$build_pcm_softvol = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_EXTPLUG, test x$build_pcm_extplug = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_IOPLUG, test x$build_pcm_ioplug = xyes) +-AM_CONDITIONAL(BUILD_PCM_PLUGIN_MMAP_EMUL, test x$build_pcm_mmap_emul = xyes) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN], [test x$build_pcm_plugin = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_COPY], [test x$build_pcm_copy = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_LINEAR], [test x$build_pcm_linear = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_ROUTE], [test x$build_pcm_route = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_MULAW], [test x$build_pcm_mulaw = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_ALAW], [test x$build_pcm_alaw = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_ADPCM], [test x$build_pcm_adpcm = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_RATE], [test x$build_pcm_rate = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_PLUG], [test x$build_pcm_plug = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_MULTI], [test x$build_pcm_multi = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_SHM], [test x$build_pcm_shm = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_FILE], [test x$build_pcm_file = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_NULL], [test x$build_pcm_null = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_EMPTY], [test x$build_pcm_empty = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_SHARE], [test x$build_pcm_share = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_METER], [test x$build_pcm_meter = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_HOOKS], [test x$build_pcm_hooks = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_LFLOAT], [test x$build_pcm_lfloat = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_LADSPA], [test x$build_pcm_ladspa = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_DMIX], [test x$build_pcm_dmix = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_DSHARE], [test x$build_pcm_dshare = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_DSNOOP], [test x$build_pcm_dsnoop = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_ASYM], [test x$build_pcm_asym = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_IEC958], [test x$build_pcm_iec958 = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_SOFTVOL], [test x$build_pcm_softvol = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_EXTPLUG], [test x$build_pcm_extplug = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_IOPLUG], [test x$build_pcm_ioplug = xyes]) ++AM_CONDITIONAL([BUILD_PCM_PLUGIN_MMAP_EMUL], [test x$build_pcm_mmap_emul = xyes]) + + dnl Defines for plug plugin + if test "$build_pcm_rate" = "yes"; then +@@ -606,9 +607,9 @@ for p in $ctl_plugins; do + done + done + +-AM_CONDITIONAL(BUILD_CTL_PLUGIN, test x$build_ctl_plugin = xyes) +-AM_CONDITIONAL(BUILD_CTL_PLUGIN_SHM, test x$build_ctl_shm = xyes) +-AM_CONDITIONAL(BUILD_CTL_PLUGIN_EXT, test x$build_ctl_ext = xyes) ++AM_CONDITIONAL([BUILD_CTL_PLUGIN], [test x$build_ctl_plugin = xyes]) ++AM_CONDITIONAL([BUILD_CTL_PLUGIN_SHM], [test x$build_ctl_shm = xyes]) ++AM_CONDITIONAL([BUILD_CTL_PLUGIN_EXT], [test x$build_ctl_ext = xyes]) + + dnl Create ctl plugin symbol list for static library + rm -f "$srcdir"/src/control/ctl_symbols_list.c +-- +1.8.0.1 + diff --git a/0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch b/0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch new file mode 100644 index 0000000..a0e4016 --- /dev/null +++ b/0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch @@ -0,0 +1,53 @@ +From 1b428e7719fdec1b5e3206b8e55a86c4891d1849 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Fri, 7 Dec 2012 09:28:06 +0100 +Subject: [PATCH 42/43] mixer: Don't build simple_abst when no libdl is + available + +Check BUILD_MODULES conditional not to compile simple_abst.c. +Also return -ENXIO to caller statically in that case. + +Signed-off-by: Takashi Iwai +--- + src/mixer/Makefile.am | 6 +++++- + src/mixer/mixer_simple.h | 10 ++++++++++ + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/src/mixer/Makefile.am b/src/mixer/Makefile.am +index bb466ed..c0749a4 100644 +--- a/src/mixer/Makefile.am ++++ b/src/mixer/Makefile.am +@@ -1,6 +1,10 @@ + EXTRA_LTLIBRARIES=libmixer.la + +-libmixer_la_SOURCES = bag.c mixer.c simple.c simple_none.c simple_abst.c ++libmixer_la_SOURCES = bag.c mixer.c simple.c simple_none.c ++ ++if BUILD_MODULES ++libmixer_la_SOURCES += simple_abst.c ++endif + + noinst_HEADERS = mixer_local.h mixer_simple.h + +diff --git a/src/mixer/mixer_simple.h b/src/mixer/mixer_simple.h +index e88b007..116eebd 100644 +--- a/src/mixer/mixer_simple.h ++++ b/src/mixer/mixer_simple.h +@@ -28,4 +28,14 @@ + snd1_mixer_simple_basic_register + + int snd_mixer_simple_none_register(snd_mixer_t *mixer, struct snd_mixer_selem_regopt *options, snd_mixer_class_t **classp); ++ ++#ifdef HAVE_LIBDL + int snd_mixer_simple_basic_register(snd_mixer_t *mixer, struct snd_mixer_selem_regopt *options, snd_mixer_class_t **classp); ++#else ++static inline int snd_mixer_simple_basic_register(snd_mixer_t *mixer, ++ struct snd_mixer_selem_regopt *options, ++ snd_mixer_class_t **classp) ++{ ++ return -ENXIO; ++} ++#endif +-- +1.8.0.1 + diff --git a/0043-Fix-endian-check-in-local.h.patch b/0043-Fix-endian-check-in-local.h.patch new file mode 100644 index 0000000..8187785 --- /dev/null +++ b/0043-Fix-endian-check-in-local.h.patch @@ -0,0 +1,55 @@ +From 72bbf96e1fa0be63892343b331fac42414fdc8da Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Thu, 13 Dec 2012 09:55:44 +0100 +Subject: [PATCH 43/43] Fix endian check in local.h + +SNDRV_LITTLE_ENDIAN and SNDRV_BIG_ENDIAN checks have been removed from +sound/asound.h during UAPI header move, and this resulted in a wrong +detected endian. + +Move together with the similar check for SND_*_ENDIAN at the earlier +place in local.h. + +Signed-off-by: Takashi Iwai +--- + include/local.h | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +diff --git a/include/local.h b/include/local.h +index 268970a..53cb647 100644 +--- a/include/local.h ++++ b/include/local.h +@@ -44,6 +44,16 @@ + #define RTLD_NOW 0 + #endif + ++#if __BYTE_ORDER == __LITTLE_ENDIAN ++#define SND_LITTLE_ENDIAN ++#define SNDRV_LITTLE_ENDIAN ++#elif __BYTE_ORDER == __BIG_ENDIAN ++#define SND_BIG_ENDIAN ++#define SNDRV_BIG_ENDIAN ++#else ++#error "Unsupported endian..." ++#endif ++ + #define _snd_config_iterator list_head + #define _snd_interval snd_interval + #define _snd_pcm_info snd_pcm_info +@@ -168,13 +178,6 @@ + #include "seq_midi_event.h" + #include "list.h" + +-#if __BYTE_ORDER == __LITTLE_ENDIAN +-#define SND_LITTLE_ENDIAN +-#endif +-#if __BYTE_ORDER == __BIG_ENDIAN +-#define SND_BIG_ENDIAN +-#endif +- + struct _snd_async_handler { + enum { + SND_ASYNC_HANDLER_GENERIC, +-- +1.8.0.1 + diff --git a/alsa.changes b/alsa.changes index ac78f34..17c9123 100644 --- a/alsa.changes +++ b/alsa.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Dec 13 10:12:55 CET 2012 - tiwai@suse.de + +- 0041-configure-Quite-AM_CONDITIONAL-arguments.patch: + Fix for the recent automake conditionals +- 0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch: + Minor fix for the build without libdl +- Fix endian check breakage due to the recent UAPI header move: + 0043-Fix-endian-check-in-local.h.patch + ------------------------------------------------------------------- Tue Dec 4 12:19:34 CET 2012 - tiwai@suse.de diff --git a/alsa.spec b/alsa.spec index 35e8a0d..248c345 100644 --- a/alsa.spec +++ b/alsa.spec @@ -92,6 +92,9 @@ Patch37: 0037-PCM-Add-more-chmap-definitions-for-UAC2.patch Patch38: 0038-PCM-shut-up-a-compile-unused-parameter-compile-warni.patch Patch39: 0039-Add-workaround-for-conflicting-snd_seq_event_t-defin.patch Patch40: 0040-PCM-Fix-conflict-of-_snd_pcm_hw_params-definitions.patch +Patch41: 0041-configure-Quite-AM_CONDITIONAL-arguments.patch +Patch42: 0042-mixer-Don-t-build-simple_abst-when-no-libdl-is-avail.patch +Patch43: 0043-Fix-endian-check-in-local.h.patch # Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff Url: http://www.alsa-project.org/ @@ -182,6 +185,9 @@ Architecture. %patch38 -p1 %patch39 -p1 %patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 %if %suse_version == 1130 %patch99 -p1 %endif