Statistics
| Branch: | Revision:

root / configure @ 85aa5189

History | View | Annotate | Download (35.9 kB)

1
#!/bin/sh
2
#
3
# qemu configure script (c) 2003 Fabrice Bellard
4
#
5
# set temporary file name
6
if test ! -z "$TMPDIR" ; then
7
    TMPDIR1="${TMPDIR}"
8
elif test ! -z "$TEMPDIR" ; then
9
    TMPDIR1="${TEMPDIR}"
10
else
11
    TMPDIR1="/tmp"
12
fi
13

    
14
TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15
TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16
TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17
TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18

    
19
# default parameters
20
prefix=""
21
interp_prefix="/usr/gnemul/qemu-%M"
22
static="no"
23
cross_prefix=""
24
cc="gcc"
25
gcc3_search="yes"
26
gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
27
host_cc="gcc"
28
ar="ar"
29
make="make"
30
install="install"
31
strip="strip"
32
cpu=`uname -m`
33
target_list=""
34
case "$cpu" in
35
  i386|i486|i586|i686|i86pc|BePC)
36
    cpu="i386"
37
  ;;
38
  armv*b)
39
    cpu="armv4b"
40
  ;;
41
  armv*l)
42
    cpu="armv4l"
43
  ;;
44
  alpha)
45
    cpu="alpha"
46
  ;;
47
  "Power Macintosh"|ppc|ppc64)
48
    cpu="powerpc"
49
  ;;
50
  mips)
51
    cpu="mips"
52
  ;;
53
  mips64)
54
    cpu="mips64"
55
  ;;
56
  cris)
57
    cpu="cris"
58
  ;;
59
  s390*)
60
    cpu="s390"
61
  ;;
62
  sparc|sun4[cdmuv])
63
    cpu="sparc"
64
  ;;
65
  sparc64)
66
    cpu="sparc64"
67
  ;;
68
  ia64)
69
    cpu="ia64"
70
  ;;
71
  m68k)
72
    cpu="m68k"
73
  ;;
74
  x86_64|amd64)
75
    cpu="x86_64"
76
  ;;
77
  *)
78
    cpu="unknown"
79
  ;;
80
esac
81
gprof="no"
82
bigendian="no"
83
mingw32="no"
84
EXESUF=""
85
gdbstub="yes"
86
slirp="yes"
87
adlib="no"
88
oss="no"
89
dsound="no"
90
coreaudio="no"
91
alsa="no"
92
fmod="no"
93
fmod_lib=""
94
fmod_inc=""
95
vnc_tls="yes"
96
bsd="no"
97
linux="no"
98
kqemu="no"
99
profiler="no"
100
cocoa="no"
101
check_gfx="yes"
102
check_gcc="yes"
103
softmmu="yes"
104
linux_user="no"
105
darwin_user="no"
106
build_docs="no"
107
uname_release=""
108

    
109
# OS specific
110
targetos=`uname -s`
111
case $targetos in
112
CYGWIN*)
113
mingw32="yes"
114
OS_CFLAGS="-mno-cygwin"
115
VL_OS_LDFLAGS="-mno-cygwin"
116
if [ "$cpu" = "i386" ] ; then
117
    kqemu="yes"
118
fi
119
;;
120
MINGW32*)
121
mingw32="yes"
122
if [ "$cpu" = "i386" ] ; then
123
    kqemu="yes"
124
fi
125
;;
126
GNU/kFreeBSD)
127
oss="yes"
128
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
129
    kqemu="yes"
130
fi
131
;;
132
FreeBSD)
133
bsd="yes"
134
oss="yes"
135
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
136
    kqemu="yes"
137
fi
138
;;
139
NetBSD)
140
bsd="yes"
141
oss="yes"
142
;;
143
OpenBSD)
144
bsd="yes"
145
oss="yes"
146
;;
147
Darwin)
148
bsd="yes"
149
darwin="yes"
150
darwin_user="yes"
151
cocoa="yes"
152
coreaudio="yes"
153
OS_CFLAGS="-mdynamic-no-pic"
154
;;
155
SunOS)
156
    solaris="yes"
157
    make="gmake"
158
    install="ginstall"
159
    needs_libsunmath="no"
160
    solarisrev=`uname -r | cut -f2 -d.`
161
    # have to select again, because `uname -m` returns i86pc
162
    # even on an x86_64 box.
163
    solariscpu=`isainfo -k`
164
    if test "${solariscpu}" = "amd64" ; then
165
        cpu="x86_64"
166
    fi
167
    if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
168
        if test "$solarisrev" -le 9 ; then
169
            if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
170
                needs_libsunmath="yes"
171
            else
172
                echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
173
                echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
174
                echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
175
                echo "Studio 11 can be downloaded from www.sun.com."
176
                exit 1
177
            fi
178
        fi
179
        if test "$solarisrev" -ge 9 ; then
180
            kqemu="yes"
181
        fi
182
    fi
183
    if test -f /usr/include/sys/soundcard.h ; then
184
        oss=yes
185
    fi
186
;;
187
*)
188
oss="yes"
189
linux="yes"
190
linux_user="yes"
191
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
192
    kqemu="yes"
193
fi
194
;;
195
esac
196

    
197
if [ "$bsd" = "yes" ] ; then
198
  if [ "$darwin" != "yes" ] ; then
