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