Statistics
| Branch: | Revision:

root / configure @ ad064840

History | View | Annotate | Download (21.1 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
host_cc="gcc"
26
ar="ar"
27
make="make"
28
strip="strip"
29
cpu=`uname -m`
30
target_list=""
31
case "$cpu" in
32
  i386|i486|i586|i686|i86pc|BePC)
33
    cpu="i386"
34
  ;;
35
  armv*b)
36
    cpu="armv4b"
37
  ;;
38
  armv*l)
39
    cpu="armv4l"
40
  ;;
41
  alpha)
42
    cpu="alpha"
43
  ;;
44
  "Power Macintosh"|ppc|ppc64)
45
    cpu="powerpc"
46
  ;;
47
  mips)
48
    cpu="mips"
49
  ;;
50
  s390)
51
    cpu="s390"
52
  ;;
53
  sparc)
54
    cpu="sparc"
55
  ;;
56
  sparc64)
57
    cpu="sparc64"
58
  ;;
59
  ia64)
60
    cpu="ia64"
61
  ;;
62
  m68k)
63
    cpu="m68k"
64
  ;;
65
  x86_64|amd64)
66
    cpu="x86_64"
67
  ;;
68
  *)
69
    cpu="unknown"
70
  ;;
71
esac
72
gprof="no"
73
bigendian="no"
74
mingw32="no"
75
EXESUF=""
76
gdbstub="yes"
77
slirp="yes"
78
adlib="no"
79
oss="no"
80
dsound="no"
81
coreaudio="no"
82
alsa="no"
83
fmod="no"
84
fmod_lib=""
85
fmod_inc=""
86
linux="no"
87
kqemu="no"
88
profiler="no"
89
kernel_path=""
90
cocoa="no"
91
check_gfx="yes"
92
check_gcc="yes"
93
softmmu="yes"
94
user="no"
95

    
96
# OS specific
97
targetos=`uname -s`
98
case $targetos in
99
CYGWIN*)
100
mingw32="yes"
101
CFLAGS="-O2 -mno-cygwin"
102
;;
103
MINGW32*)
104
mingw32="yes"
105
;;
106
FreeBSD)
107
bsd="yes"
108
oss="yes"
109
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
110
    kqemu="yes"
111
fi
112
;;
113
NetBSD)
114
bsd="yes"
115
oss="yes"
116
;;
117
OpenBSD)
118
bsd="yes"
119
oss="yes"
120
;;
121
Darwin)
122
bsd="yes"
123
darwin="yes"
124
;;
125
*)
126
oss="yes"
127
linux="yes"
128
user="yes"
129
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
130
    kqemu="yes"
131
fi
132
;;
133
esac
134

    
135
if [ "$bsd" = "yes" ] ; then
136
  if [ ! "$darwin" = "yes" ] ; then
137
    make="gmake"
138
  fi
139
fi
140

    
141
# find source path
142
source_path=`dirname "$0"`
143
if [ -z "$source_path" ]; then
144
    source_path=`pwd`
145
else
146
    source_path=`cd "$source_path"; pwd`
147
fi
148
if test "$source_path" = `pwd` ; then
149
    source_path_used="no"
150
else
151
    source_path_used="yes"
152
fi
153

    
154
for opt do
155
  case "$opt" in
156
  --help|-h) show_help=yes
157
  ;;
158
  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
159
  ;;
160
  --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
161
  ;;
162
  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
163
  source_path_used="yes"
164
  ;;
165
  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
166
  ;;
167
  --cc=*) cc=`echo $opt | cut -d '=' -f 2`
168
  ;;
169
  --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
170
  ;;
171
  --make=*) make=`echo $opt | cut -d '=' -f 2`
172
  ;;
173
  --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
174
  ;;
175
  --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
176
  ;;
177
  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
178
  ;;
179
  --target-list=*) target_list=${opt#--target-list=}
180
  ;;
181
  --enable-gprof) gprof="yes"
182
  ;;
183
  --static) static="yes"
184
  ;;
185
  --disable-sdl) sdl="no"
186
  ;;
187
  --enable-coreaudio) coreaudio="yes"
188
  ;;
189
  --enable-alsa) alsa="yes"
190
  ;;
191
  --enable-dsound) dsound="yes"
192
  ;;
193
  --enable-fmod) fmod="yes"
194
  ;;
