0ef6169e9dbba0af08f547b9dda945061a378326
[openwrt/svn-archive/archive.git] / libs / alsa-lib / patches / 100-fix-with-softfloat.patch
1 From: Takashi Iwai <tiwai@suse.de>
2 Date: Wed, 21 Jan 2009 08:25:48 +0000 (+0100)
3 Subject: Fix build with softfloat option
4 X-Git-Url: http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff_plain;h=a789b66d00644eeeb72fd424d686c7fe8faa5daa
5
6 Fix build with softfloat option
7
8 Fix build of alsa-lib when --with-softfloat is used:
9 - disable ladspa plugin
10 - don't use sqrt() function
11
12 Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 ---
14
15 diff --git a/configure.in b/configure.in
16 index 9a71d95..ea6a8a0 100644
17 --- a/configure.in
18 +++ b/configure.in
19 @@ -367,6 +367,7 @@ AC_ARG_ENABLE(seq,
20 AC_ARG_ENABLE(alisp,
21 AS_HELP_STRING([--disable-alisp], [disable the alisp component]),
22 [build_alisp="$enableval"], [build_alisp="yes"])
23 +test "$softfloat" = "yes" && build_alisp="no"
24 AC_ARG_ENABLE(old-symbols,
25 AS_HELP_STRING([--disable-old-symbols], [disable old obsoleted symbols]),
26 [keep_old_symbols="$enableval"], [keep_old_symbols="yes"])
27 @@ -474,6 +475,7 @@ fi
28
29 if test "$softfloat" = "yes"; then
30 build_pcm_lfloat="no"
31 + build_pcm_ladspa="no"
32 fi
33
34 AM_CONDITIONAL(BUILD_PCM_PLUGIN, test x$build_pcm_plugin = xyes)
35 diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c
36 index 0f4dd3a..4802200 100644
37 --- a/src/mixer/simple_none.c
38 +++ b/src/mixer/simple_none.c
39 @@ -1450,7 +1450,14 @@ static int simple_add1(snd_mixer_class_t *class, const char *name,
40 }
41 if (ctype != SND_CTL_ELEM_TYPE_BOOLEAN)
42 return 0;
43 +#ifdef HAVE_SOFT_FLOAT
44 + /* up to 256 channels */
45 + for (n = 1; n < 256; n++)
46 + if (n * n == values)
47 + break;
48 +#else
49 n = sqrt((double)values);
50 +#endif
51 if (n * n != values)
52 return 0;
53 values = n;