Statistics
| Branch: | Revision:

root / configure @ 83469015

History | View | Annotate | Download (19.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
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
fmod="no"
81
fmod_lib=""
82
fmod_inc=""
83
linux="no"
84
kqemu="no"
85
kernel_path=""
86
cocoa="no"
87
check_gfx="yes"
88

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

    
127
if [ "$bsd" = "yes" ] ; then
128
  if [ ! "$darwin" = "yes" ] ; then
129
    make="gmake"
130
  fi
131
fi
132

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

    
144
for opt do
145
  case "$opt" in
146
  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
147
  ;;
148
  --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
149
  ;;
150
  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
151
  ;;
152
  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
153
  ;;
154
  --cc=*) cc=`echo $opt | cut -d '=' -f 2`
155
  ;;
156
  --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
157
  ;;
158
  --make=*) make=`echo $opt | cut -d '=' -f 2`
159
  ;;
160
  --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
161
  ;;
162
  --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
163
  ;;
164
  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
165
  ;;
166
  --target-list=*) target_list=${opt#--target-list=}
167
  ;;
168
  --enable-gprof) gprof="yes"
169
  ;;
170
  --static) static="yes"
171
  ;;
172
  --disable-sdl) sdl="no"
173
  ;;
174
  --enable-fmod) fmod="yes"
175
  ;;
176
  --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
177
  ;;
178
  --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
179
  ;;
180
  --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
181
  ;; 
182
  --disable-slirp) slirp="no"
183
  ;; 
184
  --enable-adlib) adlib="yes"
185
  ;; 
186
  --disable-kqemu) kqemu="no"
187
  ;; 
188
  --kernel-path=*) kernel_path=${opt#--kernel-path=}
189
  ;; 
190
  --enable-cocoa) cocoa="yes" ; sdl="no"
191
  ;; 
192
  --disable-gfx-check) check_gfx="no"
193
  ;;
194
  esac
195
done
196

    
197
# Checking for CFLAGS
198
if test -z "$CFLAGS"; then
199
    CFLAGS="-O2"
200
fi
201

    
202
cc="${cross_prefix}${cc}"
203
ar="${cross_prefix}${ar}"
204
strip="${cross_prefix}${strip}"
205

    
206
if test "$mingw32" = "yes" ; then
207
    linux="no"
208
    EXESUF=".exe"
209
    gdbstub="no"
210
    oss="no"
211
    if [ "$cpu" = "i386" ] ; then
212
        kqemu="yes"
213
    fi
214
fi
215

    
216
if test -z "$target_list" ; then
217
# these targets are portable
218
    target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu"
219
# the following are Linux specific
220
    if [ "$linux" = "yes" ] ; then
221
        target_list="i386-user arm-user armeb-user sparc-user ppc-user $target_list"
222
    fi
223
else
224
    target_list=$(echo "$target_list" | sed -e 's/,/ /g')
225
fi
226

    
227
if test -z "$cross_prefix" ; then
228

    
229
# ---
230
# big/little endian test
231
cat > $TMPC << EOF
232
#include <inttypes.h>
233
int main(int argc, char ** argv){
234
	volatile uint32_t i=0x01234567;
235
	return (*((uint8_t*)(&i))) == 0x67;
236
}
237
EOF
238

    
239
if $cc -o $TMPE $TMPC 2>/dev/null ; then
240
$TMPE && bigendian="yes"
241
else
242
echo big/little test failed
243
fi
244

    
245
else
246

    
247
# if cross compiling, cannot launch a program, so make a static guess
248
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
249
    bigendian="yes"
250
fi
251

    
252
fi
253

    
254
# host long bits test
255
hostlongbits="32"
256
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
257
    hostlongbits="64"
258
fi
259

    
260
# check gcc options support
261
cat > $TMPC <<EOF
262
int main(void) {
263
}
264
EOF
265

    
266
have_gcc3_options="no"
267
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
268
   have_gcc3_options="yes"
269
fi
270

    
271
##########################################
272
# SDL probe
273

    
274
sdl_too_old=no
275

    
276
if test -z "$sdl" ; then
277

    
278
sdl_config="sdl-config"
279
sdl=no
280
sdl_static=no
281

    
282
if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
283
# win32 cross compilation case
284
    sdl_config="i386-mingw32msvc-sdl-config"
285
    sdl=yes