195
  --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
196
  ;;
197
  --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
198
  ;;
199
  --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
200
  ;;
201
  --disable-slirp) slirp="no"
202
  ;;
203
  --enable-adlib) adlib="yes"
204
  ;;
205
  --disable-kqemu) kqemu="no"
206
  ;;
207
  --enable-profiler) profiler="yes"
208
  ;;
209
  --kernel-path=*) kernel_path=${opt#--kernel-path=}
210
  ;;
211
  --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
212
  ;;
213
  --disable-gfx-check) check_gfx="no"
214
  ;;
215
  --disable-gcc-check) check_gcc="no"
216
  ;;
217
  --disable-system) softmmu="no"
218
  ;;
219
  --enable-system) softmmu="yes"
220
  ;;
221
  --disable-user) user="no"
222
  ;;
223
  --enable-user) user="yes"
224
  ;;
225
  esac
226
done
227

    
228
# Checking for CFLAGS
229
if test -z "$CFLAGS"; then
230
    CFLAGS="-O2"
231
fi
232

    
233
if test x"$show_help" = x"yes" ; then
234
cat << EOF
235

    
236
Usage: configure [options]
237
Options: [defaults in brackets after descriptions]
238

    
239
EOF
240
echo "Standard options:"
241
echo "  --help                   print this message"
242
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
243
echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
244
echo "                           use %M for cpu name [$interp_prefix]"
245
echo "  --target-list=LIST       set target list [$target_list]"
246
echo ""
247
echo "kqemu kernel acceleration support:"
248
echo "  --disable-kqemu          disable kqemu support"
249
echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
250
echo ""
251
echo "Advanced options (experts only):"
252
echo "  --source-path=PATH       path of source code [$source_path]"
253
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
254
echo "  --cc=CC                  use C compiler CC [$cc]"
255
echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
256
echo "  --make=MAKE              use specified make [$make]"
257
echo "  --static                 enable static build [$static]"
258
echo "  --enable-cocoa           enable COCOA (Mac OS X only)"
259
echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
260
echo "  --enable-adlib           enable Adlib emulation"
261
echo "  --enable-coreaudio       enable Coreaudio audio driver"
262
echo "  --enable-alsa            enable ALSA audio driver"
263
echo "  --enable-fmod            enable FMOD audio driver"
264
echo "  --enabled-dsound         enable DirectSound audio driver"
265
echo "  --enable-system          enable all system emulation targets"
266
echo "  --disable-system         disable all system emulation targets"
267
echo "  --enable-user            enable all linux usermode emulation targets"
268
echo "  --disable-user           disable all linux usermode emulation targets"
269
echo "  --fmod-lib               path to FMOD library"
270
echo "  --fmod-inc               path to FMOD includes"
271
echo ""
272
echo "NOTE: The object files are build at the place where configure is launched"
273
exit 1
274
fi
275

    
276
cc="${cross_prefix}${cc}"
277
ar="${cross_prefix}${ar}"
278
strip="${cross_prefix}${strip}"
279

    
280
if test "$mingw32" = "yes" ; then
281
    linux="no"
282
    EXESUF=".exe"
283
    gdbstub="no"
284
    oss="no"
285
    if [ "$cpu" = "i386" ] ; then
286
        kqemu="yes"
287
    fi
288
fi
289

    
290
if test -z "$target_list" ; then
291
# these targets are portable
292
    if [ "$softmmu" = "yes" ] ; then
293
        target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
294
    fi
295
# the following are Linux specific
296
    if [ "$user" = "yes" ] ; then
297
        target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
298
    fi
299
else
300
    target_list=$(echo "$target_list" | sed -e 's/,/ /g')
301
fi
302
if test -z "$target_list" ; then
303
    echo "No targets enabled"
304
    exit 1
305
fi
306

    
307
if test -z "$cross_prefix" ; then
308

    
309
# ---
310
# big/little endian test
311
cat > $TMPC << EOF
312
#include <inttypes.h>
313
int main(int argc, char ** argv){
314
        volatile uint32_t i=0x01234567;
315
        return (*((uint8_t*)(&i))) == 0x67;
316
}
317
EOF
318

    
319
if $cc -o $TMPE $TMPC 2>/dev/null ; then
320
$TMPE && bigendian="yes"
321
else
322
echo big/little test failed
323
fi
324

    
325
else
326

    
327
# if cross compiling, cannot launch a program, so make a static guess
328
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
329
    bigendian="yes"
