configure.in
changeset 939 c7c04f811994
parent 936 84f930aebaeb
child 948 ac488ad4ef1d
--- 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
 }