On Thu, 09 Jul 2015 15:27:53 +0200, Takashi Iwai wrote:
On Thu, 09 Jul 2015 11:43:29 +0200, Tanu Kaskinen wrote:
Speexdsp was separated from speex in 1.2rc2. speex_types.h is not shipped by speexdsp, so alsa-plugins shouldn't use that file. speexdsp has speexdsp_types.h, which has the same contents as speex_types.h.
speexdsp_types.h is a new file introduced in 1.2rc2, so this change bumps the minimum supported speexdsp version. The version check in configure.ac will actually break if speexdsp 1.2 ever gets released, because pkg-config thinks that "1.2" < "1.2rc2", but I think it's useful to fail if the installed speexdsp version is 1.2rc1 (which I believe is very common on current distributions). If a non-rc version of speexdsp will ever get released, I hope version number 1.2 will be skipped for this reason. (A non-rc version seems unlikely, since 1.2rc1 was released years ago, so it's pretty likely that the project is stuck on so called "release candidates" forever...)
Signed-off-by: Tanu Kaskinen tanu.kaskinen@linux.intel.com
While I take this as is, I think we can work around the old header file by just checking the new path and creating a dummy header including the old header in configure script. Let me give some try...
OK, below seems working for both 1.2rc1 and 1.2rc2.
Takashi
--- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] pph: Fix build with older speex
The previous commit fixed the build of the recent speexdsp, but it also broke the build with the old library. Actually the only needed change is the inclusion of speex/speex_types.h instead of speex/speexdsp_types.h, so it can be easily worked around via the check in configure script.
Along with this change, make the version check back to 1.2 from 1.2rc2, as 1.2rc1 works fine now again, too.
Signed-off-by: Takashi Iwai tiwai@suse.de --- configure.ac | 6 +++++- pph/speex_resampler.h | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac index c554d2260b63..e786d8e7194b 100644 --- a/configure.ac +++ b/configure.ac @@ -108,7 +108,7 @@ AC_SUBST(AVCODEC_CFLAGS) AC_SUBST(AVCODEC_LIBS) AC_SUBST(AVCODEC_HEADER)
-PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2rc2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""]) +PKG_CHECK_MODULES(speexdsp, [speexdsp >= 1.2], [HAVE_SPEEXDSP="yes"], [HAVE_SPEEXDSP=""]) AM_CONDITIONAL(HAVE_SPEEXDSP, test "$HAVE_SPEEXDSP" = "yes")
AC_ARG_WITH([speex], @@ -133,6 +133,10 @@ fi AM_CONDITIONAL(HAVE_PPH, test "$PPH" = "builtin" -o "$PPH" = "lib") AM_CONDITIONAL(USE_LIBSPEEX, test "$PPH" = "lib")
+if test "$PPH" = "lib"; then + AC_CHECK_HEADERS([speex/speexdsp_types.h]) +fi + test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix
diff --git a/pph/speex_resampler.h b/pph/speex_resampler.h index aa85abb8cc65..0e5ced45c580 100644 --- a/pph/speex_resampler.h +++ b/pph/speex_resampler.h @@ -82,7 +82,11 @@
#else /* OUTSIDE_SPEEX */
+#ifdef HAVE_SPEEX_SPEEXDSP_TYPES_H #include "speex/speexdsp_types.h" +#else +#include "speex/speex_types.h" +#endif
#endif /* OUTSIDE_SPEEX */