Mercurial > sdl-ios-xcode
diff configure.in @ 939:c7c04f811994
Date: Tue, 01 Jun 2004 15:27:44 +0300
From: Martin_Storsj
Subject: Update for dynamic loading of ALSA
I sent you a patch a few months ago which enables SDL to load ALSA
dynamically. Now I've finally got time to tweak this yet some more. I've
added code from alsa.m4 (from alsa's dev package) to acinclude.m4, and
made the detection of the alsa library name a bit better. I've also
fixed up the loading versioned symbols with dlvsym, so that it falls
back to dlsym.
I wouldn't say the configure script is complete yet, but this is how far
I've come this time, and I'm no expert at those things.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 21 Aug 2004 04:20:00 +0000 |
parents | 84f930aebaeb |
children | ac488ad4ef1d |
line wrap: on
line diff
--- a/configure.in Sat Aug 21 03:55:12 2004 +0000 +++ b/configure.in Sat Aug 21 04:20:00 2004 +0000 @@ -282,39 +282,53 @@ [ --enable-alsa support the ALSA audio API [default=yes]], , enable_alsa=yes) if test x$enable_audio = xyes -a x$enable_alsa = xyes; then - AC_MSG_CHECKING(for ALSA audio support) have_alsa=no - AC_TRY_COMPILE([ - #include <alsa/asoundlib.h> - ],[ - #if SND_LIB_VERSION < ((0<<16)|(9<<8)|0) - #error Your version of ALSA is too old - #endif - snd_pcm_t *pcm_handle; - ],[ - AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes) - ]) + AM_PATH_ALSA(0.9.0, have_alsa=yes) if test x$have_alsa = xyes; then AC_ARG_ENABLE(alsa-shared, [ --enable-alsa-shared dynamically load ALSA audio support [default=yes]], , enable_alsa_shared=yes) - alsa_lib=`ls /usr/lib/libasound.so.* | sed 's/.*\/\(.*\)/\1/; q'` + if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then + if test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then + ALSA_LIBS="-L/usr/lib $ALSA_LIBS" + else if test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then + ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS" + fi; fi + fi + alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'` + alsa_lib=`ls $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` + echo "-- $alsa_lib_spec -> $alsa_lib" + if test x$use_dlopen != xyes && \ test x$enable_alsa_shared = xyes; then AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option]) fi if test x$use_dlopen = xyes && \ test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then - CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib)" + CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib) $ALSA_CFLAGS" AC_SUBST(alsa_lib) + + AC_MSG_CHECKING(for dlvsym) + use_dlvsym=no + AC_TRY_COMPILE([ + #include <stdio.h> + #define __USE_GNU + #include <dlfcn.h> + ],[ + dlvsym(NULL,"",""); + ],[ + use_dlvsym=yes + ]) + AC_MSG_RESULT($use_dlvsym); + if test x$use_dlvsym = xyes; then + CFLAGS="$CFLAGS -DUSE_DLVSYM" + fi else - CFLAGS="$CFLAGS -DALSA_SUPPORT" - SYSTEM_LIBS="$SYSTEM_LIBS -lasound" + CFLAGS="$CFLAGS -DALSA_SUPPORT $ALSA_CFLAGS" + SYSTEM_LIBS="$SYSTEM_LIBS $ALSA_LIBS" fi AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa" AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la" - else - AC_MSG_RESULT($have_alsa) fi fi }