From aecb5630cb7e43dbb3c9c3899f71be727c8d5b08 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 9 Dec 2014 21:36:52 +0100
Subject: [PATCH] configure.ac: use MPD_ENABLE_AUTO_LIB for libfaad

---
 Makefile.am                 |  2 +-
 configure.ac                |  5 +--
 m4/faad.m4                  | 73 -------------------------------------
 src/decoder/DecoderList.cxx |  2 +-
 4 files changed, 4 insertions(+), 78 deletions(-)
 delete mode 100644 m4/faad.m4

diff --git a/Makefile.am b/Makefile.am
index 3d0723501..d89610bab 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -923,7 +923,7 @@ libdecoder_a_SOURCES += \
 	src/decoder/plugins/AdPlugDecoderPlugin.h
 endif
 
-if HAVE_FAAD
+if ENABLE_FAAD
 libdecoder_a_SOURCES += \
 	src/decoder/plugins/FaadDecoderPlugin.cxx src/decoder/plugins/FaadDecoderPlugin.hxx
 endif
diff --git a/configure.ac b/configure.ac
index f25ccddc9..6c525062a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -876,9 +876,8 @@ fi
 AM_CONDITIONAL(ENABLE_DSD, test x$enable_dsd = xyes)
 
 dnl ----------------------------------- FAAD ----------------------------------
-AM_PATH_FAAD()
-
-AM_CONDITIONAL(HAVE_FAAD, test x$enable_aac = xyes)
+MPD_ENABLE_AUTO_LIB(aac, FAAD, faad, NeAACDecOpen, [-lfaad], [],
+	[FAAD decoder plugin], [libfaad not found])
 
 dnl ---------------------------------- ffmpeg ---------------------------------
 MPD_ENABLE_AUTO_PKG(ffmpeg, FFMPEG,
diff --git a/m4/faad.m4 b/m4/faad.m4
deleted file mode 100644
index 9dcb1ccab..000000000
--- a/m4/faad.m4
+++ /dev/null
@@ -1,73 +0,0 @@
-AC_DEFUN([AM_PATH_FAAD],
-[dnl ##
-dnl faad
-dnl ##
-
-AC_ARG_ENABLE(aac,
-	AS_HELP_STRING([--disable-aac],
-		[disable AAC support (default: enable)]),,
-	enable_aac=yes)
-
-if test x$enable_aac = xyes; then
-	FAAD_LIBS="-lfaad"
-	FAAD_CFLAGS=""
-
-	oldcflags=$CFLAGS
-	oldlibs=$LIBS
-	oldcppflags=$CPPFLAGS
-	CFLAGS="$CFLAGS $FAAD_CFLAGS"
-	LIBS="$LIBS $FAAD_LIBS"
-	CPPFLAGS=$CFLAGS
-	AC_CHECK_HEADER(faad.h,,enable_aac=no)
-	if test x$enable_aac = xyes; then
-		AC_CHECK_DECL(FAAD2_VERSION,,enable_aac=no,[#include <faad.h>])
-	fi
-	if test x$enable_aac = xyes; then
-		AC_CHECK_LIB(faad,NeAACDecInit2,,enable_aac=no)
-	fi
-	if test x$enable_aac = xyes; then
-		AC_MSG_CHECKING(that FAAD2 can even be used)
-		AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-#include <faad.h>
-
-int main() {
-	char buffer;
-	NeAACDecHandle decoder;
-	NeAACDecFrameInfo frameInfo;
-	NeAACDecConfigurationPtr config;
-	unsigned char channels;
-	long sampleRate;
-	long bufferlen = 0;
-
-	decoder = NeAACDecOpen();
-	config = NeAACDecGetCurrentConfiguration(decoder);
-	config->outputFormat = FAAD_FMT_16BIT;
-	NeAACDecSetConfiguration(decoder,config);
-	NeAACDecInit(decoder,&buffer,bufferlen,&sampleRate,&channels);
-	NeAACDecInit2(decoder,&buffer,bufferlen,&sampleRate,&channels);
-	NeAACDecDecode(decoder,&frameInfo,&buffer,bufferlen);
-	NeAACDecClose(decoder);
-
-	return 0;
-}
-])],AC_MSG_RESULT(yes),[AC_MSG_RESULT(no);enable_aac=no])
-	fi
-	if test x$enable_aac = xyes; then
-		AC_DEFINE(HAVE_FAAD,1,[Define to use FAAD2 for AAC decoding])
-	else
-		AC_MSG_WARN([faad2 lib needed for MP4/AAC support -- disabling MP4/AAC support])
-	fi
-	CFLAGS=$oldcflags
-	LIBS=$oldlibs
-	CPPFLAGS=$oldcppflags
-fi
-
-if test x$enable_aac = xno; then
-	FAAD_LIBS=""
-	FAAD_CFLAGS=""
-fi
-
-AC_SUBST(FAAD_CFLAGS)
-AC_SUBST(FAAD_LIBS)
-
-])
diff --git a/src/decoder/DecoderList.cxx b/src/decoder/DecoderList.cxx
index 42d0a512a..19037433b 100644
--- a/src/decoder/DecoderList.cxx
+++ b/src/decoder/DecoderList.cxx
@@ -74,7 +74,7 @@ const struct DecoderPlugin *const decoder_plugins[] = {
 	&dsdiff_decoder_plugin,
 	&dsf_decoder_plugin,
 #endif
-#ifdef HAVE_FAAD
+#ifdef ENABLE_FAAD
 	&faad_decoder_plugin,
 #endif
 #ifdef ENABLE_MPCDEC