aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac15
-rw-r--r--m4/mpd_auto.m415
2 files changed, 20 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac
index 4de63dac9..74aef61de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -196,9 +196,9 @@ AC_ARG_ENABLE(httpd-output,
[enable_httpd_output=auto])
AC_ARG_ENABLE(id3,
- AS_HELP_STRING([--disable-id3],
- [disable id3 support (default: enable)]),,
- enable_id3=yes)
+ AS_HELP_STRING([--enable-id3],
+ [disable id3 support]),,
+ enable_id3=auto)
AC_ARG_ENABLE(inotify,
AS_HELP_STRING([--disable-inotify],
@@ -510,13 +510,8 @@ fi
AM_CONDITIONAL(HAVE_CUE, test x$enable_cue = xyes)
dnl -------------------------------- libid3tag --------------------------------
-if test x$enable_id3 = xyes; then
- PKG_CHECK_MODULES([ID3TAG], [id3tag],,
- AC_CHECK_LIB(id3tag, id3_file_open,
- [ID3TAG_LIBS="-lid3tag -lz" ID3TAG_CFLAGS=""],
- enable_id3=no))
-fi
-
+MPD_AUTO_PKG_LIB(id3, ID3TAG, id3tag, id3tag, id3_file_open, [-lid3tag -lz], [],
+ [id3tag], [libid3tag not found])
if test x$enable_id3 = xyes; then
AC_DEFINE(HAVE_ID3TAG, 1, [Define to use id3tag])
fi
diff --git a/m4/mpd_auto.m4 b/m4/mpd_auto.m4
index 3f233938f..23713d5b7 100644
--- a/m4/mpd_auto.m4
+++ b/m4/mpd_auto.m4
@@ -63,3 +63,18 @@ AC_DEFUN([MPD_AUTO_PKG], [
MPD_AUTO_RESULT([$1], [$4], [$5])
])
+
+dnl Check with pkg-config first, fall back to AC_CHECK_LIB.
+dnl
+dnl Parameters: varname1, varname2, pkgname, libname, symname, libs, cflags, description, errmsg
+AC_DEFUN([MPD_AUTO_PKG_LIB], [
+ if eval "test x`echo '$'enable_$1` != xno"; then
+ PKG_CHECK_MODULES([$2], [$3],
+ [eval "found_$1=yes"],
+ AC_CHECK_LIB($4, $5,
+ [eval "found_$1=yes $2_LIBS='$6' $2_CFLAGS='$7'"],
+ [eval "found_$1=no"]))
+ fi
+
+ MPD_AUTO_RESULT([$1], [$8], [$9])
+])