Statistics
| Branch: | Revision:

root / configure @ 4259e1a5

History | View | Annotate | Download (35.7 kB)

1
#!/bin/sh
2
#
3
# qemu configure script (c) 2003 Fabrice Bellard
4
#
5
# set temporary file name
6
if test ! -z "$TMPDIR" ; then
7
    TMPDIR1="${TMPDIR}"
8
elif test ! -z "$TEMPDIR" ; then
9
    TMPDIR1="${TEMPDIR}"
10
else
11
    TMPDIR1="/tmp"
12
fi
13

    
14
TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15
TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16
TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17
TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18

    
19
# default parameters
20
prefix=""
21
interp_prefix="/usr/gnemul/qemu-%M"
22
static="no"
23
cross_prefix=""
24
cc="gcc"
25
gcc3_search="yes"
26
gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
27
host_cc="gcc"
28
ar="ar"
29
make="make"
30
install="install"
31
strip="strip"
32
cpu=`uname -m`
33
target_list=""
34
case "$cpu" in
35
  i386|i486|i586|i686|i86pc|BePC)
36
    cpu="i386"
37
  ;;
38
  armv*b)
39
    cpu="armv4b"
40
  ;;
41
  armv*l)
42
    cpu="armv4l"
43
  ;;
44
  alpha)
45
    cpu="alpha"
46
  ;;
47
  "Power Macintosh"|ppc|ppc64)
48
    cpu="powerpc"
49
  ;;
50
  mips)
51
    cpu="mips"
52
  ;;
53
  mips64)
54
    cpu="mips64"
55
  ;;
56
  cris)
57
    cpu="cris"
58
  ;;
59
  s390*)
60
    cpu="s390"
61
  ;;
62
  sparc|sun4[cdmuv])
63
    cpu="sparc"
64
  ;;
65
  sparc64)
66
    cpu="sparc64"
67
  ;;
68
  ia64)
69
    cpu="ia64"
70
  ;;
71
  m68k)
72
    cpu="m68k"
73
  ;;
74
  x86_64|amd64)
75
    cpu="x86_64"
76
  ;;
77
  *)
78
    cpu="unknown"
79
  ;;
80
esac
81
gprof="no"
82
bigendian="no"
83
mingw32="no"
84
EXESUF=""
85
gdbstub="yes"
86
slirp="yes"
87
adlib="no"
88
oss="no"
89
dsound="no"
90
coreaudio="no"
91
alsa="no"
92
fmod="no"
93
fmod_lib=""
94
fmod_inc=""
95
vnc_tls="yes"
96
bsd="no"
97
linux="no"
98
kqemu="no"
99
profiler="no"
100
cocoa="no"
101
check_gfx="yes"
102
check_gcc="yes"
103
softmmu="yes"
104
linux_user="no"
105
darwin_user="no"
106
build_docs="no"
107
uname_release=""
108

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

    
197
if [ "$bsd" = "yes" ] ; then
198
  if [ "$darwin" != "yes" ] ; then
199
    make="gmake"
200
  fi
201
fi
202

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

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

    
312
if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
313
    AIOLIBS=
314
else
315
    # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
316
    AIOLIBS="-lrt -lpthread"
317
fi
318

    
319
# default flags for all hosts
320
CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
321
LDFLAGS="$LDFLAGS -g"
322

    
323
#
324
# If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
325
# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
326
#
327
case $cpu in
328
    sparc) if test -z "$sparc_cpu" ; then
329
               ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
330
               ARCH_LDFLAGS="-m32"
331
           else
332
               ARCH_CFLAGS="${SP_CFLAGS}"
333
               ARCH_LDFLAGS="${SP_LDFLAGS}"
334
           fi
335
           ;;
336
    sparc64) if test -z "$sparc_cpu" ; then
337
               ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
338
               ARCH_LDFLAGS="-m64"
339
           else
340
               ARCH_CFLAGS="${SP_CFLAGS}"
341
               ARCH_LDFLAGS="${SP_LDFLAGS}"
342
           fi
343
           ;;
344
esac
345

    
346
if [ "$solaris" = "yes" -a  "$cpu" = "x86_64" ] ; then
347
    CFLAGS="${CFLAGS} -m64"
348
    OS_CFLAGS="${OS_CFLAGS} -m64"
