Statistics
| Branch: | Revision:

root / configure @ fe8f78e4

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
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
    AIOLIBS="-lrt"
316
fi
317

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

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

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

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

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

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

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

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

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

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

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

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

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

    
500

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

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

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

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

    
540
else
541

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

    
547
fi
548

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

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

    
561
##########################################
562
# SDL probe
563

    
564
sdl_too_old=no
565

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

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

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

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

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

    
625
##########################################
626
# alsa sound support libraries
627

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
997

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

    
1001

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

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

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

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

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

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

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

    
1180
done # for target in $targets
1181

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

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