330
fi
331

    
332
fi
333

    
334
# host long bits test
335
hostlongbits="32"
336
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
337
    hostlongbits="64"
338
fi
339

    
340
# check gcc options support
341
cat > $TMPC <<EOF
342
int main(void) {
343
}
344
EOF
345

    
346
have_gcc3_options="no"
347
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
348
   have_gcc3_options="yes"
349
fi
350

    
351
# Check for gcc4
352
if test "$check_gcc" = "yes" ; then
353
    cat > $TMPC <<EOF
354
#if __GNUC__ >= 4
355
#error gcc4
356
#endif
357
int main(){return 0;}
358
EOF
359
    if ! $cc -o $TMPO $TMPC 2>/dev/null ; then
360
        echo "ERROR: \"$cc\" looks like gcc 4.x"
361
        echo "QEMU is known to have problems when compiled with gcc 4.x"
362
        echo "It is recommended that you use gcc 3.x to build QEMU"
363
        echo "To use this compiler anyway, configure with --disable-gcc-check"
364
        exit 1;
365
    fi
366
fi
367

    
368
##########################################
369
# SDL probe
370

    
371
sdl_too_old=no
372

    
373
if test -z "$sdl" ; then
374

    
375
sdl_config="sdl-config"
376
sdl=no
377
sdl_static=no
378

    
379
if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
380
# win32 cross compilation case
381
    sdl_config="i386-mingw32msvc-sdl-config"
382
    sdl=yes