349
fi
350

    
351
if [ "$solaris" = "yes" -a  "$cpu" = "i386" ] ; then
352
    CFLAGS="${CFLAGS} -m32"
353
    OS_CFLAGS="${OS_CFLAGS} -m32"
354
fi
355

    
356
if test x"$show_help" = x"yes" ; then
357
cat << EOF
358

    
359
Usage: configure [options]
360
Options: [defaults in brackets after descriptions]
361

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

    
405
cc="${cross_prefix}${cc}"
406
ar="${cross_prefix}${ar}"
407
strip="${cross_prefix}${strip}"
408

    
409
# check that the C compiler works.
410
cat > $TMPC <<EOF
411
int main(void) {}
412
EOF
413

    
414
if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
415
  : C compiler works ok
416
else
417
    echo "ERROR: \"$cc\" either does not exist or does not work"
418
    exit 1
419
fi
420

    
421
if test "$mingw32" = "yes" ; then
422
    linux="no"
423
    EXESUF=".exe"
424
    oss="no"
425
fi
426

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

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

    
501

    
502
if test -z "$target_list" ; then
503
# these targets are portable
504
    if [ "$softmmu" = "yes" ] ; then
505
        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"
506
    fi
507
# the following are Linux specific
508
    if [ "$linux_user" = "yes" ] ; then
509
        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 ppcemb-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
510
    fi
511
# the following are Darwin specific
512
    if [ "$darwin_user" = "yes" ] ; then
513
        target_list="i386-darwin-user ppc-darwin-user $target_list"
514
    fi
515
else
516
    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
517
fi
518
if test -z "$target_list" ; then
519
    echo "No targets enabled"
520
    exit 1
521
fi
522

    
523
if test -z "$cross_prefix" ; then
524

    
525
# ---
526
# big/little endian test
527
cat > $TMPC << EOF
528
#include <inttypes.h>
529
int main(int argc, char ** argv){
530
        volatile uint32_t i=0x01234567;
531
        return (*((uint8_t*)(&i))) == 0x67;
532
}
533
EOF
534

    
535
if $cc -o $TMPE $TMPC 2> /dev/null ; then
536
$TMPE && bigendian="yes"
537
else
538
echo big/little test failed
539
fi
540

    
541
else
542

    
543
# if cross compiling, cannot launch a program, so make a static guess
544
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
545
    bigendian="yes"
546
fi
547

    
548
fi
549

    
550
# host long bits test
551
hostlongbits="32"
552
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
553
    hostlongbits="64"
554
fi
555

    
556
# check gcc options support
557
cat > $TMPC <<EOF
558
int main(void) {
559
}
560
EOF
561

    
562
##########################################
563
# SDL probe
564

    
565
sdl_too_old=no
566

    
567
if test -z "$sdl" ; then
568
    sdl_config="sdl-config"
569
    sdl=no
570
    sdl_static=no
571

    
572
    if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
573
    # win32 cross compilation case
574
        sdl_config="i386-mingw32msvc-sdl-config"
575
        sdl=yes
576
    else
577
        # normal SDL probe
578
cat > $TMPC << EOF
579
#include <SDL.h>
580
#undef main /* We don't want SDL to override our main() */
581
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
582
EOF
583
        if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
584
            _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
585
            if test "$_sdlversion" -lt 121 ; then
586
                sdl_too_old=yes
587
            else
588
                if test "$cocoa" = "no" ; then
589
                    sdl=yes
590
                fi
591
            fi
592

    
593
            # static link with sdl ?
594
            if test "$sdl" = "yes" ; then
595
                aa="no"
