Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Split acinclude.m4 into its constituent parts for easy upgrading
- Loading branch information
Showing
with
314 additions
and 316 deletions.
- +145 −0 acinclude/alsa.m4
- +168 −0 acinclude/esd.m4
- +0 −315 acinclude.m4 → acinclude/libtool.m4
- +1 −1 autogen.sh
@@ -0,0 +1,145 @@ | ||
############################################################################## | ||
dnl Configure Paths for Alsa | ||
dnl Some modifications by Richard Boulton <richard-alsa@tartarus.org> | ||
dnl Christopher Lansdown <lansdoct@cs.alfred.edu> | ||
dnl Jaroslav Kysela <perex@suse.cz> | ||
dnl Last modification: alsa.m4,v 1.23 2004/01/16 18:14:22 tiwai Exp | ||
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 enables arguments --with-alsa-prefix= | ||
dnl --with-alsa-enc-prefix= | ||
dnl --disable-alsatest | ||
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 | ||
AC_DEFUN([AM_PATH_ALSA], | ||
[dnl Save the original CFLAGS, LDFLAGS, and LIBS | ||
alsa_save_CFLAGS="$CFLAGS" | ||
alsa_save_LDFLAGS="$LDFLAGS" | ||
alsa_save_LIBS="$LIBS" | ||
alsa_found=yes | ||
dnl | ||
dnl Get the cflags and libraries for alsa | ||
dnl | ||
AC_ARG_WITH(alsa-prefix, | ||
[ --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional)], | ||
[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="$enableval"], | ||
[enable_alsatest=yes]) | ||
dnl Add any special include directories | ||
AC_MSG_CHECKING(for ALSA CFLAGS) | ||
if test "$alsa_inc_prefix" != "" ; then | ||
ALSA_CFLAGS="$ALSA_CFLAGS -I$alsa_inc_prefix" | ||
CFLAGS="$CFLAGS -I$alsa_inc_prefix" | ||
fi | ||
AC_MSG_RESULT($ALSA_CFLAGS) | ||
dnl add any special lib dirs | ||
AC_MSG_CHECKING(for ALSA LDFLAGS) | ||
if test "$alsa_prefix" != "" ; then | ||
ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix" | ||
LDFLAGS="$LDFLAGS $ALSA_LIBS" | ||
fi | ||
dnl add the alsa library | ||
ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" | ||
LIBS=`echo $LIBS | sed 's/-lm//'` | ||
LIBS=`echo $LIBS | sed 's/-ldl//'` | ||
LIBS=`echo $LIBS | sed 's/-lpthread//'` | ||
LIBS=`echo $LIBS | sed 's/ //'` | ||
LIBS="$ALSA_LIBS $LIBS" | ||
AC_MSG_RESULT($ALSA_LIBS) | ||
dnl Check for a working version of libasound that is of the right version. | ||
min_alsa_version=ifelse([$1], ,0.1.1,$1) | ||
AC_MSG_CHECKING(for libasound headers version >= $min_alsa_version) | ||
no_alsa="" | ||
alsa_min_major_version=`echo $min_alsa_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | ||
alsa_min_minor_version=`echo $min_alsa_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | ||
alsa_min_micro_version=`echo $min_alsa_version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | ||
AC_LANG_SAVE | ||
AC_LANG_C | ||
AC_TRY_COMPILE([ | ||
#include <alsa/asoundlib.h> | ||
], [ | ||
/* ensure backward compatibility */ | ||
#if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR) | ||
#define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR | ||
#endif | ||
#if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR) | ||
#define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR | ||
#endif | ||
#if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR) | ||
#define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR | ||
#endif | ||
# if(SND_LIB_MAJOR > $alsa_min_major_version) | ||
exit(0); | ||
# else | ||
# if(SND_LIB_MAJOR < $alsa_min_major_version) | ||
# error not present | ||
# endif | ||
# if(SND_LIB_MINOR > $alsa_min_minor_version) | ||
exit(0); | ||
# else | ||
# if(SND_LIB_MINOR < $alsa_min_minor_version) | ||
# error not present | ||
# endif | ||
# if(SND_LIB_SUBMINOR < $alsa_min_micro_version) | ||
# error not present | ||
# endif | ||
# endif | ||
# endif | ||
exit(0); | ||
], | ||
[AC_MSG_RESULT(found.)], | ||
[AC_MSG_RESULT(not present.) | ||
ifelse([$3], , [AC_MSG_ERROR(Sufficiently new version of libasound not found.)]) | ||
alsa_found=no] | ||
) | ||
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. | ||
if test "x$enable_alsatest" = "xyes"; then | ||
AC_CHECK_LIB([asound], [snd_ctl_open],, | ||
[ifelse([$3], , [AC_MSG_ERROR(No linkable libasound was found.)]) | ||
alsa_found=no] | ||
) | ||
fi | ||
if test "x$alsa_found" = "xyes" ; then | ||
ifelse([$2], , :, [$2]) | ||
LIBS=`echo $LIBS | sed 's/-lasound//g'` | ||
LIBS=`echo $LIBS | sed 's/ //'` | ||
LIBS="-lasound $LIBS" | ||
fi | ||
if test "x$alsa_found" = "xno" ; then | ||
ifelse([$3], , :, [$3]) | ||
CFLAGS="$alsa_save_CFLAGS" | ||
LDFLAGS="$alsa_save_LDFLAGS" | ||
LIBS="$alsa_save_LIBS" | ||
ALSA_CFLAGS="" | ||
ALSA_LIBS="" | ||
fi | ||
dnl That should be it. Now just export out symbols: | ||
AC_SUBST(ALSA_CFLAGS) | ||
AC_SUBST(ALSA_LIBS) | ||
]) |
@@ -0,0 +1,168 @@ | ||
############################################################################## | ||
# | ||
# --- esd.m4 --- | ||
# | ||
# Configure paths for ESD | ||
# Manish Singh 98-9-30 | ||
# stolen back from Frank Belew | ||
# stolen from Manish Singh | ||
# Shamelessly stolen from Owen Taylor | ||
|
||
dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | ||
dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS | ||
dnl | ||
AC_DEFUN([AM_PATH_ESD], | ||
[dnl | ||
dnl Get the cflags and libraries from the esd-config script | ||
dnl | ||
AC_ARG_WITH(esd-prefix,[ --with-esd-prefix=PFX Prefix where ESD is installed (optional)], | ||
esd_prefix="$withval", esd_prefix="") | ||
AC_ARG_WITH(esd-exec-prefix,[ --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)], | ||
esd_exec_prefix="$withval", esd_exec_prefix="") | ||
AC_ARG_ENABLE(esdtest, [ --disable-esdtest Do not try to compile and run a test ESD program], | ||
, enable_esdtest=yes) | ||
if test x$esd_exec_prefix != x ; then | ||
esd_args="$esd_args --exec-prefix=$esd_exec_prefix" | ||
if test x${ESD_CONFIG+set} != xset ; then | ||
ESD_CONFIG=$esd_exec_prefix/bin/esd-config | ||
fi | ||
fi | ||
if test x$esd_prefix != x ; then | ||
esd_args="$esd_args --prefix=$esd_prefix" | ||
if test x${ESD_CONFIG+set} != xset ; then | ||
ESD_CONFIG=$esd_prefix/bin/esd-config | ||
fi | ||
fi | ||
AC_PATH_PROG(ESD_CONFIG, esd-config, no) | ||
min_esd_version=ifelse([$1], ,0.2.7,$1) | ||
AC_MSG_CHECKING(for ESD - version >= $min_esd_version) | ||
no_esd="" | ||
if test "$ESD_CONFIG" = "no" ; then | ||
no_esd=yes | ||
else | ||
ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags` | ||
ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs` | ||
esd_major_version=`$ESD_CONFIG $esd_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | ||
esd_minor_version=`$ESD_CONFIG $esd_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | ||
esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \ | ||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | ||
if test "x$enable_esdtest" = "xyes" ; then | ||
ac_save_CFLAGS="$CFLAGS" | ||
ac_save_LIBS="$LIBS" | ||
CFLAGS="$CFLAGS $ESD_CFLAGS" | ||
LIBS="$LIBS $ESD_LIBS" | ||
dnl | ||
dnl Now check if the installed ESD is sufficiently new. (Also sanity | ||
dnl checks the results of esd-config to some extent | ||
dnl | ||
rm -f conf.esdtest | ||
AC_TRY_RUN([ | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <string.h> | ||
#include <esd.h> | ||
char* | ||
my_strdup (char *str) | ||
{ | ||
char *new_str; | ||
if (str) | ||
{ | ||
new_str = malloc ((strlen (str) + 1) * sizeof(char)); | ||
strcpy (new_str, str); | ||
} | ||
else | ||
new_str = NULL; | ||
return new_str; | ||
} | ||
int main () | ||
{ | ||
int major, minor, micro; | ||
char *tmp_version; | ||
system ("touch conf.esdtest"); | ||
/* HP/UX 9 (%@#!) writes to sscanf strings */ | ||
tmp_version = my_strdup("$min_esd_version"); | ||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | ||
printf("%s, bad version string\n", "$min_esd_version"); | ||
exit(1); | ||
} | ||
if (($esd_major_version > major) || | ||
(($esd_major_version == major) && ($esd_minor_version > minor)) || | ||
(($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro))) | ||
{ | ||
return 0; | ||
} | ||
else | ||
{ | ||
printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version); | ||
printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro); | ||
printf("*** best to upgrade to the required version.\n"); | ||
printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n"); | ||
printf("*** to point to the correct copy of esd-config, and remove the file\n"); | ||
printf("*** config.cache before re-running configure\n"); | ||
return 1; | ||
} | ||
} | ||
],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | ||
CFLAGS="$ac_save_CFLAGS" | ||
LIBS="$ac_save_LIBS" | ||
fi | ||
fi | ||
if test "x$no_esd" = x ; then | ||
AC_MSG_RESULT(yes) | ||
ifelse([$2], , :, [$2]) | ||
else | ||
AC_MSG_RESULT(no) | ||
if test "$ESD_CONFIG" = "no" ; then | ||
echo "*** The esd-config script installed by ESD could not be found" | ||
echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in" | ||
echo "*** your path, or set the ESD_CONFIG environment variable to the" | ||
echo "*** full path to esd-config." | ||
else | ||
if test -f conf.esdtest ; then | ||
: | ||
else | ||
echo "*** Could not run ESD test program, checking why..." | ||
CFLAGS="$CFLAGS $ESD_CFLAGS" | ||
LIBS="$LIBS $ESD_LIBS" | ||
AC_TRY_LINK([ | ||
#include <stdio.h> | ||
#include <esd.h> | ||
], [ return 0; ], | ||
[ echo "*** The test program compiled, but did not run. This usually means" | ||
echo "*** that the run-time linker is not finding ESD or finding the wrong" | ||
echo "*** version of ESD. If it is not finding ESD, you'll need to set your" | ||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | ||
echo "*** to the installed location Also, make sure you have run ldconfig if that" | ||
echo "*** is required on your system" | ||
echo "***" | ||
echo "*** If you have an old version installed, it is best to remove it, although" | ||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], | ||
[ echo "*** The test program failed to compile or link. See the file config.log for the" | ||
echo "*** exact error that occured. This usually means ESD was incorrectly installed" | ||
echo "*** or that you have moved ESD since it was installed. In the latter case, you" | ||
echo "*** may want to edit the esd-config script: $ESD_CONFIG" ]) | ||
CFLAGS="$ac_save_CFLAGS" | ||
LIBS="$ac_save_LIBS" | ||
fi | ||
fi | ||
ESD_CFLAGS="" | ||
ESD_LIBS="" | ||
ifelse([$3], , :, [$3]) | ||
fi | ||
AC_SUBST(ESD_CFLAGS) | ||
AC_SUBST(ESD_LIBS) | ||
rm -f conf.esdtest | ||
]) |
Oops, something went wrong.