On Aug 11 14:58:20, m...@mansr.com wrote:
> > 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)
> >
> > (These are artifacts of sunaudio, right?)
> 
> That's what it looks like.  Does OpenBSD have an audioio.h file for some
> other purpose?

There is <sys/audioio.h>, see http://man.openbsd.org/audio
Apparently, this is the uniform audio HW abstraction
implemented by the individual audio card drivers:

./dev/pci/auacer.c:#include <sys/audioio.h>
./dev/pci/auglx.c:#include <sys/audioio.h>
./dev/pci/auich.c:#include <sys/audioio.h>
./dev/pci/auixp.c:#include <sys/audioio.h>
./dev/pci/autri.c:#include <sys/audioio.h>
./dev/pci/auvia.c:#include <sys/audioio.h>
[...]

> > A naive 'grep -Fr audio_info_t .' reveals that SoX ships with
> >
> >     src/bit-rot/
> >     src/bit-rot/CoreAudio
> >     src/bit-rot/CoreAudio/CoreAudio.h
> >     src/bit-rot/mmreg.h
> >     src/bit-rot/mmsystem.h
> >     src/bit-rot/sndio.h
> >     src/bit-rot/sys
> >     src/bit-rot/sys/audioio.h
> >     src/bit-rot/windows.h
> >
> > What are these for?
> 
> Probably to compile-test the related source files on other systems.

I don't understand: what compile-test?

Why do we have e.g. src/bit-rot/sndio.h?
If we are on a sndio system (such as OpenBSD),
there will be a sndio.h we can use;
on other systems, how would we use src/bit-rot/sndio.h?

> Yes, sorry about that.  Does it still mis-detect it with that fixed?

Not oss; sunaudio is still mis-detected though, see above.

> > (God I hate autotools.)
> 
> I hate cmake more.

That goes without saying :-)

        Jan



_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to