]> git.proxmox.com Git - mirror_qemu.git/blame - configure
machine struct - use C99 initializers (Jes Sorensen)
[mirror_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"
9d56d2dc 18TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
7d13299d
FB
19
20# default parameters
11d9f695 21prefix=""
1e43adfc 22interp_prefix="/usr/gnemul/qemu-%M"
43ce4dfe 23static="no"
7d13299d
FB
24cross_prefix=""
25cc="gcc"
328a4240 26gcc3_search="yes"
fe8f78e4 27gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
0c58ac1c 28audio_drv_list=""
29audio_card_list=""
7d13299d
FB
30host_cc="gcc"
31ar="ar"
32make="make"
6a882643 33install="install"
7d13299d
FB
34strip="strip"
35cpu=`uname -m`
5327cf48 36target_list=""
7d13299d
FB
37case "$cpu" in
38 i386|i486|i586|i686|i86pc|BePC)
97a847bc 39 cpu="i386"
7d13299d 40 ;;
aaa5fa14
AJ
41 x86_64|amd64)
42 cpu="x86_64"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
ba68055e 47 armv*b)
808c4954
FB
48 cpu="armv4b"
49 ;;
ba68055e 50 armv*l)
7d13299d
FB
51 cpu="armv4l"
52 ;;
aaa5fa14
AJ
53 cris)
54 cpu="cris"
7d13299d 55 ;;
f54b3f92
AJ
56 parisc|parisc64)
57 cpu="hppa"
58 ;;
aaa5fa14
AJ
59 ia64)
60 cpu="ia64"
61 ;;
62 m68k)
63 cpu="m68k"
7d13299d
FB
64 ;;
65 mips)
66 cpu="mips"
67 ;;
fbe4f65b
TS
68 mips64)
69 cpu="mips64"
70 ;;
aaa5fa14
AJ
71 "Power Macintosh"|ppc|ppc64)
72 cpu="powerpc"
e7daa605 73 ;;
0e7b8a9f 74 s390*)
fb3e5849
FB
75 cpu="s390"
76 ;;
3142255c 77 sparc|sun4[cdmuv])
ae228531
FB
78 cpu="sparc"
79 ;;
80 sparc64)
81 cpu="sparc64"
82 ;;
7d13299d
FB
83 *)
84 cpu="unknown"
85 ;;
86esac
87gprof="no"
03b4fe7d 88sparse="no"
7d13299d 89bigendian="no"
67b915a5
FB
90mingw32="no"
91EXESUF=""
92gdbstub="yes"
443f1376 93slirp="yes"
e0e6c8c0 94vde="yes"
102a52e4
FB
95fmod_lib=""
96fmod_inc=""
2f6a1ab0 97oss_lib=""
8d5d2d4c 98vnc_tls="yes"
b1a550a0 99bsd="no"
5327cf48 100linux="no"
c9ec1fe4 101kqemu="no"
05c2a3e7 102profiler="no"
5b0753e0 103cocoa="no"
97ccc689 104check_gfx="yes"
1aff381f 105check_gcc="yes"
0a8e90f4 106softmmu="yes"
831b7825
TS
107linux_user="no"
108darwin_user="no"
cc8ae6de 109build_docs="no"
c5937220 110uname_release=""
4d3b6f6e 111curses="yes"
414f0dab 112aio="yes"
bd0c5661 113nptl="yes"
8ff9cbf7 114mixemu="no"
fb599c9a 115bluez="yes"
27463101
AL
116signalfd="no"
117eventfd="no"
7d13299d
FB
118
119# OS specific
120targetos=`uname -s`
121case $targetos in
c326e0af
FB
122CYGWIN*)
123mingw32="yes"
6f30fa85 124OS_CFLAGS="-mno-cygwin"
db8d7dd1
TS
125if [ "$cpu" = "i386" ] ; then
126 kqemu="yes"
127fi
c2de5c91 128audio_possible_drivers="sdl"
c326e0af 129;;
67b915a5
FB
130MINGW32*)
131mingw32="yes"
db8d7dd1
TS
132if [ "$cpu" = "i386" ] ; then
133 kqemu="yes"
134fi
c2de5c91 135audio_possible_drivers="dsound sdl fmod"
67b915a5 136;;
5c40d2bd 137GNU/kFreeBSD)
0c58ac1c 138audio_drv_list="oss"
f34af52c 139audio_possible_drivers="oss sdl esd pa"
5c40d2bd
TS
140if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
141 kqemu="yes"
142fi
143;;
7d3505c5
FB
144FreeBSD)
145bsd="yes"
0c58ac1c 146audio_drv_list="oss"
f34af52c 147audio_possible_drivers="oss sdl esd pa"
e99f9060 148if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
07f4ddbf
FB
149 kqemu="yes"
150fi
7d3505c5
FB
151;;
152NetBSD)
153bsd="yes"
0c58ac1c 154audio_drv_list="oss"
c2de5c91 155audio_possible_drivers="oss sdl esd"
7d3505c5
FB
156;;
157OpenBSD)
158bsd="yes"
128ab2ff 159openbsd="yes"
0c58ac1c 160audio_drv_list="oss"
c2de5c91 161audio_possible_drivers="oss sdl esd"
2f6a1ab0 162oss_lib="-lossaudio"
7d3505c5 163;;
83fb7adf
FB
164Darwin)
165bsd="yes"
166darwin="yes"
831b7825 167darwin_user="yes"
fd677642 168cocoa="yes"
0c58ac1c 169audio_drv_list="coreaudio"
c2de5c91 170audio_possible_drivers="coreaudio sdl fmod"
6f30fa85 171OS_CFLAGS="-mdynamic-no-pic"
c2c59c3e 172OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
83fb7adf 173;;
ec530c81 174SunOS)
c2b84fab
TS
175 solaris="yes"
176 make="gmake"
177 install="ginstall"
0475a5ca 178 needs_libsunmath="no"
c2b84fab 179 solarisrev=`uname -r | cut -f2 -d.`
ef18c883
TS
180 # have to select again, because `uname -m` returns i86pc
181 # even on an x86_64 box.
182 solariscpu=`isainfo -k`
183 if test "${solariscpu}" = "amd64" ; then
184 cpu="x86_64"
185 fi
c2b84fab 186 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
0475a5ca
TS
187 if test "$solarisrev" -le 9 ; then
188 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
189 needs_libsunmath="yes"
190 else
191 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
192 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
193 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
194 echo "Studio 11 can be downloaded from www.sun.com."
195 exit 1
196 fi
197 fi
198 if test "$solarisrev" -ge 9 ; then
c2b84fab
TS
199 kqemu="yes"
200 fi
86b2bd93 201 fi
6b4d2ba1 202 if test -f /usr/include/sys/soundcard.h ; then
0c58ac1c 203 audio_drv_list="oss"
6b4d2ba1 204 fi
c2de5c91 205 audio_possible_drivers="oss sdl"
86b2bd93 206;;
1d14ffa9 207*)
0c58ac1c 208audio_drv_list="oss"
b8e59f18 209audio_possible_drivers="oss alsa sdl esd pa"
5327cf48 210linux="yes"
831b7825 211linux_user="yes"
07f4ddbf 212if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
c9ec1fe4 213 kqemu="yes"
c2de5c91 214 audio_possible_drivers="$audio_possible_drivers fmod"
c9ec1fe4 215fi
fb065187 216;;
7d13299d
FB
217esac
218
7d3505c5 219if [ "$bsd" = "yes" ] ; then
b1a550a0 220 if [ "$darwin" != "yes" ] ; then
83fb7adf
FB
221 make="gmake"
222 fi
7d3505c5
FB
223fi
224
7d13299d 225# find source path
ad064840 226source_path=`dirname "$0"`
59faef3a
AZ
227source_path_used="no"
228workdir=`pwd`
ad064840 229if [ -z "$source_path" ]; then
59faef3a 230 source_path=$workdir
ad064840
PB
231else
232 source_path=`cd "$source_path"; pwd`
7d13299d 233fi
724db118 234[ -f "$workdir/vl.c" ] || source_path_used="yes"
7d13299d 235
85aa5189 236werror="no"
0d1e2394
FB
237# generate compile errors on warnings for development builds
238#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
239#werror="yes";
240#fi
85aa5189 241
7d13299d 242for opt do
a46e4035 243 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
7d13299d 244 case "$opt" in
2efc3265
FB
245 --help|-h) show_help=yes
246 ;;
b1a550a0 247 --prefix=*) prefix="$optarg"
7d13299d 248 ;;
b1a550a0 249 --interp-prefix=*) interp_prefix="$optarg"
32ce6337 250 ;;
b1a550a0 251 --source-path=*) source_path="$optarg"
ad064840 252 source_path_used="yes"
7d13299d 253 ;;
b1a550a0 254 --cross-prefix=*) cross_prefix="$optarg"
7d13299d 255 ;;
b1a550a0 256 --cc=*) cc="$optarg"
328a4240 257 gcc3_search="no"
7d13299d 258 ;;
b1a550a0 259 --host-cc=*) host_cc="$optarg"
83469015 260 ;;
b1a550a0 261 --make=*) make="$optarg"
7d13299d 262 ;;
6a882643
PB
263 --install=*) install="$optarg"
264 ;;
b1a550a0 265 --extra-cflags=*) CFLAGS="$optarg"
7d13299d 266 ;;
b1a550a0 267 --extra-ldflags=*) LDFLAGS="$optarg"
7d13299d 268 ;;
b1a550a0 269 --cpu=*) cpu="$optarg"
7d13299d 270 ;;
b1a550a0 271 --target-list=*) target_list="$optarg"
de83cd02 272 ;;
7d13299d
FB
273 --enable-gprof) gprof="yes"
274 ;;
43ce4dfe
FB
275 --static) static="yes"
276 ;;
97a847bc
FB
277 --disable-sdl) sdl="no"
278 ;;
0c58ac1c 279 --fmod-lib=*) fmod_lib="$optarg"
1d14ffa9 280 ;;
c2de5c91 281 --fmod-inc=*) fmod_inc="$optarg"
282 ;;
2f6a1ab0
BS
283 --oss-lib=*) oss_lib="$optarg"
284 ;;
2fa7d3bf 285 --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
102a52e4 286 ;;
0c58ac1c 287 --audio-drv-list=*) audio_drv_list="$optarg"
102a52e4 288 ;;
03b4fe7d
AL
289 --enable-sparse) sparse="yes"
290 ;;
291 --disable-sparse) sparse="no"
292 ;;
8d5d2d4c
TS
293 --disable-vnc-tls) vnc_tls="no"
294 ;;
443f1376 295 --disable-slirp) slirp="no"
1d14ffa9 296 ;;
e0e6c8c0 297 --disable-vde) vde="no"
8a16d273 298 ;;
c9ec1fe4 299 --disable-kqemu) kqemu="no"
1d14ffa9 300 ;;
2e4d9fb1
AJ
301 --disable-brlapi) brlapi="no"
302 ;;
fb599c9a
AZ
303 --disable-bluez) bluez="no"
304 ;;
05c2a3e7
FB
305 --enable-profiler) profiler="yes"
306 ;;
c2de5c91 307 --enable-cocoa)
308 cocoa="yes" ;
309 sdl="no" ;
310 audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
1d14ffa9 311 ;;
97ccc689
FB
312 --disable-gfx-check) check_gfx="no"
313 ;;
1aff381f
FB
314 --disable-gcc-check) check_gcc="no"
315 ;;
cad25d69 316 --disable-system) softmmu="no"
0a8e90f4 317 ;;
cad25d69 318 --enable-system) softmmu="yes"
0a8e90f4 319 ;;
831b7825 320 --disable-linux-user) linux_user="no"
0a8e90f4 321 ;;
831b7825
TS
322 --enable-linux-user) linux_user="yes"
323 ;;
324 --disable-darwin-user) darwin_user="no"
325 ;;
326 --enable-darwin-user) darwin_user="yes"
0a8e90f4 327 ;;
c5937220
PB
328 --enable-uname-release=*) uname_release="$optarg"
329 ;;
3142255c
BS
330 --sparc_cpu=*)
331 sparc_cpu="$optarg"
332 case $sparc_cpu in
333 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
334 target_cpu="sparc"; cpu="sparc" ;;
335 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
336 target_cpu="sparc"; cpu="sparc" ;;
337 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
338 target_cpu="sparc64"; cpu="sparc64" ;;
339 *) echo "undefined SPARC architecture. Exiting";exit 1;;
340 esac
341 ;;
85aa5189
FB
342 --enable-werror) werror="yes"
343 ;;
344 --disable-werror) werror="no"
345 ;;
4d3b6f6e
AZ
346 --disable-curses) curses="no"
347 ;;
bd0c5661
PB
348 --disable-nptl) nptl="no"
349 ;;
8ff9cbf7 350 --enable-mixemu) mixemu="yes"
351 ;;
414f0dab
BS
352 --disable-aio) aio="no"
353 ;;
7f1559c6
AZ
354 *) echo "ERROR: unknown option $opt"; show_help="yes"
355 ;;
7d13299d
FB
356 esac
357done
358
6f30fa85 359# default flags for all hosts
ac41a620
BS
360CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
361CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
6f30fa85 362LDFLAGS="$LDFLAGS -g"
85aa5189
FB
363if test "$werror" = "yes" ; then
364CFLAGS="$CFLAGS -Werror"
365fi
6f30fa85 366
49237acd
BS
367if ld --version 2>/dev/null | grep -q "GNU ld" ; then
368 LDFLAGS="$LDFLAGS -Wl,--warn-common"
369fi
370
3142255c
BS
371#
372# If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
373# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
374#
40293e58 375case "$cpu" in
3142255c
BS
376 sparc) if test -z "$sparc_cpu" ; then
377 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
378 ARCH_LDFLAGS="-m32"
379 else
380 ARCH_CFLAGS="${SP_CFLAGS}"
381 ARCH_LDFLAGS="${SP_LDFLAGS}"
382 fi
383 ;;
384 sparc64) if test -z "$sparc_cpu" ; then
385 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
386 ARCH_LDFLAGS="-m64"
387 else
388 ARCH_CFLAGS="${SP_CFLAGS}"
389 ARCH_LDFLAGS="${SP_LDFLAGS}"
390 fi
391 ;;
76d83bde
TS
392 s390)
393 ARCH_CFLAGS="-march=z900"
394 ;;
40293e58
FB
395 i386)
396 ARCH_CFLAGS="-m32"
397 ARCH_LDFLAGS="-m32"
398 ;;
399 x86_64)
400 ARCH_CFLAGS="-m64"
401 ARCH_LDFLAGS="-m64"
402 ;;
3142255c
BS
403esac
404
af5db58e
PB
405if test x"$show_help" = x"yes" ; then
406cat << EOF
407
408Usage: configure [options]
409Options: [defaults in brackets after descriptions]
410
411EOF
412echo "Standard options:"
413echo " --help print this message"
414echo " --prefix=PREFIX install in PREFIX [$prefix]"
415echo " --interp-prefix=PREFIX where to find shared libraries, etc."
416echo " use %M for cpu name [$interp_prefix]"
417echo " --target-list=LIST set target list [$target_list]"
418echo ""
419echo "kqemu kernel acceleration support:"
420echo " --disable-kqemu disable kqemu support"
af5db58e
PB
421echo ""
422echo "Advanced options (experts only):"
423echo " --source-path=PATH path of source code [$source_path]"
424echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
425echo " --cc=CC use C compiler CC [$cc]"
426echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
427echo " --make=MAKE use specified make [$make]"
6a882643 428echo " --install=INSTALL use specified install [$install]"
af5db58e 429echo " --static enable static build [$static]"
03b4fe7d 430echo " --disable-sparse disable sparse checker"
85aa5189 431echo " --disable-werror disable compilation abort on warning"
fe8f78e4 432echo " --disable-sdl disable SDL"
af5db58e 433echo " --enable-cocoa enable COCOA (Mac OS X only)"
c2de5c91 434echo " --audio-drv-list=LIST set audio drivers list:"
435echo " Available drivers: $audio_possible_drivers"
436echo " --audio-card-list=LIST set list of additional emulated audio cards"
437echo " Available cards: ac97 adlib cs4231a gus"
8ff9cbf7 438echo " --enable-mixemu enable mixer emulation"
2e4d9fb1 439echo " --disable-brlapi disable BrlAPI"
8d5d2d4c 440echo " --disable-vnc-tls disable TLS encryption for VNC server"
af896aaa 441echo " --disable-curses disable curses output"
fb599c9a 442echo " --disable-bluez disable bluez stack connectivity"
bd0c5661 443echo " --disable-nptl disable usermode NPTL support"
af5db58e
PB
444echo " --enable-system enable all system emulation targets"
445echo " --disable-system disable all system emulation targets"
831b7825
TS
446echo " --enable-linux-user enable all linux usermode emulation targets"
447echo " --disable-linux-user disable all linux usermode emulation targets"
448echo " --enable-darwin-user enable all darwin usermode emulation targets"
449echo " --disable-darwin-user disable all darwin usermode emulation targets"
af5db58e
PB
450echo " --fmod-lib path to FMOD library"
451echo " --fmod-inc path to FMOD includes"
2f6a1ab0 452echo " --oss-lib path to OSS library"
c5937220 453echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
3142255c 454echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
e0e6c8c0 455echo " --disable-vde disable support for vde network"
414f0dab 456echo " --disable-aio disable AIO support"
af5db58e 457echo ""
5bf08934 458echo "NOTE: The object files are built at the place where configure is launched"
af5db58e
PB
459exit 1
460fi
461
7d13299d
FB
462cc="${cross_prefix}${cc}"
463ar="${cross_prefix}${ar}"
464strip="${cross_prefix}${strip}"
465
064aae13
PB
466# check that the C compiler works.
467cat > $TMPC <<EOF
468int main(void) {}
469EOF
470
db7287ed 471if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
064aae13
PB
472 : C compiler works ok
473else
474 echo "ERROR: \"$cc\" either does not exist or does not work"
475 exit 1
a7350fa1
FB
476fi
477
cd01b4a3
AL
478# check compiler to see if we're on mingw32
479cat > $TMPC <<EOF
480#include <windows.h>
481#ifndef _WIN32
482#error not windows
483#endif
484int main(void) {}
485EOF
486
487if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
488 mingw32="yes"
489fi
490
67b915a5 491if test "$mingw32" = "yes" ; then
5327cf48 492 linux="no"
67b915a5 493 EXESUF=".exe"
9f059eca 494 oss="no"
cd01b4a3
AL
495 linux_user="no"
496fi
497
997306fc 498if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
cd01b4a3 499 AIOLIBS=
997306fc
AL
500elif [ "$bsd" = "yes" ]; then
501 AIOLIBS="-lpthread"
cd01b4a3
AL
502else
503 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
504 AIOLIBS="-lrt -lpthread"
67b915a5
FB
505fi
506
5fafdf24 507# Check for gcc4, error if pre-gcc4
328a4240
PB
508if test "$check_gcc" = "yes" ; then
509 cat > $TMPC <<EOF
510#if __GNUC__ < 4
511#error gcc3
512#endif
513int main(){return 0;}
514EOF
db7287ed 515 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
328a4240
PB
516 echo "WARNING: \"$cc\" looks like gcc 4.x"
517 found_compat_cc="no"
518 if test "$gcc3_search" = "yes" ; then
519 echo "Looking for gcc 3.x"
520 for compat_cc in $gcc3_list ; do
d4af3de2 521 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
328a4240 522 echo "Found \"$compat_cc\""
1124426a 523 cc="$cross_prefix$compat_cc"
328a4240
PB
524 found_compat_cc="yes"
525 break
526 fi
527 done
528 if test "$found_compat_cc" = "no" ; then
529 echo "gcc 3.x not found!"
530 fi
531 fi
532 if test "$found_compat_cc" = "no" ; then
533 echo "QEMU is known to have problems when compiled with gcc 4.x"
534 echo "It is recommended that you use gcc 3.x to build QEMU"
535 echo "To use this compiler anyway, configure with --disable-gcc-check"
536 exit 1;
537 fi
538 fi
539fi
540
03b4fe7d
AL
541if test ! -x "$(which cgcc 2>/dev/null)"; then
542 sparse="no"
543fi
544
ec530c81
FB
545#
546# Solaris specific configure tool chain decisions
547#
548if test "$solaris" = "yes" ; then
549 #
550 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
551 # override the check with --disable-gcc-check
5fafdf24 552 #
ec530c81
FB
553 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
554 solgcc=`which $cc`
555 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
556 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
557 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
558 echo "or get the latest patch from SunSolve for gcc"
559 exit 1
560 fi
561 fi
562 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
563 if test -z "$solinst" ; then
564 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
565 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
566 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
567 exit 1
568 fi
569 if test "$solinst" = "/usr/sbin/install" ; then
570 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
571 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
572 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
573 exit 1
574 fi
ec530c81
FB
575 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
576 if test -z "$sol_ar" ; then
577 echo "Error: No path includes ar"
578 if test -f /usr/ccs/bin/ar ; then
579 echo "Add /usr/ccs/bin to your path and rerun configure"
580 fi
581 exit 1
582 fi
5fafdf24 583fi
ec530c81
FB
584
585
5327cf48
FB
586if test -z "$target_list" ; then
587# these targets are portable
0a8e90f4 588 if [ "$softmmu" = "yes" ] ; then
2408a527
AJ
589 target_list="\
590i386-softmmu \
591x86_64-softmmu \
592arm-softmmu \
593cris-softmmu \
594m68k-softmmu \
595mips-softmmu \
596mipsel-softmmu \
597mips64-softmmu \
598mips64el-softmmu \
599ppc-softmmu \
600ppcemb-softmmu \
601ppc64-softmmu \
602sh4-softmmu \
603sh4eb-softmmu \
604sparc-softmmu \
605"
0a8e90f4 606 fi
5327cf48 607# the following are Linux specific
831b7825 608 if [ "$linux_user" = "yes" ] ; then
2408a527
AJ
609 target_list="${target_list}\
610i386-linux-user \
611x86_64-linux-user \
612alpha-linux-user \
613arm-linux-user \
614armeb-linux-user \
615cris-linux-user \
616m68k-linux-user \
617mips-linux-user \
618mipsel-linux-user \
619ppc-linux-user \
620ppc64-linux-user \
621ppc64abi32-linux-user \
622sh4-linux-user \
623sh4eb-linux-user \
624sparc-linux-user \
625sparc64-linux-user \
626sparc32plus-linux-user \
627"
831b7825
TS
628 fi
629# the following are Darwin specific
630 if [ "$darwin_user" = "yes" ] ; then
2408a527 631 target_list="$target_list i386-darwin-user ppc-darwin-user"
5327cf48 632 fi
6e20a45f 633else
b1a550a0 634 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
5327cf48 635fi
0a8e90f4
PB
636if test -z "$target_list" ; then
637 echo "No targets enabled"
638 exit 1
639fi
5327cf48 640
7d13299d
FB
641if test -z "$cross_prefix" ; then
642
643# ---
644# big/little endian test
645cat > $TMPC << EOF
646#include <inttypes.h>
647int main(int argc, char ** argv){
1d14ffa9
FB
648 volatile uint32_t i=0x01234567;
649 return (*((uint8_t*)(&i))) == 0x67;
7d13299d
FB
650}
651EOF
652
db7287ed 653if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
7d13299d
FB
654$TMPE && bigendian="yes"
655else
656echo big/little test failed
657fi
658
659else
660
661# if cross compiling, cannot launch a program, so make a static guess
0938cda5 662if test "$cpu" = "armv4b" \
f54b3f92 663 -o "$cpu" = "hppa" \
0938cda5
AJ
664 -o "$cpu" = "m68k" \
665 -o "$cpu" = "mips" \
666 -o "$cpu" = "mips64" \
667 -o "$cpu" = "powerpc" \
668 -o "$cpu" = "s390" \
669 -o "$cpu" = "sparc" \
670 -o "$cpu" = "sparc64"; then
7d13299d
FB
671 bigendian="yes"
672fi
673
674fi
675
b6853697
FB
676# host long bits test
677hostlongbits="32"
0938cda5
AJ
678if test "$cpu" = "x86_64" \
679 -o "$cpu" = "alpha" \
680 -o "$cpu" = "ia64" \
681 -o "$cpu" = "sparc64"; then
b6853697
FB
682 hostlongbits="64"
683fi
684
810260a8 685# ppc specific hostlongbits selection
686if test "$cpu" = "powerpc" ; then
9d56d2dc 687 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
688 grep -q __powerpc64__ $TMPI && hostlongbits=64
810260a8 689 else
690 echo hostlongbits test failed
ba69a08a 691 exit 1
810260a8 692 fi
693fi
694
e8cd23de 695# check gcc options support
04369ff2
FB
696cat > $TMPC <<EOF
697int main(void) {
04369ff2
FB
698}
699EOF
700
bd0c5661
PB
701# Check host NPTL support
702cat > $TMPC <<EOF
703#include <sched.h>
30813cea 704#include <linux/futex.h>
bd0c5661
PB
705void foo()
706{
707#if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
708#error bork
709#endif
710}
711EOF
712
713if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
714 :
715else
716 nptl="no"
717fi
718
11d9f695
FB
719##########################################
720# SDL probe
721
722sdl_too_old=no
723
724if test -z "$sdl" ; then
069b0bda
TS
725 sdl_config="sdl-config"
726 sdl=no
727 sdl_static=no
728
11d9f695
FB
729cat > $TMPC << EOF
730#include <SDL.h>
731#undef main /* We don't want SDL to override our main() */
732int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
733EOF
cd01b4a3
AL
734 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
735 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
736 if test "$_sdlversion" -lt 121 ; then
737 sdl_too_old=yes
738 else
739 if test "$cocoa" = "no" ; then
740 sdl=yes
069b0bda 741 fi
cd01b4a3 742 fi
11d9f695 743
cd01b4a3
AL
744 # static link with sdl ?
745 if test "$sdl" = "yes" ; then
746 aa="no"
747 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
748 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
749 if [ "$aa" = "yes" ] ; then
750 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
751 fi
752
753 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
754 sdl_static=yes
755 fi
756 fi # static link
757 fi # sdl compile test
fd677642 758else
069b0bda
TS
759 # Make sure to disable cocoa if sdl was set
760 if test "$sdl" = "yes" ; then
761 cocoa="no"
c2de5c91 762 audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
069b0bda 763 fi
a6e022ad 764fi # -z $sdl
11d9f695 765
8d5d2d4c
TS
766##########################################
767# VNC TLS detection
768if test "$vnc_tls" = "yes" ; then
ae6b5e5a
AL
769cat > $TMPC <<EOF
770#include <gnutls/gnutls.h>
771int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
772EOF
773 vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
774 vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
775 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
776 $vnc_tls_libs 2> /dev/null ; then
777 :
778 else
779 vnc_tls="no"
780 fi
8d5d2d4c
TS
781fi
782
8a16d273
TS
783##########################################
784# vde libraries probe
785if test "$vde" = "yes" ; then
786 cat > $TMPC << EOF
787#include <libvdeplug.h>
4a7f0e06
PB
788int main(void)
789{
790 struct vde_open_args a = {0, 0, 0};
791 vde_open("", "", &a);
792 return 0;
793}
8a16d273 794EOF
4a7f0e06 795 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev/null ; then
8a16d273
TS
796 :
797 else
e0e6c8c0 798 vde="no"
8a16d273
TS
799 fi
800fi
801
8f28f3fb 802##########################################
c2de5c91 803# Sound support libraries probe
8f28f3fb 804
c2de5c91 805audio_drv_probe()
806{
807 drv=$1
808 hdr=$2
809 lib=$3
810 exp=$4
811 cfl=$5
812 cat > $TMPC << EOF
813#include <$hdr>
814int main(void) { $exp }
8f28f3fb 815EOF
c2de5c91 816 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then
817 :
818 else
819 echo
820 echo "Error: $drv check failed"
821 echo "Make sure to have the $drv libs and headers installed."
822 echo
823 exit 1
824 fi
825}
826
2fa7d3bf 827audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
c2de5c91 828for drv in $audio_drv_list; do
829 case $drv in
830 alsa)
831 audio_drv_probe $drv alsa/asoundlib.h -lasound \
832 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
833 ;;
834
835 fmod)
836 if test -z $fmod_lib || test -z $fmod_inc; then
837 echo
838 echo "Error: You must specify path to FMOD library and headers"
839 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
840 echo
841 exit 1
842 fi
843 audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
844 ;;
845
846 esd)
847 audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
848 ;;
b8e59f18 849
850 pa)
851 audio_drv_probe $drv pulse/simple.h -lpulse-simple \
852 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
853 ;;
854
2f6a1ab0
BS
855 oss|sdl|core|wav|dsound)
856 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
857 ;;
858
e4c63a6a 859 *)
1c9b2a52 860 echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
e4c63a6a 861 echo
862 echo "Error: Unknown driver '$drv' selected"
863 echo "Possible drivers are: $audio_possible_drivers"
864 echo
865 exit 1
866 }
867 ;;
c2de5c91 868 esac
869done
8f28f3fb 870
2e4d9fb1
AJ
871##########################################
872# BrlAPI probe
873
874if test -z "$brlapi" ; then
875 brlapi=no
876cat > $TMPC << EOF
877#include <brlapi.h>
878int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
879EOF
a40e56d5 880 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev/null ; then
2e4d9fb1
AJ
881 brlapi=yes
882 fi # brlapi compile test
883fi # -z $brlapi
884
4d3b6f6e
AZ
885##########################################
886# curses probe
887
888if test "$curses" = "yes" ; then
889 curses=no
890 cat > $TMPC << EOF
891#include <curses.h>
892int main(void) { return curses_version(); }
893EOF
af896aaa 894 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
4d3b6f6e
AZ
895 curses=yes
896 fi
897fi # test "$curses"
898
fb599c9a
AZ
899##########################################
900# bluez support probe
901if test "$bluez" = "yes" ; then
902 `pkg-config bluez` || bluez="no"
903fi
904if test "$bluez" = "yes" ; then
e820e3f4
AZ
905 cat > $TMPC << EOF
906#include <bluetooth/bluetooth.h>
907int main(void) { return bt_error(0); }
908EOF
fb599c9a
AZ
909 bluez_cflags=`pkg-config --cflags bluez`
910 bluez_libs=`pkg-config --libs bluez`
e820e3f4
AZ
911 if $cc $ARCH_CFLAGS -o $TMPE ${OS_FLAGS} $bluez_cflags $TMPC \
912 $bluez_libs 2> /dev/null ; then
913 :
914 else
915 bluez="no"
916 fi
fb599c9a
AZ
917fi
918
414f0dab
BS
919##########################################
920# AIO probe
921if test "$aio" = "yes" ; then
922 aio=no
923 cat > $TMPC << EOF
924#include <aio.h>
925int main(void) { return aio_write(NULL); }
926EOF
927 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
928 aio=yes
929 fi
930fi
931
27463101
AL
932##########################################
933# signalfd probe
934cat > $TMPC << EOF
935#define _GNU_SOURCE
936#include <unistd.h>
937#include <sys/syscall.h>
938#include <signal.h>
939int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }
940EOF
941
942if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
943 signalfd=yes
944fi
945
946##########################################
947# eventfd probe
948cat > $TMPC << EOF
949#define _GNU_SOURCE
950#include <unistd.h>
951#include <sys/syscall.h>
952int main(void) { return syscall(SYS_eventfd, 0); }
953EOF
954
955if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
956 eventfd=yes
957fi
958
cc8ae6de 959# Check if tools are available to build documentation.
6c591867
TS
960if [ -x "`which texi2html 2>/dev/null`" ] && \
961 [ -x "`which pod2man 2>/dev/null`" ]; then
cc8ae6de
PB
962 build_docs="yes"
963fi
964
11d9f695 965if test "$mingw32" = "yes" ; then
308c3593
PB
966 if test -z "$prefix" ; then
967 prefix="/c/Program Files/Qemu"
968 fi
969 mansuffix=""
970 datasuffix=""
971 docsuffix=""
972 binsuffix=""
11d9f695 973else
308c3593
PB
974 if test -z "$prefix" ; then
975 prefix="/usr/local"
976 fi
977 mansuffix="/share/man"
978 datasuffix="/share/qemu"
979 docsuffix="/share/doc/qemu"
980 binsuffix="/bin"
11d9f695 981fi
5a67135a 982
43ce4dfe 983echo "Install prefix $prefix"
308c3593
PB
984echo "BIOS directory $prefix$datasuffix"
985echo "binary directory $prefix$binsuffix"
11d9f695 986if test "$mingw32" = "no" ; then
308c3593 987echo "Manual directory $prefix$mansuffix"
43ce4dfe 988echo "ELF interp prefix $interp_prefix"
11d9f695 989fi
5a67135a 990echo "Source path $source_path"
43ce4dfe 991echo "C compiler $cc"
83469015 992echo "Host C compiler $host_cc"
db7287ed 993echo "ARCH_CFLAGS $ARCH_CFLAGS"
43ce4dfe 994echo "make $make"
6a882643 995echo "install $install"
43ce4dfe 996echo "host CPU $cpu"
de83cd02 997echo "host big endian $bigendian"
97a847bc 998echo "target list $target_list"
43ce4dfe 999echo "gprof enabled $gprof"
03b4fe7d 1000echo "sparse enabled $sparse"
05c2a3e7 1001echo "profiler $profiler"
43ce4dfe 1002echo "static build $static"
85aa5189 1003echo "-Werror enabled $werror"
5b0753e0
FB
1004if test "$darwin" = "yes" ; then
1005 echo "Cocoa support $cocoa"
1006fi
97a847bc 1007echo "SDL support $sdl"
e4afee97
FB
1008if test "$sdl" != "no" ; then
1009 echo "SDL static link $sdl_static"
1010fi
4d3b6f6e 1011echo "curses support $curses"
67b915a5 1012echo "mingw32 support $mingw32"
0c58ac1c 1013echo "Audio drivers $audio_drv_list"
1014echo "Extra audio cards $audio_card_list"
8ff9cbf7 1015echo "Mixer emulation $mixemu"
8d5d2d4c
TS
1016echo "VNC TLS support $vnc_tls"
1017if test "$vnc_tls" = "yes" ; then
1018 echo " TLS CFLAGS $vnc_tls_cflags"
1019 echo " TLS LIBS $vnc_tls_libs"
1020fi
3142255c
BS
1021if test -n "$sparc_cpu"; then
1022 echo "Target Sparc Arch $sparc_cpu"
1023fi
07f4ddbf 1024echo "kqemu support $kqemu"
2e4d9fb1 1025echo "brlapi support $brlapi"
cc8ae6de 1026echo "Documentation $build_docs"
c5937220
PB
1027[ ! -z "$uname_release" ] && \
1028echo "uname -r $uname_release"
bd0c5661 1029echo "NPTL support $nptl"
8a16d273 1030echo "vde support $vde"
414f0dab 1031echo "AIO support $aio"
67b915a5 1032
97a847bc 1033if test $sdl_too_old = "yes"; then
24b55b96 1034echo "-> Your SDL version is too old - please upgrade to have SDL support"
7c1f25b4 1035fi
20b40c6a
TS
1036if [ -s /tmp/qemu-$$-sdl-config.log ]; then
1037 echo "The error log from compiling the libSDL test is: "
1038 cat /tmp/qemu-$$-sdl-config.log
1039fi
1040rm -f /tmp/qemu-$$-sdl-config.log
24b55b96
FB
1041#if test "$sdl_static" = "no"; then
1042# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1043#fi
97a847bc
FB
1044config_mak="config-host.mak"
1045config_h="config-host.h"
7d13299d 1046
7c1f25b4 1047#echo "Creating $config_mak and $config_h"
7d13299d 1048
15d9ca0f
TS
1049test -f $config_h && mv $config_h ${config_h}~
1050
97a847bc 1051echo "# Automatically generated by configure - do not modify" > $config_mak
29517134 1052echo "# Configured with: $0 $@" >> $config_mak
97a847bc 1053echo "/* Automatically generated by configure - do not modify */" > $config_h
7d13299d 1054
97a847bc 1055echo "prefix=$prefix" >> $config_mak
308c3593
PB
1056echo "bindir=\${prefix}$binsuffix" >> $config_mak
1057echo "mandir=\${prefix}$mansuffix" >> $config_mak
1058echo "datadir=\${prefix}$datasuffix" >> $config_mak
4ad5b06d 1059echo "docdir=\${prefix}$docsuffix" >> $config_mak
308c3593 1060echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
97a847bc 1061echo "MAKE=$make" >> $config_mak
6a882643 1062echo "INSTALL=$install" >> $config_mak
97a847bc 1063echo "CC=$cc" >> $config_mak
97a847bc
FB
1064echo "HOST_CC=$host_cc" >> $config_mak
1065echo "AR=$ar" >> $config_mak
1066echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
40293e58
FB
1067# XXX: only use CFLAGS and LDFLAGS ?
1068# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1069# compilation of dyngen tool (useful for win32 build on Linux host)
6f30fa85 1070echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
3142255c
BS
1071echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1072echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1073echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
97a847bc
FB
1074echo "CFLAGS=$CFLAGS" >> $config_mak
1075echo "LDFLAGS=$LDFLAGS" >> $config_mak
67b915a5 1076echo "EXESUF=$EXESUF" >> $config_mak
70956b77 1077echo "AIOLIBS=$AIOLIBS" >> $config_mak
2408a527
AJ
1078case "$cpu" in
1079 i386)
1080 echo "ARCH=i386" >> $config_mak
1081 echo "#define HOST_I386 1" >> $config_h
1082 ;;
1083 x86_64)
1084 echo "ARCH=x86_64" >> $config_mak
1085 echo "#define HOST_X86_64 1" >> $config_h
1086 ;;
1087 alpha)
1088 echo "ARCH=alpha" >> $config_mak
1089 echo "#define HOST_ALPHA 1" >> $config_h
1090 ;;
1091 armv4b)
1092 echo "ARCH=arm" >> $config_mak
1093 echo "#define HOST_ARM 1" >> $config_h
1094 ;;
1095 armv4l)
1096 echo "ARCH=arm" >> $config_mak
1097 echo "#define HOST_ARM 1" >> $config_h
1098 ;;
1099 cris)
1100 echo "ARCH=cris" >> $config_mak
1101 echo "#define HOST_CRIS 1" >> $config_h
1102 ;;
1103 hppa)
1104 echo "ARCH=hppa" >> $config_mak
1105 echo "#define HOST_HPPA 1" >> $config_h
1106 ;;
1107 ia64)
1108 echo "ARCH=ia64" >> $config_mak
1109 echo "#define HOST_IA64 1" >> $config_h
1110 ;;
1111 m68k)
1112 echo "ARCH=m68k" >> $config_mak
1113 echo "#define HOST_M68K 1" >> $config_h
1114 ;;
1115 mips)
1116 echo "ARCH=mips" >> $config_mak
1117 echo "#define HOST_MIPS 1" >> $config_h
1118 ;;
1119 mips64)
1120 echo "ARCH=mips64" >> $config_mak
1121 echo "#define HOST_MIPS64 1" >> $config_h
1122 ;;
1123 powerpc)
810260a8 1124 if test "$hostlongbits" = "32"; then
1125 echo "ARCH=ppc" >> $config_mak
1126 echo "#define HOST_PPC 1" >> $config_h
1127 else
1128 echo "ARCH=ppc64" >> $config_mak
1129 echo "#define HOST_PPC64 1" >> $config_h
1130 fi
2408a527
AJ
1131 ;;
1132 s390)
1133 echo "ARCH=s390" >> $config_mak
1134 echo "#define HOST_S390 1" >> $config_h
1135 ;;
1136 sparc)
1137 echo "ARCH=sparc" >> $config_mak
1138 echo "#define HOST_SPARC 1" >> $config_h
1139 ;;
1140 sparc64)
1141 echo "ARCH=sparc64" >> $config_mak
1142 echo "#define HOST_SPARC64 1" >> $config_h
1143 ;;
1144 *)
1145 echo "Unsupported CPU = $cpu"
1146 exit 1
1147 ;;
1148esac
03b4fe7d
AL
1149if test "$sparse" = "yes" ; then
1150 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1151 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1152 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1153fi
7d13299d 1154if test "$bigendian" = "yes" ; then
97a847bc
FB
1155 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1156 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1157fi
b6853697 1158echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
67b915a5
FB
1159if test "$mingw32" = "yes" ; then
1160 echo "CONFIG_WIN32=yes" >> $config_mak
11d9f695 1161 echo "#define CONFIG_WIN32 1" >> $config_h
210fa556
PB
1162else
1163 cat > $TMPC << EOF
1164#include <byteswap.h>
1165int main(void) { return bswap_32(0); }
1166EOF
db7287ed 1167 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
210fa556
PB
1168 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1169 fi
67b915a5 1170fi
128ab2ff
BS
1171
1172if [ "$openbsd" = "yes" ] ; then
1173 echo "#define ENOTSUP 4096" >> $config_h
1174fi
1175
83fb7adf
FB
1176if test "$darwin" = "yes" ; then
1177 echo "CONFIG_DARWIN=yes" >> $config_mak
1178 echo "#define CONFIG_DARWIN 1" >> $config_h
1179fi
ec530c81
FB
1180if test "$solaris" = "yes" ; then
1181 echo "CONFIG_SOLARIS=yes" >> $config_mak
38cfa06c 1182 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
0475a5ca
TS
1183 if test "$needs_libsunmath" = "yes" ; then
1184 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1185 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1186 fi
ec530c81 1187fi
3142255c
BS
1188if test -n "$sparc_cpu"; then
1189 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1190 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1191fi
67b915a5
FB
1192if test "$gdbstub" = "yes" ; then
1193 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1194 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1195fi
97a847bc
FB
1196if test "$gprof" = "yes" ; then
1197 echo "TARGET_GPROF=yes" >> $config_mak
1198 echo "#define HAVE_GPROF 1" >> $config_h
1199fi
1200if test "$static" = "yes" ; then
1201 echo "CONFIG_STATIC=yes" >> $config_mak
50863472 1202 echo "#define CONFIG_STATIC 1" >> $config_h
7d13299d 1203fi
05c2a3e7
FB
1204if test $profiler = "yes" ; then
1205 echo "#define CONFIG_PROFILER 1" >> $config_h
1206fi
c20709aa
FB
1207if test "$slirp" = "yes" ; then
1208 echo "CONFIG_SLIRP=yes" >> $config_mak
1209 echo "#define CONFIG_SLIRP 1" >> $config_h
1210fi
8a16d273
TS
1211if test "$vde" = "yes" ; then
1212 echo "CONFIG_VDE=yes" >> $config_mak
1213 echo "#define CONFIG_VDE 1" >> $config_h
1214 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1215fi
0c58ac1c 1216for card in $audio_card_list; do
f6e5889e 1217 def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
0c58ac1c 1218 echo "$def=yes" >> $config_mak
1219 echo "#define $def 1" >> $config_h
1220done
1221echo "#define AUDIO_DRIVERS \\" >> $config_h
1222for drv in $audio_drv_list; do
1223 echo " &${drv}_audio_driver, \\" >>$config_h
f6e5889e 1224 def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
0c58ac1c 1225 echo "$def=yes" >> $config_mak
923e4521 1226 if test "$drv" = "fmod"; then
0c58ac1c 1227 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1228 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
2f6a1ab0
BS
1229 elif test "$drv" = "oss"; then
1230 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
0c58ac1c 1231 fi
1232done
1233echo "" >>$config_h
8ff9cbf7 1234if test "$mixemu" = "yes" ; then
1235 echo "CONFIG_MIXEMU=yes" >> $config_mak
1236 echo "#define CONFIG_MIXEMU 1" >> $config_h
1237fi
8d5d2d4c
TS
1238if test "$vnc_tls" = "yes" ; then
1239 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1240 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1241 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1242 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1243fi
b1a550a0
PB
1244qemu_version=`head $source_path/VERSION`
1245echo "VERSION=$qemu_version" >>$config_mak
d4b8f039 1246echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
97a847bc
FB
1247
1248echo "SRC_PATH=$source_path" >> $config_mak
ad064840
PB
1249if [ "$source_path_used" = "yes" ]; then
1250 echo "VPATH=$source_path" >> $config_mak
1251fi
97a847bc 1252echo "TARGET_DIRS=$target_list" >> $config_mak
cc8ae6de
PB
1253if [ "$build_docs" = "yes" ] ; then
1254 echo "BUILD_DOCS=yes" >> $config_mak
1255fi
49ecc3fa
FB
1256if test "$static" = "yes"; then
1257 sdl1=$sdl_static
1258else
1259 sdl1=$sdl
1260fi
1261if test "$sdl1" = "yes" ; then
1262 echo "#define CONFIG_SDL 1" >> $config_h
1263 echo "CONFIG_SDL=yes" >> $config_mak
1264 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1265 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1266 else
1267 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1268 fi
1269 if [ "${aa}" = "yes" ] ; then
1270 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1271 else
1272 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1273 fi
1274fi
1275if test "$cocoa" = "yes" ; then
4d3b6f6e
AZ
1276 echo "#define CONFIG_COCOA 1" >> $config_h
1277 echo "CONFIG_COCOA=yes" >> $config_mak
1278fi
1279if test "$curses" = "yes" ; then
1280 echo "#define CONFIG_CURSES 1" >> $config_h
1281 echo "CONFIG_CURSES=yes" >> $config_mak
1282 echo "CURSES_LIBS=-lcurses" >> $config_mak
49ecc3fa 1283fi
2e4d9fb1
AJ
1284if test "$brlapi" = "yes" ; then
1285 echo "CONFIG_BRLAPI=yes" >> $config_mak
1286 echo "#define CONFIG_BRLAPI 1" >> $config_h
1287 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1288fi
fb599c9a
AZ
1289if test "$bluez" = "yes" ; then
1290 echo "CONFIG_BLUEZ=yes" >> $config_mak
1291 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1292 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1293 echo "#define CONFIG_BLUEZ 1" >> $config_h
1294fi
414f0dab
BS
1295if test "$aio" = "yes" ; then
1296 echo "#define CONFIG_AIO 1" >> $config_h
a3392f9b 1297 echo "CONFIG_AIO=yes" >> $config_mak
414f0dab 1298fi
27463101
AL
1299if test "$signalfd" = "yes" ; then
1300 echo "#define CONFIG_signalfd 1" >> $config_h
1301fi
1302if test "$eventfd" = "yes" ; then
1303 echo "#define CONFIG_eventfd 1" >> $config_h
1304fi
97a847bc 1305
83fb7adf 1306# XXX: suppress that
7d3505c5 1307if [ "$bsd" = "yes" ] ; then
43003046 1308 echo "#define O_LARGEFILE 0" >> $config_h
43003046 1309 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
7d3505c5
FB
1310 echo "#define _BSD 1" >> $config_h
1311fi
1312
c5937220
PB
1313echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1314
c39e3338
PB
1315tools=
1316if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1317 tools="qemu-img\$(EXESUF) $tools"
7a5ca864
FB
1318 if [ "$linux" = "yes" ] ; then
1319 tools="qemu-nbd\$(EXESUF) $tools"
1320 fi
c39e3338
PB
1321fi
1322echo "TOOLS=$tools" >> $config_mak
1323
15d9ca0f
TS
1324test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1325
1d14ffa9 1326for target in $target_list; do
97a847bc
FB
1327target_dir="$target"
1328config_mak=$target_dir/config.mak
1329config_h=$target_dir/config.h
1330target_cpu=`echo $target | cut -d '-' -f 1`
1331target_bigendian="no"
808c4954 1332[ "$target_cpu" = "armeb" ] && target_bigendian=yes
0938cda5
AJ
1333[ "$target_cpu" = "m68k" ] && target_bigendian=yes
1334[ "$target_cpu" = "mips" ] && target_bigendian=yes
1335[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1336[ "$target_cpu" = "mips64" ] && target_bigendian=yes
67867308 1337[ "$target_cpu" = "ppc" ] && target_bigendian=yes
d4082e95 1338[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
22f8a8b3 1339[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
e85e7c6e 1340[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
908f52b0 1341[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
0938cda5
AJ
1342[ "$target_cpu" = "sparc" ] && target_bigendian=yes
1343[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1344[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
97a847bc 1345target_softmmu="no"
997344f3 1346target_user_only="no"
831b7825 1347target_linux_user="no"
831b7825 1348target_darwin_user="no"
9e407a85
PB
1349case "$target" in
1350 ${target_cpu}-softmmu)
1351 target_softmmu="yes"
1352 ;;
1353 ${target_cpu}-linux-user)
1354 target_user_only="yes"
1355 target_linux_user="yes"
1356 ;;
1357 ${target_cpu}-darwin-user)
1358 target_user_only="yes"
1359 target_darwin_user="yes"
1360 ;;
1361 *)
1362 echo "ERROR: Target '$target' not recognised"
1363 exit 1
1364 ;;
1365esac
831b7825 1366
97ccc689 1367if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1d14ffa9 1368 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
97ccc689 1369 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
9c038506 1370 echo "To build QEMU without graphical output configure with --disable-gfx-check"
4d3b6f6e
AZ
1371 echo "Note that this will disable all output from the virtual graphics card"
1372 echo "except through VNC or curses."
97ccc689
FB
1373 exit 1;
1374fi
1375
7c1f25b4 1376#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
97a847bc 1377
15d9ca0f
TS
1378test -f $config_h && mv $config_h ${config_h}~
1379
97a847bc 1380mkdir -p $target_dir
158142c2 1381mkdir -p $target_dir/fpu
57fec1fe 1382mkdir -p $target_dir/tcg
831b7825 1383if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
69de927c
FB
1384 mkdir -p $target_dir/nwfpe
1385fi
1386
ec530c81
FB
1387#
1388# don't use ln -sf as not all "ln -sf" over write the file/link
1389#
1390rm -f $target_dir/Makefile
1391ln -s $source_path/Makefile.target $target_dir/Makefile
1392
97a847bc
FB
1393
1394echo "# Automatically generated by configure - do not modify" > $config_mak
1395echo "/* Automatically generated by configure - do not modify */" > $config_h
1396
de83cd02 1397
97a847bc
FB
1398echo "include ../config-host.mak" >> $config_mak
1399echo "#include \"../config-host.h\"" >> $config_h
1e43adfc 1400
e5fe0c52 1401bflt="no"
cb33da57 1402elfload32="no"
bd0c5661 1403target_nptl="no"
1e43adfc
FB
1404interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1405echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
97a847bc 1406
2408a527
AJ
1407case "$target_cpu" in
1408 i386)
1409 echo "TARGET_ARCH=i386" >> $config_mak
1410 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1411 echo "#define TARGET_I386 1" >> $config_h
da260249 1412 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
2408a527
AJ
1413 then
1414 echo "#define USE_KQEMU 1" >> $config_h
1415 fi
f2bf094e 1416 gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
11d1fdb0 1417 if test -n "$gcc3minver" && test $gcc3minver -gt 3
f2bf094e
AJ
1418 then
1419 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1420 else
1421 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1422 fi
2408a527
AJ
1423 ;;
1424 x86_64)
1425 echo "TARGET_ARCH=x86_64" >> $config_mak
1426 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1427 echo "#define TARGET_I386 1" >> $config_h
1428 echo "#define TARGET_X86_64 1" >> $config_h
1429 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1430 then
1431 echo "#define USE_KQEMU 1" >> $config_h
1432 fi
1433 ;;
1434 alpha)
1435 echo "TARGET_ARCH=alpha" >> $config_mak
1436 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1437 echo "#define TARGET_ALPHA 1" >> $config_h
1438 ;;
1439 arm|armeb)
1440 echo "TARGET_ARCH=arm" >> $config_mak
2408a527
AJ
1441 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1442 echo "#define TARGET_ARM 1" >> $config_h
2408a527 1443 bflt="yes"
bd0c5661 1444 target_nptl="yes"
2408a527
AJ
1445 ;;
1446 cris)
1447 echo "TARGET_ARCH=cris" >> $config_mak
1448 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1449 echo "#define TARGET_CRIS 1" >> $config_h
2408a527
AJ
1450 ;;
1451 m68k)
1452 echo "TARGET_ARCH=m68k" >> $config_mak
1453 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1454 echo "#define TARGET_M68K 1" >> $config_h
1455 bflt="yes"
1456 ;;
1457 mips|mipsel)
1458 echo "TARGET_ARCH=mips" >> $config_mak
1459 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1460 echo "#define TARGET_MIPS 1" >> $config_h
1461 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1462 ;;
1463 mipsn32|mipsn32el)
1464 echo "TARGET_ARCH=mipsn32" >> $config_mak
1465 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1466 echo "#define TARGET_MIPS 1" >> $config_h
1467 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1468 ;;
1469 mips64|mips64el)
1470 echo "TARGET_ARCH=mips64" >> $config_mak
1471 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1472 echo "#define TARGET_MIPS 1" >> $config_h
1473 echo "#define TARGET_MIPS64 1" >> $config_h
1474 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1475 ;;
1476 ppc)
1477 echo "TARGET_ARCH=ppc" >> $config_mak
bf6247fb 1478 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1479 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1480 echo "#define TARGET_PPC 1" >> $config_h
bf6247fb 1481 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1482 ;;
1483 ppcemb)
1484 echo "TARGET_ARCH=ppcemb" >> $config_mak
1485 echo "TARGET_ABI_DIR=ppc" >> $config_mak
bf6247fb 1486 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1487 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1488 echo "#define TARGET_PPC 1" >> $config_h
1489 echo "#define TARGET_PPCEMB 1" >> $config_h
ec5b78cd 1490 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1491 ;;
1492 ppc64)
1493 echo "TARGET_ARCH=ppc64" >> $config_mak
1494 echo "TARGET_ABI_DIR=ppc" >> $config_mak
bf6247fb 1495 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1496 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1497 echo "#define TARGET_PPC 1" >> $config_h
1498 echo "#define TARGET_PPC64 1" >> $config_h
bf6247fb 1499 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1500 ;;
1501 ppc64abi32)
1502 echo "TARGET_ARCH=ppc64" >> $config_mak
1503 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1504 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
bf6247fb 1505 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1506 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1507 echo "#define TARGET_PPC 1" >> $config_h
1508 echo "#define TARGET_PPC64 1" >> $config_h
1509 echo "#define TARGET_ABI32 1" >> $config_h
bf6247fb 1510 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1511 ;;
1512 sh4|sh4eb)
1513 echo "TARGET_ARCH=sh4" >> $config_mak
1514 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1515 echo "#define TARGET_SH4 1" >> $config_h
1516 bflt="yes"
0b6d3ae0 1517 target_nptl="yes"
2408a527
AJ
1518 ;;
1519 sparc)
1520 echo "TARGET_ARCH=sparc" >> $config_mak
1521 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1522 echo "#define TARGET_SPARC 1" >> $config_h
1523 ;;
1524 sparc64)
1525 echo "TARGET_ARCH=sparc64" >> $config_mak
1526 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1527 echo "#define TARGET_SPARC 1" >> $config_h
1528 echo "#define TARGET_SPARC64 1" >> $config_h
1529 elfload32="yes"
1530 ;;
1531 sparc32plus)
1532 echo "TARGET_ARCH=sparc64" >> $config_mak
1533 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1534 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1535 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1536 echo "#define TARGET_SPARC 1" >> $config_h
1537 echo "#define TARGET_SPARC64 1" >> $config_h
1538 echo "#define TARGET_ABI32 1" >> $config_h
1539 ;;
1540 *)
1541 echo "Unsupported target CPU"
1542 exit 1
1543 ;;
1544esac
de83cd02 1545if test "$target_bigendian" = "yes" ; then
97a847bc
FB
1546 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1547 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
de83cd02 1548fi
97a847bc
FB
1549if test "$target_softmmu" = "yes" ; then
1550 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1551 echo "#define CONFIG_SOFTMMU 1" >> $config_h
43ce4dfe 1552fi
997344f3
FB
1553if test "$target_user_only" = "yes" ; then
1554 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1555 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1556fi
831b7825
TS
1557if test "$target_linux_user" = "yes" ; then
1558 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1559 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1560fi
1561if test "$target_darwin_user" = "yes" ; then
1562 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1563 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1564fi
97a847bc 1565
0938cda5
AJ
1566if test "$target_cpu" = "arm" \
1567 -o "$target_cpu" = "armeb" \
1568 -o "$target_cpu" = "m68k" \
1569 -o "$target_cpu" = "mips" \
1570 -o "$target_cpu" = "mipsel" \
1571 -o "$target_cpu" = "mipsn32" \
1572 -o "$target_cpu" = "mipsn32el" \
1573 -o "$target_cpu" = "mips64" \
1574 -o "$target_cpu" = "mips64el" \
1575 -o "$target_cpu" = "sparc" \
1576 -o "$target_cpu" = "sparc64" \
1577 -o "$target_cpu" = "sparc32plus"; then
158142c2
FB
1578 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1579 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1580fi
e5fe0c52
PB
1581if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1582 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1583 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1584fi
bd0c5661
PB
1585if test "$target_user_only" = "yes" \
1586 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1587 echo "#define USE_NPTL 1" >> $config_h
1588fi
cb33da57
BS
1589# 32 bit ELF loader in addition to native 64 bit loader?
1590if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1591 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1592 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1593fi
5b0753e0 1594
15d9ca0f
TS
1595test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1596
97a847bc 1597done # for target in $targets
7d13299d
FB
1598
1599# build tree in object directory if source path is different from current one
1600if test "$source_path_used" = "yes" ; then
49ecc3fa 1601 DIRS="tests tests/cris slirp audio"
7d13299d 1602 FILES="Makefile tests/Makefile"
e7daa605 1603 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
e1ffb0f1 1604 FILES="$FILES tests/test-mmap.c"
7d13299d
FB
1605 for dir in $DIRS ; do
1606 mkdir -p $dir
1607 done
ec530c81 1608 # remove the link and recreate it, as not all "ln -sf" overwrite the link
7d13299d 1609 for f in $FILES ; do
ec530c81
FB
1610 rm -f $f
1611 ln -s $source_path/$f $f
7d13299d
FB
1612 done
1613fi
7d13299d 1614
9d56d2dc 1615rm -f $TMPO $TMPC $TMPE $TMPS $TMPI