From 0adfa8c6356d0a6a5716b697bd1ed8ff11e7594b Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Sun, 30 Apr 2006 17:49:50 +0000
Subject: [PATCH] use proper method of detecting OSS support on Linux and
 FreeBSD

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/Makefile   |  9 ++-------
 channels/chan_oss.c |  2 +-
 configure.ac        | 17 ++++++++++++++---
 3 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/channels/Makefile b/channels/Makefile
index aca979f52f..0b4ddacc3f 100644
--- a/channels/Makefile
+++ b/channels/Makefile
@@ -103,15 +103,10 @@ ringtone.h: gentone
 	./gentone ringtone 440 480
 
 chan_oss.o: chan_oss.c busy.h ringtone.h
+	$(CC) -c -o $@ $(CFLAGS) $(OSSAUDIO_INCLUDE) $<
 
-ifeq ($(OSARCH),OpenBSD)
 chan_oss.so: chan_oss.o
-	$(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio
-endif
-ifeq ($(OSARCH),NetBSD)
-chan_oss.so: chan_oss.o
-	$(CC) $(SOLINK) -o $@ chan_oss.o -lossaudio
-endif
+	$(CC) $(SOLINK) -o $@ chan_oss.o $(OSSAUDIO_LIB)
 
 chan_iax2.so: chan_iax2.o iax2-parser.o iax2-provision.o
 	$(CC) $(SOLINK) -o $@ $< iax2-parser.o iax2-provision.o
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 09b4b43bb6..8e9bbe4f3f 100644
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -33,7 +33,7 @@
  */
 
 /*** MODULEINFO
-	<depend>osssound</depend>
+	<depend>ossaudio</depend>
  ***/
 
 #include <stdio.h>
diff --git a/configure.ac b/configure.ac
index b90d5d32e8..39967212cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,14 +174,25 @@ AST_EXT_LIB([tds], [tds_version], [tds.h], [FREETDS], [FreeTDS])
 AST_EXT_LIB([vorbis], [vorbis_info_init], [vorbis/codec.h], [VORBIS], [Vorbis], [-lm -lvorbisenc])
 AST_EXT_LIB([z], [compress], [zlib.h], [ZLIB], [zlib])
 
+PBX_LIBossaudio=0
 if test "x${PBX_OSTYPE}" = "xLinux" ; then
-   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [linux/soundcard.h], [OSS], [Open Sound System])
+   AC_CHECK_HEADER([linux/soundcard.h],
+                   [PBX_LIBossaudio=1
+		    AC_DEFINE_UNQUOTED([HAVE_OSS], 1, [Define to indicate the Open Sound System library])
+		  ])
 elif test "x${PBX_OSTYPE}" = "xFreeBSD" ; then
-   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [sys/soundcard.h], [OSS], [Open Sound System])
-else
+   AC_CHECK_HEADER([sys/soundcard.h],
+                   [PBX_LIBossaudio=1
+		    AC_DEFINE_UNQUOTED([HAVE_OSS], 1, [Define to indicate the Open Sound System library])
+		  ])
+elif test "x${PBX_OSTYPE}" = "xOpenBSD" ; then
+   AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [soundcard.h], [OSS], [Open Sound System])
+elif test "x${PBX_OSTYPE}" = "xNetBSD" ; then
    AST_EXT_LIB([ossaudio], [oss_ioctl_mixer], [soundcard.h], [OSS], [Open Sound System])
 fi
 
+AC_SUBST([PBX_LIBossaudio])
+
 if test "x${PBX_OSTYPE}" = "xLinux" ; then
    AST_EXT_LIB([tonezone], [tone_zone_find], [linux/zaptel.h], [ZAPTEL], [Zaptel])
 else
-- 
GitLab