Statistics
| Branch: | Revision:

root / configure @ 38260998

History | View | Annotate | Download (20.5 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

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

    
132
if [ "$bsd" = "yes" ] ; then
133
  if [ ! "$darwin" = "yes" ] ; then
134
    make="gmake"
135
  fi
136
fi
137

    
138
# find source path
139
# XXX: we assume an absolute path is given when launching configure,
140
# except in './configure' case.
141
source_path=${0%configure}
142
source_path=${source_path%/}
143
source_path_used="yes"
144
if test -z "$source_path" -o "$source_path" = "." ; then
145
    source_path=`pwd`
146
    source_path_used="no"
147
fi
148

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

    
214
# Checking for CFLAGS
215
if test -z "$CFLAGS"; then
216
    CFLAGS="-O2"
217
fi
218

    
219
cc="${cross_prefix}${cc}"
220
ar="${cross_prefix}${ar}"
221
strip="${cross_prefix}${strip}"
222

    
223
if test "$mingw32" = "yes" ; then
224
    linux="no"
225
    EXESUF=".exe"
226
    gdbstub="no"
227
    oss="no"
228
    if [ "$cpu" = "i386" ] ; then
229
        kqemu="yes"
230
    fi
231
fi
232

    
233
if test -z "$target_list" ; then
234
# these targets are portable
235
    target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
236
# the following are Linux specific
237
    if [ "$linux" = "yes" ] ; then
238
        target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
239
    fi
240
else
241
    target_list=$(echo "$target_list" | sed -e 's/,/ /g')
242
fi
243

    
244
if test -z "$cross_prefix" ; then
245

    
246
# ---
247
# big/little endian test
248
cat > $TMPC << EOF
249
#include <inttypes.h>
250
int main(int argc, char ** argv){
251
        volatile uint32_t i=0x01234567;
252
        return (*((uint8_t*)(&i))) == 0x67;
253
}
254
EOF
255

    
256
if $cc -o $TMPE $TMPC 2>/dev/null ; then
257
$TMPE && bigendian="yes"
258
else
259
echo big/little test failed
260
fi
261

    
262
else
263

    
264
# if cross compiling, cannot launch a program, so make a static guess
265
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
266
    bigendian="yes"
267
fi
268

    
269
fi
270

    
271
# host long bits test
272
hostlongbits="32"
273
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
274
    hostlongbits="64"
275
fi
276

    
277
# check gcc options support
278
cat > $TMPC <<EOF
279
int main(void) {
280
}
281
EOF
282

    
283
have_gcc3_options="no"
284
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
285
   have_gcc3_options="yes"
286
fi
287

    
288
# Check for gcc4
289
if test "$check_gcc" = "yes" ; then
290
    cat > $TMPC <<EOF
291
#if __GNUC__ >= 4
292
#error gcc4
293
#endif
294
int main(){return 0;}
295
EOF
296
    if ! $cc -o $TMPO $TMPC 2>/dev/null ; then
297
        echo "ERROR: \"$cc\" looks like gcc 4.x"
298
        echo "QEMU is known to have problems when compiled with gcc 4.x"
299
        echo "It is recommended that you use gcc 3.x to build QEMU"
300
        echo "To use this compiler anyway, configure with --disable-gcc-check"
301
        exit 1;
302
    fi
303
fi
304

    
305
##########################################
306
# SDL probe
307

    
308
sdl_too_old=no
309

    
310
if test -z "$sdl" ; then
311

    
312
sdl_config="sdl-config"
313
sdl=no
314
sdl_static=no
315

    
316
if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
317
# win32 cross compilation case
318
    sdl_config="i386-mingw32msvc-sdl-config"
319
    sdl=yes
320
else
321
# normal SDL probe
322
cat > $TMPC << EOF
323
#include <SDL.h>
324
#undef main /* We don't want SDL to override our main() */
325
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
326
EOF
327

    
328
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
329
_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
330
if test "$_sdlversion" -lt 121 ; then
331
sdl_too_old=yes
332
else
333
sdl=yes
334
fi
335

    
336
# static link with sdl ?
337
if test "$sdl" = "yes" ; then
338
aa="no"
339
`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
340
sdl_static_libs=`$sdl_config --static-libs`
341
if [ "$aa" = "yes" ] ; then
342
  sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
343
fi
344

    
345
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
346
  sdl_static=yes
347
fi
348

    
349
fi # static link
350

    
351
fi # sdl compile test
352

    
353
fi # cross compilation
354
fi # -z $sdl
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 "  --kernel-path=PATH       set the kernel path (configure probes it)"
373
echo ""
374
echo "Advanced options (experts only):"
375
echo "  --source-path=PATH       path of source code [$source_path]"
376
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
377
echo "  --cc=CC                  use C compiler CC [$cc]"
378
echo "  --host-cc=CC             use C compiler CC [$host_cc] for dyngen etc."
379
echo "  --make=MAKE              use specified make [$make]"
380
echo "  --static                 enable static build [$static]"
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 "  --enabled-dsound         enable DirectSound audio driver"
388
echo "  --fmod-lib               path to FMOD library"
389
echo "  --fmod-inc               path to FMOD includes"
390
echo ""
391
echo "NOTE: The object files are build at the place where configure is launched"
392
exit 1
393
fi
394

    
395
if test "$mingw32" = "yes" ; then
396
if test -z "$prefix" ; then
397
    prefix="/c/Program Files/Qemu"
398
fi
399
mandir="$prefix"
400
datadir="$prefix"
401
docdir="$prefix"
402
bindir="$prefix"
403
else
404
if test -z "$prefix" ; then
405
    prefix="/usr/local"
406
fi
407
mandir="$prefix/share/man"
408
datadir="$prefix/share/qemu"
409
docdir="$prefix/share/doc/qemu"
410
bindir="$prefix/bin"
411
fi
412

    
413
echo "Install prefix    $prefix"
414
echo "BIOS directory    $datadir"
415
echo "binary directory  $bindir"
416
if test "$mingw32" = "no" ; then
417
echo "Manual directory  $mandir"
418
echo "ELF interp prefix $interp_prefix"
419
fi
420
echo "Source path       $source_path"
421
echo "C compiler        $cc"
422
echo "Host C compiler   $host_cc"
423
echo "make              $make"
424
echo "host CPU          $cpu"
425
echo "host big endian   $bigendian"
426
echo "target list       $target_list"
427
echo "gprof enabled     $gprof"
428
echo "profiler          $profiler"
429
echo "static build      $static"
430
if test "$darwin" = "yes" ; then
431
    echo "Cocoa support     $cocoa"
432
fi
433
echo "SDL support       $sdl"
434
if test "$sdl" != "no" ; then
435
    echo "SDL static link   $sdl_static"
436
fi
437
echo "mingw32 support   $mingw32"
438
echo "Adlib support     $adlib"
439
echo "CoreAudio support $coreaudio"
440
echo "ALSA support      $alsa"
441
echo "DSound support    $dsound"
442
echo -n "FMOD support      $fmod"
443
if test "$fmod" = "yes"; then
444
    if test -z $fmod_lib || test -z $fmod_inc; then
445
        echo
446
        echo "Error: You must specify path to FMOD library and headers"
447
        echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
448
        echo
449
        exit 1
450
    fi
451
    echo -n " (lib='$fmod_lib' include='$fmod_inc')"
452
fi
453
echo ""
454
echo "kqemu support     $kqemu"
455

    
456
if test $sdl_too_old = "yes"; then
457
echo "-> Your SDL version is too old - please upgrade to have SDL support"
458
fi
459
#if test "$sdl_static" = "no"; then
460
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
461
#fi
462

    
463
config_mak="config-host.mak"
464
config_h="config-host.h"
465

    
466
#echo "Creating $config_mak and $config_h"
467

    
468
echo "# Automatically generated by configure - do not modify" > $config_mak
469
echo "# Configured with: $0 $@" >> $config_mak
470
echo "/* Automatically generated by configure - do not modify */" > $config_h
471

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

    
596
echo "SRC_PATH=$source_path" >> $config_mak
597
echo "TARGET_DIRS=$target_list" >> $config_mak
598

    
599
# XXX: suppress that
600
if [ "$bsd" = "yes" ] ; then
601
  echo "#define O_LARGEFILE 0" >> $config_h
602
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
603
  echo "#define _BSD 1" >> $config_h
604
fi
605

    
606
for target in $target_list; do
607

    
608
target_dir="$target"
609
config_mak=$target_dir/config.mak
610
config_h=$target_dir/config.h
611
target_cpu=`echo $target | cut -d '-' -f 1`
612
target_bigendian="no"
613
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
614
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
615
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
616
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
617
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
618
[ "$target_cpu" = "mips" ] && target_bigendian=yes
619
target_softmmu="no"
620
if expr $target : '.*-softmmu' > /dev/null ; then
621
  target_softmmu="yes"
622
fi
623
target_user_only="no"
624
if expr $target : '.*-user' > /dev/null ; then
625
  target_user_only="yes"
626
fi
627

    
628
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
629
        -a "$sdl" = "no" -a "$cocoa" = "no" ; then
630
    echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
631
    echo "To build QEMU with graphical output configure with --disable-gfx-check"
632
    echo "Note that this will disable all output from the virtual graphics card."
633
    exit 1;
634
fi
635

    
636
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
637

    
638
mkdir -p $target_dir
639
mkdir -p $target_dir/fpu
640
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
641
  mkdir -p $target_dir/nwfpe
642
fi
643
if test "$target_user_only" = "no" ; then
644
  mkdir -p $target_dir/slirp
645
fi
646

    
647
ln -sf $source_path/Makefile.target $target_dir/Makefile
648

    
649
echo "# Automatically generated by configure - do not modify" > $config_mak
650
echo "/* Automatically generated by configure - do not modify */" > $config_h
651

    
652

    
653
echo "include ../config-host.mak" >> $config_mak
654
echo "#include \"../config-host.h\"" >> $config_h
655

    
656
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
657
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
658

    
659
if test "$target_cpu" = "i386" ; then
660
  echo "TARGET_ARCH=i386" >> $config_mak
661
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
662
  echo "#define TARGET_I386 1" >> $config_h
663
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
664
    echo "#define USE_KQEMU 1" >> $config_h
665
  fi
666
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
667
  echo "TARGET_ARCH=arm" >> $config_mak
668
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
669
  echo "#define TARGET_ARM 1" >> $config_h
670
elif test "$target_cpu" = "sparc" ; then
671
  echo "TARGET_ARCH=sparc" >> $config_mak
672
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
673
  echo "#define TARGET_SPARC 1" >> $config_h
674
elif test "$target_cpu" = "sparc64" ; then
675
  echo "TARGET_ARCH=sparc64" >> $config_mak
676
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
677
  echo "#define TARGET_SPARC 1" >> $config_h
678
  echo "#define TARGET_SPARC64 1" >> $config_h
679
elif test "$target_cpu" = "ppc" ; then
680
  echo "TARGET_ARCH=ppc" >> $config_mak
681
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
682
  echo "#define TARGET_PPC 1" >> $config_h
683
elif test "$target_cpu" = "ppc64" ; then
684
  echo "TARGET_ARCH=ppc64" >> $config_mak
685
  echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
686
  echo "#define TARGET_PPC 1" >> $config_h
687
  echo "#define TARGET_PPC64 1" >> $config_h
688
elif test "$target_cpu" = "x86_64" ; then
689
  echo "TARGET_ARCH=x86_64" >> $config_mak
690
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
691
  echo "#define TARGET_I386 1" >> $config_h
692
  echo "#define TARGET_X86_64 1" >> $config_h
693
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
694
    echo "#define USE_KQEMU 1" >> $config_h
695
  fi
696
elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
697
  echo "TARGET_ARCH=mips" >> $config_mak
698
  echo "#define TARGET_ARCH \"mips\"" >> $config_h
699
  echo "#define TARGET_MIPS 1" >> $config_h
700
else
701
  echo "Unsupported target CPU"
702
  exit 1
703
fi
704
if test "$target_bigendian" = "yes" ; then
705
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
706
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
707
fi
708
if test "$target_softmmu" = "yes" ; then
709
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
710
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
711
fi
712
if test "$target_user_only" = "yes" ; then
713
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
714
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
715
fi
716

    
717
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
718
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
719
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
720
fi
721
# sdl defines
722

    
723
if test "$target_user_only" = "no"; then
724
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
725
        sdl1=$sdl_static
726
    else
727
        sdl1=$sdl
728
    fi
729
    if test "$sdl1" = "yes" ; then
730
        echo "#define CONFIG_SDL 1" >> $config_h
731
        echo "CONFIG_SDL=yes" >> $config_mak
732
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
733
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
734
        else
735
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
736
        fi
737
        echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
738
        if [ "${aa}" = "yes" ] ; then
739
            echo -n " `aalib-config --cflags`" >> $config_mak ;
740
        fi
741
        echo "" >> $config_mak
742
    fi
743
fi
744

    
745
if test "$cocoa" = "yes" ; then
746
    echo "#define CONFIG_COCOA 1" >> $config_h
747
    echo "CONFIG_COCOA=yes" >> $config_mak
748
fi
749

    
750
done # for target in $targets
751

    
752
# build tree in object directory if source path is different from current one
753
if test "$source_path_used" = "yes" ; then
754
    DIRS="tests"
755
    FILES="Makefile tests/Makefile"
756
    for dir in $DIRS ; do
757
            mkdir -p $dir
758
    done
759
    for f in $FILES ; do
760
        ln -sf $source_path/$f $f
761
    done
762
fi
763

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