Statistics
| Branch: | Revision:

root / configure @ 76d83bde

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
    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
fi
368

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

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

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

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

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

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

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

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

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

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

    
520

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

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

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

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

    
560
else
561

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

    
567
fi
568

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

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

    
581
##########################################
582
# SDL probe
583

    
584
sdl_too_old=no
585

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

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

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

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

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

    
645
##########################################
646
# alsa sound support libraries
647

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1037

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

    
1041

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

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

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

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

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

    
1187
done # for target in $targets
1188

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

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