New macro for testing for ALSA libraries.

Original commit message from CVS:
New macro for testing for ALSA libraries.
Understands the ACTION_IF_FOUND and ACTION_IF_NOT_FOUND arguments.
This commit is contained in:
Richard Boulton 2001-01-07 15:25:11 +00:00
parent e89f87b6b4
commit 8edf6e1433

View file

@ -1,20 +1,40 @@
dnl Configure Paths for Alsa dnl Configure Paths for Alsa
dnl Some modifications by Richard Boulton <richard-alsa@tartarus.org>
dnl Christopher Lansdown <lansdoct@cs.alfred.edu> dnl Christopher Lansdown <lansdoct@cs.alfred.edu>
dnl Jaroslav Kysela <perex@suse.cz> dnl Jaroslav Kysela <perex@suse.cz>
dnl Last modification: 07/12/2000 dnl Last modification: 07/12/2000
dnl AM_PATH_ALSA(MINIMUM-VERSION) dnl AM_PATH_ALSA([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for libasound, and define ALSA_CFLAGS and ALSA_LIBS as appropriate. dnl Test for libasound, and define ALSA_CFLAGS and ALSA_LIBS as appropriate.
dnl enables arguments --with-alsa-prefix= --with-alsa-enc-prefix= --disable-alsatest dnl enables arguments --with-alsa-prefix=
dnl --with-alsa-enc-prefix=
dnl --disable-alsatest (this has no effect, as yet)
dnl
dnl For backwards compatibility, if ACTION_IF_NOT_FOUND is not specified,
dnl and the alsa libraries are not found, a fatal AC_MSG_ERROR() will result.
dnl dnl
AC_DEFUN(AM_PATH_ALSA, AC_DEFUN(AM_PATH_ALSA,
[dnl [dnl Save the original CFLAGS, LDFLAGS, and LIBS
dnl Get the clfags and libraries for alsa alsa_save_CFLAGS="$CFLAGS"
alsa_save_LDFLAGS="$LDFLAGS"
alsa_save_LIBS="$LIBS"
alsa_found=yes
dnl dnl
AC_ARG_WITH(alsa-prefix,[ --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional)], dnl Get the cflags and libraries for alsa
[alsa_prefix="$withval"], [alsa_prefix=""]) dnl
AC_ARG_WITH(alsa-inc-prefix, [ --with-alsa-inc-prefix=PFX Prefix where include libraries are (optional)], AC_ARG_WITH(alsa-prefix,
[alsa_inc_prefix="$withval"], [alsa_inc_prefix=""]) [ --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional)],
AC_ARG_ENABLE(alsatest, [ --disable-alsatest Do not try to compile and run a test Alsa program], [enable_alsatest=no], [enable_alsatest=yes]) [alsa_prefix="$withval"], [alsa_prefix=""])
AC_ARG_WITH(alsa-inc-prefix,
[ --with-alsa-inc-prefix=PFX Prefix where include libraries are (optional)],
[alsa_inc_prefix="$withval"], [alsa_inc_prefix=""])
dnl FIXME: this is not yet implemented
AC_ARG_ENABLE(alsatest,
[ --disable-alsatest Do not try to compile and run a test Alsa program],
[enable_alsatest=no],
[enable_alsatest=yes])
dnl Add any special include directories dnl Add any special include directories
AC_MSG_CHECKING(for ALSA CFLAGS) AC_MSG_CHECKING(for ALSA CFLAGS)
@ -28,13 +48,12 @@ dnl add any special lib dirs
AC_MSG_CHECKING(for ALSA LDFLAGS) AC_MSG_CHECKING(for ALSA LDFLAGS)
if test "$alsa_prefix" != "" ; then if test "$alsa_prefix" != "" ; then
ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix" ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix"
LDFLAGS="$LDFLAGS -L$alsa_prefix" LDFLAGS="$LDFLAGS $ALSA_LIBS"
fi fi
dnl add the alsa library dnl add the alsa library
ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl" ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl"
alsa_save_LIBS="$LIBS" LIBS="$ALSA_LIBS $LIBS"
LIBS="$LIBS -lasound -lm -ldl"
AC_MSG_RESULT($ALSA_LIBS) AC_MSG_RESULT($ALSA_LIBS)
dnl Check for a working version of libasound that is of the right version. dnl Check for a working version of libasound that is of the right version.
@ -90,18 +109,27 @@ exit(0);
], ],
[AC_MSG_RESULT(found.)], [AC_MSG_RESULT(found.)],
[AC_MSG_RESULT(not present.) [AC_MSG_RESULT(not present.)
AC_MSG_WARN(Sufficiently new version of libasound not found.) ifelse([$3], , [AC_MSG_ERROR(Sufficiently new version of libasound not found.)])
LIBS="$alsa_save_LIBS" alsa_found=no]
]
) )
AC_LANG_RESTORE AC_LANG_RESTORE
dnl Now that we know that we have the right version, let's see if we have the library and not just the headers. dnl Now that we know that we have the right version, let's see if we have the library and not just the headers.
AC_CHECK_LIB([asound], [snd_defaults_card],, AC_CHECK_LIB([asound], [snd_defaults_card],,
[AC_MSG_WARN(No linkable libasound was found.) [ifelse([$3], , [AC_MSG_ERROR(No linkable libasound was found.)])
LIBS="$alsa_save_LIBS"] alsa_found=no]
) )
if test "x$alsa_found" = "xyes" ; then
ifelse([$2], , :, [$2])
fi
if test "x$alsa_found" = "xno" ; then
ifelse([$3], , :, [$3])
CFLAGS="$alsa_save_CFLAGS"
LDFLAGS="$alsa_save_LDFLAGS"
LIBS="$alsa_save_LIBS"
fi
dnl That should be it. Now just export out symbols: dnl That should be it. Now just export out symbols:
AC_SUBST(ALSA_CFLAGS) AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS) AC_SUBST(ALSA_LIBS)