]> git.saurik.com Git - wxWidgets.git/commitdiff
(blind) fix for wxSound link problem under NetBSD with OSS
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 30 Aug 2005 23:28:35 +0000 (23:28 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 30 Aug 2005 23:28:35 +0000 (23:28 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure.in

index 810b4d84642eb533611c1b87b6c6f7ae5c3e34e3..448a03cda7c27a45e79adc54e24af1ac0cf1e87c 100644 (file)
@@ -5070,8 +5070,41 @@ fi
 dnl Unix implementation needs additional checks because audio support
 dnl comes in many favours:
 if test "$USE_UNIX" = "1" ; then
-    AC_CHECK_HEADERS([sys/soundcard.h],,
-                     [DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"])
+    dnl it's not enough to check for just the header because OSS under NetBSD
+    dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
+    dnl whether we need -lossaudio at link-time
+    AC_CACHE_CHECK([for ioctl() in sys/soundcard.h], ac_cv_header_sys_soundcard, [
+        AC_TRY_LINK([
+                #include <sys/soundcard.h>
+            ],
+            [
+                ioctl(0, SNDCTL_DSP_SYNC, 0);
+            ],
+            ac_cv_header_sys_soundcard=yes,
+            [
+                saveLibs="$LIBS"
+                LIBS="$saveLibs -lossaudio"
+                AC_TRY_LINK([
+                        #include <sys/soundcard.h>
+                    ],
+                    [
+                        ioctl(0, SNDCTL_DSP_SYNC, 0);
+                    ],
+                    ac_cv_header_sys_soundcard=yes,
+                    [
+                        LIBS="$saveLibs"
+                        ac_cv_header_sys_soundcard=no
+                    ]
+                )
+            ]
+        )
+    ])
+
+    if test "$ac_cv_header_sys_soundcard" = "yes"; then
+        AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
+    else
+        DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
+    fi
 fi
 WITH_PLUGIN_SDL=0
 if test "$wxUSE_SOUND" = "yes"; then