diff options
author | Max Kellermann <max@duempel.org> | 2009-03-28 11:10:40 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-28 11:10:40 +0100 |
commit | 53ed647b224c98f74a3198215f9fa2fd1a359eb9 (patch) | |
tree | ec038560dd0f440d951d075b12e8263bafdf5be0 /m4 | |
parent | 80e2aaf3792fa662397005e72603d7e0c9e62dfc (diff) | |
download | mpd-53ed647b224c98f74a3198215f9fa2fd1a359eb9.tar.gz mpd-53ed647b224c98f74a3198215f9fa2fd1a359eb9.tar.xz mpd-53ed647b224c98f74a3198215f9fa2fd1a359eb9.zip |
configure.ac: fail when ALSA is enabled but not found
This patch adds a small autoconf M4 library which deals with
auto-detected features. The default for those features is "auto",
which is like the old default: if the library is present on the
system, enable the feature, disable otherwise. If the user explicitly
enables that feature (--enable-alsa), and the library is not present,
configure must fail, because it cannot fulfill the request.
Diffstat (limited to '')
-rw-r--r-- | m4/mpd_auto.m4 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/mpd_auto.m4 b/m4/mpd_auto.m4 new file mode 100644 index 000000000..635f41560 --- /dev/null +++ b/m4/mpd_auto.m4 @@ -0,0 +1,40 @@ +AC_DEFUN([MPD_AUTO_ENABLED], [ + var="enable_$1" + feature="$2" + + if eval "test x`echo '$'$var` = xauto"; then + AC_MSG_NOTICE([auto-detected $feature]) + eval "$var=yes" + fi +]) + +AC_DEFUN([MPD_AUTO_DISABLED], [ + var="enable_$1" + feature="$2" + msg="$3" + + if eval "test x`echo '$'$var` = xauto"; then + AC_MSG_WARN([$msg -- disabling $feature]) + eval "$var=no" + else + AC_MSG_ERROR([$msg]) + fi +]) + +AC_DEFUN([MPD_AUTO_RESULT], [ + name="$1" + var="enable_$1" + found="found_$name" + feature="$2" + msg="$3" + + if eval "test x`echo '$'$var` = xno"; then + eval "$found=no" + fi + + if eval "test x`echo '$'$found` = xyes"; then + MPD_AUTO_ENABLED([$name], [$feature]) + else + MPD_AUTO_DISABLED([$name], [$feature], [$msg]) + fi +]) |