596
                `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
597
                sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
598
                if [ "$aa" = "yes" ] ; then
599
                    sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
600
                fi
601

    
602
                if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
603
                    sdl_static=yes
604
                fi
605
            fi # static link
606
        fi # sdl compile test
607
    fi # cross compilation
608
else
609
    # Make sure to disable cocoa if sdl was set
610
    if test "$sdl" = "yes" ; then
611
       cocoa="no"
612
       coreaudio="no"
613
    fi
614
fi # -z $sdl
615

    
616
##########################################
617
# VNC TLS detection
618
if test "$vnc_tls" = "yes" ; then
619
  `pkg-config gnutls` || vnc_tls="no"
620
fi
621
if test "$vnc_tls" = "yes" ; then
622
  vnc_tls_cflags=`pkg-config --cflags gnutls`
623
  vnc_tls_libs=`pkg-config --libs gnutls`
624
fi
625

    
626
##########################################
627
# alsa sound support libraries
628

    
629
if test "$alsa" = "yes" ; then
630
  cat > $TMPC << EOF
631
#include <alsa/asoundlib.h>
632
int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
633
EOF
634
  if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
635
    :
636
  else
637
    echo
638
    echo "Error: Could not find alsa"
639
    echo "Make sure to have the alsa libs and headers installed."
640
    echo
641
    exit 1
642
  fi
643
fi
644

    
645
# Check if tools are available to build documentation.
646
if [ -x "`which texi2html 2>/dev/null`" ] && \
647
   [ -x "`which pod2man 2>/dev/null`" ]; then
648
  build_docs="yes"
649
fi
650

    
651
if test "$mingw32" = "yes" ; then
652
  if test -z "$prefix" ; then
653
      prefix="/c/Program Files/Qemu"
654
  fi
655
  mansuffix=""
656
  datasuffix=""
657
  docsuffix=""
658
  binsuffix=""
659
else
660
  if test -z "$prefix" ; then
661
      prefix="/usr/local"
662
  fi
663
  mansuffix="/share/man"
664
  datasuffix="/share/qemu"
665
  docsuffix="/share/doc/qemu"
666
  binsuffix="/bin"
667
fi
668

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

    
726
if test $sdl_too_old = "yes"; then
727
echo "-> Your SDL version is too old - please upgrade to have SDL support"
728
fi
729
if [ -s /tmp/qemu-$$-sdl-config.log ]; then
730
  echo "The error log from compiling the libSDL test is: "
731
  cat /tmp/qemu-$$-sdl-config.log
732
fi
733
rm -f /tmp/qemu-$$-sdl-config.log
734
#if test "$sdl_static" = "no"; then
735
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
736
#fi
737
config_mak="config-host.mak"
738
config_h="config-host.h"
739

    
740
#echo "Creating $config_mak and $config_h"
741

    
742
test -f $config_h && mv $config_h ${config_h}~
743

    
744
echo "# Automatically generated by configure - do not modify" > $config_mak
745
echo "# Configured with: $0 $@" >> $config_mak
746
echo "/* Automatically generated by configure - do not modify */" > $config_h
747

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

    
903
echo "SRC_PATH=$source_path" >> $config_mak
904
if [ "$source_path_used" = "yes" ]; then
905
  echo "VPATH=$source_path" >> $config_mak
906
fi
907
echo "TARGET_DIRS=$target_list" >> $config_mak
908
if [ "$build_docs" = "yes" ] ; then
909
  echo "BUILD_DOCS=yes" >> $config_mak
910
fi
911

    
912
# XXX: suppress that
913
if [ "$bsd" = "yes" ] ; then
914
  echo "#define O_LARGEFILE 0" >> $config_h
915
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
916
  echo "#define _BSD 1" >> $config_h
917
fi
918

    
919
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
920

    
921
tools=
922
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
923
  tools="qemu-img\$(EXESUF) $tools"
924
fi
925
echo "TOOLS=$tools" >> $config_mak
926

    
927
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
928

    
929
for target in $target_list; do
930
target_dir="$target"
931
config_mak=$target_dir/config.mak
932
config_h=$target_dir/config.h
933
target_cpu=`echo $target | cut -d '-' -f 1`
934
target_bigendian="no"
935
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
936
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
937
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
938
[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
939
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
940
[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
941
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
942
[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
943
[ "$target_cpu" = "ppc64h" ] && target_bigendian=yes
944
[ "$target_cpu" = "mips" ] && target_bigendian=yes
945
[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
946
[ "$target_cpu" = "mips64" ] && target_bigendian=yes
947
[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
948
[ "$target_cpu" = "m68k" ] && target_bigendian=yes
949
target_softmmu="no"
950
target_user_only="no"
951
target_linux_user="no"
952
target_darwin_user="no"
953
case "$target" in
954
  ${target_cpu}-softmmu)
955
    target_softmmu="yes"
956
    ;;
957
  ${target_cpu}-linux-user)
958
    target_user_only="yes"
959
    target_linux_user="yes"
960
    ;;
961
  ${target_cpu}-darwin-user)
962
    target_user_only="yes"
963
    target_darwin_user="yes"
964
    ;;
965
  *)
966
    echo "ERROR: Target '$target' not recognised"
967
    exit 1
968
    ;;
969
esac
970

    
971
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
972
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
973
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
974
    echo "To build QEMU without graphical output configure with --disable-gfx-check"
975
    echo "Note that this will disable all output from the virtual graphics card."
976
    exit 1;
977
fi
978

    
979
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
980

    
981
test -f $config_h && mv $config_h ${config_h}~
982

    
983
mkdir -p $target_dir
984
mkdir -p $target_dir/fpu
985
if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
986
  mkdir -p $target_dir/nwfpe
987
fi
988
if test "$target_user_only" = "no" ; then
989
  mkdir -p $target_dir/slirp
990
fi
991

    
992
#
993
# don't use ln -sf as not all "ln -sf" over write the file/link
994
#
995
rm -f $target_dir/Makefile
996
ln -s $source_path/Makefile.target $target_dir/Makefile
997

    
998

    
999
echo "# Automatically generated by configure - do not modify" > $config_mak
1000
echo "/* Automatically generated by configure - do not modify */" > $config_h
1001

    
1002

    
1003
echo "include ../config-host.mak" >> $config_mak
1004
echo "#include \"../config-host.h\"" >> $config_h
1005

    
1006
bflt="no"
1007
elfload32="no"
1008
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1009
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1010

    
1011
if test "$target_cpu" = "i386" ; then
1012
  echo "TARGET_ARCH=i386" >> $config_mak
1013
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
1014
  echo "#define TARGET_I386 1" >> $config_h
1015
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1016
    echo "#define USE_KQEMU 1" >> $config_h
1017
  fi
1018
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1019
  echo "TARGET_ARCH=arm" >> $config_mak
1020
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
1021
  echo "#define TARGET_ARM 1" >> $config_h
1022
  bflt="yes"
1023
elif test "$target_cpu" = "sparc" ; then
1024
  echo "TARGET_ARCH=sparc" >> $config_mak
1025
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1026
  echo "#define TARGET_SPARC 1" >> $config_h
1027
elif test "$target_cpu" = "sparc64" ; then
1028
  echo "TARGET_ARCH=sparc64" >> $config_mak
1029
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1030
  echo "#define TARGET_SPARC 1" >> $config_h
1031
  echo "#define TARGET_SPARC64 1" >> $config_h
1032
  elfload32="yes"
1033
elif test "$target_cpu" = "sparc32plus" ; then
1034
  echo "TARGET_ARCH=sparc64" >> $config_mak
1035
  echo "TARGET_ABI_DIR=sparc" >> $config_mak
1036
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1037
  echo "#define TARGET_SPARC 1" >> $config_h
1038
  echo "#define TARGET_SPARC64 1" >> $config_h
1039
  echo "#define TARGET_ABI32 1" >> $config_h
1040
elif test "$target_cpu" = "ppc" ; then
1041
  echo "TARGET_ARCH=ppc" >> $config_mak
1042
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1043
  echo "#define TARGET_PPC 1" >> $config_h
1044
elif test "$target_cpu" = "ppcemb" ; then
1045
  echo "TARGET_ARCH=ppcemb" >> $config_mak
1046
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1047
  echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1048
  echo "#define TARGET_PPC 1" >> $config_h
1049
  echo "#define TARGET_PPCEMB 1" >> $config_h
1050
elif test "$target_cpu" = "ppc64" ; then
1051
  echo "TARGET_ARCH=ppc64" >> $config_mak
1052
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1053
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1054
  echo "#define TARGET_PPC 1" >> $config_h
1055
  echo "#define TARGET_PPC64 1" >> $config_h
1056
elif test "$target_cpu" = "ppc64abi32" ; then
1057
  echo "TARGET_ARCH=ppc64" >> $config_mak
1058
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1059
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1060
  echo "#define TARGET_PPC 1" >> $config_h
1061
  echo "#define TARGET_PPC64 1" >> $config_h
1062
  echo "#define TARGET_ABI32 1" >> $config_h
1063
elif test "$target_cpu" = "ppc64h" ; then
1064
  echo "TARGET_ARCH=ppc64h" >> $config_mak
1065
  echo "#define TARGET_ARCH \"ppc64h\"" >> $config_h
1066
  echo "TARGET_ABI_DIR=ppc" >> $config_mak
1067
  echo "#define TARGET_PPC 1" >> $config_h
1068
  echo "#define TARGET_PPC64 1" >> $config_h
1069
  echo "#define TARGET_PPC64H 1" >> $config_h
1070
elif test "$target_cpu" = "x86_64" ; then
1071
  echo "TARGET_ARCH=x86_64" >> $config_mak
1072
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1073
  echo "#define TARGET_I386 1" >> $config_h
1074
  echo "#define TARGET_X86_64 1" >> $config_h
1075
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
1076
    echo "#define USE_KQEMU 1" >> $config_h
1077
  fi
1078
elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1079
  echo "TARGET_ARCH=mips" >> $config_mak
1080
  echo "#define TARGET_ARCH \"mips\"" >> $config_h
1081
  echo "#define TARGET_MIPS 1" >> $config_h
1082
elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1083
  echo "TARGET_ARCH=mipsn32" >> $config_mak
1084
  echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1085
  echo "#define TARGET_MIPS 1" >> $config_h
1086
  echo "#define TARGET_MIPSN32 1" >> $config_h
1087
elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1088
  echo "TARGET_ARCH=mips64" >> $config_mak
1089
  echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1090
  echo "#define TARGET_MIPS 1" >> $config_h
1091
  echo "#define TARGET_MIPS64 1" >> $config_h
1092
elif test "$target_cpu" = "cris" ; then
1093
  echo "TARGET_ARCH=cris" >> $config_mak
1094
  echo "#define TARGET_ARCH \"cris\"" >> $config_h
1095
  echo "#define TARGET_CRIS 1" >> $config_h
1096
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1097
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1098
elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1099
  echo "TARGET_ARCH=sh4" >> $config_mak
1100
  echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1101
  echo "#define TARGET_SH4 1" >> $config_h
1102
  bflt="yes"
1103
elif test "$target_cpu" = "m68k" ; then
1104
  echo "TARGET_ARCH=m68k" >> $config_mak
1105
  echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1106
  echo "#define TARGET_M68K 1" >> $config_h
1107
  bflt="yes"
1108
elif test "$target_cpu" = "alpha" ; then
1109
  echo "TARGET_ARCH=alpha" >> $config_mak
1110
  echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1111
  echo "#define TARGET_ALPHA 1" >> $config_h
1112
else
1113
  echo "Unsupported target CPU"
1114
  exit 1
1115
fi
1116
if test "$target_bigendian" = "yes" ; then
1117
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1118
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1119
fi
1120
if test "$target_softmmu" = "yes" ; then
1121
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
1122
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
1123
fi
1124
if test "$target_user_only" = "yes" ; then
1125
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
1126
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
1127
fi
1128
if test "$target_linux_user" = "yes" ; then
1129
  echo "CONFIG_LINUX_USER=yes" >> $config_mak
1130
  echo "#define CONFIG_LINUX_USER 1" >> $config_h
1131
fi
1132
if test "$target_darwin_user" = "yes" ; then
1133
  echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1134
  echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1135
fi
1136

    
1137
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
1138
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1139
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1140
fi
1141
if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1142
  echo "TARGET_HAS_BFLT=yes" >> $config_mak
1143
  echo "#define TARGET_HAS_BFLT 1" >> $config_h
1144
fi
1145
# 32 bit ELF loader in addition to native 64 bit loader?
1146
if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1147
  echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1148
  echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1149
fi
1150
# sdl defines
1151

    
1152
if test "$target_user_only" = "no"; then
1153
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1154
        sdl1=$sdl_static
1155
    else
1156
        sdl1=$sdl
1157
    fi
1158
    if test "$sdl1" = "yes" ; then
1159
        echo "#define CONFIG_SDL 1" >> $config_h
1160
        echo "CONFIG_SDL=yes" >> $config_mak
1161
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1162
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1163
        else
1164
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1165
        fi
1166
        if [ "${aa}" = "yes" ] ; then
1167
            echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1168
        else
1169
            echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1170
        fi
1171
    fi
1172
fi
1173

    
1174
if test "$cocoa" = "yes" ; then
1175
    echo "#define CONFIG_COCOA 1" >> $config_h
1176
    echo "CONFIG_COCOA=yes" >> $config_mak
1177
fi
1178

    
1179
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1180

    
1181
done # for target in $targets
1182

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

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