sox-devel@lists.sourceforge.net unofficial mirror
 help / color / mirror / code / Atom feed
* sunaudio detection and libossaudio
@ 2020-08-11 15:11 Jan Stary
  0 siblings, 0 replies; only message in thread
From: Jan Stary @ 2020-08-11 15:11 UTC (permalink / raw)
  To: sox-devel

[Isolating this from a related oss detection thread]

On Aug 11 15:34:07, hans@stare.cz wrote:
> This is OpenBSD/current.
> 
> On Aug 10 13:17:07, mans@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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-11 15:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11 15:11 sunaudio detection and libossaudio Jan Stary

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/sox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).