Statistics
| Branch: | Revision:

root / configure @ 3cd7d1dd

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
werror="no"
217
# generate compile errors on warnings for development builds
218
#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
219
#werror="yes";
220
#fi
221

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
515

    
516
if test -z "$target_list" ; then
517
# these targets are portable
518
    if [ "$softmmu" = "yes" ] ; then
519
        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"
520
    fi
521
# the following are Linux specific
522
    if [ "$linux_user" = "yes" ] ; then
523
        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 ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
524
    fi
525
# the following are Darwin specific
526
    if [ "$darwin_user" = "yes" ] ; then
527
        target_list="i386-darwin-user ppc-darwin-user $target_list"
528
    fi
529
else
530
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
531
fi
532
if test -z "$target_list" ; then
533
    echo "No targets enabled"
534
    exit 1
535
fi
536

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

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

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

    
555
else
556

    
557
# if cross compiling, cannot launch a program, so make a static guess
558
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
559
    bigendian="yes"
560
fi
561

    
562
fi
563

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

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

    
576
##########################################
577
# SDL probe
578

    
579
sdl_too_old=no
580

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

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

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

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

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

    
640
##########################################
641
# alsa sound support libraries
642

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1033

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

    
1037

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

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

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

    
1174
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
1175
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1176
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1177
fi
1178
if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1179
  echo "TARGET_HAS_BFLT=yes" >> $config_mak
1180
  echo "#define TARGET_HAS_BFLT 1" >> $config_h
1181
fi
1182
# 32 bit ELF loader in addition to native 64 bit loader?
1183
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1184
  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1185
  echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1186
fi
1187

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

    
1190
done # for target in $targets
1191

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

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