Commit 25b47ea381ee323270a497b10a4e1ae0b06249bd

Sam Lantinga 2017-01-08T10:52:02

Fixed attempting to dynamically load libsamplerate when shared object loading is disabled. Thanks to Ozkan Sezer for pointing this out

diff --git a/configure b/configure
index 1babfd1..5506037 100755
--- a/configure
+++ b/configure
@@ -18730,16 +18730,23 @@ else
 fi
 
 
-            if test x$enable_libsamplerate_shared = xyes; then
-                samplerate_lib=`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`
-                if test x$samplerate_lib != x; then
-                    echo "-- dynamic samplerate -> $samplerate_lib"
+            samplerate_lib=`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`
+
+            if test x$have_loadso != xyes && \
+               test x$enable_libsamplerate_shared = xyes; then
+                { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You must have SDL_LoadObject() support for dynamic libsamplerate loading" >&5
+$as_echo "$as_me: WARNING: You must have SDL_LoadObject() support for dynamic libsamplerate loading" >&2;}
+            fi
+            if test x$have_loadso = xyes && \
+               test x$enable_libsamplerate_shared = xyes && test x$samplerate_lib != x; then
+                echo "-- dynamic libsamplerate -> $samplerate_lib"
 
 cat >>confdefs.h <<_ACEOF
 #define SDL_LIBSAMPLERATE_DYNAMIC "$samplerate_lib"
 _ACEOF
 
-                fi
+            else
+                EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lsamplerate"
             fi
         fi
     fi
diff --git a/configure.in b/configure.in
index 47007c0..7f8d5db 100644
--- a/configure.in
+++ b/configure.in
@@ -1144,12 +1144,18 @@ AC_HELP_STRING([--enable-libsamplerate], [use libsamplerate for audio rate conve
 AC_HELP_STRING([--enable-libsamplerate-shared], [dynamically load libsamplerate [[default=yes]]]),
                           , enable_libsamplerate_shared=yes)
 
-            if test x$enable_libsamplerate_shared = xyes; then
-                samplerate_lib=[`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`]
-                if test x$samplerate_lib != x; then
-                    echo "-- dynamic samplerate -> $samplerate_lib"
-                    AC_DEFINE_UNQUOTED(SDL_LIBSAMPLERATE_DYNAMIC, "$samplerate_lib", [ ])
-                fi
+            samplerate_lib=[`find_lib "libsamplerate.so.*" "" | sed 's/.*\/\(.*\)/\1/; q'`]
+
+            if test x$have_loadso != xyes && \
+               test x$enable_libsamplerate_shared = xyes; then
+                AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic libsamplerate loading])
+            fi
+            if test x$have_loadso = xyes && \
+               test x$enable_libsamplerate_shared = xyes && test x$samplerate_lib != x; then
+                echo "-- dynamic libsamplerate -> $samplerate_lib"
+                AC_DEFINE_UNQUOTED(SDL_LIBSAMPLERATE_DYNAMIC, "$samplerate_lib", [ ])
+            else
+                EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lsamplerate"
             fi
         fi
     fi