]> git.proxmox.com Git - qemu.git/blob - configure
pthreads-based audio and miscellaneous audio clean-up (malc).
[qemu.git] / configure
1 #!/bin/sh
2 #
3 # qemu configure script (c) 2003 Fabrice Bellard
4 #
5 # set temporary file name
6 if test ! -z "$TMPDIR" ; then
7 TMPDIR1="${TMPDIR}"
8 elif test ! -z "$TEMPDIR" ; then
9 TMPDIR1="${TEMPDIR}"
10 else
11 TMPDIR1="/tmp"
12 fi
13
14 TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18
19 # default parameters
20 prefix=""
21 interp_prefix="/usr/gnemul/qemu-%M"
22 static="no"
23 cross_prefix=""
24 cc="gcc"
25 gcc3_search="yes"
26 gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
27 host_cc="gcc"
28 ar="ar"
29 make="make"
30 install="install"
31 strip="strip"
32 cpu=`uname -m`
33 target_list=""
34 case "$cpu" in
35 i386|i486|i586|i686|i86pc|BePC)
36 cpu="i386"
37 ;;
38 armv*b)
39 cpu="armv4b"
40 ;;
41 armv*l)
42 cpu="armv4l"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
47 "Power Macintosh"|ppc|ppc64)
48 cpu="powerpc"
49 ;;
50 mips)
51 cpu="mips"
52 ;;
53 mips64)
54 cpu="mips64"
55 ;;
56 cris)
57 cpu="cris"
58 ;;
59 s390*)
60 cpu="s390"
61 ;;
62 sparc|sun4[cdmuv])
63 cpu="sparc"
64 ;;
65 sparc64)
66 cpu="sparc64"
67 ;;
68 ia64)
69 cpu="ia64"
70 ;;
71 m68k)
72 cpu="m68k"
73 ;;
74 x86_64|amd64)
75 cpu="x86_64"
76 ;;
77 *)
78 cpu="unknown"
79 ;;
80 esac
81 gprof="no"
82 bigendian="no"
83 mingw32="no"
84 EXESUF=""
85 gdbstub="yes"
86 slirp="yes"
87 adlib="no"
88 oss="no"
89 dsound="no"
90 coreaudio="no"
91 alsa="no"
92 esd="no"
93 fmod="no"
94 fmod_lib=""
95 fmod_inc=""
96 vnc_tls="yes"
97 bsd="no"
98 linux="no"
99 kqemu="no"
100 profiler="no"
101 cocoa="no"
102 check_gfx="yes"
103 check_gcc="yes"
104 softmmu="yes"
105 linux_user="no"
106 darwin_user="no"
107 build_docs="no"
108 uname_release=""
109
110 # OS specific
111 targetos=`uname -s`
112 case $targetos in
113 CYGWIN*)
114 mingw32="yes"
115 OS_CFLAGS="-mno-cygwin"
116 VL_OS_LDFLAGS="-mno-cygwin"
117 if [ "$cpu" = "i386" ] ; then
118 kqemu="yes"
119 fi
120 ;;
121 MINGW32*)
122 mingw32="yes"
123 if [ "$cpu" = "i386" ] ; then
124 kqemu="yes"
125 fi
126 ;;
127 GNU/kFreeBSD)
128 oss="yes"
129 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
130 kqemu="yes"
131 fi
132 ;;
133 FreeBSD)
134 bsd="yes"
135 oss="yes"
136 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
137 kqemu="yes"
138 fi
139 ;;
140 NetBSD)
141 bsd="yes"
142 oss="yes"
143 ;;
144 OpenBSD)
145 bsd="yes"
146 oss="yes"
147 ;;
148 Darwin)
149 bsd="yes"
150 darwin="yes"
151 darwin_user="yes"
152 cocoa="yes"
153 coreaudio="yes"
154 OS_CFLAGS="-mdynamic-no-pic"
155 OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
156 ;;
157 SunOS)
158 solaris="yes"
159 make="gmake"
160 install="ginstall"
161 needs_libsunmath="no"
162 solarisrev=`uname -r | cut -f2 -d.`
163 # have to select again, because `uname -m` returns i86pc
164 # even on an x86_64 box.
165 solariscpu=`isainfo -k`
166 if test "${solariscpu}" = "amd64" ; then
167 cpu="x86_64"
168 fi
169 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
170 if test "$solarisrev" -le 9 ; then
171 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
172 needs_libsunmath="yes"
173 else
174 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
175 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
176 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
177 echo "Studio 11 can be downloaded from www.sun.com."
178 exit 1
179 fi
180 fi
181 if test "$solarisrev" -ge 9 ; then
182 kqemu="yes"
183 fi
184 fi
185 if test -f /usr/include/sys/soundcard.h ; then
186 oss=yes
187 fi
188 ;;
189 *)
190 oss="yes"
191 linux="yes"
192 linux_user="yes"
193 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
194 kqemu="yes"
195 fi
196 ;;
197 esac
198
199 if [ "$bsd" = "yes" ] ; then
200 if [ "$darwin" != "yes" ] ; then
201 make="gmake"
202 fi
203 fi
204
205 # find source path
206 source_path=`dirname "$0"`
207 if [ -z "$source_path" ]; then
208 source_path=`pwd`
209 else
210 source_path=`cd "$source_path"; pwd`
211 fi
212 if test "$source_path" = `pwd` ; then
213 source_path_used="no"
214 else
215 source_path_used="yes"
216 fi
217
218 werror="no"
219 # generate compile errors on warnings for development builds
220 #if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
221 #werror="yes";
222 #fi
223
224 for opt do
225 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
226 case "$opt" in
227 --help|-h) show_help=yes
228 ;;
229 --prefix=*) prefix="$optarg"
230 ;;
231 --interp-prefix=*) interp_prefix="$optarg"
232 ;;
233 --source-path=*) source_path="$optarg"
234 source_path_used="yes"
235 ;;
236 --cross-prefix=*) cross_prefix="$optarg"
237 ;;
238 --cc=*) cc="$optarg"
239 gcc3_search="no"
240 ;;
241 --host-cc=*) host_cc="$optarg"
242 ;;
243 --make=*) make="$optarg"
244 ;;
245 --install=*) install="$optarg"
246 ;;
247 --extra-cflags=*) CFLAGS="$optarg"
248 ;;
249 --extra-ldflags=*) LDFLAGS="$optarg"
250 ;;
251 --cpu=*) cpu="$optarg"
252 ;;
253 --target-list=*) target_list="$optarg"
254 ;;
255 --enable-gprof) gprof="yes"
256 ;;
257 --static) static="yes"
258 ;;
259 --disable-sdl) sdl="no"
260 ;;
261 --enable-coreaudio) coreaudio="yes"
262 ;;
263 --enable-alsa) alsa="yes"
264 ;;
265 --enable-esd) esd="yes"
266 ;;
267 --enable-dsound) dsound="yes"
268 ;;
269 --enable-fmod) fmod="yes"
270 ;;
271 --fmod-lib=*) fmod_lib="$optarg"
272 ;;
273 --fmod-inc=*) fmod_inc="$optarg"
274 ;;
275 --disable-vnc-tls) vnc_tls="no"
276 ;;
277 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
278 ;;
279 --disable-slirp) slirp="no"
280 ;;
281 --enable-adlib) adlib="yes"
282 ;;
283 --disable-kqemu) kqemu="no"
284 ;;
285 --enable-profiler) profiler="yes"
286 ;;
287 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
288 ;;
289 --disable-gfx-check) check_gfx="no"
290 ;;
291 --disable-gcc-check) check_gcc="no"
292 ;;
293 --disable-system) softmmu="no"
294 ;;
295 --enable-system) softmmu="yes"
296 ;;
297 --disable-linux-user) linux_user="no"
298 ;;
299 --enable-linux-user) linux_user="yes"
300 ;;
301 --disable-darwin-user) darwin_user="no"
302 ;;
303 --enable-darwin-user) darwin_user="yes"
304 ;;
305 --enable-uname-release=*) uname_release="$optarg"
306 ;;
307 --sparc_cpu=*)
308 sparc_cpu="$optarg"
309 case $sparc_cpu in
310 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
311 target_cpu="sparc"; cpu="sparc" ;;
312 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
313 target_cpu="sparc"; cpu="sparc" ;;
314 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
315 target_cpu="sparc64"; cpu="sparc64" ;;
316 *) echo "undefined SPARC architecture. Exiting";exit 1;;
317 esac
318 ;;
319 --enable-werror) werror="yes"
320 ;;
321 --disable-werror) werror="no"
322 ;;
323 *) echo "ERROR: unknown option $opt"; show_help="yes"
324 ;;
325 esac
326 done
327
328 if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
329 AIOLIBS=
330 else
331 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
332 AIOLIBS="-lrt -lpthread"
333 fi
334
335 # default flags for all hosts
336 CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
337 LDFLAGS="$LDFLAGS -g"
338 if test "$werror" = "yes" ; then
339 CFLAGS="$CFLAGS -Werror"
340 fi
341
342 #
343 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
344 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
345 #
346 case $cpu in
347 sparc) if test -z "$sparc_cpu" ; then
348 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
349 ARCH_LDFLAGS="-m32"
350 else
351 ARCH_CFLAGS="${SP_CFLAGS}"
352 ARCH_LDFLAGS="${SP_LDFLAGS}"
353 fi
354 ;;
355 sparc64) if test -z "$sparc_cpu" ; then
356 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
357 ARCH_LDFLAGS="-m64"
358 else
359 ARCH_CFLAGS="${SP_CFLAGS}"
360 ARCH_LDFLAGS="${SP_LDFLAGS}"
361 fi
362 ;;
363 s390)
364 ARCH_CFLAGS="-march=z900"
365 ;;
366 esac
367
368 if [ "$solaris" = "yes" -a "$cpu" = "x86_64" ] ; then
369 CFLAGS="${CFLAGS} -m64"
370 OS_CFLAGS="${OS_CFLAGS} -m64"
371 OS_LDFLAGS="${OS_LDFLAGS} -m64"
372 fi
373
374 if [ "$solaris" = "yes" -a "$cpu" = "i386" ] ; then
375 CFLAGS="${CFLAGS} -m32"
376 OS_CFLAGS="${OS_CFLAGS} -m32"
377 fi
378
379 if test x"$show_help" = x"yes" ; then
380 cat << EOF
381
382 Usage: configure [options]
383 Options: [defaults in brackets after descriptions]
384
385 EOF
386 echo "Standard options:"
387 echo " --help print this message"
388 echo " --prefix=PREFIX install in PREFIX [$prefix]"
389 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
390 echo " use %M for cpu name [$interp_prefix]"
391 echo " --target-list=LIST set target list [$target_list]"
392 echo ""
393 echo "kqemu kernel acceleration support:"
394 echo " --disable-kqemu disable kqemu support"
395 echo ""
396 echo "Advanced options (experts only):"
397 echo " --source-path=PATH path of source code [$source_path]"
398 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
399 echo " --cc=CC use C compiler CC [$cc]"
400 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
401 echo " --make=MAKE use specified make [$make]"
402 echo " --install=INSTALL use specified install [$install]"
403 echo " --static enable static build [$static]"
404 echo " --disable-werror disable compilation abort on warning"
405 echo " --disable-sdl disable SDL"
406 echo " --enable-cocoa enable COCOA (Mac OS X only)"
407 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
408 echo " --enable-adlib enable Adlib emulation"
409 echo " --enable-coreaudio enable Coreaudio audio driver"
410 echo " --enable-alsa enable ALSA audio driver"
411 echo " --enable-esd enable EsoundD audio driver"
412 echo " --enable-fmod enable FMOD audio driver"
413 echo " --enable-dsound enable DirectSound audio driver"
414 echo " --disable-vnc-tls disable TLS encryption for VNC server"
415 echo " --enable-system enable all system emulation targets"
416 echo " --disable-system disable all system emulation targets"
417 echo " --enable-linux-user enable all linux usermode emulation targets"
418 echo " --disable-linux-user disable all linux usermode emulation targets"
419 echo " --enable-darwin-user enable all darwin usermode emulation targets"
420 echo " --disable-darwin-user disable all darwin usermode emulation targets"
421 echo " --fmod-lib path to FMOD library"
422 echo " --fmod-inc path to FMOD includes"
423 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
424 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
425 echo ""
426 echo "NOTE: The object files are built at the place where configure is launched"
427 exit 1
428 fi
429
430 cc="${cross_prefix}${cc}"
431 ar="${cross_prefix}${ar}"
432 strip="${cross_prefix}${strip}"
433
434 # check that the C compiler works.
435 cat > $TMPC <<EOF
436 int main(void) {}
437 EOF
438
439 if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
440 : C compiler works ok
441 else
442 echo "ERROR: \"$cc\" either does not exist or does not work"
443 exit 1
444 fi
445
446 if test "$mingw32" = "yes" ; then
447 linux="no"
448 EXESUF=".exe"
449 oss="no"
450 fi
451
452 # Check for gcc4, error if pre-gcc4
453 if test "$check_gcc" = "yes" ; then
454 cat > $TMPC <<EOF
455 #if __GNUC__ < 4
456 #error gcc3
457 #endif
458 int main(){return 0;}
459 EOF
460 if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
461 echo "WARNING: \"$cc\" looks like gcc 4.x"
462 found_compat_cc="no"
463 if test "$gcc3_search" = "yes" ; then
464 echo "Looking for gcc 3.x"
465 for compat_cc in $gcc3_list ; do
466 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
467 echo "Found \"$compat_cc\""
468 cc="$cross_prefix$compat_cc"
469 found_compat_cc="yes"
470 break
471 fi
472 done
473 if test "$found_compat_cc" = "no" ; then
474 echo "gcc 3.x not found!"
475 fi
476 fi
477 if test "$found_compat_cc" = "no" ; then
478 echo "QEMU is known to have problems when compiled with gcc 4.x"
479 echo "It is recommended that you use gcc 3.x to build QEMU"
480 echo "To use this compiler anyway, configure with --disable-gcc-check"
481 exit 1;
482 fi
483 fi
484 fi
485
486 #
487 # Solaris specific configure tool chain decisions
488 #
489 if test "$solaris" = "yes" ; then
490 #
491 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
492 # override the check with --disable-gcc-check
493 #
494 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
495 solgcc=`which $cc`
496 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
497 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
498 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
499 echo "or get the latest patch from SunSolve for gcc"
500 exit 1
501 fi
502 fi
503 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
504 if test -z "$solinst" ; then
505 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
506 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
507 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
508 exit 1
509 fi
510 if test "$solinst" = "/usr/sbin/install" ; then
511 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
512 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
513 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
514 exit 1
515 fi
516 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
517 if test -z "$sol_ar" ; then
518 echo "Error: No path includes ar"
519 if test -f /usr/ccs/bin/ar ; then
520 echo "Add /usr/ccs/bin to your path and rerun configure"
521 fi
522 exit 1
523 fi
524 fi
525
526
527 if test -z "$target_list" ; then
528 # these targets are portable
529 if [ "$softmmu" = "yes" ] ; then
530 target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu sh4eb-softmmu cris-softmmu"
531 fi
532 # the following are Linux specific
533 if [ "$linux_user" = "yes" ] ; then
534 target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user sh4eb-linux-user ppc-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
535 fi
536 # the following are Darwin specific
537 if [ "$darwin_user" = "yes" ] ; then
538 target_list="i386-darwin-user ppc-darwin-user $target_list"
539 fi
540 else
541 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
542 fi
543 if test -z "$target_list" ; then
544 echo "No targets enabled"
545 exit 1
546 fi
547
548 if test -z "$cross_prefix" ; then
549
550 # ---
551 # big/little endian test
552 cat > $TMPC << EOF
553 #include <inttypes.h>
554 int main(int argc, char ** argv){
555 volatile uint32_t i=0x01234567;
556 return (*((uint8_t*)(&i))) == 0x67;
557 }
558 EOF
559
560 if $cc -o $TMPE $TMPC 2> /dev/null ; then
561 $TMPE && bigendian="yes"
562 else
563 echo big/little test failed
564 fi
565
566 else
567
568 # if cross compiling, cannot launch a program, so make a static guess
569 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
570 bigendian="yes"
571 fi
572
573 fi
574
575 # host long bits test
576 hostlongbits="32"
577 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
578 hostlongbits="64"
579 fi
580
581 # check gcc options support
582 cat > $TMPC <<EOF
583 int main(void) {
584 }
585 EOF
586
587 ##########################################
588 # SDL probe
589
590 sdl_too_old=no
591
592 if test -z "$sdl" ; then
593 sdl_config="sdl-config"
594 sdl=no
595 sdl_static=no
596
597 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
598 # win32 cross compilation case
599 sdl_config="i386-mingw32msvc-sdl-config"
600 sdl=yes
601 else
602 # normal SDL probe
603 cat > $TMPC << EOF
604 #include <SDL.h>
605 #undef main /* We don't want SDL to override our main() */
606 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
607 EOF
608 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
609 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
610 if test "$_sdlversion" -lt 121 ; then
611 sdl_too_old=yes
612 else
613 if test "$cocoa" = "no" ; then
614 sdl=yes
615 fi
616 fi
617
618 # static link with sdl ?
619 if test "$sdl" = "yes" ; then
620 aa="no"
621 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
622 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
623 if [ "$aa" = "yes" ] ; then
624 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
625 fi
626
627 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
628 sdl_static=yes
629 fi
630 fi # static link
631 fi # sdl compile test
632 fi # cross compilation
633 else
634 # Make sure to disable cocoa if sdl was set
635 if test "$sdl" = "yes" ; then
636 cocoa="no"
637 coreaudio="no"
638 fi
639 fi # -z $sdl
640
641 ##########################################
642 # VNC TLS detection
643 if test "$vnc_tls" = "yes" ; then
644 `pkg-config gnutls` || vnc_tls="no"
645 fi
646 if test "$vnc_tls" = "yes" ; then
647 vnc_tls_cflags=`pkg-config --cflags gnutls`
648 vnc_tls_libs=`pkg-config --libs gnutls`
649 fi
650
651 ##########################################
652 # alsa sound support libraries
653
654 if test "$alsa" = "yes" ; then
655 cat > $TMPC << EOF
656 #include <alsa/asoundlib.h>
657 int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
658 EOF
659 if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
660 :
661 else
662 echo
663 echo "Error: Could not find alsa"
664 echo "Make sure to have the alsa libs and headers installed."
665 echo
666 exit 1
667 fi
668 fi
669
670 # Check if tools are available to build documentation.
671 if [ -x "`which texi2html 2>/dev/null`" ] && \
672 [ -x "`which pod2man 2>/dev/null`" ]; then
673 build_docs="yes"
674 fi
675
676 if test "$mingw32" = "yes" ; then
677 if test -z "$prefix" ; then
678 prefix="/c/Program Files/Qemu"
679 fi
680 mansuffix=""
681 datasuffix=""
682 docsuffix=""
683 binsuffix=""
684 else
685 if test -z "$prefix" ; then
686 prefix="/usr/local"
687 fi
688 mansuffix="/share/man"
689 datasuffix="/share/qemu"
690 docsuffix="/share/doc/qemu"
691 binsuffix="/bin"
692 fi
693
694 echo "Install prefix $prefix"
695 echo "BIOS directory $prefix$datasuffix"
696 echo "binary directory $prefix$binsuffix"
697 if test "$mingw32" = "no" ; then
698 echo "Manual directory $prefix$mansuffix"
699 echo "ELF interp prefix $interp_prefix"
700 fi
701 echo "Source path $source_path"
702 echo "C compiler $cc"
703 echo "Host C compiler $host_cc"
704 echo "make $make"
705 echo "install $install"
706 echo "host CPU $cpu"
707 echo "host big endian $bigendian"
708 echo "target list $target_list"
709 echo "gprof enabled $gprof"
710 echo "profiler $profiler"
711 echo "static build $static"
712 echo "-Werror enabled $werror"
713 if test "$darwin" = "yes" ; then
714 echo "Cocoa support $cocoa"
715 fi
716 echo "SDL support $sdl"
717 if test "$sdl" != "no" ; then
718 echo "SDL static link $sdl_static"
719 fi
720 echo "mingw32 support $mingw32"
721 echo "Adlib support $adlib"
722 echo "CoreAudio support $coreaudio"
723 echo "ALSA support $alsa"
724 echo "EsounD support $esd"
725 echo "DSound support $dsound"
726 if test "$fmod" = "yes"; then
727 if test -z $fmod_lib || test -z $fmod_inc; then
728 echo
729 echo "Error: You must specify path to FMOD library and headers"
730 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
731 echo
732 exit 1
733 fi
734 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
735 else
736 fmod_support=""
737 fi
738 echo "FMOD support $fmod $fmod_support"
739 echo "OSS support $oss"
740 echo "VNC TLS support $vnc_tls"
741 if test "$vnc_tls" = "yes" ; then
742 echo " TLS CFLAGS $vnc_tls_cflags"
743 echo " TLS LIBS $vnc_tls_libs"
744 fi
745 if test -n "$sparc_cpu"; then
746 echo "Target Sparc Arch $sparc_cpu"
747 fi
748 echo "kqemu support $kqemu"
749 echo "Documentation $build_docs"
750 [ ! -z "$uname_release" ] && \
751 echo "uname -r $uname_release"
752
753 if test $sdl_too_old = "yes"; then
754 echo "-> Your SDL version is too old - please upgrade to have SDL support"
755 fi
756 if [ -s /tmp/qemu-$$-sdl-config.log ]; then
757 echo "The error log from compiling the libSDL test is: "
758 cat /tmp/qemu-$$-sdl-config.log
759 fi
760 rm -f /tmp/qemu-$$-sdl-config.log
761 #if test "$sdl_static" = "no"; then
762 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
763 #fi
764 config_mak="config-host.mak"
765 config_h="config-host.h"
766
767 #echo "Creating $config_mak and $config_h"
768
769 test -f $config_h && mv $config_h ${config_h}~
770
771 echo "# Automatically generated by configure - do not modify" > $config_mak
772 echo "# Configured with: $0 $@" >> $config_mak
773 echo "/* Automatically generated by configure - do not modify */" > $config_h
774
775 echo "prefix=$prefix" >> $config_mak
776 echo "bindir=\${prefix}$binsuffix" >> $config_mak
777 echo "mandir=\${prefix}$mansuffix" >> $config_mak
778 echo "datadir=\${prefix}$datasuffix" >> $config_mak
779 echo "docdir=\${prefix}$docsuffix" >> $config_mak
780 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
781 echo "MAKE=$make" >> $config_mak
782 echo "INSTALL=$install" >> $config_mak
783 echo "CC=$cc" >> $config_mak
784 echo "HOST_CC=$host_cc" >> $config_mak
785 echo "AR=$ar" >> $config_mak
786 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
787 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
788 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
789 echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
790 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
791 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
792 echo "CFLAGS=$CFLAGS" >> $config_mak
793 echo "LDFLAGS=$LDFLAGS" >> $config_mak
794 echo "EXESUF=$EXESUF" >> $config_mak
795 echo "AIOLIBS=$AIOLIBS" >> $config_mak
796 if test "$cpu" = "i386" ; then
797 echo "ARCH=i386" >> $config_mak
798 echo "#define HOST_I386 1" >> $config_h
799 elif test "$cpu" = "x86_64" ; then
800 echo "ARCH=x86_64" >> $config_mak
801 echo "#define HOST_X86_64 1" >> $config_h
802 elif test "$cpu" = "armv4b" ; then
803 echo "ARCH=arm" >> $config_mak
804 echo "#define HOST_ARM 1" >> $config_h
805 elif test "$cpu" = "armv4l" ; then
806 echo "ARCH=arm" >> $config_mak
807 echo "#define HOST_ARM 1" >> $config_h
808 elif test "$cpu" = "powerpc" ; then
809 echo "ARCH=ppc" >> $config_mak
810 echo "#define HOST_PPC 1" >> $config_h
811 elif test "$cpu" = "mips" ; then
812 echo "ARCH=mips" >> $config_mak
813 echo "#define HOST_MIPS 1" >> $config_h
814 elif test "$cpu" = "mips64" ; then
815 echo "ARCH=mips64" >> $config_mak
816 echo "#define HOST_MIPS64 1" >> $config_h
817 elif test "$cpu" = "cris" ; then
818 echo "ARCH=cris" >> $config_mak
819 echo "#define HOST_CRIS 1" >> $config_h
820 elif test "$cpu" = "s390" ; then
821 echo "ARCH=s390" >> $config_mak
822 echo "#define HOST_S390 1" >> $config_h
823 elif test "$cpu" = "alpha" ; then
824 echo "ARCH=alpha" >> $config_mak
825 echo "#define HOST_ALPHA 1" >> $config_h
826 elif test "$cpu" = "sparc" ; then
827 echo "ARCH=sparc" >> $config_mak
828 echo "#define HOST_SPARC 1" >> $config_h
829 elif test "$cpu" = "sparc64" ; then
830 echo "ARCH=sparc64" >> $config_mak
831 echo "#define HOST_SPARC64 1" >> $config_h
832 elif test "$cpu" = "ia64" ; then
833 echo "ARCH=ia64" >> $config_mak
834 echo "#define HOST_IA64 1" >> $config_h
835 elif test "$cpu" = "m68k" ; then
836 echo "ARCH=m68k" >> $config_mak
837 echo "#define HOST_M68K 1" >> $config_h
838 else
839 echo "Unsupported CPU = $cpu"
840 exit 1
841 fi
842 if test "$bigendian" = "yes" ; then
843 echo "WORDS_BIGENDIAN=yes" >> $config_mak
844 echo "#define WORDS_BIGENDIAN 1" >> $config_h
845 fi
846 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
847 if test "$mingw32" = "yes" ; then
848 echo "CONFIG_WIN32=yes" >> $config_mak
849 echo "#define CONFIG_WIN32 1" >> $config_h
850 else
851 cat > $TMPC << EOF
852 #include <byteswap.h>
853 int main(void) { return bswap_32(0); }
854 EOF
855 if $cc -o $TMPE $TMPC 2> /dev/null ; then
856 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
857 fi
858 fi
859 if test "$darwin" = "yes" ; then
860 echo "CONFIG_DARWIN=yes" >> $config_mak
861 echo "#define CONFIG_DARWIN 1" >> $config_h
862 fi
863 if test "$solaris" = "yes" ; then
864 echo "CONFIG_SOLARIS=yes" >> $config_mak
865 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
866 if test "$needs_libsunmath" = "yes" ; then
867 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
868 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
869 fi
870 fi
871 if test -n "$sparc_cpu"; then
872 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
873 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
874 fi
875 if test "$gdbstub" = "yes" ; then
876 echo "CONFIG_GDBSTUB=yes" >> $config_mak
877 echo "#define CONFIG_GDBSTUB 1" >> $config_h
878 fi
879 if test "$gprof" = "yes" ; then
880 echo "TARGET_GPROF=yes" >> $config_mak
881 echo "#define HAVE_GPROF 1" >> $config_h
882 fi
883 if test "$static" = "yes" ; then
884 echo "CONFIG_STATIC=yes" >> $config_mak
885 echo "#define CONFIG_STATIC 1" >> $config_h
886 fi
887 if test $profiler = "yes" ; then
888 echo "#define CONFIG_PROFILER 1" >> $config_h
889 fi
890 if test "$slirp" = "yes" ; then
891 echo "CONFIG_SLIRP=yes" >> $config_mak
892 echo "#define CONFIG_SLIRP 1" >> $config_h
893 fi
894 if test "$adlib" = "yes" ; then
895 echo "CONFIG_ADLIB=yes" >> $config_mak
896 echo "#define CONFIG_ADLIB 1" >> $config_h
897 fi
898 if test "$oss" = "yes" ; then
899 echo "CONFIG_OSS=yes" >> $config_mak
900 echo "#define CONFIG_OSS 1" >> $config_h
901 fi
902 if test "$coreaudio" = "yes" ; then
903 echo "CONFIG_COREAUDIO=yes" >> $config_mak
904 echo "#define CONFIG_COREAUDIO 1" >> $config_h
905 fi
906 if test "$alsa" = "yes" ; then
907 echo "CONFIG_ALSA=yes" >> $config_mak
908 echo "#define CONFIG_ALSA 1" >> $config_h
909 fi
910 if test "$esd" = "yes" ; then
911 echo "CONFIG_ESD=yes" >> $config_mak
912 echo "#define CONFIG_ESD 1" >> $config_h
913 fi
914 if test "$dsound" = "yes" ; then
915 echo "CONFIG_DSOUND=yes" >> $config_mak
916 echo "#define CONFIG_DSOUND 1" >> $config_h
917 fi
918 if test "$fmod" = "yes" ; then
919 echo "CONFIG_FMOD=yes" >> $config_mak
920 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
921 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
922 echo "#define CONFIG_FMOD 1" >> $config_h
923 fi
924 if test "$vnc_tls" = "yes" ; then
925 echo "CONFIG_VNC_TLS=yes" >> $config_mak
926 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
927 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
928 echo "#define CONFIG_VNC_TLS 1" >> $config_h
929 fi
930 qemu_version=`head $source_path/VERSION`
931 echo "VERSION=$qemu_version" >>$config_mak
932 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
933
934 echo "SRC_PATH=$source_path" >> $config_mak
935 if [ "$source_path_used" = "yes" ]; then
936 echo "VPATH=$source_path" >> $config_mak
937 fi
938 echo "TARGET_DIRS=$target_list" >> $config_mak
939 if [ "$build_docs" = "yes" ] ; then
940 echo "BUILD_DOCS=yes" >> $config_mak
941 fi
942 if test "$static" = "yes"; then
943 sdl1=$sdl_static
944 else
945 sdl1=$sdl
946 fi
947 if test "$sdl1" = "yes" ; then
948 echo "#define CONFIG_SDL 1" >> $config_h
949 echo "CONFIG_SDL=yes" >> $config_mak
950 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
951 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
952 else
953 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
954 fi
955 if [ "${aa}" = "yes" ] ; then
956 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
957 else
958 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
959 fi
960 fi
961 if test "$cocoa" = "yes" ; then
962 echo "#define CONFIG_COCOA 1" >> $config_h
963 echo "CONFIG_COCOA=yes" >> $config_mak
964 fi
965
966 # XXX: suppress that
967 if [ "$bsd" = "yes" ] ; then
968 echo "#define O_LARGEFILE 0" >> $config_h
969 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
970 echo "#define _BSD 1" >> $config_h
971 fi
972
973 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
974
975 tools=
976 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
977 tools="qemu-img\$(EXESUF) $tools"
978 fi
979 echo "TOOLS=$tools" >> $config_mak
980
981 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
982
983 for target in $target_list; do
984 target_dir="$target"
985 config_mak=$target_dir/config.mak
986 config_h=$target_dir/config.h
987 target_cpu=`echo $target | cut -d '-' -f 1`
988 target_bigendian="no"
989 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
990 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
991 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
992 [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
993 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
994 [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
995 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
996 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
997 [ "$target_cpu" = "mips" ] && target_bigendian=yes
998 [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
999 [ "$target_cpu" = "mips64" ] && target_bigendian=yes
1000 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1001 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
1002 target_softmmu="no"
1003 target_user_only="no"
1004 target_linux_user="no"
1005 target_darwin_user="no"
1006 case "$target" in
1007 ${target_cpu}-softmmu)
1008 target_softmmu="yes"
1009 ;;
1010 ${target_cpu}-linux-user)
1011 target_user_only="yes"
1012 target_linux_user="yes"
1013 ;;
1014 ${target_cpu}-darwin-user)
1015 target_user_only="yes"
1016 target_darwin_user="yes"
1017 ;;
1018 *)
1019 echo "ERROR: Target '$target' not recognised"
1020 exit 1
1021 ;;
1022 esac
1023
1024 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1025 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1026 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1027 echo "To build QEMU without graphical output configure with --disable-gfx-check"
1028 echo "Note that this will disable all output from the virtual graphics card."
1029 exit 1;
1030 fi
1031
1032 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1033
1034 test -f $config_h && mv $config_h ${config_h}~
1035
1036 mkdir -p $target_dir
1037 mkdir -p $target_dir/fpu
1038 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1039 mkdir -p $target_dir/nwfpe
1040 fi
1041
1042 #
1043 # don't use ln -sf as not all "ln -sf" over write the file/link
1044 #
1045 rm -f $target_dir/Makefile
1046 ln -s $source_path/Makefile.target $target_dir/Makefile
1047
1048
1049 echo "# Automatically generated by configure - do not modify" > $config_mak
1050 echo "/* Automatically generated by configure - do not modify */" > $config_h
1051
1052
1053 echo "include ../config-host.mak" >> $config_mak
1054 echo "#include \"../config-host.h\"" >> $config_h
1055
1056 bflt="no"
1057 elfload32="no"
1058 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1059 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1060
1061 if test "$target_cpu" = "i386" ; then
1062 echo "TARGET_ARCH=i386" >> $config_mak
1063 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1064 echo "#define TARGET_I386 1" >> $config_h
1065 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1066 echo "#define USE_KQEMU 1" >> $config_h
1067 fi
1068 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1069 echo "TARGET_ARCH=arm" >> $config_mak
1070 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1071 echo "#define TARGET_ARM 1" >> $config_h
1072 bflt="yes"
1073 elif test "$target_cpu" = "sparc" ; then
1074 echo "TARGET_ARCH=sparc" >> $config_mak
1075 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1076 echo "#define TARGET_SPARC 1" >> $config_h
1077 elif test "$target_cpu" = "sparc64" ; then
1078 echo "TARGET_ARCH=sparc64" >> $config_mak
1079 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1080 echo "#define TARGET_SPARC 1" >> $config_h
1081 echo "#define TARGET_SPARC64 1" >> $config_h
1082 elfload32="yes"
1083 elif test "$target_cpu" = "sparc32plus" ; then
1084 echo "TARGET_ARCH=sparc64" >> $config_mak
1085 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1086 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1087 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1088 echo "#define TARGET_SPARC 1" >> $config_h
1089 echo "#define TARGET_SPARC64 1" >> $config_h
1090 echo "#define TARGET_ABI32 1" >> $config_h
1091 elif test "$target_cpu" = "ppc" ; then
1092 echo "TARGET_ARCH=ppc" >> $config_mak
1093 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1094 echo "#define TARGET_PPC 1" >> $config_h
1095 elif test "$target_cpu" = "ppcemb" ; then
1096 echo "TARGET_ARCH=ppcemb" >> $config_mak
1097 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1098 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1099 echo "#define TARGET_PPC 1" >> $config_h
1100 echo "#define TARGET_PPCEMB 1" >> $config_h
1101 elif test "$target_cpu" = "ppc64" ; then
1102 echo "TARGET_ARCH=ppc64" >> $config_mak
1103 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1104 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1105 echo "#define TARGET_PPC 1" >> $config_h
1106 echo "#define TARGET_PPC64 1" >> $config_h
1107 elif test "$target_cpu" = "ppc64abi32" ; then
1108 echo "TARGET_ARCH=ppc64" >> $config_mak
1109 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1110 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
1111 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1112 echo "#define TARGET_PPC 1" >> $config_h
1113 echo "#define TARGET_PPC64 1" >> $config_h
1114 echo "#define TARGET_ABI32 1" >> $config_h
1115 elif test "$target_cpu" = "x86_64" ; then
1116 echo "TARGET_ARCH=x86_64" >> $config_mak
1117 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1118 echo "#define TARGET_I386 1" >> $config_h
1119 echo "#define TARGET_X86_64 1" >> $config_h
1120 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
1121 echo "#define USE_KQEMU 1" >> $config_h
1122 fi
1123 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1124 echo "TARGET_ARCH=mips" >> $config_mak
1125 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1126 echo "#define TARGET_MIPS 1" >> $config_h
1127 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1128 elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1129 echo "TARGET_ARCH=mipsn32" >> $config_mak
1130 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1131 echo "#define TARGET_MIPS 1" >> $config_h
1132 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1133 elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1134 echo "TARGET_ARCH=mips64" >> $config_mak
1135 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1136 echo "#define TARGET_MIPS 1" >> $config_h
1137 echo "#define TARGET_MIPS64 1" >> $config_h
1138 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1139 elif test "$target_cpu" = "cris" ; then
1140 echo "TARGET_ARCH=cris" >> $config_mak
1141 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1142 echo "#define TARGET_CRIS 1" >> $config_h
1143 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1144 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1145 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1146 echo "TARGET_ARCH=sh4" >> $config_mak
1147 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1148 echo "#define TARGET_SH4 1" >> $config_h
1149 bflt="yes"
1150 elif test "$target_cpu" = "m68k" ; then
1151 echo "TARGET_ARCH=m68k" >> $config_mak
1152 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1153 echo "#define TARGET_M68K 1" >> $config_h
1154 bflt="yes"
1155 elif test "$target_cpu" = "alpha" ; then
1156 echo "TARGET_ARCH=alpha" >> $config_mak
1157 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1158 echo "#define TARGET_ALPHA 1" >> $config_h
1159 else
1160 echo "Unsupported target CPU"
1161 exit 1
1162 fi
1163 if test "$target_bigendian" = "yes" ; then
1164 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1165 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1166 fi
1167 if test "$target_softmmu" = "yes" ; then
1168 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1169 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1170 fi
1171 if test "$target_user_only" = "yes" ; then
1172 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1173 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1174 fi
1175 if test "$target_linux_user" = "yes" ; then
1176 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1177 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1178 fi
1179 if test "$target_darwin_user" = "yes" ; then
1180 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1181 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1182 fi
1183
1184 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "sparc32plus" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
1185 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1186 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1187 fi
1188 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1189 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1190 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1191 fi
1192 # 32 bit ELF loader in addition to native 64 bit loader?
1193 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1194 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1195 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1196 fi
1197
1198 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1199
1200 done # for target in $targets
1201
1202 # build tree in object directory if source path is different from current one
1203 if test "$source_path_used" = "yes" ; then
1204 DIRS="tests tests/cris slirp audio"
1205 FILES="Makefile tests/Makefile"
1206 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1207 for dir in $DIRS ; do
1208 mkdir -p $dir
1209 done
1210 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1211 for f in $FILES ; do
1212 rm -f $f
1213 ln -s $source_path/$f $f
1214 done
1215 fi
1216
1217 rm -f $TMPO $TMPC $TMPE $TMPS