Statistics
| Branch: | Revision:

root / configure @ 49ecc3fa

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

    
312
if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
313
    AIOLIBS=
314
else
315
    # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
316
    AIOLIBS="-lrt -lpthread"
317
fi
318

    
319
# default flags for all hosts
320
CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
321
LDFLAGS="$LDFLAGS -g"
322

    
323
#
324
# If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
325
# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
326
#
327
case $cpu in
328
    sparc) if test -z "$sparc_cpu" ; then
329
               ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
330
               ARCH_LDFLAGS="-m32"
331
           else
332
               ARCH_CFLAGS="${SP_CFLAGS}"
333
               ARCH_LDFLAGS="${SP_LDFLAGS}"
334
           fi
335
           ;;
336
    sparc64) if test -z "$sparc_cpu" ; then
337
               ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
338
               ARCH_LDFLAGS="-m64"
339
           else
340
               ARCH_CFLAGS="${SP_CFLAGS}"
341
               ARCH_LDFLAGS="${SP_LDFLAGS}"
342
           fi
343
           ;;
344
esac
345

    
346
if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
347
    CFLAGS="${CFLAGS} -m64"
348
    OS_CFLAGS="${OS_CFLAGS} -m64"
349
fi
350

    
351
if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
352
    CFLAGS="${CFLAGS} -m32"
353
    OS_CFLAGS="${OS_CFLAGS} -m32"
354
fi
355

    
356
if test x"$show_help" = x"yes" ; then
357
cat << EOF
358

    
359
Usage: configure [options]
360
Options: [defaults in brackets after descriptions]
361

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

    
405
cc="${cross_prefix}${cc}"
406
ar="${cross_prefix}${ar}"
407
strip="${cross_prefix}${strip}"
408

    
409
# check that the C compiler works.
410
cat > $TMPC <<EOF
411
int main(void) {}
412
EOF
413

    
414
if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
415
  : C compiler works ok
416
else
417
    echo "ERROR: \"$cc\" either does not exist or does not work"
418
    exit 1
419
fi
420

    
421
if test "$mingw32" = "yes" ; then
422
    linux="no"
423
    EXESUF=".exe"
424
    oss="no"
425
fi
426

    
427
# Check for gcc4, error if pre-gcc4
428
if test "$check_gcc" = "yes" ; then
429
    cat > $TMPC <<EOF
430
#if __GNUC__ < 4
431
#error gcc3
432
#endif
433
int main(){return 0;}
434
EOF
435
    if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
436
	echo "WARNING: \"$cc\" looks like gcc 4.x"
437
	found_compat_cc="no"
438
	if test "$gcc3_search" = "yes" ; then
439
	    echo "Looking for gcc 3.x"
440
	    for compat_cc in $gcc3_list ; do
441
		if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
442
		    echo "Found \"$compat_cc\""
443
		    cc="$cross_prefix$compat_cc"
444
		    found_compat_cc="yes"
445
		    break
446
		fi
447
	    done
448
	    if test "$found_compat_cc" = "no" ; then
449
		echo "gcc 3.x not found!"
450
	    fi
451
	fi
452
	if test "$found_compat_cc" = "no" ; then
453
	    echo "QEMU is known to have problems when compiled with gcc 4.x"
454
	    echo "It is recommended that you use gcc 3.x to build QEMU"
455
	    echo "To use this compiler anyway, configure with --disable-gcc-check"
456
	    exit 1;
457
	fi
458
    fi
459
fi
460

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

    
501

    
502
if test -z "$target_list" ; then
503
# these targets are portable
504
    if [ "$softmmu" = "yes" ] ; then
505
        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"
506
    fi
507
# the following are Linux specific
508
    if [ "$linux_user" = "yes" ] ; then
509
        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"
510
    fi
511
# the following are Darwin specific
512
    if [ "$darwin_user" = "yes" ] ; then
513
        target_list="i386-darwin-user ppc-darwin-user $target_list"
514
    fi
515
else
516
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
517
fi
518
if test -z "$target_list" ; then
519
    echo "No targets enabled"
520
    exit 1
521
fi
522

    
523
if test -z "$cross_prefix" ; then
524

    
525
# ---
526
# big/little endian test
527
cat > $TMPC << EOF
528
#include <inttypes.h>
529
int main(int argc, char ** argv){
530
        volatile uint32_t i=0x01234567;
531
        return (*((uint8_t*)(&i))) == 0x67;
532
}
533
EOF
534

    
535
if $cc -o $TMPE $TMPC 2> /dev/null ; then
536
$TMPE && bigendian="yes"
537
else
538
echo big/little test failed
539
fi
540

    
541
else
542

    
543
# if cross compiling, cannot launch a program, so make a static guess
544
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
545
    bigendian="yes"
