Change the way audio is configured
Instead of having separate option for each card and driver use --audio-drv-list and --audio-card-list options. Under Linux it allows to set the default(first probed) driver to something other than OSS. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4792 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
a214c59855
commit
0c58ac1c76
@ -38,27 +38,7 @@
|
|||||||
#define SW_NAME(sw) (sw)->name ? (sw)->name : "unknown"
|
#define SW_NAME(sw) (sw)->name ? (sw)->name : "unknown"
|
||||||
|
|
||||||
static struct audio_driver *drvtab[] = {
|
static struct audio_driver *drvtab[] = {
|
||||||
#ifdef CONFIG_OSS
|
AUDIO_DRIVERS
|
||||||
&oss_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ALSA
|
|
||||||
&alsa_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_COREAUDIO
|
|
||||||
&coreaudio_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_DSOUND
|
|
||||||
&dsound_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_FMOD
|
|
||||||
&fmod_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SDL
|
|
||||||
&sdl_audio_driver,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_ESD
|
|
||||||
&esd_audio_driver,
|
|
||||||
#endif
|
|
||||||
&no_audio_driver,
|
&no_audio_driver,
|
||||||
&wav_audio_driver
|
&wav_audio_driver
|
||||||
};
|
};
|
||||||
|
131
configure
vendored
131
configure
vendored
@ -24,6 +24,8 @@ cross_prefix=""
|
|||||||
cc="gcc"
|
cc="gcc"
|
||||||
gcc3_search="yes"
|
gcc3_search="yes"
|
||||||
gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
|
gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
|
||||||
|
audio_drv_list=""
|
||||||
|
audio_card_list=""
|
||||||
host_cc="gcc"
|
host_cc="gcc"
|
||||||
ar="ar"
|
ar="ar"
|
||||||
make="make"
|
make="make"
|
||||||
@ -87,16 +89,6 @@ mingw32="no"
|
|||||||
EXESUF=""
|
EXESUF=""
|
||||||
gdbstub="yes"
|
gdbstub="yes"
|
||||||
slirp="yes"
|
slirp="yes"
|
||||||
adlib="no"
|
|
||||||
ac97="no"
|
|
||||||
gus="no"
|
|
||||||
cs4231a="no"
|
|
||||||
oss="no"
|
|
||||||
dsound="no"
|
|
||||||
coreaudio="no"
|
|
||||||
alsa="no"
|
|
||||||
esd="no"
|
|
||||||
fmod="no"
|
|
||||||
fmod_lib=""
|
fmod_lib=""
|
||||||
fmod_inc=""
|
fmod_inc=""
|
||||||
vnc_tls="yes"
|
vnc_tls="yes"
|
||||||
@ -133,32 +125,32 @@ if [ "$cpu" = "i386" ] ; then
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
GNU/kFreeBSD)
|
GNU/kFreeBSD)
|
||||||
oss="yes"
|
audio_drv_list="oss"
|
||||||
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
||||||
kqemu="yes"
|
kqemu="yes"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
FreeBSD)
|
FreeBSD)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
oss="yes"
|
audio_drv_list="oss"
|
||||||
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
||||||
kqemu="yes"
|
kqemu="yes"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
NetBSD)
|
NetBSD)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
oss="yes"
|
audio_drv_list="oss"
|
||||||
;;
|
;;
|
||||||
OpenBSD)
|
OpenBSD)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
oss="yes"
|
audio_drv_list="oss"
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
bsd="yes"
|
bsd="yes"
|
||||||
darwin="yes"
|
darwin="yes"
|
||||||
darwin_user="yes"
|
darwin_user="yes"
|
||||||
cocoa="yes"
|
cocoa="yes"
|
||||||
coreaudio="yes"
|
audio_drv_list="coreaudio"
|
||||||
OS_CFLAGS="-mdynamic-no-pic"
|
OS_CFLAGS="-mdynamic-no-pic"
|
||||||
OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
|
OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
|
||||||
;;
|
;;
|
||||||
@ -191,11 +183,11 @@ SunOS)
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if test -f /usr/include/sys/soundcard.h ; then
|
if test -f /usr/include/sys/soundcard.h ; then
|
||||||
oss=yes
|
audio_drv_list="oss"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
oss="yes"
|
audio_drv_list="oss"
|
||||||
linux="yes"
|
linux="yes"
|
||||||
linux_user="yes"
|
linux_user="yes"
|
||||||
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
||||||
@ -264,18 +256,12 @@ for opt do
|
|||||||
;;
|
;;
|
||||||
--disable-sdl) sdl="no"
|
--disable-sdl) sdl="no"
|
||||||
;;
|
;;
|
||||||
--enable-coreaudio) coreaudio="yes"
|
|
||||||
;;
|
|
||||||
--enable-alsa) alsa="yes"
|
|
||||||
;;
|
|
||||||
--enable-esd) esd="yes"
|
|
||||||
;;
|
|
||||||
--enable-dsound) dsound="yes"
|
|
||||||
;;
|
|
||||||
--enable-fmod) fmod="yes"
|
|
||||||
;;
|
|
||||||
--fmod-lib=*) fmod_lib="$optarg"
|
--fmod-lib=*) fmod_lib="$optarg"
|
||||||
;;
|
;;
|
||||||
|
--audio-card-list=*) audio_card_list="$optarg"
|
||||||
|
;;
|
||||||
|
--audio-drv-list=*) audio_drv_list="$optarg"
|
||||||
|
;;
|
||||||
--fmod-inc=*) fmod_inc="$optarg"
|
--fmod-inc=*) fmod_inc="$optarg"
|
||||||
;;
|
;;
|
||||||
--disable-vnc-tls) vnc_tls="no"
|
--disable-vnc-tls) vnc_tls="no"
|
||||||
@ -284,21 +270,13 @@ for opt do
|
|||||||
;;
|
;;
|
||||||
--disable-slirp) slirp="no"
|
--disable-slirp) slirp="no"
|
||||||
;;
|
;;
|
||||||
--enable-adlib) adlib="yes"
|
|
||||||
;;
|
|
||||||
--enable-ac97) ac97="yes"
|
|
||||||
;;
|
|
||||||
--enable-gus) gus="yes"
|
|
||||||
;;
|
|
||||||
--enable-cs4231a) cs4231a="yes"
|
|
||||||
;;
|
|
||||||
--disable-kqemu) kqemu="no"
|
--disable-kqemu) kqemu="no"
|
||||||
;;
|
;;
|
||||||
--disable-brlapi) brlapi="no"
|
--disable-brlapi) brlapi="no"
|
||||||
;;
|
;;
|
||||||
--enable-profiler) profiler="yes"
|
--enable-profiler) profiler="yes"
|
||||||
;;
|
;;
|
||||||
--enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
|
--enable-cocoa) cocoa="yes" ; sdl="no" ;
|
||||||
;;
|
;;
|
||||||
--disable-gfx-check) check_gfx="no"
|
--disable-gfx-check) check_gfx="no"
|
||||||
;;
|
;;
|
||||||
@ -422,15 +400,8 @@ echo " --disable-werror disable compilation abort on warning"
|
|||||||
echo " --disable-sdl disable SDL"
|
echo " --disable-sdl disable SDL"
|
||||||
echo " --enable-cocoa enable COCOA (Mac OS X only)"
|
echo " --enable-cocoa enable COCOA (Mac OS X only)"
|
||||||
echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
|
echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
|
||||||
echo " --enable-adlib enable Adlib emulation"
|
echo " --audio-drv-list set audio drivers list"
|
||||||
echo " --enable-ac97 enable AC97 emulation"
|
echo " --audio-card-list set list of additional emulated audio cards"
|
||||||
echo " --enable-gus enable Gravis Ultrasound emulation"
|
|
||||||
echo " --enable-cs4231a enable CS4231A emulation"
|
|
||||||
echo " --enable-coreaudio enable Coreaudio audio driver"
|
|
||||||
echo " --enable-alsa enable ALSA audio driver"
|
|
||||||
echo " --enable-esd enable EsoundD audio driver"
|
|
||||||
echo " --enable-fmod enable FMOD audio driver"
|
|
||||||
echo " --enable-dsound enable DirectSound audio driver"
|
|
||||||
echo " --enable-mixemu enable mixer emulation"
|
echo " --enable-mixemu enable mixer emulation"
|
||||||
echo " --disable-brlapi disable BrlAPI"
|
echo " --disable-brlapi disable BrlAPI"
|
||||||
echo " --disable-vnc-tls disable TLS encryption for VNC server"
|
echo " --disable-vnc-tls disable TLS encryption for VNC server"
|
||||||
@ -721,7 +692,7 @@ else
|
|||||||
# Make sure to disable cocoa if sdl was set
|
# Make sure to disable cocoa if sdl was set
|
||||||
if test "$sdl" = "yes" ; then
|
if test "$sdl" = "yes" ; then
|
||||||
cocoa="no"
|
cocoa="no"
|
||||||
coreaudio="no"
|
audio_drv_list="echo $audio_drv_list | sed s,coreaudio,,g"
|
||||||
fi
|
fi
|
||||||
fi # -z $sdl
|
fi # -z $sdl
|
||||||
|
|
||||||
@ -835,14 +806,8 @@ if test "$sdl" != "no" ; then
|
|||||||
fi
|
fi
|
||||||
echo "curses support $curses"
|
echo "curses support $curses"
|
||||||
echo "mingw32 support $mingw32"
|
echo "mingw32 support $mingw32"
|
||||||
echo "Adlib support $adlib"
|
echo "Audio drivers $audio_drv_list"
|
||||||
echo "AC97 support $ac97"
|
echo "Extra audio cards $audio_card_list"
|
||||||
echo "GUS support $gus"
|
|
||||||
echo "CS4231A support $cs4231a"
|
|
||||||
echo "CoreAudio support $coreaudio"
|
|
||||||
echo "ALSA support $alsa"
|
|
||||||
echo "EsounD support $esd"
|
|
||||||
echo "DSound support $dsound"
|
|
||||||
echo "Mixer emulation $mixemu"
|
echo "Mixer emulation $mixemu"
|
||||||
if test "$fmod" = "yes"; then
|
if test "$fmod" = "yes"; then
|
||||||
if test -z $fmod_lib || test -z $fmod_inc; then
|
if test -z $fmod_lib || test -z $fmod_inc; then
|
||||||
@ -1036,52 +1001,26 @@ if test "$slirp" = "yes" ; then
|
|||||||
echo "CONFIG_SLIRP=yes" >> $config_mak
|
echo "CONFIG_SLIRP=yes" >> $config_mak
|
||||||
echo "#define CONFIG_SLIRP 1" >> $config_h
|
echo "#define CONFIG_SLIRP 1" >> $config_h
|
||||||
fi
|
fi
|
||||||
if test "$adlib" = "yes" ; then
|
for card in $audio_card_list; do
|
||||||
echo "CONFIG_ADLIB=yes" >> $config_mak
|
def=CONFIG_`echo $card | tr [:lower:] [:upper:]`
|
||||||
echo "#define CONFIG_ADLIB 1" >> $config_h
|
echo "$def=yes" >> $config_mak
|
||||||
fi
|
echo "#define $def 1" >> $config_h
|
||||||
if test "$ac97" = "yes" ; then
|
done
|
||||||
echo "CONFIG_AC97=yes" >> $config_mak
|
echo "#define AUDIO_DRIVERS \\" >> $config_h
|
||||||
echo "#define CONFIG_AC97 1" >> $config_h
|
for drv in $audio_drv_list; do
|
||||||
fi
|
echo " &${drv}_audio_driver, \\" >>$config_h
|
||||||
if test "$gus" = "yes" ; then
|
def=CONFIG_`echo $drv | tr [:lower:] [:upper:]`
|
||||||
echo "CONFIG_GUS=yes" >> $config_mak
|
echo "$def=yes" >> $config_mak
|
||||||
echo "#define CONFIG_GUS 1" >> $config_h
|
if test "$drv" == "fmod"; then
|
||||||
fi
|
echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
|
||||||
if test "$cs4231a" = "yes" ; then
|
echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
|
||||||
echo "CONFIG_CS4231A=yes" >> $config_mak
|
fi
|
||||||
echo "#define CONFIG_CS4231A 1" >> $config_h
|
done
|
||||||
fi
|
echo "" >>$config_h
|
||||||
if test "$oss" = "yes" ; then
|
|
||||||
echo "CONFIG_OSS=yes" >> $config_mak
|
|
||||||
echo "#define CONFIG_OSS 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$coreaudio" = "yes" ; then
|
|
||||||
echo "CONFIG_COREAUDIO=yes" >> $config_mak
|
|
||||||
echo "#define CONFIG_COREAUDIO 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$alsa" = "yes" ; then
|
|
||||||
echo "CONFIG_ALSA=yes" >> $config_mak
|
|
||||||
echo "#define CONFIG_ALSA 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$esd" = "yes" ; then
|
|
||||||
echo "CONFIG_ESD=yes" >> $config_mak
|
|
||||||
echo "#define CONFIG_ESD 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$dsound" = "yes" ; then
|
|
||||||
echo "CONFIG_DSOUND=yes" >> $config_mak
|
|
||||||
echo "#define CONFIG_DSOUND 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$mixemu" = "yes" ; then
|
if test "$mixemu" = "yes" ; then
|
||||||
echo "CONFIG_MIXEMU=yes" >> $config_mak
|
echo "CONFIG_MIXEMU=yes" >> $config_mak
|
||||||
echo "#define CONFIG_MIXEMU 1" >> $config_h
|
echo "#define CONFIG_MIXEMU 1" >> $config_h
|
||||||
fi
|
fi
|
||||||
if test "$fmod" = "yes" ; then
|
|
||||||
echo "CONFIG_FMOD=yes" >> $config_mak
|
|
||||||
echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
|
|
||||||
echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
|
|
||||||
echo "#define CONFIG_FMOD 1" >> $config_h
|
|
||||||
fi
|
|
||||||
if test "$vnc_tls" = "yes" ; then
|
if test "$vnc_tls" = "yes" ; then
|
||||||
echo "CONFIG_VNC_TLS=yes" >> $config_mak
|
echo "CONFIG_VNC_TLS=yes" >> $config_mak
|
||||||
echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
|
echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
|
||||||
|
@ -183,8 +183,8 @@ PCI UHCI USB controller and a virtual USB hub.
|
|||||||
SMP is supported with up to 255 CPUs.
|
SMP is supported with up to 255 CPUs.
|
||||||
|
|
||||||
Note that adlib, ac97, gus and cs4231a are only available when QEMU
|
Note that adlib, ac97, gus and cs4231a are only available when QEMU
|
||||||
was configured with --enable-adlib, --enable-ac97, --enable-gus or
|
was configured with --audio-card-list option containing the name(s) of
|
||||||
--enable-cs4231a respectively.
|
required cards.
|
||||||
|
|
||||||
QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
|
QEMU uses the PC BIOS from the Bochs project and the Plex86/Bochs LGPL
|
||||||
VGA BIOS.
|
VGA BIOS.
|
||||||
|
Loading…
Reference in New Issue
Block a user