shithub: choc

Download patch

ref: 125f86e18b31dcf1885164b754bf23ffe3e3bc04
parent: 46a5fbdc25282b0027bd4edd929b46e80546c70c
author: Simon Howard <[email protected]>
date: Tue Apr 15 19:16:16 EDT 2008

Make the BSD PC speaker driver work on FreeBSD.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1113

--- a/configure.in
+++ b/configure.in
@@ -24,7 +24,7 @@
         CFLAGS="-O$OPT_LEVEL -g -Wall $orig_CFLAGS"
 fi
 
-AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h])
+AC_CHECK_HEADERS([linux/kd.h dev/isa/spkrio.h dev/speaker/speaker.h])
 
 AM_PATH_SDL(1.1.3)
 
--- a/pcsound/pcsound.c
+++ b/pcsound/pcsound.c
@@ -31,11 +31,19 @@
 #include "pcsound.h"
 #include "pcsound_internal.h"
 
+
+#ifdef HAVE_DEV_ISA_SPKRIO_H
+#define HAVE_BSD_SPEAKER
+#endif
+#ifdef HAVE_DEV_SPEAKER_SPEAKER_H
+#define HAVE_BSD_SPEAKER
+#endif
+
 #ifdef _WIN32
 extern pcsound_driver_t pcsound_win32_driver;
 #endif
 
-#ifdef HAVE_DEV_ISA_SPKRIO_H
+#ifdef HAVE_BSD_SPEAKER
 extern pcsound_driver_t pcsound_bsd_driver;
 #endif
 
@@ -50,7 +58,7 @@
 #ifdef HAVE_LINUX_KD_H
     &pcsound_linux_driver,
 #endif
-#ifdef HAVE_DEV_ISA_SPKRIO_H
+#ifdef HAVE_BSD_SPEAKER
     &pcsound_bsd_driver,
 #endif
 #ifdef _WIN32
--- a/pcsound/pcsound_bsd.c
+++ b/pcsound/pcsound_bsd.c
@@ -26,14 +26,27 @@
 
 #include "config.h"
 
+// OpenBSD/NetBSD:
+
 #ifdef HAVE_DEV_ISA_SPKRIO_H
+#define HAVE_BSD_SPEAKER
+#include <dev/isa/spkrio.h>
+#endif
 
+// FreeBSD
+
+#ifdef HAVE_DEV_SPEAKER_SPEAKER_H
+#define HAVE_BSD_SPEAKER
+#include <dev/speaker/speaker.h>
+#endif
+
+#ifdef HAVE_BSD_SPEAKER
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
 #include <signal.h>
-#include <dev/isa/spkrio.h>
 #include <sys/ioctl.h>
 #include <sys/signal.h>
 #include <sys/socket.h>
@@ -310,5 +323,5 @@
     PCSound_BSD_Shutdown,
 };
 
-#endif /* #ifdef HAVE_DEV_ISA_SPKRIO_H */
+#endif /* #ifdef HAVE_BSD_SPEAKER */