199
    make="gmake"
200
  fi
201
fi
202

    
203
# find source path
204
source_path=`dirname "$0"`
205
if [ -z "$source_path" ]; then
206
    source_path=`pwd`
207
else
208
    source_path=`cd "$source_path"; pwd`
209
fi
210
if test "$source_path" = `pwd` ; then
211
    source_path_used="no"
212
else
213
    source_path_used="yes"
214
fi
215

    
216
# generate compile errors on warnings for development builds
217
if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
218
werror="yes";
219
else
220
werror="no"
221
fi
222

    
223
for opt do
224
  optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
225
  case "$opt" in
226
  --help|-h) show_help=yes
227
  ;;
228
  --prefix=*) prefix="$optarg"
229
  ;;
230
  --interp-prefix=*) interp_prefix="$optarg"
231
  ;;
232
  --source-path=*) source_path="$optarg"
233
  source_path_used="yes"
234
  ;;
235
  --cross-prefix=*) cross_prefix="$optarg"
236
  ;;
237
  --cc=*) cc="$optarg"
238
  gcc3_search="no"
239
  ;;
240
  --host-cc=*) host_cc="$optarg"
241
  ;;
242
  --make=*) make="$optarg"
243
  ;;
244
  --install=*) install="$optarg"
245
  ;;
246
  --extra-cflags=*) CFLAGS="$optarg"
247
  ;;
248
  --extra-ldflags=*) LDFLAGS="$optarg"
249
  ;;
250
  --cpu=*) cpu="$optarg"
251
  ;;
252
  --target-list=*) target_list="$optarg"
253
  ;;
254
  --enable-gprof) gprof="yes"
255
  ;;
256
  --static) static="yes"
257
  ;;
258
  --disable-sdl) sdl="no"
259
  ;;
260
  --enable-coreaudio) coreaudio="yes"
261
  ;;
262
  --enable-alsa) alsa="yes"
263
  ;;
264
  --enable-dsound) dsound="yes"
265
  ;;
266
  --enable-fmod) fmod="yes"
267
  ;;
268
  --fmod-lib=*) fmod_lib="$optarg"
269
  ;;
270
  --fmod-inc=*) fmod_inc="$optarg"
271
  ;;
272
  --disable-vnc-tls) vnc_tls="no"
273
  ;;
274
  --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
275
  ;;
276
  --disable-slirp) slirp="no"
277
  ;;
278
  --enable-adlib) adlib="yes"
279
  ;;
280
  --disable-kqemu) kqemu="no"
281
  ;;
282
  --enable-profiler) profiler="yes"
283
  ;;
284
  --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
285
  ;;
286
  --disable-gfx-check) check_gfx="no"
287
  ;;
288
  --disable-gcc-check) check_gcc="no"
289
  ;;
290
  --disable-system) softmmu="no"
291
  ;;
292
  --enable-system) softmmu="yes"
293
  ;;
294
  --disable-linux-user) linux_user="no"
295
  ;;
296
  --enable-linux-user) linux_user="yes"
297
  ;;
298
  --disable-darwin-user) darwin_user="no"
299
  ;;
300
  --enable-darwin-user) darwin_user="yes"
301
  ;;
302
  --enable-uname-release=*) uname_release="$optarg"
303
  ;;
304
  --sparc_cpu=*)
305
      sparc_cpu="$optarg"
306
      case $sparc_cpu in
307
        v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
308
                 target_cpu="sparc"; cpu="sparc" ;;
309
        v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
310
                 target_cpu="sparc"; cpu="sparc" ;;
311
        v9)    SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
312
                 target_cpu="sparc64"; cpu="sparc64" ;;
313
        *)     echo "undefined SPARC architecture. Exiting";exit 1;;
314
      esac
315
  ;;
316
  --enable-werror) werror="yes"
317
  ;;
318
  --disable-werror) werror="no"
319
  ;;
320
  esac
321
done
322

    
323
if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
324
    AIOLIBS=
325
else
326
    # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
327
    AIOLIBS="-lrt -lpthread"
328
fi
329

    
330
# default flags for all hosts
331
CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
332
LDFLAGS="$LDFLAGS -g"
333
if test "$werror" = "yes" ; then
334
CFLAGS="$CFLAGS -Werror"
335
fi
336

    
337
#
338
# If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
339
# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
340
#
341
case $cpu in
342
    sparc) if test -z "$sparc_cpu" ; then
343
               ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
344
               ARCH_LDFLAGS="-m32"
345
           else
346
               ARCH_CFLAGS="${SP_CFLAGS}"
347
               ARCH_LDFLAGS="${SP_LDFLAGS}"
348
           fi
349
           ;;
350
    sparc64) if test -z "$sparc_cpu" ; then
351
               ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
352
               ARCH_LDFLAGS="-m64"
353
           else
354
               ARCH_CFLAGS="${SP_CFLAGS}"
355
               ARCH_LDFLAGS="${SP_LDFLAGS}"
356
           fi
357
           ;;
358
esac
359

    
360
if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
361
    CFLAGS="${CFLAGS} -m64"
362
    OS_CFLAGS="${OS_CFLAGS} -m64"
363
fi
364

    
365
if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
366
    CFLAGS="${CFLAGS} -m32"
367
    OS_CFLAGS="${OS_CFLAGS} -m32"
