configure.ac: add macro MPD_AUTO

This commit is contained in:
Max Kellermann 2014-11-23 07:39:05 +01:00
parent c643b6ff16
commit 1a61b01315
2 changed files with 22 additions and 27 deletions

View File

@ -199,12 +199,10 @@ AC_ARG_ENABLE(syslog,
AS_HELP_STRING([--enable-syslog],
[enable syslog support (default: auto)]),,
enable_syslog=auto)
if test x$enable_syslog != xno; then
AC_SEARCH_LIBS([syslog], [bsd socket inet],
MPD_AUTO(syslog, [syslog support], [syslog() not available],
[AC_SEARCH_LIBS([syslog], [bsd socket inet],
[found_syslog=yes],
[found_syslog=no])
fi
MPD_AUTO_RESULT([syslog], [syslog support], [syslog() not available])
[found_syslog=no])])
if test x$enable_syslog = xyes; then
AC_DEFINE(HAVE_SYSLOG, 1, [Define if syslog() is available])
fi
@ -774,14 +772,12 @@ MPD_ENABLE_AUTO_PKG(despotify, DESPOTIFY, [despotify],
[Despotify support], [despotify not found])
dnl --------------------------------- Soundcloud ------------------------------
if test x$enable_soundcloud != xno; then
PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
MPD_AUTO([soundcloud], [soundcloud.com support], [libyajl not found],
[PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
[found_soundcloud=yes],
AC_CHECK_LIB([yajl], [yajl_parse_complete],
[found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl],
[found_soundcloud=no]))
fi
MPD_AUTO_RESULT([soundcloud], [soundcloud.com support], [libyajl not found])
[found_soundcloud=no]))])
if test x$enable_soundcloud = xyes; then
AC_DEFINE(ENABLE_SOUNDCLOUD, 1, [Define when soundcloud is enabled])
fi

View File

@ -35,30 +35,32 @@ AC_DEFUN([MPD_AUTO_RESULT], [
fi
])
AC_DEFUN([MPD_AUTO_PKG], [
dnl Parameters: varname1, description, errmsg, check
AC_DEFUN([MPD_AUTO], [
if test x$[]enable_$1 != xno; then
PKG_CHECK_MODULES([$2], [$3],
[found_$1=yes],
[found_$1=no])
$4
fi
MPD_AUTO_RESULT([$1], [$2], [$3])
])
MPD_AUTO_RESULT([$1], [$4], [$5])
AC_DEFUN([MPD_AUTO_PKG], [
MPD_AUTO([$1], [$4], [$5],
[PKG_CHECK_MODULES([$2], [$3],
[found_$1=yes],
[found_$1=no])])
])
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 test x$[]enable_$1 != xno; then
PKG_CHECK_MODULES([$2], [$3],
MPD_AUTO([$1], [$8], [$9],
[PKG_CHECK_MODULES([$2], [$3],
[found_$1=yes],
AC_CHECK_LIB($4, $5,
[found_$1=yes $2_LIBS='$6' $2_CFLAGS='$7'],
[found_$1=no],
[$6]))
fi
MPD_AUTO_RESULT([$1], [$8], [$9])
[$6]))])
])
dnl Wrapper for AC_CHECK_LIB.
@ -68,14 +70,11 @@ AC_DEFUN([MPD_AUTO_LIB], [
AC_SUBST([$2_LIBS], [])
AC_SUBST([$2_CFLAGS], [])
if test x$[]enable_$1 != xno; then
AC_CHECK_LIB($3, $4,
MPD_AUTO([$1], [$7], [$8],
[AC_CHECK_LIB($3, $4,
[found_$1=yes $2_LIBS='$5' $2_CFLAGS='$6'],
[found_$1=no],
[$5])
fi
MPD_AUTO_RESULT([$1], [$7], [$8])
[$5])])
])
dnl Wrapper for AC_ARG_ENABLE and MPD_AUTO_PKG