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