368
fi
369

    
370
if test x"$show_help" = x"yes" ; then
371
cat << EOF
372

    
373
Usage: configure [options]
374
Options: [defaults in brackets after descriptions]
375

    
376
EOF
377
echo "Standard options:"
378
echo "  --help                   print this message"
379
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
380
echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
381
echo "                           use %M for cpu name [$interp_prefix]"
382
echo "  --target-list=LIST       set target list [$target_list]"
383
echo ""
384
echo "kqemu kernel acceleration support:"
385
echo "  --disable-kqemu          disable kqemu support"
386
echo ""
387
echo "Advanced options (experts only):"
388
echo "  --source-path=PATH       path of source code [$source_path]"
389
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
390
echo "  --cc=CC                  use C compiler CC [$cc]"
391
echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
392
echo "  --make=MAKE              use specified make [$make]"
393
echo "  --install=INSTALL        use specified install [$install]"
394
echo "  --static                 enable static build [$static]"
395
echo "  --disable-werror         disable compilation abort on warning"
396
echo "  --disable-sdl            disable SDL"
397
echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
398
echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
399
echo "  --enable-adlib           enable Adlib emulation"
400
echo "  --enable-coreaudio       enable Coreaudio audio driver"
401
echo "  --enable-alsa            enable ALSA audio driver"
402
echo "  --enable-fmod            enable FMOD audio driver"
403
echo "  --enable-dsound          enable DirectSound audio driver"
404
echo "  --disable-vnc-tls        disable TLS encryption for VNC server"
405
echo "  --enable-system          enable all system emulation targets"
406
echo "  --disable-system         disable all system emulation targets"
407
echo "  --enable-linux-user      enable all linux usermode emulation targets"
408
echo "  --disable-linux-user     disable all linux usermode emulation targets"
409
echo "  --enable-darwin-user     enable all darwin usermode emulation targets"
410
echo "  --disable-darwin-user    disable all darwin usermode emulation targets"
411
echo "  --fmod-lib               path to FMOD library"
412
echo "  --fmod-inc               path to FMOD includes"
413
echo "  --enable-uname-release=R Return R for uname -r in usermode emulation"
414
echo "  --sparc_cpu=V            Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
415
echo ""
416
echo "NOTE: The object files are built at the place where configure is launched"
417
exit 1
418
fi
419

    
420
cc="${cross_prefix}${cc}"
421
ar="${cross_prefix}${ar}"
422
strip="${cross_prefix}${strip}"
423

    
424
# check that the C compiler works.
425
cat > $TMPC <<EOF
426
int main(void) {}
427
EOF
428

    
429
if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
430
  : C compiler works ok
431
else
432
    echo "ERROR: \"$cc\" either does not exist or does not work"
433
    exit 1
434
fi
435

    
436
if test "$mingw32" = "yes" ; then
437
    linux="no"
438
    EXESUF=".exe"
439
    oss="no"
440
fi
441

    
442
# Check for gcc4, error if pre-gcc4
443
if test "$check_gcc" = "yes" ; then
444
    cat > $TMPC <<EOF
445
#if __GNUC__ < 4
446
#error gcc3
447
#endif
448
int main(){return 0;}
449
EOF
450
    if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
451
	echo "WARNING: \"$cc\" looks like gcc 4.x"
452
	found_compat_cc="no"
453
	if test "$gcc3_search" = "yes" ; then
454
	    echo "Looking for gcc 3.x"
455
	    for compat_cc in $gcc3_list ; do
456
		if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
457
		    echo "Found \"$compat_cc\""
458
		    cc="$cross_prefix$compat_cc"
459
		    found_compat_cc="yes"
460
		    break
461
		fi
462
	    done
463
	    if test "$found_compat_cc" = "no" ; then
464
		echo "gcc 3.x not found!"
465
	    fi
466
	fi
467
	if test "$found_compat_cc" = "no" ; then
468
	    echo "QEMU is known to have problems when compiled with gcc 4.x"
469
	    echo "It is recommended that you use gcc 3.x to build QEMU"
470
	    echo "To use this compiler anyway, configure with --disable-gcc-check"
471
	    exit 1;
472
	fi
473
    fi
474
fi
475

    
476
#
477
# Solaris specific configure tool chain decisions
478
#
479
if test "$solaris" = "yes" ; then
480
  #
481
  # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
482
  # override the check with --disable-gcc-check
483
  #
484
  if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
485
    solgcc=`which $cc`
486
    if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
487
      echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
488
      echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
489
      echo "or get the latest patch from SunSolve for gcc"
490
      exit 1
491
    fi
492
  fi
493
  solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
494
  if test -z "$solinst" ; then
495
    echo "Solaris install program not found. Use --install=/usr/ucb/install or"
496
    echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
497
    echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
498
    exit 1
499
  fi
500
  if test "$solinst" = "/usr/sbin/install" ; then
501
    echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
502
    echo "try ginstall from the GNU fileutils available from www.blastwave.org"
503
    echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
504
    exit 1
505
  fi
506
  sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
507
  if test -z "$sol_ar" ; then
508
    echo "Error: No path includes ar"
509
    if test -f /usr/ccs/bin/ar ; then
510
      echo "Add /usr/ccs/bin to your path and rerun configure"
511
    fi
512
    exit 1
513
  fi
