kqemu/qvm86 must now be compiled outside QEMU
[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 host_cc="gcc"
26 ar="ar"
27 make="make"
28 strip="strip"
29 cpu=`uname -m`
30 target_list=""
31 case "$cpu" in
32   i386|i486|i586|i686|i86pc|BePC)
33     cpu="i386"
34   ;;
35   armv*b)
36     cpu="armv4b"
37   ;;
38   armv*l)
39     cpu="armv4l"
40   ;;
41   alpha)
42     cpu="alpha"
43   ;;
44   "Power Macintosh"|ppc|ppc64)
45     cpu="powerpc"
46   ;;
47   mips)
48     cpu="mips"
49   ;;
50   s390)
51     cpu="s390"
52   ;;
53   sparc)
54     cpu="sparc"
55   ;;
56   sparc64)
57     cpu="sparc64"
58   ;;
59   ia64)
60     cpu="ia64"
61   ;;
62   m68k)
63     cpu="m68k"
64   ;;
65   x86_64|amd64)
66     cpu="x86_64"
67   ;;
68   *)
69     cpu="unknown"
70   ;;
71 esac
72 gprof="no"
73 bigendian="no"
74 mingw32="no"
75 EXESUF=""
76 gdbstub="yes"
77 slirp="yes"
78 adlib="no"
79 oss="no"
80 dsound="no"
81 coreaudio="no"
82 alsa="no"
83 fmod="no"
84 fmod_lib=""
85 fmod_inc=""
86 linux="no"
87 kqemu="no"
88 profiler="no"
89 kernel_path=""
90 cocoa="no"
91 check_gfx="yes"
92 check_gcc="yes"
93
94 # OS specific
95 targetos=`uname -s`
96 case $targetos in
97 CYGWIN*)
98 mingw32="yes"
99 CFLAGS="-O2 -mno-cygwin"
100 ;;
101 MINGW32*)
102 mingw32="yes"
103 ;;
104 FreeBSD)
105 bsd="yes"
106 oss="yes"
107 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
108     kqemu="yes"
109 fi
110 ;;
111 NetBSD)
112 bsd="yes"
113 oss="yes"
114 ;;
115 OpenBSD)
116 bsd="yes"
117 oss="yes"
118 ;;
119 Darwin)
120 bsd="yes"
121 darwin="yes"
122 ;;
123 *)
124 oss="yes"
125 linux="yes"
126 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
127     kqemu="yes"
128 fi
129 ;;
130 esac
131
132 if [ "$bsd" = "yes" ] ; then
133   if [ ! "$darwin" = "yes" ] ; then
134     make="gmake"
135   fi
136 fi
137
138 # find source path
139 # XXX: we assume an absolute path is given when launching configure,
140 # except in './configure' case.
141 source_path=${0%configure}
142 source_path=${source_path%/}
143 source_path_used="yes"
144 if test -z "$source_path" -o "$source_path" = "." ; then
145     source_path=`pwd`
146     source_path_used="no"
147 fi
148
149 for opt do
150   case "$opt" in
151   --help|-h) show_help=yes
152   ;;
153   --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
154   ;;
155   --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
156   ;;
157   --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
158   ;;
159   --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
160   ;;
161   --cc=*) cc=`echo $opt | cut -d '=' -f 2`
162   ;;
163   --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
164   ;;
165   --make=*) make=`echo $opt | cut -d '=' -f 2`
166   ;;
167   --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
168   ;;
169   --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
170   ;;
171   --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
172   ;;
173   --target-list=*) target_list=${opt#--target-list=}
174   ;;
175   --enable-gprof) gprof="yes"
176   ;;
177   --static) static="yes"
178   ;;
179   --disable-sdl) sdl="no"
180   ;;
181   --enable-coreaudio) coreaudio="yes"
182   ;;
183   --enable-alsa) alsa="yes"
184   ;;
185   --enable-dsound) dsound="yes"
186   ;;
187   --enable-fmod) fmod="yes"
188   ;;
189   --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
190   ;;
191   --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
192   ;;
193   --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
194   ;;
195   --disable-slirp) slirp="no"
196   ;;
197   --enable-adlib) adlib="yes"
198   ;;
199   --disable-kqemu) kqemu="no"
200   ;;
201   --enable-profiler) profiler="yes"
202   ;;
203   --kernel-path=*) kernel_path=${opt#--kernel-path=}
204   ;;
205   --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
206   ;;
207   --disable-gfx-check) check_gfx="no"
208   ;;
209   --disable-gcc-check) check_gcc="no"
210   ;;
211   esac
212 done
213
214 # Checking for CFLAGS
215 if test -z "$CFLAGS"; then
216     CFLAGS="-O2"
217 fi
218
219 cc="${cross_prefix}${cc}"
220 ar="${cross_prefix}${ar}"
221 strip="${cross_prefix}${strip}"
222
223 if test "$mingw32" = "yes" ; then
224     linux="no"
225     EXESUF=".exe"
226     gdbstub="no"
227     oss="no"
228     if [ "$cpu" = "i386" ] ; then
229         kqemu="yes"
230     fi
231 fi
232
233 if test -z "$target_list" ; then
234 # these targets are portable
235     target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu arm-softmmu"
236 # the following are Linux specific
237     if [ "$linux" = "yes" ] ; then
238         target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
239     fi
240 else
241     target_list=$(echo "$target_list" | sed -e 's/,/ /g')
242 fi
243
244 if test -z "$cross_prefix" ; then
245
246 # ---
247 # big/little endian test
248 cat > $TMPC << EOF
249 #include <inttypes.h>
250 int main(int argc, char ** argv){
251         volatile uint32_t i=0x01234567;
252         return (*((uint8_t*)(&i))) == 0x67;
253 }
254 EOF
255
256 if $cc -o $TMPE $TMPC 2>/dev/null ; then
257 $TMPE && bigendian="yes"
258 else
259 echo big/little test failed
260 fi
261
262 else
263
264 # if cross compiling, cannot launch a program, so make a static guess
265 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
266     bigendian="yes"
267 fi
268
269 fi
270
271 # host long bits test
272 hostlongbits="32"
273 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
274     hostlongbits="64"
275 fi
276
277 # check gcc options support
278 cat > $TMPC <<EOF
279 int main(void) {
280 }
281 EOF
282
283 have_gcc3_options="no"
284 if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
285    have_gcc3_options="yes"
286 fi
287
288 # Check for gcc4
289 if test "$check_gcc" = "yes" ; then
290     cat > $TMPC <<EOF
291 #if __GNUC__ >= 4
292 #error gcc4
293 #endif
294 int main(){return 0;}
295 EOF
296     if ! $cc -o $TMPO $TMPC 2>/dev/null ; then
297         echo "ERROR: \"$cc\" looks like gcc 4.x"
298         echo "QEMU is known to have problems when compiled with gcc 4.x"
299         echo "It is recommended that you use gcc 3.x to build QEMU"
300         echo "To use this compiler anyway, configure with --disable-gcc-check"
301         exit 1;
302     fi
303 fi
304
305 ##########################################
306 # SDL probe
307
308 sdl_too_old=no
309
310 if test -z "$sdl" ; then
311
312 sdl_config="sdl-config"
313 sdl=no
314 sdl_static=no
315
316 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
317 # win32 cross compilation case
318     sdl_config="i386-mingw32msvc-sdl-config"
319     sdl=yes
320 else
321 # normal SDL probe
322 cat > $TMPC << EOF
323 #include <SDL.h>
324 #undef main /* We don't want SDL to override our main() */
325 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
326 EOF
327
328 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
329 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
330 if test "$_sdlversion" -lt 121 ; then
331 sdl_too_old=yes
332 else
333 sdl=yes
334 fi
335
336 # static link with sdl ?
337 if test "$sdl" = "yes" ; then
338 aa="no"
339 `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
340 sdl_static_libs=`$sdl_config --static-libs`
341 if [ "$aa" = "yes" ] ; then
342   sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
343 fi
344
345 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
346   sdl_static=yes
347 fi
348
349 fi # static link
350
351 fi # sdl compile test
352
353 fi # cross compilation
354 fi # -z $sdl
355
356 if test x"$show_help" = x"yes" ; then
357 cat << EOF
358
359 Usage: configure [options]
360 Options: [defaults in brackets after descriptions]
361
362 EOF
363 echo "Standard options:"
364 echo "  --help                   print this message"
365 echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
366 echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
367 echo "                           use %M for cpu name [$interp_prefix]"
368 echo "  --target-list=LIST       set target list [$target_list]"
369 echo ""
370 echo "kqemu kernel acceleration support:"
371 echo "  --disable-kqemu          disable kqemu support"
372 echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
373 echo ""
374 echo "Advanced options (experts only):"
375 echo "  --source-path=PATH       path of source code [$source_path]"
376 echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
377 echo "  --cc=CC                  use C compiler CC [$cc]"
378 echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
379 echo "  --make=MAKE              use specified make [$make]"
380 echo "  --static                 enable static build [$static]"
381 echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
382 echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
383 echo "  --enable-adlib           enable Adlib emulation"
384 echo "  --enable-coreaudio       enable Coreaudio audio driver"
385 echo "  --enable-alsa            enable ALSA audio driver"
386 echo "  --enable-fmod            enable FMOD audio driver"
387 echo "  --enabled-dsound         enable DirectSound audio driver"
388 echo "  --fmod-lib               path to FMOD library"
389 echo "  --fmod-inc               path to FMOD includes"
390 echo ""
391 echo "NOTE: The object files are build at the place where configure is launched"
392 exit 1
393 fi
394
395 if test "$mingw32" = "yes" ; then
396 if test -z "$prefix" ; then
397     prefix="/c/Program Files/Qemu"
398 fi
399 mandir="$prefix"
400 datadir="$prefix"
401 docdir="$prefix"
402 bindir="$prefix"
403 else
404 if test -z "$prefix" ; then
405     prefix="/usr/local"
406 fi
407 mandir="$prefix/share/man"
408 datadir="$prefix/share/qemu"
409 docdir="$prefix/share/doc/qemu"
410 bindir="$prefix/bin"
411 fi
412
413 echo "Install prefix    $prefix"
414 echo "BIOS directory    $datadir"
415 echo "binary directory  $bindir"
416 if test "$mingw32" = "no" ; then
417 echo "Manual directory  $mandir"
418 echo "ELF interp prefix $interp_prefix"
419 fi
420 echo "Source path       $source_path"
421 echo "C compiler        $cc"
422 echo "Host C compiler   $host_cc"
423 echo "make              $make"
424 echo "host CPU          $cpu"
425 echo "host big endian   $bigendian"
426 echo "target list       $target_list"
427 echo "gprof enabled     $gprof"
428 echo "profiler          $profiler"
429 echo "static build      $static"
430 if test "$darwin" = "yes" ; then
431     echo "Cocoa support     $cocoa"
432 fi
433 echo "SDL support       $sdl"
434 if test "$sdl" != "no" ; then
435     echo "SDL static link   $sdl_static"
436 fi
437 echo "mingw32 support   $mingw32"
438 echo "Adlib support     $adlib"
439 echo "CoreAudio support $coreaudio"
440 echo "ALSA support      $alsa"
441 echo "DSound support    $dsound"
442 echo -n "FMOD support      $fmod"
443 if test "$fmod" = "yes"; then
444     if test -z $fmod_lib || test -z $fmod_inc; then
445         echo
446         echo "Error: You must specify path to FMOD library and headers"
447         echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
448         echo
449         exit 1
450     fi
451     echo -n " (lib='$fmod_lib' include='$fmod_inc')"
452 fi
453 echo ""
454 echo "kqemu support     $kqemu"
455
456 if test $sdl_too_old = "yes"; then
457 echo "-> Your SDL version is too old - please upgrade to have SDL support"
458 fi
459 #if test "$sdl_static" = "no"; then
460 #  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
461 #fi
462
463 config_mak="config-host.mak"
464 config_h="config-host.h"
465
466 #echo "Creating $config_mak and $config_h"
467
468 echo "# Automatically generated by configure - do not modify" > $config_mak
469 echo "/* Automatically generated by configure - do not modify */" > $config_h
470
471 echo "prefix=$prefix" >> $config_mak
472 echo "bindir=$bindir" >> $config_mak
473 echo "mandir=$mandir" >> $config_mak
474 echo "datadir=$datadir" >> $config_mak
475 echo "docdir=$docdir" >> $config_mak
476 echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
477 echo "MAKE=$make" >> $config_mak
478 echo "CC=$cc" >> $config_mak
479 if test "$have_gcc3_options" = "yes" ; then
480   echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
481 fi
482 echo "HOST_CC=$host_cc" >> $config_mak
483 echo "AR=$ar" >> $config_mak
484 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
485 echo "CFLAGS=$CFLAGS" >> $config_mak
486 echo "LDFLAGS=$LDFLAGS" >> $config_mak
487 echo "EXESUF=$EXESUF" >> $config_mak
488 if test "$cpu" = "i386" ; then
489   echo "ARCH=i386" >> $config_mak
490   echo "#define HOST_I386 1" >> $config_h
491 elif test "$cpu" = "x86_64" ; then
492   echo "ARCH=x86_64" >> $config_mak
493   echo "#define HOST_X86_64 1" >> $config_h
494 elif test "$cpu" = "armv4b" ; then
495   echo "ARCH=arm" >> $config_mak
496   echo "#define HOST_ARM 1" >> $config_h
497 elif test "$cpu" = "armv4l" ; then
498   echo "ARCH=arm" >> $config_mak
499   echo "#define HOST_ARM 1" >> $config_h
500 elif test "$cpu" = "powerpc" ; then
501   echo "ARCH=ppc" >> $config_mak
502   echo "#define HOST_PPC 1" >> $config_h
503 elif test "$cpu" = "mips" ; then
504   echo "ARCH=mips" >> $config_mak
505   echo "#define HOST_MIPS 1" >> $config_h
506 elif test "$cpu" = "s390" ; then
507   echo "ARCH=s390" >> $config_mak
508   echo "#define HOST_S390 1" >> $config_h
509 elif test "$cpu" = "alpha" ; then
510   echo "ARCH=alpha" >> $config_mak
511   echo "#define HOST_ALPHA 1" >> $config_h
512 elif test "$cpu" = "sparc" ; then
513   echo "ARCH=sparc" >> $config_mak
514   echo "#define HOST_SPARC 1" >> $config_h
515 elif test "$cpu" = "sparc64" ; then
516   echo "ARCH=sparc64" >> $config_mak
517   echo "#define HOST_SPARC64 1" >> $config_h
518 elif test "$cpu" = "ia64" ; then
519   echo "ARCH=ia64" >> $config_mak
520   echo "#define HOST_IA64 1" >> $config_h
521 elif test "$cpu" = "m68k" ; then
522   echo "ARCH=m68k" >> $config_mak
523   echo "#define HOST_M68K 1" >> $config_h
524 else
525   echo "Unsupported CPU"
526   exit 1
527 fi
528 if test "$bigendian" = "yes" ; then
529   echo "WORDS_BIGENDIAN=yes" >> $config_mak
530   echo "#define WORDS_BIGENDIAN 1" >> $config_h
531 fi
532 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
533 if test "$mingw32" = "yes" ; then
534   echo "CONFIG_WIN32=yes" >> $config_mak
535   echo "#define CONFIG_WIN32 1" >> $config_h
536 elif test -f "/usr/include/byteswap.h" ; then
537   echo "#define HAVE_BYTESWAP_H 1" >> $config_h
538 fi
539 if test "$darwin" = "yes" ; then
540   echo "CONFIG_DARWIN=yes" >> $config_mak
541   echo "#define CONFIG_DARWIN 1" >> $config_h
542 fi
543 if test "$gdbstub" = "yes" ; then
544   echo "CONFIG_GDBSTUB=yes" >> $config_mak
545   echo "#define CONFIG_GDBSTUB 1" >> $config_h
546 fi
547 if test "$gprof" = "yes" ; then
548   echo "TARGET_GPROF=yes" >> $config_mak
549   echo "#define HAVE_GPROF 1" >> $config_h
550 fi
551 if test "$static" = "yes" ; then
552   echo "CONFIG_STATIC=yes" >> $config_mak
553   echo "#define CONFIG_STATIC 1" >> $config_h
554 fi
555 if test $profiler = "yes" ; then
556   echo "#define CONFIG_PROFILER 1" >> $config_h
557 fi
558 if test "$slirp" = "yes" ; then
559   echo "CONFIG_SLIRP=yes" >> $config_mak
560   echo "#define CONFIG_SLIRP 1" >> $config_h
561 fi
562 if test "$adlib" = "yes" ; then
563   echo "CONFIG_ADLIB=yes" >> $config_mak
564   echo "#define CONFIG_ADLIB 1" >> $config_h
565 fi
566 if test "$oss" = "yes" ; then
567   echo "CONFIG_OSS=yes" >> $config_mak
568   echo "#define CONFIG_OSS 1" >> $config_h
569 fi
570 if test "$coreaudio" = "yes" ; then
571   echo "CONFIG_COREAUDIO=yes" >> $config_mak
572   echo "#define CONFIG_COREAUDIO 1" >> $config_h
573 fi
574 if test "$alsa" = "yes" ; then
575   echo "CONFIG_ALSA=yes" >> $config_mak
576   echo "#define CONFIG_ALSA 1" >> $config_h
577 fi
578 if test "$dsound" = "yes" ; then
579   echo "CONFIG_DSOUND=yes" >> $config_mak
580   echo "#define CONFIG_DSOUND 1" >> $config_h
581 fi
582 if test "$fmod" = "yes" ; then
583   echo "CONFIG_FMOD=yes" >> $config_mak
584   echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
585   echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
586   echo "#define CONFIG_FMOD 1" >> $config_h
587 fi
588 echo -n "VERSION=" >>$config_mak
589 head $source_path/VERSION >>$config_mak
590 echo "" >>$config_mak
591 echo -n "#define QEMU_VERSION \"" >> $config_h
592 head $source_path/VERSION >> $config_h
593 echo "\"" >> $config_h
594
595 echo "SRC_PATH=$source_path" >> $config_mak
596 echo "TARGET_DIRS=$target_list" >> $config_mak
597
598 # XXX: suppress that
599 if [ "$bsd" = "yes" ] ; then
600   echo "#define O_LARGEFILE 0" >> $config_h
601   echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
602   echo "#define _BSD 1" >> $config_h
603 fi
604
605 for target in $target_list; do
606
607 target_dir="$target"
608 config_mak=$target_dir/config.mak
609 config_h=$target_dir/config.h
610 target_cpu=`echo $target | cut -d '-' -f 1`
611 target_bigendian="no"
612 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
613 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
614 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
615 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
616 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
617 [ "$target_cpu" = "mips" ] && target_bigendian=yes
618 target_softmmu="no"
619 if expr $target : '.*-softmmu' > /dev/null ; then
620   target_softmmu="yes"
621 fi
622 target_user_only="no"
623 if expr $target : '.*-user' > /dev/null ; then
624   target_user_only="yes"
625 fi
626
627 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
628         -a "$sdl" = "no" -a "$cocoa" = "no" ; then
629     echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
630     echo "To build QEMU with graphical output configure with --disable-gfx-check"
631     echo "Note that this will disable all output from the virtual graphics card."
632     exit 1;
633 fi
634
635 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
636
637 mkdir -p $target_dir
638 mkdir -p $target_dir/fpu
639 if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
640   mkdir -p $target_dir/nwfpe
641 fi
642 if test "$target_user_only" = "no" ; then
643   mkdir -p $target_dir/slirp
644 fi
645
646 ln -sf $source_path/Makefile.target $target_dir/Makefile
647
648 echo "# Automatically generated by configure - do not modify" > $config_mak
649 echo "/* Automatically generated by configure - do not modify */" > $config_h
650
651
652 echo "include ../config-host.mak" >> $config_mak
653 echo "#include \"../config-host.h\"" >> $config_h
654
655 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
656 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
657
658 if test "$target_cpu" = "i386" ; then
659   echo "TARGET_ARCH=i386" >> $config_mak
660   echo "#define TARGET_ARCH \"i386\"" >> $config_h
661   echo "#define TARGET_I386 1" >> $config_h
662   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
663     echo "#define USE_KQEMU 1" >> $config_h
664   fi
665 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
666   echo "TARGET_ARCH=arm" >> $config_mak
667   echo "#define TARGET_ARCH \"arm\"" >> $config_h
668   echo "#define TARGET_ARM 1" >> $config_h
669 elif test "$target_cpu" = "sparc" ; then
670   echo "TARGET_ARCH=sparc" >> $config_mak
671   echo "#define TARGET_ARCH \"sparc\"" >> $config_h
672   echo "#define TARGET_SPARC 1" >> $config_h
673 elif test "$target_cpu" = "sparc64" ; then
674   echo "TARGET_ARCH=sparc64" >> $config_mak
675   echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
676   echo "#define TARGET_SPARC 1" >> $config_h
677   echo "#define TARGET_SPARC64 1" >> $config_h
678 elif test "$target_cpu" = "ppc" ; then
679   echo "TARGET_ARCH=ppc" >> $config_mak
680   echo "#define TARGET_ARCH \"ppc\"" >> $config_h
681   echo "#define TARGET_PPC 1" >> $config_h
682 elif test "$target_cpu" = "ppc64" ; then
683   echo "TARGET_ARCH=ppc64" >> $config_mak
684   echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
685   echo "#define TARGET_PPC 1" >> $config_h
686   echo "#define TARGET_PPC64 1" >> $config_h
687 elif test "$target_cpu" = "x86_64" ; then
688   echo "TARGET_ARCH=x86_64" >> $config_mak
689   echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
690   echo "#define TARGET_I386 1" >> $config_h
691   echo "#define TARGET_X86_64 1" >> $config_h
692   if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
693     echo "#define USE_KQEMU 1" >> $config_h
694     if test $kqemu_profile = "yes" ; then
695       echo "#define CONFIG_KQEMU_PROFILE 1" >> $config_h
696     fi
697   fi
698 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
699   echo "TARGET_ARCH=mips" >> $config_mak
700   echo "#define TARGET_ARCH \"mips\"" >> $config_h
701   echo "#define TARGET_MIPS 1" >> $config_h
702 else
703   echo "Unsupported target CPU"
704   exit 1
705 fi
706 if test "$target_bigendian" = "yes" ; then
707   echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
708   echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
709 fi
710 if test "$target_softmmu" = "yes" ; then
711   echo "CONFIG_SOFTMMU=yes" >> $config_mak
712   echo "#define CONFIG_SOFTMMU 1" >> $config_h
713 fi
714 if test "$target_user_only" = "yes" ; then
715   echo "CONFIG_USER_ONLY=yes" >> $config_mak
716   echo "#define CONFIG_USER_ONLY 1" >> $config_h
717 fi
718
719 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
720   echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
721   echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
722 fi
723 # sdl defines
724
725 if test "$target_user_only" = "no"; then
726     if test "$target_softmmu" = "no" -o "$static" = "yes"; then
727         sdl1=$sdl_static
728     else
729         sdl1=$sdl
730     fi
731     if test "$sdl1" = "yes" ; then
732         echo "#define CONFIG_SDL 1" >> $config_h
733         echo "CONFIG_SDL=yes" >> $config_mak
734         if test "$target_softmmu" = "no" -o "$static" = "yes"; then
735             echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
736         else
737             echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
738         fi
739         echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
740         if [ "${aa}" = "yes" ] ; then
741             echo -n " `aalib-config --cflags`" >> $config_mak ;
742         fi
743         echo "" >> $config_mak
744     fi
745 fi
746
747 if test "$cocoa" = "yes" ; then
748     echo "#define CONFIG_COCOA 1" >> $config_h
749     echo "CONFIG_COCOA=yes" >> $config_mak
750 fi
751
752 done # for target in $targets
753
754 # build tree in object directory if source path is different from current one
755 if test "$source_path_used" = "yes" ; then
756     DIRS="tests"
757     FILES="Makefile tests/Makefile"
758     for dir in $DIRS ; do
759             mkdir -p $dir
760     done
761     for f in $FILES ; do
762         ln -sf $source_path/$f $f
763     done
764 fi
765
766 rm -f $TMPO $TMPC $TMPE $TMPS