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