From: Andre Noll <maan@systemlinux.org>
Date: Sun, 20 Apr 2014 23:27:19 +0000 (+0000)
Subject: build: Convert opus detection to new macros.
X-Git-Tag: v0.5.5~44^2~12
X-Git-Url: https://git.tue.mpg.de/?a=commitdiff_plain;h=36527e1f9d27d01128a7213d6f17159cf02481a9;p=paraslash.git

build: Convert opus detection to new macros.
---

diff --git a/afh_common.c b/afh_common.c
index b23ca97b..08bcde90 100644
--- a/afh_common.c
+++ b/afh_common.c
@@ -70,7 +70,7 @@ static struct audio_format_handler afl[] = {
 	},
 	{
 		.name = "opus",
-#ifdef HAVE_OPUS
+#if defined(HAVE_OGG) && defined(HAVE_OPUS)
 		.init = opus_afh_init,
 #endif
 	},
diff --git a/configure.ac b/configure.ac
index 0a0fbf97..69978389 100644
--- a/configure.ac
+++ b/configure.ac
@@ -339,11 +339,21 @@ 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' \
 		-o "$HAVE_SPEEX" = 'yes' \
+		-o "$HAVE_OPUS" = 'yes' \
 	\)
 }])
 AC_DEFUN([NEED_VORBIS_OBJECTS], [{
@@ -352,46 +362,9 @@ AC_DEFUN([NEED_VORBIS_OBJECTS], [{
 AC_DEFUN([NEED_SPEEX_OBJECTS], [{
 	test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
 }])
-####################################################### ogg/vorbis/speex/opus
-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_opus="yes"
-if test "$HAVE_OGG" = 'yes'; then
-
-	# 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_opus="no"
-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_OPUS_OBJECTS], [{
+	test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
+}])
 ########################################################################### faad
 have_faad=yes
 OLD_CPPFLAGS="$CPPFLAGS"
@@ -791,9 +764,7 @@ if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
 	NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
 	NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
 	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
+	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
@@ -917,10 +888,10 @@ if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
 		audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
 		audiod_audio_formats="$audiod_audio_formats spx"
 	}
-	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"
@@ -1085,10 +1056,10 @@ NEED_SPEEX_OBJECTS && {
 	filters="$filters spxdec"
 	filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
 }
-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"
@@ -1152,14 +1123,11 @@ recv_errlist_objs="
 	mp3_afh
 	version
 "
-if NEED_OGG_OBJECTS || 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"
 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
+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
@@ -1186,9 +1154,7 @@ afh_errlist_objs="
 	version
 	ggo
 "
-if NEED_OGG_OBJECTS || 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"
@@ -1197,10 +1163,10 @@ NEED_SPEEX_OBJECTS && {
 	afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
 	audio_format_handlers="$audio_format_handlers spx"
 }
-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"
@@ -1265,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_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"
 }
 NEED_SPEEX_OBJECTS && {
 	play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
 }
-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