Commit c2de5c91a25eb3dcc73b63f1ce515b8e44d1d011
1 parent
e5178e8d
Document usage of new options remove stray variables, check for ALSA/FMOD/ESD
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4797 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
66 additions
and
35 deletions
configure
@@ -117,15 +117,18 @@ OS_CFLAGS="-mno-cygwin" | @@ -117,15 +117,18 @@ OS_CFLAGS="-mno-cygwin" | ||
117 | if [ "$cpu" = "i386" ] ; then | 117 | if [ "$cpu" = "i386" ] ; then |
118 | kqemu="yes" | 118 | kqemu="yes" |
119 | fi | 119 | fi |
120 | +audio_possible_drivers="sdl" | ||
120 | ;; | 121 | ;; |
121 | MINGW32*) | 122 | MINGW32*) |
122 | mingw32="yes" | 123 | mingw32="yes" |
123 | if [ "$cpu" = "i386" ] ; then | 124 | if [ "$cpu" = "i386" ] ; then |
124 | kqemu="yes" | 125 | kqemu="yes" |
125 | fi | 126 | fi |
127 | +audio_possible_drivers="dsound sdl fmod" | ||
126 | ;; | 128 | ;; |
127 | GNU/kFreeBSD) | 129 | GNU/kFreeBSD) |
128 | audio_drv_list="oss" | 130 | audio_drv_list="oss" |
131 | +audio_possible_drivers="oss sdl esd" | ||
129 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then | 132 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then |
130 | kqemu="yes" | 133 | kqemu="yes" |
131 | fi | 134 | fi |
@@ -133,6 +136,7 @@ fi | @@ -133,6 +136,7 @@ fi | ||
133 | FreeBSD) | 136 | FreeBSD) |
134 | bsd="yes" | 137 | bsd="yes" |
135 | audio_drv_list="oss" | 138 | audio_drv_list="oss" |
139 | +audio_possible_drivers="oss sdl esd" | ||
136 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then | 140 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then |
137 | kqemu="yes" | 141 | kqemu="yes" |
138 | fi | 142 | fi |
@@ -140,10 +144,12 @@ fi | @@ -140,10 +144,12 @@ fi | ||
140 | NetBSD) | 144 | NetBSD) |
141 | bsd="yes" | 145 | bsd="yes" |
142 | audio_drv_list="oss" | 146 | audio_drv_list="oss" |
147 | +audio_possible_drivers="oss sdl esd" | ||
143 | ;; | 148 | ;; |
144 | OpenBSD) | 149 | OpenBSD) |
145 | bsd="yes" | 150 | bsd="yes" |
146 | audio_drv_list="oss" | 151 | audio_drv_list="oss" |
152 | +audio_possible_drivers="oss sdl esd" | ||
147 | ;; | 153 | ;; |
148 | Darwin) | 154 | Darwin) |
149 | bsd="yes" | 155 | bsd="yes" |
@@ -151,6 +157,7 @@ darwin="yes" | @@ -151,6 +157,7 @@ darwin="yes" | ||
151 | darwin_user="yes" | 157 | darwin_user="yes" |
152 | cocoa="yes" | 158 | cocoa="yes" |
153 | audio_drv_list="coreaudio" | 159 | audio_drv_list="coreaudio" |
160 | +audio_possible_drivers="coreaudio sdl fmod" | ||
154 | OS_CFLAGS="-mdynamic-no-pic" | 161 | OS_CFLAGS="-mdynamic-no-pic" |
155 | OS_LDFLAGS="-framework CoreFoundation -framework IOKit" | 162 | OS_LDFLAGS="-framework CoreFoundation -framework IOKit" |
156 | ;; | 163 | ;; |
@@ -185,13 +192,16 @@ SunOS) | @@ -185,13 +192,16 @@ SunOS) | ||
185 | if test -f /usr/include/sys/soundcard.h ; then | 192 | if test -f /usr/include/sys/soundcard.h ; then |
186 | audio_drv_list="oss" | 193 | audio_drv_list="oss" |
187 | fi | 194 | fi |
195 | + audio_possible_drivers="oss sdl" | ||
188 | ;; | 196 | ;; |
189 | *) | 197 | *) |
190 | audio_drv_list="oss" | 198 | audio_drv_list="oss" |
199 | +audio_possible_drivers="oss alsa sdl esd" | ||
191 | linux="yes" | 200 | linux="yes" |
192 | linux_user="yes" | 201 | linux_user="yes" |
193 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then | 202 | if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then |
194 | kqemu="yes" | 203 | kqemu="yes" |
204 | + audio_possible_drivers="$audio_possible_drivers fmod" | ||
195 | fi | 205 | fi |
196 | ;; | 206 | ;; |
197 | esac | 207 | esac |
@@ -258,12 +268,12 @@ for opt do | @@ -258,12 +268,12 @@ for opt do | ||
258 | ;; | 268 | ;; |
259 | --fmod-lib=*) fmod_lib="$optarg" | 269 | --fmod-lib=*) fmod_lib="$optarg" |
260 | ;; | 270 | ;; |
271 | + --fmod-inc=*) fmod_inc="$optarg" | ||
272 | + ;; | ||
261 | --audio-card-list=*) audio_card_list="$optarg" | 273 | --audio-card-list=*) audio_card_list="$optarg" |
262 | ;; | 274 | ;; |
263 | --audio-drv-list=*) audio_drv_list="$optarg" | 275 | --audio-drv-list=*) audio_drv_list="$optarg" |
264 | ;; | 276 | ;; |
265 | - --fmod-inc=*) fmod_inc="$optarg" | ||
266 | - ;; | ||
267 | --disable-vnc-tls) vnc_tls="no" | 277 | --disable-vnc-tls) vnc_tls="no" |
268 | ;; | 278 | ;; |
269 | --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no" | 279 | --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no" |
@@ -276,7 +286,10 @@ for opt do | @@ -276,7 +286,10 @@ for opt do | ||
276 | ;; | 286 | ;; |
277 | --enable-profiler) profiler="yes" | 287 | --enable-profiler) profiler="yes" |
278 | ;; | 288 | ;; |
279 | - --enable-cocoa) cocoa="yes" ; sdl="no" ; | 289 | + --enable-cocoa) |
290 | + cocoa="yes" ; | ||
291 | + sdl="no" ; | ||
292 | + audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`" | ||
280 | ;; | 293 | ;; |
281 | --disable-gfx-check) check_gfx="no" | 294 | --disable-gfx-check) check_gfx="no" |
282 | ;; | 295 | ;; |
@@ -400,8 +413,10 @@ echo " --disable-werror disable compilation abort on warning" | @@ -400,8 +413,10 @@ echo " --disable-werror disable compilation abort on warning" | ||
400 | echo " --disable-sdl disable SDL" | 413 | echo " --disable-sdl disable SDL" |
401 | echo " --enable-cocoa enable COCOA (Mac OS X only)" | 414 | echo " --enable-cocoa enable COCOA (Mac OS X only)" |
402 | echo " --enable-mingw32 enable Win32 cross compilation with mingw32" | 415 | echo " --enable-mingw32 enable Win32 cross compilation with mingw32" |
403 | -echo " --audio-drv-list set audio drivers list" | ||
404 | -echo " --audio-card-list set list of additional emulated audio cards" | 416 | +echo " --audio-drv-list=LIST set audio drivers list:" |
417 | +echo " Available drivers: $audio_possible_drivers" | ||
418 | +echo " --audio-card-list=LIST set list of additional emulated audio cards" | ||
419 | +echo " Available cards: ac97 adlib cs4231a gus" | ||
405 | echo " --enable-mixemu enable mixer emulation" | 420 | echo " --enable-mixemu enable mixer emulation" |
406 | echo " --disable-brlapi disable BrlAPI" | 421 | echo " --disable-brlapi disable BrlAPI" |
407 | echo " --disable-vnc-tls disable TLS encryption for VNC server" | 422 | echo " --disable-vnc-tls disable TLS encryption for VNC server" |
@@ -692,7 +707,7 @@ else | @@ -692,7 +707,7 @@ else | ||
692 | # Make sure to disable cocoa if sdl was set | 707 | # Make sure to disable cocoa if sdl was set |
693 | if test "$sdl" = "yes" ; then | 708 | if test "$sdl" = "yes" ; then |
694 | cocoa="no" | 709 | cocoa="no" |
695 | - audio_drv_list="echo $audio_drv_list | sed s,coreaudio,,g" | 710 | + audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`" |
696 | fi | 711 | fi |
697 | fi # -z $sdl | 712 | fi # -z $sdl |
698 | 713 | ||
@@ -707,23 +722,53 @@ if test "$vnc_tls" = "yes" ; then | @@ -707,23 +722,53 @@ if test "$vnc_tls" = "yes" ; then | ||
707 | fi | 722 | fi |
708 | 723 | ||
709 | ########################################## | 724 | ########################################## |
710 | -# alsa sound support libraries | 725 | +# Sound support libraries probe |
711 | 726 | ||
712 | -if test "$alsa" = "yes" ; then | ||
713 | - cat > $TMPC << EOF | ||
714 | -#include <alsa/asoundlib.h> | ||
715 | -int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); } | 727 | +audio_drv_probe() |
728 | +{ | ||
729 | + drv=$1 | ||
730 | + hdr=$2 | ||
731 | + lib=$3 | ||
732 | + exp=$4 | ||
733 | + cfl=$5 | ||
734 | + cat > $TMPC << EOF | ||
735 | +#include <$hdr> | ||
736 | +int main(void) { $exp } | ||
716 | EOF | 737 | EOF |
717 | - if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lasound 2> /dev/null ; then | ||
718 | - : | ||
719 | - else | ||
720 | - echo | ||
721 | - echo "Error: Could not find alsa" | ||
722 | - echo "Make sure to have the alsa libs and headers installed." | ||
723 | - echo | ||
724 | - exit 1 | ||
725 | - fi | ||
726 | -fi | 738 | + if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then |
739 | + : | ||
740 | + else | ||
741 | + echo | ||
742 | + echo "Error: $drv check failed" | ||
743 | + echo "Make sure to have the $drv libs and headers installed." | ||
744 | + echo | ||
745 | + exit 1 | ||
746 | + fi | ||
747 | +} | ||
748 | + | ||
749 | +for drv in $audio_drv_list; do | ||
750 | + case $drv in | ||
751 | + alsa) | ||
752 | + audio_drv_probe $drv alsa/asoundlib.h -lasound \ | ||
753 | + "snd_pcm_t **handle; return snd_pcm_close(*handle);" | ||
754 | + ;; | ||
755 | + | ||
756 | + fmod) | ||
757 | + if test -z $fmod_lib || test -z $fmod_inc; then | ||
758 | + echo | ||
759 | + echo "Error: You must specify path to FMOD library and headers" | ||
760 | + echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so" | ||
761 | + echo | ||
762 | + exit 1 | ||
763 | + fi | ||
764 | + audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc" | ||
765 | + ;; | ||
766 | + | ||
767 | + esd) | ||
768 | + audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);' | ||
769 | + ;; | ||
770 | + esac | ||
771 | +done | ||
727 | 772 | ||
728 | ########################################## | 773 | ########################################## |
729 | # BrlAPI probe | 774 | # BrlAPI probe |
@@ -809,20 +854,6 @@ echo "mingw32 support $mingw32" | @@ -809,20 +854,6 @@ echo "mingw32 support $mingw32" | ||
809 | echo "Audio drivers $audio_drv_list" | 854 | echo "Audio drivers $audio_drv_list" |
810 | echo "Extra audio cards $audio_card_list" | 855 | echo "Extra audio cards $audio_card_list" |
811 | echo "Mixer emulation $mixemu" | 856 | echo "Mixer emulation $mixemu" |
812 | -if test "$fmod" = "yes"; then | ||
813 | - if test -z $fmod_lib || test -z $fmod_inc; then | ||
814 | - echo | ||
815 | - echo "Error: You must specify path to FMOD library and headers" | ||
816 | - echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so" | ||
817 | - echo | ||
818 | - exit 1 | ||
819 | - fi | ||
820 | - fmod_support=" (lib='$fmod_lib' include='$fmod_inc')" | ||
821 | -else | ||
822 | - fmod_support="" | ||
823 | -fi | ||
824 | -echo "FMOD support $fmod $fmod_support" | ||
825 | -echo "OSS support $oss" | ||
826 | echo "VNC TLS support $vnc_tls" | 857 | echo "VNC TLS support $vnc_tls" |
827 | if test "$vnc_tls" = "yes" ; then | 858 | if test "$vnc_tls" = "yes" ; then |
828 | echo " TLS CFLAGS $vnc_tls_cflags" | 859 | echo " TLS CFLAGS $vnc_tls_cflags" |