]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - configure.ac
build: Convert opus detection to new macros.
[paraslash.git] / configure.ac
index 20b8b52cf767995e69eb3db88c8e1fb74902b31e..69978389dbb76c16a27fadcaa7cc00ec389c9098 100644 (file)
@@ -331,85 +331,40 @@ 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
+######################################################################### opus
+STASH_FLAGS
+LIB_ARG_WITH([opus], [-lopus])
+HAVE_OPUS=yes
+AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
+AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
+LIB_SUBST_FLAGS(opus)
+UNSTASH_FLAGS
 
+# some helper functions for codecs which use the ogg container format
 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' \
+               -o "$HAVE_OPUS" = 'yes' \
+       \)
 }])
 AC_DEFUN([NEED_VORBIS_OBJECTS], [{
        test "$HAVE_OGG" = 'yes' -a "$HAVE_VORBIS" = '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"
-       OLD_LIBS="$LIBS"
-       if test -n "$with_opus_headers"; then
-               opus_cppflags="-I$with_opus_headers"
-               CPPFLAGS="$CPPFLAGS $opus_cppflags"
-       fi
-       if test -n "$with_opus_libs"; then
-               opus_libs="-L$with_opus_libs"
-               LDFLAGS="$LDFLAGS $opus_libs"
-       fi
-       AC_CHECK_LIB([opus], [opus_multistream_decode], [], [ have_opus="no" ])
-       AC_CHECK_HEADERS([opus/opus.h], [], [ have_opus="no" ])
-       CPPFLAGS="$OLD_CPPFLAGS"
-       LDFLAGS="$OLD_LDFLAGS"
-       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)
-       opus_ldflags="$opus_libs -lopus"
-       AC_SUBST(opus_ldflags)
-       audio_format_handlers="$audio_format_handlers opus"
-else
-       AC_MSG_WARN([no ogg/opus $msg])
-fi
+AC_DEFUN([NEED_SPEEX_OBJECTS], [{
+       test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
+}])
+AC_DEFUN([NEED_OPUS_OBJECTS], [{
+       test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
+}])
 ########################################################################### faad
 have_faad=yes
 OLD_CPPFLAGS="$CPPFLAGS"
@@ -808,12 +763,8 @@ 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
-       if test "$have_opus" = "yes"; then
-               server_errlist_objs="$server_errlist_objs opus_afh opus_common"
-       fi
+       NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
+       NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
        if test "$have_faad" = "yes"; then
                server_errlist_objs="$server_errlist_objs aac_afh aac_common"
        fi
@@ -933,14 +884,14 @@ 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
+       }
+       NEED_OPUS_OBJECTS && {
                audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
                audiod_audio_formats="$audiod_audio_formats opus"
-       fi
+       }
        if test "$have_faad" = "yes"; then
                audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
                audiod_audio_formats="$audiod_audio_formats aac"
@@ -1101,14 +1052,14 @@ 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
+}
+NEED_OPUS_OBJECTS && {
        filters="$filters opusdec"
        filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
-fi
+}
 if test "$have_faad" = "yes"; then
        filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
        filters="$filters aacdec"
@@ -1172,16 +1123,11 @@ recv_errlist_objs="
        mp3_afh
        version
 "
-if NEED_OGG_OBJECTS || test "$have_speex" = 'yes' || test "$have_opus" = 'yes'; then
-       recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
 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
-if test "$have_opus" = "yes"; then
-       recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
-fi
+NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
+NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
+
 if test "$have_faad" = "yes"; then
        recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
 fi
@@ -1208,21 +1154,19 @@ afh_errlist_objs="
        version
        ggo
 "
-if NEED_OGG_OBJECTS || test "$have_speex" = 'yes' || test "$have_opus" = 'yes'; then
-       afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
 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
+}
+NEED_OPUS_OBJECTS && {
        afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
        audio_format_handlers="$audio_format_handlers opus"
-fi
+}
 if test "$have_faad" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
        audio_format_handlers="$audio_format_handlers aac"
@@ -1287,18 +1231,19 @@ 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
-       play_errlist_objs="$play_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
 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
+}
+NEED_OPUS_OBJECTS &&
+       play_errlist_objs="$play_errlist_objs
+               opusdec_filter
+               opus_afh
+               opus_common
+       "
 if test "$have_faad" = "yes"; then
        play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
 fi