]> git.proxmox.com Git - qemu.git/blob - configure
kqemu/qvm86 must now be compiled outside QEMU
[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 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