configure: Change openal detection

Maarten Lankhorst m.b.lankhorst at gmail.com
Mon Mar 29 15:19:50 CDT 2010


---
OSX needs to link statically to openal, but AJ wants the other
platforms to link dynamically. So @FRAMEWORK_OPENAL@ is needed
separately.
-------------- next part --------------
From 9762e14937139a07383e8d0c7ce5700dd5c22a06 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Wed, 9 Dec 2009 11:52:09 +0100
Subject: [PATCH 05/14] configure: Change openal detection

---
 configure                 |   60 ++++++++++++++++++++++++++++++--------------
 configure.ac              |   13 ++++++---
 dlls/openal32/Makefile.in |    2 +-
 include/config.h.in       |    6 ++++
 4 files changed, 56 insertions(+), 25 deletions(-)

diff --git a/configure b/configure
index b02fe65..cb97025 100755
--- a/configure
+++ b/configure
@@ -610,6 +610,7 @@ LDPATH
 BUILTINFLAG
 EXTRACFLAGS
 LIBKSTAT
+LIBOPENAL
 LIBMPG123
 PNGINCL
 FONTCONFIGINCL
@@ -647,7 +648,7 @@ CROSSTARGET
 CROSSTEST
 CROSSCC
 CARBONLIB
-LIBOPENAL
+FRAMEWORK_OPENAL
 COREAUDIO
 DISKARBITRATIONLIB
 LDEXECFLAGS
@@ -6467,9 +6468,14 @@ done
     fi
     if test "$ac_cv_header_OpenAL_al_h" = "yes"
     then
-        LIBOPENAL="-framework OpenAL"
+        FRAMEWORK_OPENAL="-framework OpenAL"
 
-        ac_cv_lib_openal_alGetSource3i=yes
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_OPENAL 1
+_ACEOF
+
+        ac_cv_lib_openal=yes
     fi
     if test "$ac_cv_header_IOKit_hid_IOHIDLib_h" = "yes"
     then
@@ -11377,14 +11383,14 @@ test "x$ac_cv_lib_mpg123_mpg123_feed" = xyes -o "x$ac_cv_func_AudioFileStreamOpe
 
 if test "$ac_cv_header_AL_al_h" = "yes"
 then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alGetSource3i in -lopenal" >&5
-$as_echo_n "checking for alGetSource3i in -lopenal... " >&6; }
-if test "${ac_cv_lib_openal_alGetSource3i+set}" = set; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lopenal" >&5
+$as_echo_n "checking for -lopenal... " >&6; }
+if test "${ac_cv_lib_soname_openal+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
+  ac_check_soname_save_LIBS=$LIBS
 LIBS="-lopenal  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 /* Override any GCC internal prototype to avoid an error.
@@ -11403,23 +11409,39 @@ return alGetSource3i ();
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_openal_alGetSource3i=yes
-else
-  ac_cv_lib_openal_alGetSource3i=no
+  case "$LIBEXT" in
+    dll) ;;
+    dylib) ac_cv_lib_soname_openal=`otool -L conftest$ac_exeext | grep "libopenal\\.[0-9A-Za-z.]*dylib" | sed -e "s/^.*\/\(libopenal\.[0-9A-Za-z.]*dylib\).*$/\1/"';2,$d'` ;;
+    *) ac_cv_lib_soname_openal=`$ac_cv_path_LDD conftest$ac_exeext | grep "libopenal\\.$LIBEXT" | sed -e "s/^.*\(libopenal\.$LIBEXT[^	 ]*\).*$/\1/"';2,$d'` ;;
+  esac
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+  LIBS=$ac_check_soname_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_openal_alGetSource3i" >&5
-$as_echo "$ac_cv_lib_openal_alGetSource3i" >&6; }
-if test "x$ac_cv_lib_openal_alGetSource3i" = x""yes; then :
-  LIBOPENAL="-lopenal"
+if test "x$ac_cv_lib_soname_openal" = "x"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
 
-fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_soname_openal" >&5
+$as_echo "$ac_cv_lib_soname_openal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SONAME_LIBOPENAL "$ac_cv_lib_soname_openal"
+_ACEOF
+
+       LIBOPENAL="-lopenal"
 
+                      ac_cv_lib_openal=yes
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_OPENAL 1
+_ACEOF
+
+fi
 fi
