Statistics
| Branch: | Revision:

root / configure @ e5c9a13e

History | View | Annotate | Download (36.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
ac97="no"
89
oss="no"
90
dsound="no"
91
coreaudio="no"
92
alsa="no"
93
esd="no"
94
fmod="no"
95
fmod_lib=""
96
fmod_inc=""
97
vnc_tls="yes"
98
bsd="no"
99
linux="no"
100
kqemu="no"
101
profiler="no"
102
cocoa="no"
103
check_gfx="yes"
104
check_gcc="yes"
105
softmmu="yes"
106
linux_user="no"
107
darwin_user="no"
108
build_docs="no"
109
uname_release=""
110

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

    
200
if [ "$bsd" = "yes" ] ; then
201
  if [ "$darwin" != "yes" ] ; then
202
    make="gmake"
203
  fi
204
fi
205

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

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

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

    
331
if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
332
    AIOLIBS=
333
else
334
    # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
335
    AIOLIBS="-lrt -lpthread"
336
fi
337

    
338
# default flags for all hosts
339
CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
340
LDFLAGS="$LDFLAGS -g"
341
if test "$werror" = "yes" ; then
342
CFLAGS="$CFLAGS -Werror"
343
fi
344

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

    
371
if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
372
    CFLAGS="${CFLAGS} -m64"
373
    OS_CFLAGS="${OS_CFLAGS} -m64"
374
    OS_LDFLAGS="${OS_LDFLAGS} -m64"
375
fi
376

    
377
if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
378
    CFLAGS="${CFLAGS} -m32"
379
    OS_CFLAGS="${OS_CFLAGS} -m32"
380
fi
381

    
382
if test x"$show_help" = x"yes" ; then
383
cat << EOF
384

    
385
Usage: configure [options]
386
Options: [defaults in brackets after descriptions]
387

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

    
434
cc="${cross_prefix}${cc}"
435
ar="${cross_prefix}${ar}"
436
strip="${cross_prefix}${strip}"
437

    
438
# check that the C compiler works.
439
cat > $TMPC <<EOF
440
int main(void) {}
441
EOF
442

    
443
if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
444
  : C compiler works ok
445
else
446
    echo "ERROR: \"$cc\" either does not exist or does not work"
447
    exit 1
448
fi
449

    
450
if test "$mingw32" = "yes" ; then
451
    linux="no"
452
    EXESUF=".exe"
453
    oss="no"
454
fi
455

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

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

    
530

    
531
if test -z "$target_list" ; then
532
# these targets are portable
533
    if [ "$softmmu" = "yes" ] ; then
534
        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 sh4eb-softmmu cris-softmmu"
535
    fi
536
# the following are Linux specific
537
    if [ "$linux_user" = "yes" ] ; then
538
        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 sh4eb-linux-user ppc-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
539
    fi
540
# the following are Darwin specific
541
    if [ "$darwin_user" = "yes" ] ; then
542
        target_list="i386-darwin-user ppc-darwin-user $target_list"
543
    fi
544
else
545
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
546
fi
547
if test -z "$target_list" ; then
548
    echo "No targets enabled"
549
    exit 1
550
fi
551

    
552
if test -z "$cross_prefix" ; then
553

    
554
# ---
555
# big/little endian test
556
cat > $TMPC << EOF
557
#include <inttypes.h>
558
int main(int argc, char ** argv){
559
        volatile uint32_t i=0x01234567;
560
        return (*((uint8_t*)(&i))) == 0x67;
561
}
562
EOF
563

    
564
if $cc -o $TMPE $TMPC 2> /dev/null ; then
565
$TMPE && bigendian="yes"
566
else
567
echo big/little test failed
568
fi
569

    
570
else
571

    
572
# if cross compiling, cannot launch a program, so make a static guess
573
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
574
    bigendian="yes"
575
fi
576

    
577
fi
578

    
579
# host long bits test
580
hostlongbits="32"
581
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
582
    hostlongbits="64"
583
fi
584

    
585
# check gcc options support
586
cat > $TMPC <<EOF
587
int main(void) {
588
}
589
EOF
590

    
591
##########################################
592
# SDL probe
593

    
594
sdl_too_old=no
595

    
596
if test -z "$sdl" ; then
597
    sdl_config="sdl-config"
598
    sdl=no
599
    sdl_static=no
600

    
601
    if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
602
    # win32 cross compilation case
603
        sdl_config="i386-mingw32msvc-sdl-config"
604
        sdl=yes
605
    else
606
        # normal SDL probe
607
cat > $TMPC << EOF
608
#include <SDL.h>
609
#undef main /* We don't want SDL to override our main() */
610
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
611
EOF
612
        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
613
            _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
614
            if test "$_sdlversion" -lt 121 ; then
615
                sdl_too_old=yes
616
            else
617
                if test "$cocoa" = "no" ; then
618
                    sdl=yes
619
                fi
620
            fi
621

    
622
            # static link with sdl ?
623
            if test "$sdl" = "yes" ; then
624
                aa="no"
625
                `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
626
                sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
627
                if [ "$aa" = "yes" ] ; then
628
                    sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
629
                fi
630

    
631
                if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
632
                    sdl_static=yes
633
                fi
634
            fi # static link
635
        fi # sdl compile test
636
    fi # cross compilation
637
else
638
    # Make sure to disable cocoa if sdl was set
639
    if test "$sdl" = "yes" ; then
640
       cocoa="no"
641
       coreaudio="no"
642
    fi
643
fi # -z $sdl
644

    
645
##########################################
646
# VNC TLS detection
647
if test "$vnc_tls" = "yes" ; then
648
  `pkg-config gnutls` || vnc_tls="no"
649
fi
650
if test "$vnc_tls" = "yes" ; then
651
  vnc_tls_cflags=`pkg-config --cflags gnutls`
652
  vnc_tls_libs=`pkg-config --libs gnutls`
653
fi
654

    
655
##########################################
656
# alsa sound support libraries
657

    
658
if test "$alsa" = "yes" ; then
659
  cat > $TMPC << EOF
660
#include <alsa/asoundlib.h>
661
int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
662
EOF
663
  if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
664
    :
665
  else
666
    echo
667
    echo "Error: Could not find alsa"
668
    echo "Make sure to have the alsa libs and headers installed."
669
    echo
670
    exit 1
671
  fi
672
fi
673

    
674
# Check if tools are available to build documentation.
675
if [ -x "`which texi2html 2>/dev/null`" ] && \
676
   [ -x "`which pod2man 2>/dev/null`" ]; then
677
  build_docs="yes"
678
fi
679

    
680
if test "$mingw32" = "yes" ; then
681
  if test -z "$prefix" ; then
682
      prefix="/c/Program Files/Qemu"
683
  fi
684
  mansuffix=""
685
  datasuffix=""
686
  docsuffix=""
687
  binsuffix=""
688
else
689
  if test -z "$prefix" ; then
690
      prefix="/usr/local"
691
  fi
692
  mansuffix="/share/man"
693
  datasuffix="/share/qemu"
694
  docsuffix="/share/doc/qemu"
695
  binsuffix="/bin"
696
fi
697

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

    
758
if test $sdl_too_old = "yes"; then
759
echo "-> Your SDL version is too old - please upgrade to have SDL support"
760
fi
761
if [ -s /tmp/qemu-$$-sdl-config.log ]; then
762
  echo "The error log from compiling the libSDL test is: "
763
  cat /tmp/qemu-$$-sdl-config.log
764
fi
765
rm -f /tmp/qemu-$$-sdl-config.log
766
#if test "$sdl_static" = "no"; then
767
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
768
#fi
769
config_mak="config-host.mak"
770
config_h="config-host.h"
771

    
772
#echo "Creating $config_mak and $config_h"
773

    
774
test -f $config_h && mv $config_h ${config_h}~
775

    
776
echo "# Automatically generated by configure - do not modify" > $config_mak
777
echo "# Configured with: $0 $@" >> $config_mak
778
echo "/* Automatically generated by configure - do not modify */" > $config_h
779

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

    
943
echo "SRC_PATH=$source_path" >> $config_mak
944
if [ "$source_path_used" = "yes" ]; then
945
  echo "VPATH=$source_path" >> $config_mak
946
fi
947
echo "TARGET_DIRS=$target_list" >> $config_mak
948
if [ "$build_docs" = "yes" ] ; then
949
  echo "BUILD_DOCS=yes" >> $config_mak
950
fi
951
if test "$static" = "yes"; then
952
  sdl1=$sdl_static
953
else
954
  sdl1=$sdl
955
fi
956
if test "$sdl1" = "yes" ; then
957
  echo "#define CONFIG_SDL 1" >> $config_h
958
  echo "CONFIG_SDL=yes" >> $config_mak
959
  if test "$target_softmmu" = "no" -o "$static" = "yes"; then
960
    echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
961
  else
962
    echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
963
  fi
964
  if [ "${aa}" = "yes" ] ; then
965
    echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
966
  else
967
    echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
968
  fi
969
fi
970
if test "$cocoa" = "yes" ; then
971
    echo "#define CONFIG_COCOA 1" >> $config_h
972
    echo "CONFIG_COCOA=yes" >> $config_mak
973
fi
974

    
975
# XXX: suppress that
976
if [ "$bsd" = "yes" ] ; then
977
  echo "#define O_LARGEFILE 0" >> $config_h
978
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
979
  echo "#define _BSD 1" >> $config_h
980
fi
981

    
982
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
983

    
984
tools=
985
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
986
  tools="qemu-img\$(EXESUF) $tools"
987
fi
988
echo "TOOLS=$tools" >> $config_mak
989

    
990
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
991

    
992
for target in $target_list; do
993
target_dir="$target"
994
config_mak=$target_dir/config.mak
995
config_h=$target_dir/config.h
996
target_cpu=`echo $target | cut -d '-' -f 1`
997
target_bigendian="no"
998
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
999
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
1000
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1001
[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
1002
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
1003
[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
1004
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
1005
[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
1006
[ "$target_cpu" = "mips" ] && target_bigendian=yes
1007
[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1008
[ "$target_cpu" = "mips64" ] && target_bigendian=yes
1009
[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
1010
[ "$target_cpu" = "m68k" ] && target_bigendian=yes
1011
target_softmmu="no"
1012
target_user_only="no"
1013
target_linux_user="no"
1014
target_darwin_user="no"
1015
case "$target" in
1016
  ${target_cpu}-softmmu)
1017
    target_softmmu="yes"
1018
    ;;
1019
  ${target_cpu}-linux-user)
1020
    target_user_only="yes"
1021
    target_linux_user="yes"
1022
    ;;
1023
  ${target_cpu}-darwin-user)
1024
    target_user_only="yes"
1025
    target_darwin_user="yes"
1026
    ;;
1027
  *)
1028
    echo "ERROR: Target '$target' not recognised"
1029
    exit 1
1030
    ;;
1031
esac
1032

    
1033
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1034
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
1035
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
1036
    echo "To build QEMU without graphical output configure with --disable-gfx-check"
1037
    echo "Note that this will disable all output from the virtual graphics card."
1038
    exit 1;
1039
fi
1040

    
1041
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
1042

    
1043
test -f $config_h && mv $config_h ${config_h}~
1044

    
1045
mkdir -p $target_dir
1046
mkdir -p $target_dir/fpu
1047
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
1048
  mkdir -p $target_dir/nwfpe
1049
fi
1050

    
1051
#
1052
# don't use ln -sf as not all "ln -sf" over write the file/link
1053
#
1054
rm -f $target_dir/Makefile
1055
ln -s $source_path/Makefile.target $target_dir/Makefile
1056

    
1057

    
1058
echo "# Automatically generated by configure - do not modify" > $config_mak
1059
echo "/* Automatically generated by configure - do not modify */" > $config_h
1060

    
1061

    
1062
echo "include ../config-host.mak" >> $config_mak
1063
echo "#include \"../config-host.h\"" >> $config_h
1064

    
1065
bflt="no"
1066
elfload32="no"
1067
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1068
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1069

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

    
1193
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
1194
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1195
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1196
fi
1197
if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1198
  echo "TARGET_HAS_BFLT=yes" >> $config_mak
1199
  echo "#define TARGET_HAS_BFLT 1" >> $config_h
1200
fi
1201
# 32 bit ELF loader in addition to native 64 bit loader?
1202
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1203
  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1204
  echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1205
fi
1206

    
1207
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1208

    
1209
done # for target in $targets
1210

    
1211
# build tree in object directory if source path is different from current one
1212
if test "$source_path_used" = "yes" ; then
1213
    DIRS="tests tests/cris slirp audio"
1214
    FILES="Makefile tests/Makefile"
1215
    FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1216
    for dir in $DIRS ; do
1217
            mkdir -p $dir
1218
    done
1219
    # remove the link and recreate it, as not all "ln -sf" overwrite the link
1220
    for f in $FILES ; do
1221
        rm -f $f
1222
        ln -s $source_path/$f $f
1223
    done
1224
fi
1225

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