383
else
384
# normal SDL probe
385
cat > $TMPC << EOF
386
#include <SDL.h>
387
#undef main /* We don't want SDL to override our main() */
388
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
389
EOF
390

    
391
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
392
_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
393
if test "$_sdlversion" -lt 121 ; then
394
sdl_too_old=yes
395
else
396
sdl=yes
397
fi
398

    
399
# static link with sdl ?
400
if test "$sdl" = "yes" ; then
401
aa="no"
402
`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
403
sdl_static_libs=`$sdl_config --static-libs`
404
if [ "$aa" = "yes" ] ; then
405
  sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
406
fi
407

    
408
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
409
  sdl_static=yes
410
fi
411

    
412
fi # static link
413

    
414
fi # sdl compile test
415

    
416
fi # cross compilation
417
fi # -z $sdl
418

    
419
if test "$mingw32" = "yes" ; then
420
if test -z "$prefix" ; then
421
    prefix="/c/Program Files/Qemu"
422
fi
423
mandir="$prefix"
424
datadir="$prefix"
425
docdir="$prefix"
426
bindir="$prefix"
427
else
428
if test -z "$prefix" ; then
429
    prefix="/usr/local"
430
fi
431
mandir="$prefix/share/man"
432
datadir="$prefix/share/qemu"
433
docdir="$prefix/share/doc/qemu"
434
bindir="$prefix/bin"
435
fi
436

    
437
echo "Install prefix    $prefix"
438
echo "BIOS directory    $datadir"
439
echo "binary directory  $bindir"
440
if test "$mingw32" = "no" ; then
441
echo "Manual directory  $mandir"
442
echo "ELF interp prefix $interp_prefix"
443
fi
444
echo "Source path       $source_path"
445
echo "C compiler        $cc"
446
echo "Host C compiler   $host_cc"
447
echo "make              $make"
448
echo "host CPU          $cpu"
449
echo "host big endian   $bigendian"
450
echo "target list       $target_list"
451
echo "gprof enabled     $gprof"
452
echo "profiler          $profiler"
453
echo "static build      $static"
454
if test "$darwin" = "yes" ; then
455
    echo "Cocoa support     $cocoa"
456
fi
457
echo "SDL support       $sdl"
458
if test "$sdl" != "no" ; then
459
    echo "SDL static link   $sdl_static"
460
fi
461
echo "mingw32 support   $mingw32"
462
echo "Adlib support     $adlib"
463
echo "CoreAudio support $coreaudio"
464
echo "ALSA support      $alsa"
465
echo "DSound support    $dsound"
466
echo -n "FMOD support      $fmod"
467
if test "$fmod" = "yes"; then
468
    if test -z $fmod_lib || test -z $fmod_inc; then
469
        echo
470
        echo "Error: You must specify path to FMOD library and headers"
471
        echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
472
        echo
473
        exit 1
474
    fi
475
    echo -n " (lib='$fmod_lib' include='$fmod_inc')"
476
fi
477
echo ""
478
echo "kqemu support     $kqemu"
479

    
480
if test $sdl_too_old = "yes"; then
481
echo "-> Your SDL version is too old - please upgrade to have SDL support"
482
fi
483
#if test "$sdl_static" = "no"; then
484
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
485
#fi
486

    
487
config_mak="config-host.mak"
488
config_h="config-host.h"
489

    
490
#echo "Creating $config_mak and $config_h"
491

    
492
echo "# Automatically generated by configure - do not modify" > $config_mak
493
echo "# Configured with: $0 $@" >> $config_mak
494
echo "/* Automatically generated by configure - do not modify */" > $config_h
495

    
496
echo "prefix=$prefix" >> $config_mak
497
echo "bindir=$bindir" >> $config_mak
498
echo "mandir=$mandir" >> $config_mak
499
echo "datadir=$datadir" >> $config_mak
500
echo "docdir=$docdir" >> $config_mak
501
echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
502
echo "MAKE=$make" >> $config_mak
503
echo "CC=$cc" >> $config_mak
504
if test "$have_gcc3_options" = "yes" ; then
505
  echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
506
fi
507
echo "HOST_CC=$host_cc" >> $config_mak
508
echo "AR=$ar" >> $config_mak
509
echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
510
echo "CFLAGS=$CFLAGS" >> $config_mak
511
echo "LDFLAGS=$LDFLAGS" >> $config_mak
512
echo "EXESUF=$EXESUF" >> $config_mak
513
if test "$cpu" = "i386" ; then
514
  echo "ARCH=i386" >> $config_mak
515
  echo "#define HOST_I386 1" >> $config_h
516
elif test "$cpu" = "x86_64" ; then
517
  echo "ARCH=x86_64" >> $config_mak
518
  echo "#define HOST_X86_64 1" >> $config_h
519
elif test "$cpu" = "armv4b" ; then
520
  echo "ARCH=arm" >> $config_mak
521
  echo "#define HOST_ARM 1" >> $config_h
522
elif test "$cpu" = "armv4l" ; then
523
  echo "ARCH=arm" >> $config_mak
524
  echo "#define HOST_ARM 1" >> $config_h
525
elif test "$cpu" = "powerpc" ; then
526
  echo "ARCH=ppc" >> $config_mak
527
  echo "#define HOST_PPC 1" >> $config_h
528
elif test "$cpu" = "mips" ; then
529
  echo "ARCH=mips" >> $config_mak
530
  echo "#define HOST_MIPS 1" >> $config_h
531
elif test "$cpu" = "s390" ; then
532
  echo "ARCH=s390" >> $config_mak
533
  echo "#define HOST_S390 1" >> $config_h
534
elif test "$cpu" = "alpha" ; then
535
  echo "ARCH=alpha" >> $config_mak
536
  echo "#define HOST_ALPHA 1" >> $config_h
537
elif test "$cpu" = "sparc" ; then
538
  echo "ARCH=sparc" >> $config_mak
539
  echo "#define HOST_SPARC 1" >> $config_h
540
elif test "$cpu" = "sparc64" ; then
541
  echo "ARCH=sparc64" >> $config_mak
542
  echo "#define HOST_SPARC64 1" >> $config_h
543
elif test "$cpu" = "ia64" ; then
544
  echo "ARCH=ia64" >> $config_mak
545
  echo "#define HOST_IA64 1" >> $config_h
546
elif test "$cpu" = "m68k" ; then
547
  echo "ARCH=m68k" >> $config_mak
548
  echo "#define HOST_M68K 1" >> $config_h
549
else
550
  echo "Unsupported CPU"
551
  exit 1
552
fi
553
if test "$bigendian" = "yes" ; then
554
  echo "WORDS_BIGENDIAN=yes" >> $config_mak
555
  echo "#define WORDS_BIGENDIAN 1" >> $config_h
556
fi
557
echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
558
if test "$mingw32" = "yes" ; then
559
  echo "CONFIG_WIN32=yes" >> $config_mak
560
  echo "#define CONFIG_WIN32 1" >> $config_h
561
elif test -f "/usr/include/byteswap.h" ; then
562
  echo "#define HAVE_BYTESWAP_H 1" >> $config_h
563
fi
564
if test "$darwin" = "yes" ; then
565
  echo "CONFIG_DARWIN=yes" >> $config_mak
566
  echo "#define CONFIG_DARWIN 1" >> $config_h
567
fi
568
if test "$gdbstub" = "yes" ; then
569
  echo "CONFIG_GDBSTUB=yes" >> $config_mak
570
  echo "#define CONFIG_GDBSTUB 1" >> $config_h
571
fi
572
if test "$gprof" = "yes" ; then
573
  echo "TARGET_GPROF=yes" >> $config_mak
574
  echo "#define HAVE_GPROF 1" >> $config_h
575
fi
576
if test "$static" = "yes" ; then
577
  echo "CONFIG_STATIC=yes" >> $config_mak
578
  echo "#define CONFIG_STATIC 1" >> $config_h
579
fi
580
if test $profiler = "yes" ; then
581
  echo "#define CONFIG_PROFILER 1" >> $config_h
582
fi
583
if test "$slirp" = "yes" ; then
584
  echo "CONFIG_SLIRP=yes" >> $config_mak
585
  echo "#define CONFIG_SLIRP 1" >> $config_h
586
fi
587
if test "$adlib" = "yes" ; then
588
  echo "CONFIG_ADLIB=yes" >> $config_mak
589
  echo "#define CONFIG_ADLIB 1" >> $config_h
590
fi
591
if test "$oss" = "yes" ; then
592
  echo "CONFIG_OSS=yes" >> $config_mak
593
  echo "#define CONFIG_OSS 1" >> $config_h
594
fi
595
if test "$coreaudio" = "yes" ; then
596
  echo "CONFIG_COREAUDIO=yes" >> $config_mak
597
  echo "#define CONFIG_COREAUDIO 1" >> $config_h
598
fi
599
if test "$alsa" = "yes" ; then
600
  echo "CONFIG_ALSA=yes" >> $config_mak
601
  echo "#define CONFIG_ALSA 1" >> $config_h
602
fi
603
if test "$dsound" = "yes" ; then
604
  echo "CONFIG_DSOUND=yes" >> $config_mak
605
  echo "#define CONFIG_DSOUND 1" >> $config_h
606
fi
607
if test "$fmod" = "yes" ; then
608
  echo "CONFIG_FMOD=yes" >> $config_mak
609
  echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
610
  echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
611
  echo "#define CONFIG_FMOD 1" >> $config_h
612
fi
613
echo -n "VERSION=" >>$config_mak
614
head $source_path/VERSION >>$config_mak
615
echo "" >>$config_mak
616
echo -n "#define QEMU_VERSION \"" >> $config_h
617
head $source_path/VERSION >> $config_h
618
echo "\"" >> $config_h
619

    
620
echo "SRC_PATH=$source_path" >> $config_mak
621
if [ "$source_path_used" = "yes" ]; then
622
  echo "VPATH=$source_path" >> $config_mak
623
fi
624
echo "TARGET_DIRS=$target_list" >> $config_mak
625

    
626
# XXX: suppress that
627
if [ "$bsd" = "yes" ] ; then
628
  echo "#define O_LARGEFILE 0" >> $config_h
629
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
630
  echo "#define _BSD 1" >> $config_h
631
fi
632

    
633
for target in $target_list; do
634

    
635
target_dir="$target"
636
config_mak=$target_dir/config.mak
637
config_h=$target_dir/config.h
638
target_cpu=`echo $target | cut -d '-' -f 1`
639
target_bigendian="no"
640
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
641
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
642
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
643
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
644
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
645
[ "$target_cpu" = "mips" ] && target_bigendian=yes
646
target_softmmu="no"
647
if expr $target : '.*-softmmu' > /dev/null ; then
648
  target_softmmu="yes"
649
fi
650
target_user_only="no"
651
if expr $target : '.*-user' > /dev/null ; then
652
  target_user_only="yes"
653
fi
654

    
655
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
656
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
657
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
658
    echo "To build QEMU with graphical output configure with --disable-gfx-check"
659
    echo "Note that this will disable all output from the virtual graphics card."
660
    exit 1;
661
fi
662

    
663
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
664

    
665
mkdir -p $target_dir
666
mkdir -p $target_dir/fpu
667
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
668
  mkdir -p $target_dir/nwfpe
669
fi
670
if test "$target_user_only" = "no" ; then
671
  mkdir -p $target_dir/slirp
672
fi
673

    
674
ln -sf $source_path/Makefile.target $target_dir/Makefile
675

    
676
echo "# Automatically generated by configure - do not modify" > $config_mak
677
echo "/* Automatically generated by configure - do not modify */" > $config_h
678

    
679

    
680
echo "include ../config-host.mak" >> $config_mak
681
echo "#include \"../config-host.h\"" >> $config_h
682

    
683
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
684
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
685

    
686
if test "$target_cpu" = "i386" ; then
687
  echo "TARGET_ARCH=i386" >> $config_mak
688
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
689
  echo "#define TARGET_I386 1" >> $config_h
690
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
691
    echo "#define USE_KQEMU 1" >> $config_h
692
  fi
693
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
694
  echo "TARGET_ARCH=arm" >> $config_mak
695
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
696
  echo "#define TARGET_ARM 1" >> $config_h
697
elif test "$target_cpu" = "sparc" ; then
698
  echo "TARGET_ARCH=sparc" >> $config_mak
699
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
700
  echo "#define TARGET_SPARC 1" >> $config_h
701
elif test "$target_cpu" = "sparc64" ; then
702
  echo "TARGET_ARCH=sparc64" >> $config_mak
703
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
704
  echo "#define TARGET_SPARC 1" >> $config_h
705
  echo "#define TARGET_SPARC64 1" >> $config_h
706
elif test "$target_cpu" = "ppc" ; then
707
  echo "TARGET_ARCH=ppc" >> $config_mak
708
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
709
  echo "#define TARGET_PPC 1" >> $config_h
710
elif test "$target_cpu" = "ppc64" ; then
711
  echo "TARGET_ARCH=ppc64" >> $config_mak
712
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
713
  echo "#define TARGET_PPC 1" >> $config_h
714
  echo "#define TARGET_PPC64 1" >> $config_h
715
elif test "$target_cpu" = "x86_64" ; then
716
  echo "TARGET_ARCH=x86_64" >> $config_mak
717
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
718
  echo "#define TARGET_I386 1" >> $config_h
719
  echo "#define TARGET_X86_64 1" >> $config_h
720
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
721
    echo "#define USE_KQEMU 1" >> $config_h
722
  fi
723
elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
724
  echo "TARGET_ARCH=mips" >> $config_mak
725
  echo "#define TARGET_ARCH \"mips\"" >> $config_h
726
  echo "#define TARGET_MIPS 1" >> $config_h
727
else
728
  echo "Unsupported target CPU"
729
  exit 1
730
fi
731
if test "$target_bigendian" = "yes" ; then
732
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
733
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
734
fi
735
if test "$target_softmmu" = "yes" ; then
736
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
737
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
738
fi
739
if test "$target_user_only" = "yes" ; then
740
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
741
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
742
fi
743

    
744
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
745
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
746
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
747
fi
748
# sdl defines
749

    
750
if test "$target_user_only" = "no"; then
751
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
752
        sdl1=$sdl_static
753
    else
754
        sdl1=$sdl
755
    fi
756
    if test "$sdl1" = "yes" ; then
757
        echo "#define CONFIG_SDL 1" >> $config_h
758
        echo "CONFIG_SDL=yes" >> $config_mak
759
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
760
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
761
        else
762
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
763
        fi
764
        echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
765
        if [ "${aa}" = "yes" ] ; then
766
            echo -n " `aalib-config --cflags`" >> $config_mak ;
767
        fi
768
        echo "" >> $config_mak
769
    fi
770
fi
771

    
772
if test "$cocoa" = "yes" ; then
773
    echo "#define CONFIG_COCOA 1" >> $config_h
774
    echo "CONFIG_COCOA=yes" >> $config_mak
775
fi
776

    
777
done # for target in $targets
778

    
779
# build tree in object directory if source path is different from current one
780
if test "$source_path_used" = "yes" ; then
781
    DIRS="tests"
782
    FILES="Makefile tests/Makefile"
783
    for dir in $DIRS ; do
784
            mkdir -p $dir
785
    done
786
    for f in $FILES ; do
787
        ln -sf $source_path/$f $f
788
    done
789
fi
790

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