[Isolating this from a related oss detection thread] On Aug 11 15:34:07, h...@stare.cz wrote: > This is OpenBSD/current. > > On Aug 10 13:17:07, m...@mansr.com wrote: > > Near as I can tell, no system actually has a machine/soundcard.h file. > > OpenBSD has neither <machine/soundcard.h> nor <sys/soundcard.h>; > it has <soundcard.h>, as documented in http://man.openbsd.org/ossaudio > > > The libossaudio library on NetBSD and OpenBSD is meant to emulate a > > few ioctl() commands to facilitate porting of Linux applications. > > Yes. > > > As we have proper sndio support, this is of no use for SoX. > > On OpenBSD, yes (I will look at NetBSD and FreeBSD in separate emails). > Current SoX git builds and runs fine on OpenBSD > (except the recent -Wl,--as-needed) using sndio, > if ./configure'd right. The OpenBSD port of SoX 14.4.2 > http://cvsweb.openbsd.org/ports/audio/sox/Makefile?rev=1.72 > explicitly builds --without-oss --without-sunaudio --with-sndio > > In fact, these options are necessary (that is to say, > the autodetection is broken); when ./configure'd without options, > it detects each of sndio, ossaudio and sunaudio, and fails with > > sox.c: In function 'adjust_volume': > sox.c:1337: error: 'audio_info_t' undeclared (first use in this function) > sox.c:1337: error: (Each undeclared identifier is reported only once > sox.c:1337: error: for each function it appears in.) > sox.c:1337: error: expected ';' before 'audio_info' > sox.c:1338: error: 'AUDIO_GETINFO' undeclared (first use in this function) > sox.c:1338: error: 'audio_info' undeclared (first use in this function) > sox.c:1341: warning: implicit declaration of function 'AUDIO_INITINFO' > sox.c:1345: error: 'AUDIO_SETINFO' undeclared (first use in this function)
Currently, the configure system uses the following to decide whether the underlying system provides the 'sunaudio' driver: AC_OPTIONAL_FORMAT(sunaudio, SUN_AUDIO, [AC_CHECK_HEADERS(sys/audioio.h,, [AC_CHECK_HEADERS(sun/audioio.h,, using_sunaudio=no)])]) that is wrong on at least OpenBSD, which does have sys/audioio.h, but it does not provide a sunaudio device driver. The audioio.h interface is the audio HW abstraction that the individual card drivers implement, see http://man.openbsd.org/audio The result is that ./configure mis-detects sunaudio and tries to compile the driver, which fails as described above. It seems that a more correct way of detecting the sunaudio driver would be to check if AUDIO_GETINFO and AUDIO_SETINFO are defined and the audio_info_t type is declared. Jan _______________________________________________ SoX-devel mailing list SoX-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sox-devel