Statistics
| Branch: | Revision:

root / configure @ 8281db4d

History | View | Annotate | Download (35.7 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
  *) echo "ERROR: unknown option $opt"; show_help="yes"
320
  ;;
321
  esac
322
done
323

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

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

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

    
364
if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
365
    CFLAGS="${CFLAGS} -m64"
366
    OS_CFLAGS="${OS_CFLAGS} -m64"
367
    OS_LDFLAGS="${OS_LDFLAGS} -m64"
368
fi
369

    
370
if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
371
    CFLAGS="${CFLAGS} -m32"
372
    OS_CFLAGS="${OS_CFLAGS} -m32"
373
fi
374

    
375
if test x"$show_help" = x"yes" ; then
376
cat << EOF
377

    
378
Usage: configure [options]
379
Options: [defaults in brackets after descriptions]
380

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

    
425
cc="${cross_prefix}${cc}"
426
ar="${cross_prefix}${ar}"
427
strip="${cross_prefix}${strip}"
428

    
429
# check that the C compiler works.
430
cat > $TMPC <<EOF
431
int main(void) {}
432
EOF
433

    
434
if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
435
  : C compiler works ok
436
else
437
    echo "ERROR: \"$cc\" either does not exist or does not work"
438
    exit 1
439
fi
440

    
441
if test "$mingw32" = "yes" ; then
442
    linux="no"
443
    EXESUF=".exe"
444
    oss="no"
445
fi
446

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

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

    
521

    
522
if test -z "$target_list" ; then
523
# these targets are portable
524
    if [ "$softmmu" = "yes" ] ; then
525
        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"
526
    fi
527
# the following are Linux specific
528
    if [ "$linux_user" = "yes" ] ; then
529
        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"
530
    fi
531
# the following are Darwin specific
532
    if [ "$darwin_user" = "yes" ] ; then
533
        target_list="i386-darwin-user ppc-darwin-user $target_list"
534
    fi
535
else
536
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
537
fi
538
if test -z "$target_list" ; then
539
    echo "No targets enabled"
540
    exit 1
541
fi
542

    
543
if test -z "$cross_prefix" ; then
544

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

    
555
if $cc -o $TMPE $TMPC 2> /dev/null ; then
556
$TMPE && bigendian="yes"
557
else
558
echo big/little test failed
559
fi
560

    
561
else
562

    
563
# if cross compiling, cannot launch a program, so make a static guess
564
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
565
    bigendian="yes"
566
fi
567

    
568
fi
569

    
570
# host long bits test
571
hostlongbits="32"
572
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
573
    hostlongbits="64"
574
fi
575

    
576
# check gcc options support
577
cat > $TMPC <<EOF
578
int main(void) {
579
}
580
EOF
581

    
582
##########################################
583
# SDL probe
584

    
585
sdl_too_old=no
586

    
587
if test -z "$sdl" ; then
588
    sdl_config="sdl-config"
589
    sdl=no
590
    sdl_static=no
591

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

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

    
622
                if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
623
                    sdl_static=yes
624
                fi
625
            fi # static link
626
        fi # sdl compile test
627
    fi # cross compilation
628
else
629
    # Make sure to disable cocoa if sdl was set
630
    if test "$sdl" = "yes" ; then
631
       cocoa="no"
632
       coreaudio="no"
633
    fi
634
fi # -z $sdl
635

    
636
##########################################
637
# VNC TLS detection
638
if test "$vnc_tls" = "yes" ; then
639
  `pkg-config gnutls` || vnc_tls="no"
640
fi
641
if test "$vnc_tls" = "yes" ; then
642
  vnc_tls_cflags=`pkg-config --cflags gnutls`
643
  vnc_tls_libs=`pkg-config --libs gnutls`
644
fi
645

    
646
##########################################
647
# alsa sound support libraries
648

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

    
665
# Check if tools are available to build documentation.
666
if [ -x "`which texi2html 2>/dev/null`" ] && \
667
   [ -x "`which pod2man 2>/dev/null`" ]; then
668
  build_docs="yes"
669
fi
670

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

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

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

    
761
#echo "Creating $config_mak and $config_h"
762

    
763
test -f $config_h && mv $config_h ${config_h}~
764

    
765
echo "# Automatically generated by configure - do not modify" > $config_mak
766
echo "# Configured with: $0 $@" >> $config_mak
767
echo "/* Automatically generated by configure - do not modify */" > $config_h
768

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

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

    
956
# XXX: suppress that
957
if [ "$bsd" = "yes" ] ; then
958
  echo "#define O_LARGEFILE 0" >> $config_h
959
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
960
  echo "#define _BSD 1" >> $config_h
961
fi
962

    
963
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
964

    
965
tools=
966
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
967
  tools="qemu-img\$(EXESUF) $tools"
968
fi
969
echo "TOOLS=$tools" >> $config_mak
970

    
971
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
972

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

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

    
1022
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1023

    
1024
test -f $config_h && mv $config_h ${config_h}~
1025

    
1026
mkdir -p $target_dir
1027
mkdir -p $target_dir/fpu
1028
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1029
  mkdir -p $target_dir/nwfpe
1030
fi
1031

    
1032
#
1033
# don't use ln -sf as not all "ln -sf" over write the file/link
1034
#
1035
rm -f $target_dir/Makefile
1036
ln -s $source_path/Makefile.target $target_dir/Makefile
1037

    
1038

    
1039
echo "# Automatically generated by configure - do not modify" > $config_mak
1040
echo "/* Automatically generated by configure - do not modify */" > $config_h
1041

    
1042

    
1043
echo "include ../config-host.mak" >> $config_mak
1044
echo "#include \"../config-host.h\"" >> $config_h
1045

    
1046
bflt="no"
1047
elfload32="no"
1048
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1049
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1050

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

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

    
1186
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1187

    
1188
done # for target in $targets
1189

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

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