546
fi
547

    
548
fi
549

    
550
# host long bits test
551
hostlongbits="32"
552
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
553
    hostlongbits="64"
554
fi
555

    
556
# check gcc options support
557
cat > $TMPC <<EOF
558
int main(void) {
559
}
560
EOF
561

    
562
##########################################
563
# SDL probe
564

    
565
sdl_too_old=no
566

    
567
if test -z "$sdl" ; then
568
    sdl_config="sdl-config"
569
    sdl=no
570
    sdl_static=no
571

    
572
    if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
573
    # win32 cross compilation case
574
        sdl_config="i386-mingw32msvc-sdl-config"
575
        sdl=yes
576
    else
577
        # normal SDL probe
578
cat > $TMPC << EOF
579
#include <SDL.h>
580
#undef main /* We don't want SDL to override our main() */
581
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
582
EOF
583
        if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
584
            _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
585
            if test "$_sdlversion" -lt 121 ; then
586
                sdl_too_old=yes
587
            else
588
                if test "$cocoa" = "no" ; then
589
                    sdl=yes
590
                fi
591
            fi
592

    
593
            # static link with sdl ?
594
            if test "$sdl" = "yes" ; then
595
                aa="no"
596
                `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
597
                sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
598
                if [ "$aa" = "yes" ] ; then
599
                    sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
600
                fi
601

    
602
                if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
603
                    sdl_static=yes
604
                fi
605
            fi # static link
606
        fi # sdl compile test
607
    fi # cross compilation
608
else
609
    # Make sure to disable cocoa if sdl was set
610
    if test "$sdl" = "yes" ; then
611
       cocoa="no"
612
       coreaudio="no"
613
    fi
614
fi # -z $sdl
615

    
616
##########################################
617
# VNC TLS detection
618
if test "$vnc_tls" = "yes" ; then
619
  `pkg-config gnutls` || vnc_tls="no"
620
fi
621
if test "$vnc_tls" = "yes" ; then
622
  vnc_tls_cflags=`pkg-config --cflags gnutls`
623
  vnc_tls_libs=`pkg-config --libs gnutls`
624
fi
625

    
626
##########################################
627
# alsa sound support libraries
628

    
629
if test "$alsa" = "yes" ; then
630
  cat > $TMPC << EOF
631
#include <alsa/asoundlib.h>
632
int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
633
EOF
634
  if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
635
    :
636
  else
637
    echo
638
    echo "Error: Could not find alsa"
639
    echo "Make sure to have the alsa libs and headers installed."
640
    echo
641
    exit 1
642
  fi
643
fi
644

    
645
# Check if tools are available to build documentation.
646
if [ -x "`which texi2html 2>/dev/null`" ] && \
647
   [ -x "`which pod2man 2>/dev/null`" ]; then
648
  build_docs="yes"
649
fi
650

    
651
if test "$mingw32" = "yes" ; then
652
  if test -z "$prefix" ; then
653
      prefix="/c/Program Files/Qemu"
654
  fi
655
  mansuffix=""
656
  datasuffix=""
657
  docsuffix=""
658
  binsuffix=""
659
else
660
  if test -z "$prefix" ; then
661
      prefix="/usr/local"
662
  fi
663
  mansuffix="/share/man"
664
  datasuffix="/share/qemu"
665
  docsuffix="/share/doc/qemu"
666
  binsuffix="/bin"
667
fi
668

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

    
726
if test $sdl_too_old = "yes"; then
727
echo "-> Your SDL version is too old - please upgrade to have SDL support"
728
fi
729
if [ -s /tmp/qemu-$$-sdl-config.log ]; then
730
  echo "The error log from compiling the libSDL test is: "
731
  cat /tmp/qemu-$$-sdl-config.log
732
fi
733
rm -f /tmp/qemu-$$-sdl-config.log
734
#if test "$sdl_static" = "no"; then
735
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
736
#fi
737
config_mak="config-host.mak"
738
config_h="config-host.h"
739

    
740
#echo "Creating $config_mak and $config_h"
741

    
742
test -f $config_h && mv $config_h ${config_h}~
743

    
744
echo "# Automatically generated by configure - do not modify" > $config_mak
745
echo "# Configured with: $0 $@" >> $config_mak
746
echo "/* Automatically generated by configure - do not modify */" > $config_h
747

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

    
903
echo "SRC_PATH=$source_path" >> $config_mak
904
if [ "$source_path_used" = "yes" ]; then
905
  echo "VPATH=$source_path" >> $config_mak
906
fi
907
echo "TARGET_DIRS=$target_list" >> $config_mak
908
if [ "$build_docs" = "yes" ] ; then
909
  echo "BUILD_DOCS=yes" >> $config_mak
910
fi
911
if test "$static" = "yes"; then
912
  sdl1=$sdl_static
913
else
914
  sdl1=$sdl
915
fi
916
if test "$sdl1" = "yes" ; then
917
  echo "#define CONFIG_SDL 1" >> $config_h
918
  echo "CONFIG_SDL=yes" >> $config_mak
919
  if test "$target_softmmu" = "no" -o "$static" = "yes"; then
920
    echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
921
  else
922
    echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
923
  fi
924
  if [ "${aa}" = "yes" ] ; then
925
    echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
926
  else
927
    echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
928
  fi
929
fi
930
if test "$cocoa" = "yes" ; then
931
    echo "#define CONFIG_COCOA 1" >> $config_h
932
    echo "CONFIG_COCOA=yes" >> $config_mak
933
fi
934

    
935
# XXX: suppress that
936
if [ "$bsd" = "yes" ] ; then
937
  echo "#define O_LARGEFILE 0" >> $config_h
938
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
939
  echo "#define _BSD 1" >> $config_h
940
fi
941

    
942
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
943

    
944
tools=
945
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
946
  tools="qemu-img\$(EXESUF) $tools"
947
fi
948
echo "TOOLS=$tools" >> $config_mak
949

    
950
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
951

    
952
for target in $target_list; do
953
target_dir="$target"
954
config_mak=$target_dir/config.mak
955
config_h=$target_dir/config.h
956
target_cpu=`echo $target | cut -d '-' -f 1`
957
target_bigendian="no"
958
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
959
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
960
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
961
[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
962
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
963
[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
964
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
965
[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
966
[ "$target_cpu" = "ppc64h" ] && target_bigendian=yes
967
[ "$target_cpu" = "mips" ] && target_bigendian=yes
968
[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
969
[ "$target_cpu" = "mips64" ] && target_bigendian=yes
970
[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
971
[ "$target_cpu" = "m68k" ] && target_bigendian=yes
972
target_softmmu="no"
973
target_user_only="no"
974
target_linux_user="no"
975
target_darwin_user="no"
976
case "$target" in
977
  ${target_cpu}-softmmu)
978
    target_softmmu="yes"
979
    ;;
980
  ${target_cpu}-linux-user)
981
    target_user_only="yes"
982
    target_linux_user="yes"
983
    ;;
984
  ${target_cpu}-darwin-user)
985
    target_user_only="yes"
986
    target_darwin_user="yes"
987
    ;;
988
  *)
989
    echo "ERROR: Target '$target' not recognised"
990
    exit 1
991
    ;;
992
esac
993

    
994
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
995
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
996
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
997
    echo "To build QEMU without graphical output configure with --disable-gfx-check"
998
    echo "Note that this will disable all output from the virtual graphics card."
999
    exit 1;
1000
fi
1001

    
1002
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1003

    
1004
test -f $config_h && mv $config_h ${config_h}~
1005

    
1006
mkdir -p $target_dir
1007
mkdir -p $target_dir/fpu
1008
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1009
  mkdir -p $target_dir/nwfpe
1010
fi
1011

    
1012
#
1013
# don't use ln -sf as not all "ln -sf" over write the file/link
1014
#
1015
rm -f $target_dir/Makefile
1016
ln -s $source_path/Makefile.target $target_dir/Makefile
1017

    
1018

    
1019
echo "# Automatically generated by configure - do not modify" > $config_mak
1020
echo "/* Automatically generated by configure - do not modify */" > $config_h
1021

    
1022

    
1023
echo "include ../config-host.mak" >> $config_mak
1024
echo "#include \"../config-host.h\"" >> $config_h
1025

    
1026
bflt="no"
1027
elfload32="no"
1028
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1029
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1030

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

    
1157
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
1158
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1159
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1160
fi
1161
if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1162
  echo "TARGET_HAS_BFLT=yes" >> $config_mak
1163
  echo "#define TARGET_HAS_BFLT 1" >> $config_h
1164
fi
1165
# 32 bit ELF loader in addition to native 64 bit loader?
1166
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1167
  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1168
  echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1169
fi
1170

    
1171
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1172

    
1173
done # for target in $targets
1174

    
1175
# build tree in object directory if source path is different from current one
1176
if test "$source_path_used" = "yes" ; then
1177
    DIRS="tests tests/cris slirp audio"
1178
    FILES="Makefile tests/Makefile"
1179
    FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1180
    for dir in $DIRS ; do
1181
            mkdir -p $dir
1182
    done
1183
    # remove the link and recreate it, as not all "ln -sf" overwrite the link
1184
    for f in $FILES ; do
1185
        rm -f $f
1186
        ln -s $source_path/$f $f
1187
    done
1188
fi
1189

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