-if test "x$ac_cv_lib_openal_alGetSource3i" != xyes; then :
+if test "x$ac_cv_lib_openal" != xyes; then :
   case "x$with_openal" in
   x)   as_fn_append wine_notices "|libopenal ${notice_platform}development files not found (or too old), OpenAL won't be supported." ;;
   xno) ;;
@@ -11427,7 +11449,7 @@ if test "x$ac_cv_lib_openal_alGetSource3i" != xyes; then :
 This is an error since --with-openal was requested." "$LINENO" 5 ;;
 esac
 fi
-test "x$ac_cv_lib_openal_alGetSource3i" = xyes || enable_openal32=${enable_openal32:-no}
+test "x$ac_cv_lib_openal" = xyes || enable_openal32=${enable_openal32:-no}
 
 if test "$ac_cv_header_kstat_h" = "yes"
 then
diff --git a/configure.ac b/configure.ac
index 25a1313..7fdac71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -660,8 +660,9 @@ case $host_os in
     fi
     if test "$ac_cv_header_OpenAL_al_h" = "yes"
     then
-        AC_SUBST(LIBOPENAL,"-framework OpenAL")
-        ac_cv_lib_openal_alGetSource3i=yes
+        AC_SUBST(FRAMEWORK_OPENAL,"-framework OpenAL")
+        AC_DEFINE_UNQUOTED(HAVE_OPENAL,1,[Define to 1 if OpenAL is available])
+        ac_cv_lib_openal=yes
     fi
     if test "$ac_cv_header_IOKit_hid_IOHIDLib_h" = "yes"
     then
@@ -1481,11 +1482,13 @@ test "x$ac_cv_lib_mpg123_mpg123_feed" = xyes -o "x$ac_cv_func_AudioFileStreamOpe
 dnl **** Check for OpenAL 1.1 ****
 if test "$ac_cv_header_AL_al_h" = "yes"
 then
-    AC_CHECK_LIB(openal,alGetSource3i,[AC_SUBST(LIBOPENAL,"-lopenal")])
+    WINE_CHECK_SONAME(openal,alGetSource3i,[AC_SUBST(LIBOPENAL,"-lopenal")
+                      ac_cv_lib_openal=yes
+                      AC_DEFINE_UNQUOTED(HAVE_OPENAL,1,[Define to 1 if OpenAL is available])],,)
 fi
-WINE_NOTICE_WITH(openal,[test "x$ac_cv_lib_openal_alGetSource3i" != xyes],
+WINE_NOTICE_WITH(openal,[test "x$ac_cv_lib_openal" != xyes],
                  [libopenal ${notice_platform}development files not found (or too old), OpenAL won't be supported.])
-test "x$ac_cv_lib_openal_alGetSource3i" = xyes || enable_openal32=${enable_openal32:-no}
+test "x$ac_cv_lib_openal" = xyes || enable_openal32=${enable_openal32:-no}
 
 dnl **** Check for libkstat ****
 if test "$ac_cv_header_kstat_h" = "yes"
diff --git a/dlls/openal32/Makefile.in b/dlls/openal32/Makefile.in
index 1f6e876..edd0785 100644
--- a/dlls/openal32/Makefile.in
+++ b/dlls/openal32/Makefile.in
@@ -4,7 +4,7 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = openal32.dll
 IMPORTS   = kernel32 ntdll
-EXTRALIBS = @LIBOPENAL@
+EXTRALIBS = @LIBOPENAL@ @FRAMEWORK_OPENAL@
 
 C_SRCS = \
 	openal.c
diff --git a/include/config.h.in b/include/config.h.in
index 789172a..29e711c 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -574,6 +574,9 @@
 /* Define if mkdir takes only one argument */
 #undef HAVE_ONE_ARG_MKDIR
 
+/* Define to 1 if OpenAL is available */
+#undef HAVE_OPENAL
+
 /* Define to 1 if you have the <OpenAL/al.h> header file. */
 #undef HAVE_OPENAL_AL_H
 
@@ -1210,6 +1213,9 @@
 /* Define to the soname of the libodbc library. */
 #undef SONAME_LIBODBC
 
+/* Define to the soname of the libopenal library. */
+#undef SONAME_LIBOPENAL
+
 /* Define to the soname of the libpng library. */
 #undef SONAME_LIBPNG
 
-- 
1.7.0


More information about the wine-patches mailing list