From a320e1b5f7aa8af11dbc82f40525e40bc18454c9 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 20 Apr 2014 23:08:24 +0000 Subject: [PATCH] build: Convert speex detection to new macros. --- afh_common.c | 2 +- configure.ac | 78 +++++++++++++++++++--------------------------------- 2 files changed, 29 insertions(+), 51 deletions(-) diff --git a/afh_common.c b/afh_common.c index f77880ba..b23ca97b 100644 --- a/afh_common.c +++ b/afh_common.c @@ -58,7 +58,7 @@ static struct audio_format_handler afl[] = { }, { .name = "spx", -#ifdef HAVE_SPEEX +#if defined(HAVE_OGG) && defined(HAVE_SPEEX) .init = spx_afh_init, #endif }, diff --git a/configure.ac b/configure.ac index 20b8b52c..0a0fbf97 100644 --- a/configure.ac +++ b/configure.ac @@ -331,45 +331,36 @@ AC_CHECK_HEADERS([vorbis/codec.h], [], [HAVE_VORBIS=no]) AC_CHECK_LIB([vorbis], [vorbis_info_init], [], [HAVE_VORBIS=no]) LIB_SUBST_FLAGS(vorbis) UNSTASH_FLAGS +######################################################################### speex +STASH_FLAGS +LIB_ARG_WITH([speex], [-lspeex]) +HAVE_SPEEX=yes +AC_CHECK_HEADERS([speex/speex.h], [], [HAVE_SPEEX=no]) +AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no]) +LIB_SUBST_FLAGS(speex) +UNSTASH_FLAGS AC_DEFUN([NEED_OGG_OBJECTS], [{ - test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes' + test "$HAVE_OGG" = 'yes' -a \( \ + "$HAVE_VORBIS" = 'yes' \ + -o "$HAVE_SPEEX" = 'yes' \ + \) }]) AC_DEFUN([NEED_VORBIS_OBJECTS], [{ test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = 'yes' }]) +AC_DEFUN([NEED_SPEEX_OBJECTS], [{ + test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes' +}]) ####################################################### ogg/vorbis/speex/opus -AC_ARG_WITH(speex_headers, [AS_HELP_STRING(--with-speex-headers=dir, - [look for speex headers also in dir])]) -AC_ARG_WITH(speex_libs, [AS_HELP_STRING(--with-speex-libs=dir, - [look for speex libs also in dir])]) AC_ARG_WITH(opus_headers, [AS_HELP_STRING(--with-opus-headers=dir, [look for opus headers also in dir])]) AC_ARG_WITH(opus_libs, [AS_HELP_STRING(--with-opus-libs=dir, [look for opus libs also in dir])]) -have_speex="yes" have_opus="yes" if test "$HAVE_OGG" = 'yes'; then - # speex - OLD_CPPFLAGS="$CPPFLAGS" - OLD_LDFLAGS="$LDFLAGS" - OLD_LIBS="$LIBS" - if test -n "$with_speex_headers"; then - speex_cppflags="-I$with_speex_headers" - CPPFLAGS="$CPPFLAGS $speex_cppflags" - fi - if test -n "$with_speex_libs"; then - speex_libs="-L$with_speex_libs" - LDFLAGS="$LDFLAGS $speex_libs" - fi - AC_CHECK_LIB([speex], [speex_decoder_init], [], [ have_speex="no" ]) - AC_CHECK_HEADERS([speex/speex.h], [], [ have_speex="no" ]) - CPPFLAGS="$OLD_CPPFLAGS" - LDFLAGS="$OLD_LDFLAGS" - LIBS="$OLD_LIBS" - # opus OLD_CPPFLAGS="$CPPFLAGS" OLD_LDFLAGS="$LDFLAGS" @@ -389,18 +380,9 @@ if test "$HAVE_OGG" = 'yes'; then LIBS="$OLD_LIBS" else AC_MSG_WARN([vorbis/speex/opus depend on libogg, which was not detected]) - have_speex="no" have_opus="no" fi -if test "$have_speex" = "yes"; then - AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support) - AC_SUBST(speex_cppflags) - speex_ldflags="$speex_libs -lspeex" - AC_SUBST(speex_ldflags) -else - AC_MSG_WARN([no ogg/speex $msg]) -fi if test "$have_opus" = "yes"; then AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support) AC_SUBST(opus_cppflags) @@ -808,9 +790,7 @@ if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \ fi NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common" NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh" - if test "$have_speex" = "yes"; then - server_errlist_objs="$server_errlist_objs spx_afh spx_common" - fi + NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common" if test "$have_opus" = "yes"; then server_errlist_objs="$server_errlist_objs opus_afh opus_common" fi @@ -933,10 +913,10 @@ if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then audiod_errlist_objs="$audiod_errlist_objs oggdec_filter" audiod_audio_formats="$audiod_audio_formats ogg" } - if test "$have_speex" = "yes"; then + NEED_SPEEX_OBJECTS && { audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common" audiod_audio_formats="$audiod_audio_formats spx" - fi + } if test "$have_opus" = "yes"; then audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common" audiod_audio_formats="$audiod_audio_formats opus" @@ -1101,10 +1081,10 @@ NEED_VORBIS_OBJECTS && { filters="$filters oggdec" filter_errlist_objs="$filter_errlist_objs oggdec_filter" } -if test "$have_speex" = "yes"; then +NEED_SPEEX_OBJECTS && { filters="$filters spxdec" filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common" -fi +} if test "$have_opus" = "yes"; then filters="$filters opusdec" filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common" @@ -1172,13 +1152,11 @@ recv_errlist_objs=" mp3_afh version " -if NEED_OGG_OBJECTS || test "$have_speex" = 'yes' || test "$have_opus" = 'yes'; then +if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then recv_errlist_objs="$recv_errlist_objs ogg_afh_common" fi NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh" -if test "$have_speex" = "yes"; then - recv_errlist_objs="$recv_errlist_objs spx_afh spx_common" -fi +NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common" if test "$have_opus" = "yes"; then recv_errlist_objs="$recv_errlist_objs opus_afh opus_common" fi @@ -1208,17 +1186,17 @@ afh_errlist_objs=" version ggo " -if NEED_OGG_OBJECTS || test "$have_speex" = 'yes' || test "$have_opus" = 'yes'; then +if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then afh_errlist_objs="$afh_errlist_objs ogg_afh_common" fi NEED_VORBIS_OBJECTS && { afh_errlist_objs="$afh_errlist_objs ogg_afh" audio_format_handlers="$audio_format_handlers ogg" } -if test "$have_speex" = "yes"; then +NEED_SPEEX_OBJECTS && { afh_errlist_objs="$afh_errlist_objs spx_afh spx_common" audio_format_handlers="$audio_format_handlers spx" -fi +} if test "$have_opus" = "yes"; then afh_errlist_objs="$afh_errlist_objs opus_afh opus_common" audio_format_handlers="$audio_format_handlers opus" @@ -1287,15 +1265,15 @@ if test "$have_core_audio" = "yes"; then play_errlist_objs="$play_errlist_objs osx_write ipc" play_cmdline_objs="$play_cmdline_objs osx_write" fi -if NEED_OGG_OBJECTS || test "$have_speex" = 'yes' || test "$have_opus" = 'yes'; then +if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then play_errlist_objs="$play_errlist_objs ogg_afh_common" fi NEED_VORBIS_OBJECTS && { play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh" } -if test "$have_speex" = "yes"; then +NEED_SPEEX_OBJECTS && { play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common" -fi +} if test "$have_opus" = "yes"; then play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common" fi -- 2.39.2