514
fi
515

    
516

    
517
if test -z "$target_list" ; then
518
# these targets are portable
519
    if [ "$softmmu" = "yes" ] ; then
520
        target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu"
521
    fi
522
# the following are Linux specific
523
    if [ "$linux_user" = "yes" ] ; then
524
        target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user ppc-linux-user ppcemb-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
525
    fi
526
# the following are Darwin specific
527
    if [ "$darwin_user" = "yes" ] ; then
528
        target_list="i386-darwin-user ppc-darwin-user $target_list"
529
    fi
530
else
531
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
532
fi
533
if test -z "$target_list" ; then
534
    echo "No targets enabled"
535
    exit 1
536
fi
537

    
538
if test -z "$cross_prefix" ; then
539

    
540
# ---
541
# big/little endian test
542
cat > $TMPC << EOF
543
#include <inttypes.h>
544
int main(int argc, char ** argv){
545
        volatile uint32_t i=0x01234567;
546
        return (*((uint8_t*)(&i))) == 0x67;
547
}
548
EOF
549

    
550
if $cc -o $TMPE $TMPC 2> /dev/null ; then
551
$TMPE && bigendian="yes"
552
else
553
echo big/little test failed
554
fi
555

    
556
else
557

    
558
# if cross compiling, cannot launch a program, so make a static guess
559
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
560
    bigendian="yes"
561
fi
562

    
563
fi
564

    
565
# host long bits test
566
hostlongbits="32"
567
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
568
    hostlongbits="64"
569
fi
570

    
571
# check gcc options support
572
cat > $TMPC <<EOF
573
int main(void) {
574
}
575
EOF
576

    
577
##########################################
578
# SDL probe
579

    
580
sdl_too_old=no
581

    
582
if test -z "$sdl" ; then
583
    sdl_config="sdl-config"
584
    sdl=no
585
    sdl_static=no
586

    
587
    if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
588
    # win32 cross compilation case
589
        sdl_config="i386-mingw32msvc-sdl-config"
590
        sdl=yes
591
    else
592
        # normal SDL probe
593
cat > $TMPC << EOF
594
#include <SDL.h>
595
#undef main /* We don't want SDL to override our main() */
596
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
597
EOF
598
        if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
599
            _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
600
            if test "$_sdlversion" -lt 121 ; then
601
                sdl_too_old=yes
602
            else
603
                if test "$cocoa" = "no" ; then
604
                    sdl=yes
605
                fi
606
            fi
607

    
608
            # static link with sdl ?
609
            if test "$sdl" = "yes" ; then
610
                aa="no"
