use proper method of detecting OSS support on Linux and FreeBSD
authorKevin P. Fleming <kpfleming@digium.com>
Sun, 30 Apr 2006 17:49:50 +0000 (17:49 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Sun, 30 Apr 2006 17:49:50 +0000 (17:49 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23736 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/Makefile
channels/chan_oss.c
configure.ac

index aca979f..0b4ddac 100644 (file)
@@ -103,15 +103,10 @@ ringtone.h: gentone
        ./gentone ringtone 440 480
 
 chan_oss.o: chan_oss.c busy.h ringtone.h
        ./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
 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
 
 chan_iax2.so: chan_iax2.o iax2-parser.o iax2-provision.o
        $(CC) $(SOLINK) -o $@ $< iax2-parser.o iax2-provision.o
index 09b4b43..8e9bbe4 100644 (file)
@@ -33,7 +33,7 @@
  */
 
 /*** MODULEINFO
  */
 
 /*** MODULEINFO
-       <depend>osssound</depend>
+       <depend>ossaudio</depend>
  ***/
 
 #include <stdio.h>
  ***/
 
 #include <stdio.h>
index b90d5d3..3996721 100644 (file)
@@ -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])
 
 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
 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
 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
 
    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
 if test "x${PBX_OSTYPE}" = "xLinux" ; then
    AST_EXT_LIB([tonezone], [tone_zone_find], [linux/zaptel.h], [ZAPTEL], [Zaptel])
 else