286
else
287
# normal SDL probe
288
cat > $TMPC << EOF
289
#include <SDL.h>
290
#undef main /* We don't want SDL to override our main() */
291
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
292
EOF
293

    
294
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
295
_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
296
if test "$_sdlversion" -lt 121 ; then
297
sdl_too_old=yes
298
else
299
sdl=yes
300
fi
301

    
302
# static link with sdl ?
303
if test "$sdl" = "yes" ; then
304
aa="no"
305
`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
306
sdl_static_libs=`$sdl_config --static-libs`
307
if [ "$aa" = "yes" ] ; then
308
  sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
309
fi
310

    
311
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
312
  sdl_static=yes
313
fi
314

    
315
fi # static link
316

    
317
fi # sdl compile test
318

    
319
fi # cross compilation
320
fi # -z $sdl
321

    
322
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
323
cat << EOF
324

    
325
Usage: configure [options]
326
Options: [defaults in brackets after descriptions]
327

    
328
EOF
329
echo "Standard options:"
330
echo "  --help                   print this message"
331
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
332
echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
333
echo "                           use %M for cpu name [$interp_prefix]"
334
echo "  --target-list=LIST       set target list [$target_list]"
335
echo ""
336
echo "kqemu kernel acceleration support:"
337
echo "  --disable-kqemu          disable kqemu build"
338
echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
339
echo ""
340
echo "Advanced options (experts only):"
341
echo "  --source-path=PATH       path of source code [$source_path]"
342
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
343
echo "  --cc=CC                  use C compiler CC [$cc]"
344
echo "  --host-cc=CC             use C compiler CC [$cc] for dyngen etc."
345
echo "  --make=MAKE              use specified make [$make]"
346
echo "  --static                 enable static build [$static]"
347
echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
348
echo "  --enable-adlib           enable Adlib emulation"
349
echo "  --enable-fmod            enable FMOD audio output driver"
350
echo "  --fmod-lib               path to FMOD library"
351
echo "  --fmod-inc               path to FMOD includes"
352
echo ""
353
echo "NOTE: The object files are build at the place where configure is launched"
354
exit 1
355
fi
356

    
357
if test "$mingw32" = "yes" ; then
358
if test -z "$prefix" ; then
359
    prefix="/c/Program Files/Qemu"
360
fi
361
mandir="$prefix"
362
datadir="$prefix"
363
docdir="$prefix"
364
bindir="$prefix"
365
else
366
if test -z "$prefix" ; then
367
    prefix="/usr/local"
368
fi
369
mandir="$prefix/share/man"
370
datadir="$prefix/share/qemu"
371
docdir="$prefix/share/doc/qemu"
372
bindir="$prefix/bin"
373
fi
374

    
375
# kqemu support
376
if test $kqemu = "yes" ; then
377
    # test if the source code is installed
378
    if test '!' -f "kqemu/Makefile" ; then 
379
        kqemu="no"
380
    fi
381
fi
382
  
383
# Linux specific kqemu configuration
384
if test $kqemu = "yes" -a $linux = "yes" ; then
385
# find the kernel path
386
if test -z "$kernel_path" ; then
387
kernel_version=`uname -r`
388
kernel_path="/lib/modules/$kernel_version/build"
389
if test '!' -d "$kernel_path/include" ; then 
390
    kernel_path="/usr/src/linux"
391
    if test '!' -d "$kernel_path/include" ; then 
392
        echo "Could not find kernel includes in /lib/modules or /usr/src/linux - cannot build the kqemu module"
393
        kqemu="no"
394
    fi
395
fi
396
fi
397

    
398
if test $kqemu = "yes" ; then
399

    
400
# test that the kernel config is present
401
if test '!' -f "$kernel_path/Makefile" ; then
402
    echo "No Makefile file present in $kernel_path - kqemu cannot be built"
403
    kqemu="no"
404
fi    
405

    
406
# find build system (2.6 or legacy)
407
kbuild26="yes"
408
if grep -q "PATCHLEVEL = 4" $kernel_path/Makefile ; then
409
kbuild26="no"
410
fi
411

    
412
fi # kqemu
413

    
414
fi # kqemu and linux
415

    
416

    
417
echo "Install prefix    $prefix"
418
echo "BIOS directory    $datadir"
419
echo "binary directory  $bindir"
420
if test "$mingw32" = "no" ; then
421
echo "Manual directory  $mandir"
422
echo "ELF interp prefix $interp_prefix"
423
fi
424
echo "Source path       $source_path"
425
echo "C compiler        $cc"
426
echo "Host C compiler   $host_cc"
427
echo "make              $make"
428
echo "host CPU          $cpu"
429
echo "host big endian   $bigendian"
430
echo "target list       $target_list"
431
echo "gprof enabled     $gprof"
432
echo "static build      $static"
433
if test "$darwin" = "yes" ; then
434
    echo "Cocoa support     $cocoa"
435
fi
436
echo "SDL support       $sdl"
437
if test "$sdl" != "no" ; then
438
    echo "SDL static link   $sdl_static"
439
fi
440
echo "mingw32 support   $mingw32"
441
echo "Adlib support     $adlib"
442
echo -n "FMOD support      $fmod"
443
if test $fmod = "yes"; then
444
    echo -n " (lib='$fmod_lib' include='$fmod_inc')"
445
fi
446
echo ""
447
echo "kqemu support     $kqemu"
448
if test $kqemu = "yes" -a $linux = "yes" ; then
449
echo ""
450
echo "KQEMU Linux module configuration:"
451
echo "kernel sources    $kernel_path"
452
echo -n "kbuild type       "
453
if test $kbuild26 = "yes"; then
454
echo "2.6"
455
else
456
echo "2.4"
457
fi
458
fi
459

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

    
467
config_mak="config-host.mak"
468
config_h="config-host.h"
469

    
470
#echo "Creating $config_mak and $config_h"
471

    
472
echo "# Automatically generated by configure - do not modify" > $config_mak
473
echo "/* Automatically generated by configure - do not modify */" > $config_h
474

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

    
584
if test $kqemu = "yes" ; then
585
  echo "CONFIG_KQEMU=yes" >> $config_mak
586
  if test $linux = "yes" ; then
587
    echo "KERNEL_PATH=$kernel_path" >> $config_mak
588
    if test $kbuild26 = "yes" ; then
589
      echo "CONFIG_KBUILD26=yes" >> $config_mak
590
    fi
591
  fi
592
fi
593
echo "SRC_PATH=$source_path" >> $config_mak
594
echo "TARGET_DIRS=$target_list" >> $config_mak
595

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

    
603
for target in $target_list; do 
604

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

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

    
632
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
633

    
634
mkdir -p $target_dir
635
mkdir -p $target_dir/fpu
636
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
637
  mkdir -p $target_dir/nwfpe
638
fi
639
if test "$target_user_only" = "no" ; then
640
  mkdir -p $target_dir/slirp
641
fi
642

    
643
ln -sf $source_path/Makefile.target $target_dir/Makefile
644

    
645
echo "# Automatically generated by configure - do not modify" > $config_mak
646
echo "/* Automatically generated by configure - do not modify */" > $config_h
647

    
648

    
649
echo "include ../config-host.mak" >> $config_mak
650
echo "#include \"../config-host.h\"" >> $config_h
651

    
652
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
653
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
654

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

    
708
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
709
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
710
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
711
fi
712
# sdl defines
713

    
714
if test "$target_user_only" = "no"; then
715
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
716
        sdl1=$sdl_static
717
    else
718
        sdl1=$sdl
719
    fi
720
    if test "$sdl1" = "yes" ; then
721
        echo "#define CONFIG_SDL 1" >> $config_h
722
        echo "CONFIG_SDL=yes" >> $config_mak
723
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
724
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
725
        else
726
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
727
        fi
728
        echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
729
        if [ "${aa}" = "yes" ] ; then
730
            echo -n " `aalib-config --cflags`" >> $config_mak ;
731
        fi
732
        echo "" >> $config_mak
733
    fi
734
fi
735

    
736
if test "$cocoa" = "yes" ; then
737
    echo "#define CONFIG_COCOA 1" >> $config_h
738
    echo "CONFIG_COCOA=yes" >> $config_mak
739
fi
740

    
741
done # for target in $targets
742

    
743
# build tree in object directory if source path is different from current one
744
if test "$source_path_used" = "yes" ; then
745
    DIRS="tests"
746
    FILES="Makefile tests/Makefile"
747
    for dir in $DIRS ; do
748
            mkdir -p $dir
749
    done
750
    for f in $FILES ; do
751
        ln -sf $source_path/$f $f
752
    done
753
fi
754

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