611
                `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
612
                sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
613
                if [ "$aa" = "yes" ] ; then
614
                    sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
615
                fi
616

    
617
                if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
618
                    sdl_static=yes
619
                fi
620
            fi # static link
621
        fi # sdl compile test
622
    fi # cross compilation
623
else
624
    # Make sure to disable cocoa if sdl was set
625
    if test "$sdl" = "yes" ; then
626
       cocoa="no"
627
       coreaudio="no"
628
    fi
629
fi # -z $sdl
630

    
631
##########################################
632
# VNC TLS detection
633
if test "$vnc_tls" = "yes" ; then
634
  `pkg-config gnutls` || vnc_tls="no"
635
fi
636
if test "$vnc_tls" = "yes" ; then
637
  vnc_tls_cflags=`pkg-config --cflags gnutls`
638
  vnc_tls_libs=`pkg-config --libs gnutls`
639
fi
640

    
641
##########################################
642
# alsa sound support libraries
643

    
644
if test "$alsa" = "yes" ; then
645
  cat > $TMPC << EOF
646
#include <alsa/asoundlib.h>
647
int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
648
EOF
649
  if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
650
    :
651
  else
652
    echo
653
    echo "Error: Could not find alsa"
654
    echo "Make sure to have the alsa libs and headers installed."
655
    echo
656
    exit 1
657
  fi
658
fi
659

    
660
# Check if tools are available to build documentation.
661
if [ -x "`which texi2html 2>/dev/null`" ] && \
662
   [ -x "`which pod2man 2>/dev/null`" ]; then
663
  build_docs="yes"
664
fi
665

    
666
if test "$mingw32" = "yes" ; then
667
  if test -z "$prefix" ; then
668
      prefix="/c/Program Files/Qemu"
669
  fi
670
  mansuffix=""
671
  datasuffix=""
672
  docsuffix=""
673
  binsuffix=""
674
else
675
  if test -z "$prefix" ; then
676
      prefix="/usr/local"
677
  fi
678
  mansuffix="/share/man"
679
  datasuffix="/share/qemu"
680
  docsuffix="/share/doc/qemu"
681
  binsuffix="/bin"
682
fi
683

    
684
echo "Install prefix    $prefix"
685
echo "BIOS directory    $prefix$datasuffix"
686
echo "binary directory  $prefix$binsuffix"
687
if test "$mingw32" = "no" ; then
688
echo "Manual directory  $prefix$mansuffix"
689
echo "ELF interp prefix $interp_prefix"
690
fi
691
echo "Source path       $source_path"
692
echo "C compiler        $cc"
693
echo "Host C compiler   $host_cc"
694
echo "make              $make"
695
echo "install           $install"
696
echo "host CPU          $cpu"
697
echo "host big endian   $bigendian"
698
echo "target list       $target_list"
699
echo "gprof enabled     $gprof"
700
echo "profiler          $profiler"
701
echo "static build      $static"
702
echo "-Werror enabled   $werror"
703
if test "$darwin" = "yes" ; then
704
    echo "Cocoa support     $cocoa"
705
fi
706
echo "SDL support       $sdl"
707
if test "$sdl" != "no" ; then
708
    echo "SDL static link   $sdl_static"
709
fi
710
echo "mingw32 support   $mingw32"
711
echo "Adlib support     $adlib"
712
echo "CoreAudio support $coreaudio"
713
echo "ALSA support      $alsa"
714
echo "DSound support    $dsound"
715
if test "$fmod" = "yes"; then
716
    if test -z $fmod_lib || test -z $fmod_inc; then
717
        echo
718
        echo "Error: You must specify path to FMOD library and headers"
719
        echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
720
        echo
721
        exit 1
722
    fi
723
    fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
724
else
725
    fmod_support=""
726
fi
727
echo "FMOD support      $fmod $fmod_support"
728
echo "OSS support       $oss"
729
echo "VNC TLS support   $vnc_tls"
730
if test "$vnc_tls" = "yes" ; then
731
    echo "    TLS CFLAGS    $vnc_tls_cflags"
732
    echo "    TLS LIBS      $vnc_tls_libs"
733
fi
734
if test -n "$sparc_cpu"; then
735
    echo "Target Sparc Arch $sparc_cpu"
736
fi
737
echo "kqemu support     $kqemu"
738
echo "Documentation     $build_docs"
739
[ ! -z "$uname_release" ] && \
740
echo "uname -r          $uname_release"
741

    
742
if test $sdl_too_old = "yes"; then
743
echo "-> Your SDL version is too old - please upgrade to have SDL support"
744
fi
745
if [ -s /tmp/qemu-$$-sdl-config.log ]; then
746
  echo "The error log from compiling the libSDL test is: "
747
  cat /tmp/qemu-$$-sdl-config.log
748
fi
749
rm -f /tmp/qemu-$$-sdl-config.log
750
#if test "$sdl_static" = "no"; then
751
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
752
#fi
753
config_mak="config-host.mak"
754
config_h="config-host.h"
755

    
756
#echo "Creating $config_mak and $config_h"
757

    
758
test -f $config_h && mv $config_h ${config_h}~
759

    
760
echo "# Automatically generated by configure - do not modify" > $config_mak
761
echo "# Configured with: $0 $@" >> $config_mak
762
echo "/* Automatically generated by configure - do not modify */" > $config_h
763

    
764
echo "prefix=$prefix" >> $config_mak
765
echo "bindir=\${prefix}$binsuffix" >> $config_mak
766
echo "mandir=\${prefix}$mansuffix" >> $config_mak
767
echo "datadir=\${prefix}$datasuffix" >> $config_mak
768
echo "docdir=\${prefix}$docsuffix" >> $config_mak
769
echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
770
echo "MAKE=$make" >> $config_mak
771
echo "INSTALL=$install" >> $config_mak
772
echo "CC=$cc" >> $config_mak
773
echo "HOST_CC=$host_cc" >> $config_mak
774
echo "AR=$ar" >> $config_mak
775
echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
776
echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
777
echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
778
echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
779
echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
780
echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
781
echo "CFLAGS=$CFLAGS" >> $config_mak
782
echo "LDFLAGS=$LDFLAGS" >> $config_mak
783
echo "EXESUF=$EXESUF" >> $config_mak
784
echo "AIOLIBS=$AIOLIBS" >> $config_mak
785
if test "$cpu" = "i386" ; then
786
  echo "ARCH=i386" >> $config_mak
787
  echo "#define HOST_I386 1" >> $config_h
788
elif test "$cpu" = "x86_64" ; then
789
  echo "ARCH=x86_64" >> $config_mak
790
  echo "#define HOST_X86_64 1" >> $config_h
791
elif test "$cpu" = "armv4b" ; then
792
  echo "ARCH=arm" >> $config_mak
793
  echo "#define HOST_ARM 1" >> $config_h
794
elif test "$cpu" = "armv4l" ; then
795
  echo "ARCH=arm" >> $config_mak
796
  echo "#define HOST_ARM 1" >> $config_h
797
elif test "$cpu" = "powerpc" ; then
798
  echo "ARCH=ppc" >> $config_mak
799
  echo "#define HOST_PPC 1" >> $config_h
800
elif test "$cpu" = "mips" ; then
801
  echo "ARCH=mips" >> $config_mak
802
  echo "#define HOST_MIPS 1" >> $config_h
803
elif test "$cpu" = "mips64" ; then
804
  echo "ARCH=mips64" >> $config_mak
805
  echo "#define HOST_MIPS64 1" >> $config_h
806
elif test "$cpu" = "cris" ; then
807
  echo "ARCH=cris" >> $config_mak
808
  echo "#define HOST_CRIS 1" >> $config_h
809
elif test "$cpu" = "s390" ; then
810
  echo "ARCH=s390" >> $config_mak
811
  echo "#define HOST_S390 1" >> $config_h
812
elif test "$cpu" = "alpha" ; then
813
  echo "ARCH=alpha" >> $config_mak
814
  echo "#define HOST_ALPHA 1" >> $config_h
815
elif test "$cpu" = "sparc" ; then
816
  echo "ARCH=sparc" >> $config_mak
817
  echo "#define HOST_SPARC 1" >> $config_h
818
elif test "$cpu" = "sparc64" ; then
819
  echo "ARCH=sparc64" >> $config_mak
820
  echo "#define HOST_SPARC64 1" >> $config_h
821
elif test "$cpu" = "ia64" ; then
822
  echo "ARCH=ia64" >> $config_mak
823
  echo "#define HOST_IA64 1" >> $config_h
824
elif test "$cpu" = "m68k" ; then
825
  echo "ARCH=m68k" >> $config_mak
826
  echo "#define HOST_M68K 1" >> $config_h
827
else
828
  echo "Unsupported CPU = $cpu"
829
  exit 1
830
fi
831
if test "$bigendian" = "yes" ; then
832
  echo "WORDS_BIGENDIAN=yes" >> $config_mak
833
  echo "#define WORDS_BIGENDIAN 1" >> $config_h
834
fi
835
echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
836
if test "$mingw32" = "yes" ; then
837
  echo "CONFIG_WIN32=yes" >> $config_mak
838
  echo "#define CONFIG_WIN32 1" >> $config_h
839
else
840
  cat > $TMPC << EOF
841
#include <byteswap.h>
842
int main(void) { return bswap_32(0); }
843
EOF
844
  if $cc -o $TMPE $TMPC 2> /dev/null ; then
845
    echo "#define HAVE_BYTESWAP_H 1" >> $config_h
846
  fi
847
fi
848
if test "$darwin" = "yes" ; then
849
  echo "CONFIG_DARWIN=yes" >> $config_mak
850
  echo "#define CONFIG_DARWIN 1" >> $config_h
851
fi
852
if test "$solaris" = "yes" ; then
853
  echo "CONFIG_SOLARIS=yes" >> $config_mak
854
  echo "#define HOST_SOLARIS $solarisrev" >> $config_h
855
  if test "$needs_libsunmath" = "yes" ; then
856
    echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
857
    echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
858
  fi
859
fi
860
if test -n "$sparc_cpu"; then
861
  echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
862
  echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
863
fi
864
if test "$gdbstub" = "yes" ; then
865
  echo "CONFIG_GDBSTUB=yes" >> $config_mak
866
  echo "#define CONFIG_GDBSTUB 1" >> $config_h
867
fi
868
if test "$gprof" = "yes" ; then
869
  echo "TARGET_GPROF=yes" >> $config_mak
870
  echo "#define HAVE_GPROF 1" >> $config_h
871
fi
872
if test "$static" = "yes" ; then
873
  echo "CONFIG_STATIC=yes" >> $config_mak
874
  echo "#define CONFIG_STATIC 1" >> $config_h
875
fi
876
if test $profiler = "yes" ; then
877
  echo "#define CONFIG_PROFILER 1" >> $config_h
878
fi
879
if test "$slirp" = "yes" ; then
880
  echo "CONFIG_SLIRP=yes" >> $config_mak
881
  echo "#define CONFIG_SLIRP 1" >> $config_h
882
fi
883
if test "$adlib" = "yes" ; then
884
  echo "CONFIG_ADLIB=yes" >> $config_mak
885
  echo "#define CONFIG_ADLIB 1" >> $config_h
886
fi
887
if test "$oss" = "yes" ; then
888
  echo "CONFIG_OSS=yes" >> $config_mak
889
  echo "#define CONFIG_OSS 1" >> $config_h
890
fi
891
if test "$coreaudio" = "yes" ; then
892
  echo "CONFIG_COREAUDIO=yes" >> $config_mak
893
  echo "#define CONFIG_COREAUDIO 1" >> $config_h
894
fi
895
if test "$alsa" = "yes" ; then
896
  echo "CONFIG_ALSA=yes" >> $config_mak
897
  echo "#define CONFIG_ALSA 1" >> $config_h
898
fi
899
if test "$dsound" = "yes" ; then
900
  echo "CONFIG_DSOUND=yes" >> $config_mak
901
  echo "#define CONFIG_DSOUND 1" >> $config_h
902
fi
903
if test "$fmod" = "yes" ; then
904
  echo "CONFIG_FMOD=yes" >> $config_mak
905
  echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
906
  echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
907
  echo "#define CONFIG_FMOD 1" >> $config_h
908
fi
909
if test "$vnc_tls" = "yes" ; then
910
  echo "CONFIG_VNC_TLS=yes" >> $config_mak
911
  echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
912
  echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
913
  echo "#define CONFIG_VNC_TLS 1" >> $config_h
914
fi
915
qemu_version=`head $source_path/VERSION`
916
echo "VERSION=$qemu_version" >>$config_mak
917
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
918

    
919
echo "SRC_PATH=$source_path" >> $config_mak
920
if [ "$source_path_used" = "yes" ]; then
921
  echo "VPATH=$source_path" >> $config_mak
922
fi
923
echo "TARGET_DIRS=$target_list" >> $config_mak
924
if [ "$build_docs" = "yes" ] ; then
925
  echo "BUILD_DOCS=yes" >> $config_mak
926
fi
927
if test "$static" = "yes"; then
928
  sdl1=$sdl_static
929
else
930
  sdl1=$sdl
931
fi
932
if test "$sdl1" = "yes" ; then
933
  echo "#define CONFIG_SDL 1" >> $config_h
934
  echo "CONFIG_SDL=yes" >> $config_mak
935
  if test "$target_softmmu" = "no" -o "$static" = "yes"; then
936
    echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
937
  else
938
    echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
939
  fi
940
  if [ "${aa}" = "yes" ] ; then
941
    echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
942
  else
943
    echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
944
  fi
945
fi
946
if test "$cocoa" = "yes" ; then
947
    echo "#define CONFIG_COCOA 1" >> $config_h
948
    echo "CONFIG_COCOA=yes" >> $config_mak
949
fi
950

    
951
# XXX: suppress that
952
if [ "$bsd" = "yes" ] ; then
953
  echo "#define O_LARGEFILE 0" >> $config_h
954
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
955
  echo "#define _BSD 1" >> $config_h
956
fi
957

    
958
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
959

    
960
tools=
961
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
962
  tools="qemu-img\$(EXESUF) $tools"
963
fi
964
echo "TOOLS=$tools" >> $config_mak
965

    
966
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
967

    
968
for target in $target_list; do
969
target_dir="$target"
970
config_mak=$target_dir/config.mak
971
config_h=$target_dir/config.h
972
target_cpu=`echo $target | cut -d '-' -f 1`
973
target_bigendian="no"
974
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
975
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
976
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
977
[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
978
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
979
[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
980
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
981
[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
982
[ "$target_cpu" = "ppc64h" ] && target_bigendian=yes
983
[ "$target_cpu" = "mips" ] && target_bigendian=yes
984
[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
985
[ "$target_cpu" = "mips64" ] && target_bigendian=yes
986
[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
987
[ "$target_cpu" = "m68k" ] && target_bigendian=yes
988
target_softmmu="no"
989
target_user_only="no"
990
target_linux_user="no"
991
target_darwin_user="no"
992
case "$target" in
993
  ${target_cpu}-softmmu)
994
    target_softmmu="yes"
995
    ;;
996
  ${target_cpu}-linux-user)
997
    target_user_only="yes"
998
    target_linux_user="yes"
999
    ;;
1000
  ${target_cpu}-darwin-user)
1001
    target_user_only="yes"
1002
    target_darwin_user="yes"
1003
    ;;
1004
  *)
1005
    echo "ERROR: Target '$target' not recognised"
1006
    exit 1
1007
    ;;
1008
esac
1009

    
1010
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1011
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1012
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1013
    echo "To build QEMU without graphical output configure with --disable-gfx-check"
1014
    echo "Note that this will disable all output from the virtual graphics card."
1015
    exit 1;
1016
fi
1017

    
1018
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1019

    
1020
test -f $config_h && mv $config_h ${config_h}~
1021

    
1022
mkdir -p $target_dir
1023
mkdir -p $target_dir/fpu
1024
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1025
  mkdir -p $target_dir/nwfpe
1026
fi
1027

    
1028
#
1029
# don't use ln -sf as not all "ln -sf" over write the file/link
1030
#
1031
rm -f $target_dir/Makefile
1032
ln -s $source_path/Makefile.target $target_dir/Makefile
1033

    
1034

    
1035
echo "# Automatically generated by configure - do not modify" > $config_mak
1036
echo "/* Automatically generated by configure - do not modify */" > $config_h
1037

    
1038

    
1039
echo "include ../config-host.mak" >> $config_mak
1040
echo "#include \"../config-host.h\"" >> $config_h
1041

    
1042
bflt="no"
1043
elfload32="no"
1044
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1045
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1046

    
1047
if test "$target_cpu" = "i386" ; then
1048
  echo "TARGET_ARCH=i386" >> $config_mak
1049
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
1050
  echo "#define TARGET_I386 1" >> $config_h
1051
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1052
    echo "#define USE_KQEMU 1" >> $config_h
1053
  fi
1054
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1055
  echo "TARGET_ARCH=arm" >> $config_mak
1056
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
1057
  echo "#define TARGET_ARM 1" >> $config_h
1058
  bflt="yes"
1059
elif test "$target_cpu" = "sparc" ; then
1060
  echo "TARGET_ARCH=sparc" >> $config_mak
1061
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1062
  echo "#define TARGET_SPARC 1" >> $config_h
1063
elif test "$target_cpu" = "sparc64" ; then
1064
  echo "TARGET_ARCH=sparc64" >> $config_mak
1065
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1066
  echo "#define TARGET_SPARC 1" >> $config_h
1067
  echo "#define TARGET_SPARC64 1" >> $config_h
1068
  elfload32="yes"
1069
elif test "$target_cpu" = "sparc32plus" ; then
1070
  echo "TARGET_ARCH=sparc64" >> $config_mak
1071
  echo "TARGET_ABI_DIR=sparc" >> $config_mak
1072
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1073
  echo "#define TARGET_SPARC 1" >> $config_h
1074
  echo "#define TARGET_SPARC64 1" >> $config_h
1075
  echo "#define TARGET_ABI32 1" >> $config_h
1076
elif test "$target_cpu" = "ppc" ; then
1077
  echo "TARGET_ARCH=ppc" >> $config_mak
1078
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1079
  echo "#define TARGET_PPC 1" >> $config_h
1080
elif test "$target_cpu" = "ppcemb" ; then
1081
  echo "TARGET_ARCH=ppcemb" >> $config_mak
1082
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1083
  echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1084
  echo "#define TARGET_PPC 1" >> $config_h
1085
  echo "#define TARGET_PPCEMB 1" >> $config_h
1086
elif test "$target_cpu" = "ppc64" ; then
1087
  echo "TARGET_ARCH=ppc64" >> $config_mak
1088
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1089
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1090
  echo "#define TARGET_PPC 1" >> $config_h
1091
  echo "#define TARGET_PPC64 1" >> $config_h
1092
elif test "$target_cpu" = "ppc64abi32" ; then
1093
  echo "TARGET_ARCH=ppc64" >> $config_mak
1094
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1095
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1096
  echo "#define TARGET_PPC 1" >> $config_h
1097
  echo "#define TARGET_PPC64 1" >> $config_h
1098
  echo "#define TARGET_ABI32 1" >> $config_h
1099
elif test "$target_cpu" = "ppc64h" ; then
1100
  echo "TARGET_ARCH=ppc64h" >> $config_mak
1101
  echo "#define TARGET_ARCH \"ppc64h\"" >> $config_h
1102
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1103
  echo "#define TARGET_PPC 1" >> $config_h
1104
  echo "#define TARGET_PPC64 1" >> $config_h
1105
  echo "#define TARGET_PPC64H 1" >> $config_h
1106
elif test "$target_cpu" = "x86_64" ; then
1107
  echo "TARGET_ARCH=x86_64" >> $config_mak
1108
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1109
  echo "#define TARGET_I386 1" >> $config_h
1110
  echo "#define TARGET_X86_64 1" >> $config_h
1111
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
1112
    echo "#define USE_KQEMU 1" >> $config_h
1113
  fi
1114
elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1115
  echo "TARGET_ARCH=mips" >> $config_mak
1116
  echo "#define TARGET_ARCH \"mips\"" >> $config_h
1117
  echo "#define TARGET_MIPS 1" >> $config_h
1118
  echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1119
elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1120
  echo "TARGET_ARCH=mipsn32" >> $config_mak
1121
  echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1122
  echo "#define TARGET_MIPS 1" >> $config_h
1123
  echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1124
elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1125
  echo "TARGET_ARCH=mips64" >> $config_mak
1126
  echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1127
  echo "#define TARGET_MIPS 1" >> $config_h
1128
  echo "#define TARGET_MIPS64 1" >> $config_h
1129
  echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1130
elif test "$target_cpu" = "cris" ; then
1131
  echo "TARGET_ARCH=cris" >> $config_mak
1132
  echo "#define TARGET_ARCH \"cris\"" >> $config_h
1133
  echo "#define TARGET_CRIS 1" >> $config_h
1134
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1135
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1136
elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1137
  echo "TARGET_ARCH=sh4" >> $config_mak
1138
  echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1139
  echo "#define TARGET_SH4 1" >> $config_h
1140
  bflt="yes"
1141
elif test "$target_cpu" = "m68k" ; then
1142
  echo "TARGET_ARCH=m68k" >> $config_mak
1143
  echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1144
  echo "#define TARGET_M68K 1" >> $config_h
1145
  bflt="yes"
1146
elif test "$target_cpu" = "alpha" ; then
1147
  echo "TARGET_ARCH=alpha" >> $config_mak
1148
  echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1149
  echo "#define TARGET_ALPHA 1" >> $config_h
1150
else
1151
  echo "Unsupported target CPU"
1152
  exit 1
1153
fi
1154
if test "$target_bigendian" = "yes" ; then
1155
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1156
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1157
fi
1158
if test "$target_softmmu" = "yes" ; then
1159
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
1160
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
1161
fi
1162
if test "$target_user_only" = "yes" ; then
1163
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
1164
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
1165
fi
1166
if test "$target_linux_user" = "yes" ; then
1167
  echo "CONFIG_LINUX_USER=yes" >> $config_mak
1168
  echo "#define CONFIG_LINUX_USER 1" >> $config_h
1169
fi
1170
if test "$target_darwin_user" = "yes" ; then
1171
  echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1172
  echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1173
fi
1174

    
1175
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64"  -o "$target_cpu" = "sparc32plus" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
1176
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1177
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1178
fi
1179
if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1180
  echo "TARGET_HAS_BFLT=yes" >> $config_mak
1181
  echo "#define TARGET_HAS_BFLT 1" >> $config_h
1182
fi
1183
# 32 bit ELF loader in addition to native 64 bit loader?
1184
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1185
  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1186
  echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1187
fi
1188

    
1189
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1190

    
1191
done # for target in $targets
1192

    
1193
# build tree in object directory if source path is different from current one
1194
if test "$source_path_used" = "yes" ; then
1195
    DIRS="tests tests/cris slirp audio"
1196
    FILES="Makefile tests/Makefile"
1197
    FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1198
    for dir in $DIRS ; do
1199
            mkdir -p $dir
1200
    done
1201
    # remove the link and recreate it, as not all "ln -sf" overwrite the link
1202
    for f in $FILES ; do
1203
        rm -f $f
1204
        ln -s $source_path/$f $f
1205
    done
1206
fi
1207

    
1208
rm -f $TMPO $TMPC $TMPE $TMPS