Statistics
| Branch: | Revision:

root / configure @ cf0dbb21

History | View | Annotate | Download (35.6 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
esac
360

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

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

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

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

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

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

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

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

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

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

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

    
517

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

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

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

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

    
557
else
558

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

    
564
fi
565

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

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

    
578
##########################################
579
# SDL probe
580

    
581
sdl_too_old=no
582

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

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

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

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

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

    
642
##########################################
643
# alsa sound support libraries
644

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1034

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

    
1038

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

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

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

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

    
1182
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1183

    
1184
done # for target in $targets
1185

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

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