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