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