From a651a3ab04f118b6de4a99f90efceff7f850d850 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Thu, 20 Apr 2006 20:42:17 +0000 Subject: [PATCH] On the BSDs, the speaker device headers only exist on platforms which support it. Therefore, check for the appropriate header, and make the /dev/speaker code dependant on it. --- src/xpdev/Common.gmake | 8 ++++++++ src/xpdev/xpbeep.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/xpdev/Common.gmake b/src/xpdev/Common.gmake index 0473c3b499..a810bef79a 100644 --- a/src/xpdev/Common.gmake +++ b/src/xpdev/Common.gmake @@ -29,6 +29,14 @@ ifeq ($(shell if [ -c /dev/random ] ; then echo YES ; fi),YES) XPDEV-MT_CFLAGS += -DHAS_DEV_RANDOM -DRANDOM_DEV=\"/dev/random\" XPDEV_CFLAGS += -DHAS_DEV_RANDOM -DRANDOM_DEV=\"/dev/random\" endif +ifeq ($(shell if [ -f /usr/include/machine/speaker.h ] ; then echo YES ; fi),YES) + XPDEV-MT_CFLAGS += -DHAS_MACHINE_SPEAKER_H + XPDEV_CFLAGS += -DHAS_MACHINE_SPEAKER_H +endif +ifeq ($(shell if [ -f /usr/include/machine/spkr.h ] ; then echo YES ; fi),YES) + XPDEV-MT_CFLAGS += -DHAS_MACHINE_SPKR_H + XPDEV_CFLAGS += -DHAS_MACHINE_SPKR_H +endif # FreeBSD, OpenBSD, NetBSD, Linux, SunOS, and Darwin all have random()/srandom() ifeq ($(os),freebsd) diff --git a/src/xpdev/xpbeep.c b/src/xpdev/xpbeep.c index d9ba58062e..9d43fd3bc5 100644 --- a/src/xpdev/xpbeep.c +++ b/src/xpdev/xpbeep.c @@ -31,9 +31,9 @@ #include <sys/kbio.h> #include <sys/kbd.h> #endif - #if defined(__OpenBSD__) || defined(__NetBSD__) + #if (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(HAS_MACHINE_SPKR_H) #include <machine/spkr.h> - #elif defined(__FreeBSD__) + #elif defined(__FreeBSD__) && defined(HAS_MACHINE_SPEAKER_H) #include <machine/speaker.h> #endif #endif @@ -354,7 +354,7 @@ void DLLCALL unix_beep(int freq, int dur) { static int console_fd=-1; -#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) +#if (defined(__FreeBSD__) && defined(HAS_MACHINE_SPEAKER_H)) || ((defined(__OpenBSD__) || defined(__NetBSD__)) && defined(HAS_MACHINE_SPKR_H)) int speaker_fd=-1; tone_t tone; -- GitLab