]> git.proxmox.com Git - qemu.git/blame - configure
New '-bios' option, used to select an alternate BIOS image from bios_dir.
[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"
328a4240 25gcc3_search="yes"
d4af3de2 26gcc3_list="gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
7d13299d
FB
27host_cc="gcc"
28ar="ar"
29make="make"
6a882643 30install="install"
7d13299d
FB
31strip="strip"
32cpu=`uname -m`
5327cf48 33target_list=""
7d13299d
FB
34case "$cpu" in
35 i386|i486|i586|i686|i86pc|BePC)
97a847bc 36 cpu="i386"
7d13299d 37 ;;
ba68055e 38 armv*b)
808c4954
FB
39 cpu="armv4b"
40 ;;
ba68055e 41 armv*l)
7d13299d
FB
42 cpu="armv4l"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
295defa5 47 "Power Macintosh"|ppc|ppc64)
7d13299d
FB
48 cpu="powerpc"
49 ;;
50 mips)
51 cpu="mips"
52 ;;
fbe4f65b
TS
53 mips64)
54 cpu="mips64"
55 ;;
0e7b8a9f 56 s390*)
fb3e5849
FB
57 cpu="s390"
58 ;;
3142255c 59 sparc|sun4[cdmuv])
ae228531
FB
60 cpu="sparc"
61 ;;
62 sparc64)
63 cpu="sparc64"
64 ;;
a8baa8c5
FB
65 ia64)
66 cpu="ia64"
67 ;;
38e584a0
FB
68 m68k)
69 cpu="m68k"
70 ;;
bc51c5c9 71 x86_64|amd64)
0b0babc6 72 cpu="x86_64"
bc51c5c9 73 ;;
7d13299d
FB
74 *)
75 cpu="unknown"
76 ;;
77esac
78gprof="no"
79bigendian="no"
67b915a5
FB
80mingw32="no"
81EXESUF=""
82gdbstub="yes"
443f1376 83slirp="yes"
fb065187
FB
84adlib="no"
85oss="no"
1d14ffa9
FB
86dsound="no"
87coreaudio="no"
88alsa="no"
102a52e4
FB
89fmod="no"
90fmod_lib=""
91fmod_inc=""
8d5d2d4c 92vnc_tls="yes"
b1a550a0 93bsd="no"
5327cf48 94linux="no"
c9ec1fe4 95kqemu="no"
05c2a3e7 96profiler="no"
5b0753e0 97cocoa="no"
97ccc689 98check_gfx="yes"
1aff381f 99check_gcc="yes"
0a8e90f4 100softmmu="yes"
831b7825
TS
101linux_user="no"
102darwin_user="no"
cc8ae6de 103build_docs="no"
c5937220 104uname_release=""
7d13299d
FB
105
106# OS specific
107targetos=`uname -s`
108case $targetos in
c326e0af
FB
109CYGWIN*)
110mingw32="yes"
6f30fa85 111OS_CFLAGS="-mno-cygwin"
db8d7dd1
TS
112VL_OS_LDFLAGS="-mno-cygwin"
113if [ "$cpu" = "i386" ] ; then
114 kqemu="yes"
115fi
c326e0af 116;;
67b915a5
FB
117MINGW32*)
118mingw32="yes"
db8d7dd1
TS
119if [ "$cpu" = "i386" ] ; then
120 kqemu="yes"
121fi
67b915a5 122;;
5c40d2bd
TS
123GNU/kFreeBSD)
124oss="yes"
125if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
126 kqemu="yes"
127fi
128;;
7d3505c5
FB
129FreeBSD)
130bsd="yes"
fb065187 131oss="yes"
e99f9060 132if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
07f4ddbf
FB
133 kqemu="yes"
134fi
7d3505c5
FB
135;;
136NetBSD)
137bsd="yes"
fb065187 138oss="yes"
7d3505c5
FB
139;;
140OpenBSD)
141bsd="yes"
fb065187 142oss="yes"
7d3505c5 143;;
83fb7adf
FB
144Darwin)
145bsd="yes"
146darwin="yes"
831b7825 147darwin_user="yes"
fd677642
TS
148cocoa="yes"
149coreaudio="yes"
6f30fa85 150OS_CFLAGS="-mdynamic-no-pic"
83fb7adf 151;;
ec530c81 152SunOS)
c2b84fab
TS
153 solaris="yes"
154 make="gmake"
155 install="ginstall"
0475a5ca 156 needs_libsunmath="no"
c2b84fab 157 solarisrev=`uname -r | cut -f2 -d.`
ef18c883
TS
158 # have to select again, because `uname -m` returns i86pc
159 # even on an x86_64 box.
160 solariscpu=`isainfo -k`
161 if test "${solariscpu}" = "amd64" ; then
162 cpu="x86_64"
163 fi
c2b84fab 164 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
0475a5ca
TS
165 if test "$solarisrev" -le 9 ; then
166 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
167 needs_libsunmath="yes"
168 else
169 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
170 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
171 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
172 echo "Studio 11 can be downloaded from www.sun.com."
173 exit 1
174 fi
175 fi
176 if test "$solarisrev" -ge 9 ; then
c2b84fab
TS
177 kqemu="yes"
178 fi
86b2bd93 179 fi
6b4d2ba1
TS
180 if test -f /usr/include/sys/soundcard.h ; then
181 oss=yes
182 fi
86b2bd93 183;;
1d14ffa9 184*)
fb065187 185oss="yes"
5327cf48 186linux="yes"
831b7825 187linux_user="yes"
07f4ddbf 188if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
c9ec1fe4
FB
189 kqemu="yes"
190fi
fb065187 191;;
7d13299d
FB
192esac
193
7d3505c5 194if [ "$bsd" = "yes" ] ; then
b1a550a0 195 if [ "$darwin" != "yes" ] ; then
83fb7adf
FB
196 make="gmake"
197 fi
7d3505c5
FB
198fi
199
7d13299d 200# find source path
ad064840
PB
201source_path=`dirname "$0"`
202if [ -z "$source_path" ]; then
7d13299d 203 source_path=`pwd`
ad064840
PB
204else
205 source_path=`cd "$source_path"; pwd`
206fi
207if test "$source_path" = `pwd` ; then
7d13299d 208 source_path_used="no"
ad064840
PB
209else
210 source_path_used="yes"
7d13299d
FB
211fi
212
213for opt do
a46e4035 214 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
7d13299d 215 case "$opt" in
2efc3265
FB
216 --help|-h) show_help=yes
217 ;;
b1a550a0 218 --prefix=*) prefix="$optarg"
7d13299d 219 ;;
b1a550a0 220 --interp-prefix=*) interp_prefix="$optarg"
32ce6337 221 ;;
b1a550a0 222 --source-path=*) source_path="$optarg"
ad064840 223 source_path_used="yes"
7d13299d 224 ;;
b1a550a0 225 --cross-prefix=*) cross_prefix="$optarg"
7d13299d 226 ;;
b1a550a0 227 --cc=*) cc="$optarg"
328a4240 228 gcc3_search="no"
7d13299d 229 ;;
b1a550a0 230 --host-cc=*) host_cc="$optarg"
83469015 231 ;;
b1a550a0 232 --make=*) make="$optarg"
7d13299d 233 ;;
6a882643
PB
234 --install=*) install="$optarg"
235 ;;
b1a550a0 236 --extra-cflags=*) CFLAGS="$optarg"
7d13299d 237 ;;
b1a550a0 238 --extra-ldflags=*) LDFLAGS="$optarg"
7d13299d 239 ;;
b1a550a0 240 --cpu=*) cpu="$optarg"
7d13299d 241 ;;
b1a550a0 242 --target-list=*) target_list="$optarg"
de83cd02 243 ;;
7d13299d
FB
244 --enable-gprof) gprof="yes"
245 ;;
43ce4dfe
FB
246 --static) static="yes"
247 ;;
97a847bc
FB
248 --disable-sdl) sdl="no"
249 ;;
1d14ffa9
FB
250 --enable-coreaudio) coreaudio="yes"
251 ;;
252 --enable-alsa) alsa="yes"
253 ;;
254 --enable-dsound) dsound="yes"
255 ;;
102a52e4
FB
256 --enable-fmod) fmod="yes"
257 ;;
b1a550a0 258 --fmod-lib=*) fmod_lib="$optarg"
102a52e4 259 ;;
b1a550a0 260 --fmod-inc=*) fmod_inc="$optarg"
102a52e4 261 ;;
8d5d2d4c
TS
262 --disable-vnc-tls) vnc_tls="no"
263 ;;
b93aebec 264 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
1d14ffa9 265 ;;
443f1376 266 --disable-slirp) slirp="no"
1d14ffa9 267 ;;
fb065187 268 --enable-adlib) adlib="yes"
1d14ffa9 269 ;;
c9ec1fe4 270 --disable-kqemu) kqemu="no"
1d14ffa9 271 ;;
05c2a3e7
FB
272 --enable-profiler) profiler="yes"
273 ;;
1d14ffa9
FB
274 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
275 ;;
97ccc689
FB
276 --disable-gfx-check) check_gfx="no"
277 ;;
1aff381f
FB
278 --disable-gcc-check) check_gcc="no"
279 ;;
cad25d69 280 --disable-system) softmmu="no"
0a8e90f4 281 ;;
cad25d69 282 --enable-system) softmmu="yes"
0a8e90f4 283 ;;
831b7825 284 --disable-linux-user) linux_user="no"
0a8e90f4 285 ;;
831b7825
TS
286 --enable-linux-user) linux_user="yes"
287 ;;
288 --disable-darwin-user) darwin_user="no"
289 ;;
290 --enable-darwin-user) darwin_user="yes"
0a8e90f4 291 ;;
c5937220
PB
292 --enable-uname-release=*) uname_release="$optarg"
293 ;;
3142255c
BS
294 --sparc_cpu=*)
295 sparc_cpu="$optarg"
296 case $sparc_cpu in
297 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
298 target_cpu="sparc"; cpu="sparc" ;;
299 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
300 target_cpu="sparc"; cpu="sparc" ;;
301 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
302 target_cpu="sparc64"; cpu="sparc64" ;;
303 *) echo "undefined SPARC architecture. Exiting";exit 1;;
304 esac
305 ;;
7d13299d
FB
306 esac
307done
308
209afb9e
TS
309if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
310 AIOLIBS=
311else
312 AIOLIBS="-lrt"
313fi
314
6f30fa85
TS
315# default flags for all hosts
316CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
317LDFLAGS="$LDFLAGS -g"
318
3142255c
BS
319#
320# If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
321# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
322#
323case $cpu in
324 sparc) if test -z "$sparc_cpu" ; then
325 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
326 ARCH_LDFLAGS="-m32"
327 else
328 ARCH_CFLAGS="${SP_CFLAGS}"
329 ARCH_LDFLAGS="${SP_LDFLAGS}"
330 fi
331 ;;
332 sparc64) if test -z "$sparc_cpu" ; then
333 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
334 ARCH_LDFLAGS="-m64"
335 else
336 ARCH_CFLAGS="${SP_CFLAGS}"
337 ARCH_LDFLAGS="${SP_LDFLAGS}"
338 fi
339 ;;
340esac
341
ef18c883
TS
342if [ "$solaris" = "yes" -a "$cpu" = "x86_64" ] ; then
343 CFLAGS="${CFLAGS} -m64"
344 OS_CFLAGS="${OS_CFLAGS} -m64"
345fi
346
347if [ "$solaris" = "yes" -a "$cpu" = "i386" ] ; then
348 CFLAGS="${CFLAGS} -m32"
349 OS_CFLAGS="${OS_CFLAGS} -m32"
350fi
351
af5db58e
PB
352if test x"$show_help" = x"yes" ; then
353cat << EOF
354
355Usage: configure [options]
356Options: [defaults in brackets after descriptions]
357
358EOF
359echo "Standard options:"
360echo " --help print this message"
361echo " --prefix=PREFIX install in PREFIX [$prefix]"
362echo " --interp-prefix=PREFIX where to find shared libraries, etc."
363echo " use %M for cpu name [$interp_prefix]"
364echo " --target-list=LIST set target list [$target_list]"
365echo ""
366echo "kqemu kernel acceleration support:"
367echo " --disable-kqemu disable kqemu support"
af5db58e
PB
368echo ""
369echo "Advanced options (experts only):"
370echo " --source-path=PATH path of source code [$source_path]"
371echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
372echo " --cc=CC use C compiler CC [$cc]"
373echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
374echo " --make=MAKE use specified make [$make]"
6a882643 375echo " --install=INSTALL use specified install [$install]"
af5db58e
PB
376echo " --static enable static build [$static]"
377echo " --enable-cocoa enable COCOA (Mac OS X only)"
378echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
379echo " --enable-adlib enable Adlib emulation"
380echo " --enable-coreaudio enable Coreaudio audio driver"
381echo " --enable-alsa enable ALSA audio driver"
382echo " --enable-fmod enable FMOD audio driver"
ed5065e1 383echo " --enable-dsound enable DirectSound audio driver"
8d5d2d4c 384echo " --disable-vnc-tls disable TLS encryption for VNC server"
af5db58e
PB
385echo " --enable-system enable all system emulation targets"
386echo " --disable-system disable all system emulation targets"
831b7825
TS
387echo " --enable-linux-user enable all linux usermode emulation targets"
388echo " --disable-linux-user disable all linux usermode emulation targets"
389echo " --enable-darwin-user enable all darwin usermode emulation targets"
390echo " --disable-darwin-user disable all darwin usermode emulation targets"
af5db58e
PB
391echo " --fmod-lib path to FMOD library"
392echo " --fmod-inc path to FMOD includes"
c5937220 393echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
3142255c 394echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
af5db58e 395echo ""
5bf08934 396echo "NOTE: The object files are built at the place where configure is launched"
af5db58e
PB
397exit 1
398fi
399
7d13299d
FB
400cc="${cross_prefix}${cc}"
401ar="${cross_prefix}${ar}"
402strip="${cross_prefix}${strip}"
403
064aae13
PB
404# check that the C compiler works.
405cat > $TMPC <<EOF
406int main(void) {}
407EOF
408
cf257238 409if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
064aae13
PB
410 : C compiler works ok
411else
412 echo "ERROR: \"$cc\" either does not exist or does not work"
413 exit 1
a7350fa1
FB
414fi
415
67b915a5 416if test "$mingw32" = "yes" ; then
5327cf48 417 linux="no"
67b915a5 418 EXESUF=".exe"
9f059eca 419 oss="no"
67b915a5
FB
420fi
421
5fafdf24 422# Check for gcc4, error if pre-gcc4
328a4240
PB
423if test "$check_gcc" = "yes" ; then
424 cat > $TMPC <<EOF
425#if __GNUC__ < 4
426#error gcc3
427#endif
428int main(){return 0;}
429EOF
cf257238 430 if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
328a4240
PB
431 echo "WARNING: \"$cc\" looks like gcc 4.x"
432 found_compat_cc="no"
433 if test "$gcc3_search" = "yes" ; then
434 echo "Looking for gcc 3.x"
435 for compat_cc in $gcc3_list ; do
d4af3de2 436 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
328a4240 437 echo "Found \"$compat_cc\""
1124426a 438 cc="$cross_prefix$compat_cc"
328a4240
PB
439 found_compat_cc="yes"
440 break
441 fi
442 done
443 if test "$found_compat_cc" = "no" ; then
444 echo "gcc 3.x not found!"
445 fi
446 fi
447 if test "$found_compat_cc" = "no" ; then
448 echo "QEMU is known to have problems when compiled with gcc 4.x"
449 echo "It is recommended that you use gcc 3.x to build QEMU"
450 echo "To use this compiler anyway, configure with --disable-gcc-check"
451 exit 1;
452 fi
453 fi
454fi
455
ec530c81
FB
456#
457# Solaris specific configure tool chain decisions
458#
459if test "$solaris" = "yes" ; then
460 #
461 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
462 # override the check with --disable-gcc-check
5fafdf24 463 #
ec530c81
FB
464 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
465 solgcc=`which $cc`
466 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
467 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
468 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
469 echo "or get the latest patch from SunSolve for gcc"
470 exit 1
471 fi
472 fi
473 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
474 if test -z "$solinst" ; then
475 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
476 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
477 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
478 exit 1
479 fi
480 if test "$solinst" = "/usr/sbin/install" ; then
481 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
482 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
483 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
484 exit 1
485 fi
ec530c81
FB
486 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
487 if test -z "$sol_ar" ; then
488 echo "Error: No path includes ar"
489 if test -f /usr/ccs/bin/ar ; then
490 echo "Add /usr/ccs/bin to your path and rerun configure"
491 fi
492 exit 1
493 fi
5fafdf24 494fi
ec530c81
FB
495
496
5327cf48
FB
497if test -z "$target_list" ; then
498# these targets are portable
0a8e90f4 499 if [ "$softmmu" = "yes" ] ; then
8915ee74 500 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc64-softmmu ppcemb-softmmu m68k-softmmu sh4-softmmu"
0a8e90f4 501 fi
5327cf48 502# the following are Linux specific
831b7825 503 if [ "$linux_user" = "yes" ] ; then
8915ee74 504 target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user ppc-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user ppc64-linux-user sh4-linux-user $target_list"
831b7825
TS
505 fi
506# the following are Darwin specific
507 if [ "$darwin_user" = "yes" ] ; then
508 target_list="i386-darwin-user ppc-darwin-user $target_list"
5327cf48 509 fi
6e20a45f 510else
b1a550a0 511 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
5327cf48 512fi
0a8e90f4
PB
513if test -z "$target_list" ; then
514 echo "No targets enabled"
515 exit 1
516fi
5327cf48 517
7d13299d
FB
518if test -z "$cross_prefix" ; then
519
520# ---
521# big/little endian test
522cat > $TMPC << EOF
523#include <inttypes.h>
524int main(int argc, char ** argv){
1d14ffa9
FB
525 volatile uint32_t i=0x01234567;
526 return (*((uint8_t*)(&i))) == 0x67;
7d13299d
FB
527}
528EOF
529
cf257238 530if $cc -o $TMPE $TMPC 2> /dev/null ; then
7d13299d
FB
531$TMPE && bigendian="yes"
532else
533echo big/little test failed
534fi
535
536else
537
538# if cross compiling, cannot launch a program, so make a static guess
fbe4f65b 539if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
7d13299d
FB
540 bigendian="yes"
541fi
542
543fi
544
b6853697
FB
545# host long bits test
546hostlongbits="32"
547if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
548 hostlongbits="64"
549fi
550
e8cd23de 551# check gcc options support
04369ff2
FB
552cat > $TMPC <<EOF
553int main(void) {
04369ff2
FB
554}
555EOF
556
11d9f695
FB
557##########################################
558# SDL probe
559
560sdl_too_old=no
561
562if test -z "$sdl" ; then
069b0bda
TS
563 sdl_config="sdl-config"
564 sdl=no
565 sdl_static=no
566
567 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
568 # win32 cross compilation case
569 sdl_config="i386-mingw32msvc-sdl-config"
570 sdl=yes
571 else
572 # normal SDL probe
11d9f695
FB
573cat > $TMPC << EOF
574#include <SDL.h>
575#undef main /* We don't want SDL to override our main() */
576int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
577EOF
069b0bda
TS
578 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
579 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
580 if test "$_sdlversion" -lt 121 ; then
581 sdl_too_old=yes
582 else
583 if test "$cocoa" = "no" ; then
584 sdl=yes
585 fi
586 fi
11d9f695 587
069b0bda
TS
588 # static link with sdl ?
589 if test "$sdl" = "yes" ; then
590 aa="no"
591 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
592 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
593 if [ "$aa" = "yes" ] ; then
594 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
595 fi
596
597 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
598 sdl_static=yes
599 fi
600 fi # static link
601 fi # sdl compile test
602 fi # cross compilation
fd677642 603else
069b0bda
TS
604 # Make sure to disable cocoa if sdl was set
605 if test "$sdl" = "yes" ; then
606 cocoa="no"
607 coreaudio="no"
608 fi
a6e022ad 609fi # -z $sdl
11d9f695 610
8d5d2d4c
TS
611##########################################
612# VNC TLS detection
613if test "$vnc_tls" = "yes" ; then
614 `pkg-config gnutls` || vnc_tls="no"
615fi
616if test "$vnc_tls" = "yes" ; then
617 vnc_tls_cflags=`pkg-config --cflags gnutls`
618 vnc_tls_libs=`pkg-config --libs gnutls`
619fi
620
8f28f3fb
TS
621##########################################
622# alsa sound support libraries
623
624if test "$alsa" = "yes" ; then
625 cat > $TMPC << EOF
626#include <alsa/asoundlib.h>
627int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
628EOF
629 if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
630 :
631 else
632 echo
633 echo "Error: Could not find alsa"
634 echo "Make sure to have the alsa libs and headers installed."
635 echo
636 exit 1
637 fi
638fi
639
cc8ae6de 640# Check if tools are available to build documentation.
6c591867
TS
641if [ -x "`which texi2html 2>/dev/null`" ] && \
642 [ -x "`which pod2man 2>/dev/null`" ]; then
cc8ae6de
PB
643 build_docs="yes"
644fi
645
11d9f695 646if test "$mingw32" = "yes" ; then
308c3593
PB
647 if test -z "$prefix" ; then
648 prefix="/c/Program Files/Qemu"
649 fi
650 mansuffix=""
651 datasuffix=""
652 docsuffix=""
653 binsuffix=""
11d9f695 654else
308c3593
PB
655 if test -z "$prefix" ; then
656 prefix="/usr/local"
657 fi
658 mansuffix="/share/man"
659 datasuffix="/share/qemu"
660 docsuffix="/share/doc/qemu"
661 binsuffix="/bin"
11d9f695 662fi
5a67135a 663
43ce4dfe 664echo "Install prefix $prefix"
308c3593
PB
665echo "BIOS directory $prefix$datasuffix"
666echo "binary directory $prefix$binsuffix"
11d9f695 667if test "$mingw32" = "no" ; then
308c3593 668echo "Manual directory $prefix$mansuffix"
43ce4dfe 669echo "ELF interp prefix $interp_prefix"
11d9f695 670fi
5a67135a 671echo "Source path $source_path"
43ce4dfe 672echo "C compiler $cc"
83469015 673echo "Host C compiler $host_cc"
43ce4dfe 674echo "make $make"
6a882643 675echo "install $install"
43ce4dfe 676echo "host CPU $cpu"
de83cd02 677echo "host big endian $bigendian"
97a847bc 678echo "target list $target_list"
43ce4dfe 679echo "gprof enabled $gprof"
05c2a3e7 680echo "profiler $profiler"
43ce4dfe 681echo "static build $static"
5b0753e0
FB
682if test "$darwin" = "yes" ; then
683 echo "Cocoa support $cocoa"
684fi
97a847bc 685echo "SDL support $sdl"
e4afee97
FB
686if test "$sdl" != "no" ; then
687 echo "SDL static link $sdl_static"
688fi
67b915a5 689echo "mingw32 support $mingw32"
fb065187 690echo "Adlib support $adlib"
1d14ffa9
FB
691echo "CoreAudio support $coreaudio"
692echo "ALSA support $alsa"
693echo "DSound support $dsound"
1d14ffa9
FB
694if test "$fmod" = "yes"; then
695 if test -z $fmod_lib || test -z $fmod_inc; then
696 echo
697 echo "Error: You must specify path to FMOD library and headers"
698 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
699 echo
700 exit 1
701 fi
b1a550a0
PB
702 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
703else
704 fmod_support=""
102a52e4 705fi
b1a550a0 706echo "FMOD support $fmod $fmod_support"
6b4d2ba1 707echo "OSS support $oss"
8d5d2d4c
TS
708echo "VNC TLS support $vnc_tls"
709if test "$vnc_tls" = "yes" ; then
710 echo " TLS CFLAGS $vnc_tls_cflags"
711 echo " TLS LIBS $vnc_tls_libs"
712fi
3142255c
BS
713if test -n "$sparc_cpu"; then
714 echo "Target Sparc Arch $sparc_cpu"
715fi
07f4ddbf 716echo "kqemu support $kqemu"
cc8ae6de 717echo "Documentation $build_docs"
c5937220
PB
718[ ! -z "$uname_release" ] && \
719echo "uname -r $uname_release"
67b915a5 720
97a847bc 721if test $sdl_too_old = "yes"; then
24b55b96 722echo "-> Your SDL version is too old - please upgrade to have SDL support"
7c1f25b4 723fi
20b40c6a
TS
724if [ -s /tmp/qemu-$$-sdl-config.log ]; then
725 echo "The error log from compiling the libSDL test is: "
726 cat /tmp/qemu-$$-sdl-config.log
727fi
728rm -f /tmp/qemu-$$-sdl-config.log
24b55b96
FB
729#if test "$sdl_static" = "no"; then
730# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
731#fi
97a847bc
FB
732config_mak="config-host.mak"
733config_h="config-host.h"
7d13299d 734
7c1f25b4 735#echo "Creating $config_mak and $config_h"
7d13299d 736
15d9ca0f
TS
737test -f $config_h && mv $config_h ${config_h}~
738
97a847bc 739echo "# Automatically generated by configure - do not modify" > $config_mak
29517134 740echo "# Configured with: $0 $@" >> $config_mak
97a847bc 741echo "/* Automatically generated by configure - do not modify */" > $config_h
7d13299d 742
97a847bc 743echo "prefix=$prefix" >> $config_mak
308c3593
PB
744echo "bindir=\${prefix}$binsuffix" >> $config_mak
745echo "mandir=\${prefix}$mansuffix" >> $config_mak
746echo "datadir=\${prefix}$datasuffix" >> $config_mak
4ad5b06d 747echo "docdir=\${prefix}$docsuffix" >> $config_mak
308c3593 748echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
97a847bc 749echo "MAKE=$make" >> $config_mak
6a882643 750echo "INSTALL=$install" >> $config_mak
97a847bc 751echo "CC=$cc" >> $config_mak
97a847bc
FB
752echo "HOST_CC=$host_cc" >> $config_mak
753echo "AR=$ar" >> $config_mak
754echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
6f30fa85 755echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
3142255c 756echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
db8d7dd1 757echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
3142255c
BS
758echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
759echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
97a847bc
FB
760echo "CFLAGS=$CFLAGS" >> $config_mak
761echo "LDFLAGS=$LDFLAGS" >> $config_mak
67b915a5 762echo "EXESUF=$EXESUF" >> $config_mak
70956b77 763echo "AIOLIBS=$AIOLIBS" >> $config_mak
97a847bc
FB
764if test "$cpu" = "i386" ; then
765 echo "ARCH=i386" >> $config_mak
766 echo "#define HOST_I386 1" >> $config_h
0b0babc6
FB
767elif test "$cpu" = "x86_64" ; then
768 echo "ARCH=x86_64" >> $config_mak
769 echo "#define HOST_X86_64 1" >> $config_h
808c4954
FB
770elif test "$cpu" = "armv4b" ; then
771 echo "ARCH=arm" >> $config_mak
772 echo "#define HOST_ARM 1" >> $config_h
7d13299d 773elif test "$cpu" = "armv4l" ; then
97a847bc
FB
774 echo "ARCH=arm" >> $config_mak
775 echo "#define HOST_ARM 1" >> $config_h
7d13299d 776elif test "$cpu" = "powerpc" ; then
97a847bc
FB
777 echo "ARCH=ppc" >> $config_mak
778 echo "#define HOST_PPC 1" >> $config_h
7d13299d 779elif test "$cpu" = "mips" ; then
97a847bc
FB
780 echo "ARCH=mips" >> $config_mak
781 echo "#define HOST_MIPS 1" >> $config_h
fbe4f65b
TS
782elif test "$cpu" = "mips64" ; then
783 echo "ARCH=mips64" >> $config_mak
784 echo "#define HOST_MIPS64 1" >> $config_h
fb3e5849 785elif test "$cpu" = "s390" ; then
97a847bc
FB
786 echo "ARCH=s390" >> $config_mak
787 echo "#define HOST_S390 1" >> $config_h
295defa5 788elif test "$cpu" = "alpha" ; then
97a847bc
FB
789 echo "ARCH=alpha" >> $config_mak
790 echo "#define HOST_ALPHA 1" >> $config_h
ae228531 791elif test "$cpu" = "sparc" ; then
97a847bc
FB
792 echo "ARCH=sparc" >> $config_mak
793 echo "#define HOST_SPARC 1" >> $config_h
ae228531 794elif test "$cpu" = "sparc64" ; then
97a847bc
FB
795 echo "ARCH=sparc64" >> $config_mak
796 echo "#define HOST_SPARC64 1" >> $config_h
a8baa8c5 797elif test "$cpu" = "ia64" ; then
97a847bc
FB
798 echo "ARCH=ia64" >> $config_mak
799 echo "#define HOST_IA64 1" >> $config_h
38e584a0 800elif test "$cpu" = "m68k" ; then
38ca2abc
FB
801 echo "ARCH=m68k" >> $config_mak
802 echo "#define HOST_M68K 1" >> $config_h
7d13299d 803else
3142255c 804 echo "Unsupported CPU = $cpu"
7d13299d
FB
805 exit 1
806fi
807if test "$bigendian" = "yes" ; then
97a847bc
FB
808 echo "WORDS_BIGENDIAN=yes" >> $config_mak
809 echo "#define WORDS_BIGENDIAN 1" >> $config_h
810fi
b6853697 811echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
67b915a5
FB
812if test "$mingw32" = "yes" ; then
813 echo "CONFIG_WIN32=yes" >> $config_mak
11d9f695 814 echo "#define CONFIG_WIN32 1" >> $config_h
210fa556
PB
815else
816 cat > $TMPC << EOF
817#include <byteswap.h>
818int main(void) { return bswap_32(0); }
819EOF
820 if $cc -o $TMPE $TMPC 2> /dev/null ; then
821 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
822 fi
67b915a5 823fi
83fb7adf
FB
824if test "$darwin" = "yes" ; then
825 echo "CONFIG_DARWIN=yes" >> $config_mak
826 echo "#define CONFIG_DARWIN 1" >> $config_h
827fi
ec530c81
FB
828if test "$solaris" = "yes" ; then
829 echo "CONFIG_SOLARIS=yes" >> $config_mak
38cfa06c 830 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
0475a5ca
TS
831 if test "$needs_libsunmath" = "yes" ; then
832 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
833 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
834 fi
ec530c81 835fi
3142255c
BS
836if test -n "$sparc_cpu"; then
837 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
838 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
839fi
67b915a5
FB
840if test "$gdbstub" = "yes" ; then
841 echo "CONFIG_GDBSTUB=yes" >> $config_mak
842 echo "#define CONFIG_GDBSTUB 1" >> $config_h
843fi
97a847bc
FB
844if test "$gprof" = "yes" ; then
845 echo "TARGET_GPROF=yes" >> $config_mak
846 echo "#define HAVE_GPROF 1" >> $config_h
847fi
848if test "$static" = "yes" ; then
849 echo "CONFIG_STATIC=yes" >> $config_mak
50863472 850 echo "#define CONFIG_STATIC 1" >> $config_h
7d13299d 851fi
05c2a3e7
FB
852if test $profiler = "yes" ; then
853 echo "#define CONFIG_PROFILER 1" >> $config_h
854fi
c20709aa
FB
855if test "$slirp" = "yes" ; then
856 echo "CONFIG_SLIRP=yes" >> $config_mak
857 echo "#define CONFIG_SLIRP 1" >> $config_h
858fi
fb065187
FB
859if test "$adlib" = "yes" ; then
860 echo "CONFIG_ADLIB=yes" >> $config_mak
861 echo "#define CONFIG_ADLIB 1" >> $config_h
862fi
863if test "$oss" = "yes" ; then
864 echo "CONFIG_OSS=yes" >> $config_mak
865 echo "#define CONFIG_OSS 1" >> $config_h
866fi
1d14ffa9
FB
867if test "$coreaudio" = "yes" ; then
868 echo "CONFIG_COREAUDIO=yes" >> $config_mak
869 echo "#define CONFIG_COREAUDIO 1" >> $config_h
870fi
871if test "$alsa" = "yes" ; then
872 echo "CONFIG_ALSA=yes" >> $config_mak
873 echo "#define CONFIG_ALSA 1" >> $config_h
874fi
875if test "$dsound" = "yes" ; then
876 echo "CONFIG_DSOUND=yes" >> $config_mak
877 echo "#define CONFIG_DSOUND 1" >> $config_h
878fi
102a52e4
FB
879if test "$fmod" = "yes" ; then
880 echo "CONFIG_FMOD=yes" >> $config_mak
881 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
882 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
883 echo "#define CONFIG_FMOD 1" >> $config_h
884fi
8d5d2d4c
TS
885if test "$vnc_tls" = "yes" ; then
886 echo "CONFIG_VNC_TLS=yes" >> $config_mak
887 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
888 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
889 echo "#define CONFIG_VNC_TLS 1" >> $config_h
890fi
b1a550a0
PB
891qemu_version=`head $source_path/VERSION`
892echo "VERSION=$qemu_version" >>$config_mak
d4b8f039 893echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
97a847bc
FB
894
895echo "SRC_PATH=$source_path" >> $config_mak
ad064840
PB
896if [ "$source_path_used" = "yes" ]; then
897 echo "VPATH=$source_path" >> $config_mak
898fi
97a847bc 899echo "TARGET_DIRS=$target_list" >> $config_mak
cc8ae6de
PB
900if [ "$build_docs" = "yes" ] ; then
901 echo "BUILD_DOCS=yes" >> $config_mak
902fi
97a847bc 903
83fb7adf 904# XXX: suppress that
7d3505c5 905if [ "$bsd" = "yes" ] ; then
43003046 906 echo "#define O_LARGEFILE 0" >> $config_h
43003046 907 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
7d3505c5
FB
908 echo "#define _BSD 1" >> $config_h
909fi
910
c5937220
PB
911echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
912
c39e3338
PB
913tools=
914if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
915 tools="qemu-img\$(EXESUF) $tools"
916fi
917echo "TOOLS=$tools" >> $config_mak
918
15d9ca0f
TS
919test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
920
1d14ffa9 921for target in $target_list; do
97a847bc
FB
922target_dir="$target"
923config_mak=$target_dir/config.mak
924config_h=$target_dir/config.h
925target_cpu=`echo $target | cut -d '-' -f 1`
926target_bigendian="no"
808c4954 927[ "$target_cpu" = "armeb" ] && target_bigendian=yes
1e43adfc 928[ "$target_cpu" = "sparc" ] && target_bigendian=yes
64b3ab24 929[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
67867308 930[ "$target_cpu" = "ppc" ] && target_bigendian=yes
a2458627 931[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
d4082e95 932[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
d3258560 933[ "$target_cpu" = "mips" ] && target_bigendian=yes
540635ba 934[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
fbe4f65b 935[ "$target_cpu" = "mips64" ] && target_bigendian=yes
908f52b0 936[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
e6e5906b 937[ "$target_cpu" = "m68k" ] && target_bigendian=yes
97a847bc 938target_softmmu="no"
997344f3 939target_user_only="no"
831b7825 940target_linux_user="no"
831b7825 941target_darwin_user="no"
9e407a85
PB
942case "$target" in
943 ${target_cpu}-softmmu)
944 target_softmmu="yes"
945 ;;
946 ${target_cpu}-linux-user)
947 target_user_only="yes"
948 target_linux_user="yes"
949 ;;
950 ${target_cpu}-darwin-user)
951 target_user_only="yes"
952 target_darwin_user="yes"
953 ;;
954 *)
955 echo "ERROR: Target '$target' not recognised"
956 exit 1
957 ;;
958esac
831b7825 959
97ccc689 960if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1d14ffa9 961 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
97ccc689 962 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
9c038506 963 echo "To build QEMU without graphical output configure with --disable-gfx-check"
97ccc689
FB
964 echo "Note that this will disable all output from the virtual graphics card."
965 exit 1;
966fi
967
7c1f25b4 968#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
97a847bc 969
15d9ca0f
TS
970test -f $config_h && mv $config_h ${config_h}~
971
97a847bc 972mkdir -p $target_dir
158142c2 973mkdir -p $target_dir/fpu
831b7825 974if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
69de927c
FB
975 mkdir -p $target_dir/nwfpe
976fi
a7e61ed4
FB
977if test "$target_user_only" = "no" ; then
978 mkdir -p $target_dir/slirp
979fi
69de927c 980
ec530c81
FB
981#
982# don't use ln -sf as not all "ln -sf" over write the file/link
983#
984rm -f $target_dir/Makefile
985ln -s $source_path/Makefile.target $target_dir/Makefile
986
97a847bc
FB
987
988echo "# Automatically generated by configure - do not modify" > $config_mak
989echo "/* Automatically generated by configure - do not modify */" > $config_h
990
de83cd02 991
97a847bc
FB
992echo "include ../config-host.mak" >> $config_mak
993echo "#include \"../config-host.h\"" >> $config_h
1e43adfc 994
e5fe0c52 995bflt="no"
1e43adfc
FB
996interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
997echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
97a847bc
FB
998
999if test "$target_cpu" = "i386" ; then
1000 echo "TARGET_ARCH=i386" >> $config_mak
1001 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1002 echo "#define TARGET_I386 1" >> $config_h
07f4ddbf 1003 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
824d560f
FB
1004 echo "#define USE_KQEMU 1" >> $config_h
1005 fi
808c4954 1006elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
97a847bc
FB
1007 echo "TARGET_ARCH=arm" >> $config_mak
1008 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1009 echo "#define TARGET_ARM 1" >> $config_h
e5fe0c52 1010 bflt="yes"
1e43adfc
FB
1011elif test "$target_cpu" = "sparc" ; then
1012 echo "TARGET_ARCH=sparc" >> $config_mak
1013 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1014 echo "#define TARGET_SPARC 1" >> $config_h
64b3ab24
FB
1015elif test "$target_cpu" = "sparc64" ; then
1016 echo "TARGET_ARCH=sparc64" >> $config_mak
1017 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1018 echo "#define TARGET_SPARC 1" >> $config_h
1019 echo "#define TARGET_SPARC64 1" >> $config_h
67867308
FB
1020elif test "$target_cpu" = "ppc" ; then
1021 echo "TARGET_ARCH=ppc" >> $config_mak
1022 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1023 echo "#define TARGET_PPC 1" >> $config_h
a2458627
FB
1024elif test "$target_cpu" = "ppc64" ; then
1025 echo "TARGET_ARCH=ppc64" >> $config_mak
1026 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1027 echo "#define TARGET_PPC 1" >> $config_h
1028 echo "#define TARGET_PPC64 1" >> $config_h
d4082e95
JM
1029elif test "$target_cpu" = "ppcemb" ; then
1030 echo "TARGET_ARCH=ppcemb" >> $config_mak
1031 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1032 echo "#define TARGET_PPC 1" >> $config_h
1033 echo "#define TARGET_PPCEMB 1" >> $config_h
0b0babc6
FB
1034elif test "$target_cpu" = "x86_64" ; then
1035 echo "TARGET_ARCH=x86_64" >> $config_mak
1036 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1037 echo "#define TARGET_I386 1" >> $config_h
1038 echo "#define TARGET_X86_64 1" >> $config_h
07f4ddbf
FB
1039 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
1040 echo "#define USE_KQEMU 1" >> $config_h
1041 fi
c20eb473 1042elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
d3258560
FB
1043 echo "TARGET_ARCH=mips" >> $config_mak
1044 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1045 echo "#define TARGET_MIPS 1" >> $config_h
540635ba
TS
1046elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1047 echo "TARGET_ARCH=mipsn32" >> $config_mak
1048 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1049 echo "#define TARGET_MIPS 1" >> $config_h
1050 echo "#define TARGET_MIPSN32 1" >> $config_h
fbe4f65b
TS
1051elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1052 echo "TARGET_ARCH=mips64" >> $config_mak
1053 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1054 echo "#define TARGET_MIPS 1" >> $config_h
1055 echo "#define TARGET_MIPS64 1" >> $config_h
908f52b0 1056elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
fdf9b3e8
FB
1057 echo "TARGET_ARCH=sh4" >> $config_mak
1058 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1059 echo "#define TARGET_SH4 1" >> $config_h
4dbed897 1060 bflt="yes"
e6e5906b
PB
1061elif test "$target_cpu" = "m68k" ; then
1062 echo "TARGET_ARCH=m68k" >> $config_mak
1063 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1064 echo "#define TARGET_M68K 1" >> $config_h
1065 bflt="yes"
cf6c1b16
JM
1066elif test "$target_cpu" = "alpha" ; then
1067 echo "TARGET_ARCH=alpha" >> $config_mak
1068 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1069 echo "#define TARGET_ALPHA 1" >> $config_h
de83cd02
FB
1070else
1071 echo "Unsupported target CPU"
1072 exit 1
1073fi
1074if test "$target_bigendian" = "yes" ; then
97a847bc
FB
1075 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1076 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
de83cd02 1077fi
97a847bc
FB
1078if test "$target_softmmu" = "yes" ; then
1079 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1080 echo "#define CONFIG_SOFTMMU 1" >> $config_h
43ce4dfe 1081fi
997344f3
FB
1082if test "$target_user_only" = "yes" ; then
1083 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1084 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1085fi
831b7825
TS
1086if test "$target_linux_user" = "yes" ; then
1087 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1088 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1089fi
1090if test "$target_darwin_user" = "yes" ; then
1091 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1092 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1093fi
97a847bc 1094
540635ba 1095if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
158142c2
FB
1096 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1097 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1098fi
e5fe0c52
PB
1099if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1100 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1101 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1102fi
7c1f25b4
FB
1103# sdl defines
1104
1105if test "$target_user_only" = "no"; then
1106 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
dbb2c921 1107 sdl1=$sdl_static
7c1f25b4 1108 else
dbb2c921
FB
1109 sdl1=$sdl
1110 fi
1111 if test "$sdl1" = "yes" ; then
1112 echo "#define CONFIG_SDL 1" >> $config_h
1113 echo "CONFIG_SDL=yes" >> $config_mak
1114 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1115 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1116 else
7c1f25b4
FB
1117 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1118 fi
dbb2c921 1119 if [ "${aa}" = "yes" ] ; then
b1a550a0
PB
1120 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1121 else
1122 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
dbb2c921 1123 fi
7c1f25b4 1124 fi
7c1f25b4
FB
1125fi
1126
5b0753e0
FB
1127if test "$cocoa" = "yes" ; then
1128 echo "#define CONFIG_COCOA 1" >> $config_h
1129 echo "CONFIG_COCOA=yes" >> $config_mak
1130fi
1131
15d9ca0f
TS
1132test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1133
97a847bc 1134done # for target in $targets
7d13299d
FB
1135
1136# build tree in object directory if source path is different from current one
1137if test "$source_path_used" = "yes" ; then
1138 DIRS="tests"
1139 FILES="Makefile tests/Makefile"
1140 for dir in $DIRS ; do
1141 mkdir -p $dir
1142 done
ec530c81 1143 # remove the link and recreate it, as not all "ln -sf" overwrite the link
7d13299d 1144 for f in $FILES ; do
ec530c81
FB
1145 rm -f $f
1146 ln -s $source_path/$f $f
7d13299d
FB
1147 done
1148fi
7d13299d 1149
97a847bc 1150rm -f $TMPO $TMPC $TMPE $TMPS