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