Blame view

configure 18.6 KB
bellard authored
1
2
#!/bin/sh
#
bellard authored
3
# qemu configure script (c) 2003 Fabrice Bellard
bellard authored
4
5
6
7
8
9
10
11
12
13
#
# set temporary file name
if test ! -z "$TMPDIR" ; then
    TMPDIR1="${TMPDIR}"
elif test ! -z "$TEMPDIR" ; then
    TMPDIR1="${TEMPDIR}"
else
    TMPDIR1="/tmp"
fi
bellard authored
14
15
16
17
TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
bellard authored
18
19

# default parameters
bellard authored
20
prefix=""
21
interp_prefix="/usr/gnemul/qemu-%M"
bellard authored
22
static="no"
bellard authored
23
24
25
26
27
28
29
cross_prefix=""
cc="gcc"
host_cc="gcc"
ar="ar"
make="make"
strip="strip"
cpu=`uname -m`
bellard authored
30
target_list=""
bellard authored
31
32
case "$cpu" in
  i386|i486|i586|i686|i86pc|BePC)
33
    cpu="i386"
bellard authored
34
  ;;
35
  armv*b)
36
37
    cpu="armv4b"
  ;;
38
  armv*l)
bellard authored
39
40
41
42
43
    cpu="armv4l"
  ;;
  alpha)
    cpu="alpha"
  ;;
bellard authored
44
  "Power Macintosh"|ppc|ppc64)
bellard authored
45
46
47
48
49
    cpu="powerpc"
  ;;
  mips)
    cpu="mips"
  ;;
bellard authored
50
51
52
  s390)
    cpu="s390"
  ;;
53
54
55
56
57
58
  sparc)
    cpu="sparc"
  ;;
  sparc64)
    cpu="sparc64"
  ;;
bellard authored
59
60
61
  ia64)
    cpu="ia64"
  ;;
62
63
64
  m68k)
    cpu="m68k"
  ;;
65
  x86_64|amd64)
bellard authored
66
    cpu="x86_64"
67
  ;;
bellard authored
68
69
70
71
72
73
  *)
    cpu="unknown"
  ;;
esac
gprof="no"
bigendian="no"
74
75
76
mingw32="no"
EXESUF=""
gdbstub="yes"
bellard authored
77
slirp="yes"
78
79
adlib="no"
oss="no"
80
81
82
fmod="no"
fmod_lib=""
fmod_inc=""
bellard authored
83
linux="no"
bellard authored
84
85
kqemu="no"
kernel_path=""
86
cocoa="no"
bellard authored
87
88
89
90

# OS specific
targetos=`uname -s`
case $targetos in
91
92
93
94
CYGWIN*)
mingw32="yes"
CFLAGS="-O2 -mno-cygwin"
;;
95
96
97
MINGW32*)
mingw32="yes"
;;
bellard authored
98
99
FreeBSD)
bsd="yes"
100
oss="yes"
bellard authored
101
102
103
if [ "$cpu" = "i386" ] ; then
    kqemu="yes"
fi
bellard authored
104
105
106
;;
NetBSD)
bsd="yes"
107
oss="yes"
bellard authored
108
109
110
;;
OpenBSD)
bsd="yes"
111
oss="yes"
bellard authored
112
;;
113
114
115
116
Darwin)
bsd="yes"
darwin="yes"
;;
117
118
*) 
oss="yes"
bellard authored
119
linux="yes"
bellard authored
120
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
bellard authored
121
122
    kqemu="yes"
fi
123
;;
bellard authored
124
125
esac
bellard authored
126
if [ "$bsd" = "yes" ] ; then
127
128
129
  if [ ! "$darwin" = "yes" ] ; then
    make="gmake"
  fi
bellard authored
130
131
fi
bellard authored
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# find source path
# XXX: we assume an absolute path is given when launching configure, 
# except in './configure' case.
source_path=${0%configure}
source_path=${source_path%/}
source_path_used="yes"
if test -z "$source_path" -o "$source_path" = "." ; then
    source_path=`pwd`
    source_path_used="no"
fi

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

# Checking for CFLAGS
if test -z "$CFLAGS"; then
    CFLAGS="-O2"
fi

cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"
201
if test "$mingw32" = "yes" ; then
bellard authored
202
    linux="no"
203
204
    EXESUF=".exe"
    gdbstub="no"
bellard authored
205
    oss="no"
bellard authored
206
207
208
    if [ "$cpu" = "i386" ] ; then
        kqemu="yes"
    fi
209
210
fi
bellard authored
211
212
if test -z "$target_list" ; then
# these targets are portable
213
    target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu"
bellard authored
214
215
# the following are Linux specific
    if [ "$linux" = "yes" ] ; then
216
        target_list="i386-user arm-user armeb-user sparc-user ppc-user $target_list"
bellard authored
217
218
219
    fi
fi
bellard authored
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
if test -z "$cross_prefix" ; then

# ---
# big/little endian test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
	volatile uint32_t i=0x01234567;
	return (*((uint8_t*)(&i))) == 0x67;
}
EOF

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

else

# if cross compiling, cannot launch a program, so make a static guess
241
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
bellard authored
242
243
244
245
246
    bigendian="yes"
fi

fi
247
# check gcc options support
bellard authored
248
249
250
251
252
cat > $TMPC <<EOF
int main(void) {
}
EOF
253
254
255
have_gcc3_options="no"
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
   have_gcc3_options="yes"
bellard authored
256
fi
bellard authored
257
bellard authored
258
259
260
261
262
263
264
##########################################
# SDL probe

sdl_too_old=no

if test -z "$sdl" ; then
265
266
sdl_config="sdl-config"
sdl=no
bellard authored
267
sdl_static=no
268
269
270
271
272
273
274

if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
# win32 cross compilation case
    sdl_config="i386-mingw32msvc-sdl-config"
    sdl=yes
else
# normal SDL probe
bellard authored
275
276
277
278
279
280
cat > $TMPC << EOF
#include <SDL.h>
#undef main /* We don't want SDL to override our main() */
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF
281
282
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
bellard authored
283
284
285
286
287
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
fi
bellard authored
288
289
290
291
292
293
294

# static link with sdl ?
if test "$sdl" = "yes" ; then
aa="no"
`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
sdl_static_libs=`$sdl_config --static-libs`
if [ "$aa" = "yes" ] ; then
295
  sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
bellard authored
296
297
298
299
fi

if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
  sdl_static=yes
bellard authored
300
301
fi
bellard authored
302
303
304
305
fi # static link

fi # sdl compile test
306
307
fi # cross compilation
fi # -z $sdl
bellard authored
308
bellard authored
309
310
311
312
313
314
315
316
317
318
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
cat << EOF

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

EOF
echo "Standard options:"
echo "  --help                   print this message"
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
319
320
echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
echo "                           use %M for cpu name [$interp_prefix]"
321
echo "  --target-list=LIST       set target list [$target_list]"
bellard authored
322
echo ""
bellard authored
323
324
325
326
echo "kqemu kernel acceleration support:"
echo "  --disable-kqemu          disable kqemu build"
echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
echo ""
bellard authored
327
328
329
330
331
echo "Advanced options (experts only):"
echo "  --source-path=PATH       path of source code [$source_path]"
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
echo "  --cc=CC                  use C compiler CC [$cc]"
echo "  --make=MAKE              use specified make [$make]"
bellard authored
332
echo "  --static                 enable static build [$static]"
333
echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
bellard authored
334
echo "  --enable-adlib           enable Adlib emulation"
335
336
337
echo "  --enable-fmod            enable FMOD audio output driver"
echo "  --fmod-lib               path to FMOD library"
echo "  --fmod-inc               path to FMOD includes"
bellard authored
338
339
340
341
342
echo ""
echo "NOTE: The object files are build at the place where configure is launched"
exit 1
fi
bellard authored
343
344
345
346
347
if test "$mingw32" = "yes" ; then
if test -z "$prefix" ; then
    prefix="/c/Program Files/Qemu"
fi
mandir="$prefix"
bellard authored
348
datadir="$prefix"
bellard authored
349
docdir="$prefix"
bellard authored
350
351
352
353
354
bindir="$prefix"
else
if test -z "$prefix" ; then
    prefix="/usr/local"
fi
355
mandir="$prefix/share/man"
bellard authored
356
datadir="$prefix/share/qemu"
bellard authored
357
docdir="$prefix/share/doc/qemu"
bellard authored
358
359
bindir="$prefix/bin"
fi
360
bellard authored
361
# kqemu support
bellard authored
362
if test $kqemu = "yes" ; then
bellard authored
363
364
365
366
367
368
    # test if the source code is installed
    if test '!' -f "kqemu/Makefile" ; then 
        kqemu="no"
    fi
fi
  
bellard authored
369
370
# Linux specific kqemu configuration
if test $kqemu = "yes" -a $linux = "yes" ; then
bellard authored
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
# find the kernel path
if test -z "$kernel_path" ; then
kernel_version=`uname -r`
kernel_path="/lib/modules/$kernel_version/build"
if test '!' -d "$kernel_path/include" ; then 
    kernel_path="/usr/src/linux"
    if test '!' -d "$kernel_path/include" ; then 
        echo "Could not find kernel includes in /lib/modules or /usr/src/linux - cannot build the kqemu module"
        kqemu="no"
    fi
fi
fi

if test $kqemu = "yes" ; then

# test that the kernel config is present
if test '!' -f "$kernel_path/Makefile" ; then
bellard authored
388
    echo "No Makefile file present in $kernel_path - kqemu cannot be built"
bellard authored
389
390
391
392
393
394
395
396
397
398
399
    kqemu="no"
fi    

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

fi # kqemu
bellard authored
400
fi # kqemu and linux
bellard authored
401
402
bellard authored
403
echo "Install prefix    $prefix"
bellard authored
404
echo "BIOS directory    $datadir"
bellard authored
405
406
407
echo "binary directory  $bindir"
if test "$mingw32" = "no" ; then
echo "Manual directory  $mandir"
bellard authored
408
echo "ELF interp prefix $interp_prefix"
bellard authored
409
fi
410
echo "Source path       $source_path"
bellard authored
411
412
413
echo "C compiler        $cc"
echo "make              $make"
echo "host CPU          $cpu"
bellard authored
414
echo "host big endian   $bigendian"
415
echo "target list       $target_list"
bellard authored
416
417
echo "gprof enabled     $gprof"
echo "static build      $static"
418
419
420
if test "$darwin" = "yes" ; then
    echo "Cocoa support     $cocoa"
fi
421
echo "SDL support       $sdl"
bellard authored
422
423
424
if test "$sdl" != "no" ; then
    echo "SDL static link   $sdl_static"
fi
425
echo "mingw32 support   $mingw32"
426
echo "Adlib support     $adlib"
427
428
429
430
431
echo -n "FMOD support      $fmod"
if test $fmod = "yes"; then
    echo -n " (lib='$fmod_lib' include='$fmod_inc')"
fi
echo ""
bellard authored
432
433
echo "kqemu support     $kqemu"
if test $kqemu = "yes" -a $linux = "yes" ; then
bellard authored
434
echo ""
bellard authored
435
echo "KQEMU Linux module configuration:"
bellard authored
436
437
438
439
440
441
442
443
echo "kernel sources    $kernel_path"
echo -n "kbuild type       "
if test $kbuild26 = "yes"; then
echo "2.6"
else
echo "2.4"
fi
fi
444
445
if test $sdl_too_old = "yes"; then
446
echo "-> Your SDL version is too old - please upgrade to have SDL support"
bellard authored
447
fi
448
449
450
#if test "$sdl_static" = "no"; then
#  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
#fi
451
452
453

config_mak="config-host.mak"
config_h="config-host.h"
bellard authored
454
bellard authored
455
#echo "Creating $config_mak and $config_h"
bellard authored
456
457
458
echo "# Automatically generated by configure - do not modify" > $config_mak
echo "/* Automatically generated by configure - do not modify */" > $config_h
bellard authored
459
460
echo "prefix=$prefix" >> $config_mak
bellard authored
461
echo "bindir=$bindir" >> $config_mak
462
echo "mandir=$mandir" >> $config_mak
bellard authored
463
echo "datadir=$datadir" >> $config_mak
bellard authored
464
echo "docdir=$docdir" >> $config_mak
bellard authored
465
echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
466
467
echo "MAKE=$make" >> $config_mak
echo "CC=$cc" >> $config_mak
468
if test "$have_gcc3_options" = "yes" ; then
469
  echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
470
fi
471
472
473
474
475
echo "HOST_CC=$host_cc" >> $config_mak
echo "AR=$ar" >> $config_mak
echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
echo "CFLAGS=$CFLAGS" >> $config_mak
echo "LDFLAGS=$LDFLAGS" >> $config_mak
476
echo "EXESUF=$EXESUF" >> $config_mak
477
478
479
if test "$cpu" = "i386" ; then
  echo "ARCH=i386" >> $config_mak
  echo "#define HOST_I386 1" >> $config_h
bellard authored
480
481
482
elif test "$cpu" = "x86_64" ; then
  echo "ARCH=x86_64" >> $config_mak
  echo "#define HOST_X86_64 1" >> $config_h
483
484
485
elif test "$cpu" = "armv4b" ; then
  echo "ARCH=arm" >> $config_mak
  echo "#define HOST_ARM 1" >> $config_h
bellard authored
486
elif test "$cpu" = "armv4l" ; then
487
488
  echo "ARCH=arm" >> $config_mak
  echo "#define HOST_ARM 1" >> $config_h
bellard authored
489
elif test "$cpu" = "powerpc" ; then
490
491
  echo "ARCH=ppc" >> $config_mak
  echo "#define HOST_PPC 1" >> $config_h
bellard authored
492
elif test "$cpu" = "mips" ; then
493
494
  echo "ARCH=mips" >> $config_mak
  echo "#define HOST_MIPS 1" >> $config_h
bellard authored
495
elif test "$cpu" = "s390" ; then
496
497
  echo "ARCH=s390" >> $config_mak
  echo "#define HOST_S390 1" >> $config_h
bellard authored
498
elif test "$cpu" = "alpha" ; then
499
500
  echo "ARCH=alpha" >> $config_mak
  echo "#define HOST_ALPHA 1" >> $config_h
501
elif test "$cpu" = "sparc" ; then
502
503
  echo "ARCH=sparc" >> $config_mak
  echo "#define HOST_SPARC 1" >> $config_h
504
elif test "$cpu" = "sparc64" ; then
505
506
  echo "ARCH=sparc64" >> $config_mak
  echo "#define HOST_SPARC64 1" >> $config_h
bellard authored
507
elif test "$cpu" = "ia64" ; then
508
509
  echo "ARCH=ia64" >> $config_mak
  echo "#define HOST_IA64 1" >> $config_h
510
elif test "$cpu" = "m68k" ; then
bellard authored
511
512
  echo "ARCH=m68k" >> $config_mak
  echo "#define HOST_M68K 1" >> $config_h
bellard authored
513
514
515
516
517
else
  echo "Unsupported CPU"
  exit 1
fi
if test "$bigendian" = "yes" ; then
518
519
520
  echo "WORDS_BIGENDIAN=yes" >> $config_mak
  echo "#define WORDS_BIGENDIAN 1" >> $config_h
fi
521
522
if test "$mingw32" = "yes" ; then
  echo "CONFIG_WIN32=yes" >> $config_mak
bellard authored
523
  echo "#define CONFIG_WIN32 1" >> $config_h
bellard authored
524
elif test -f "/usr/include/byteswap.h" ; then
525
526
  echo "#define HAVE_BYTESWAP_H 1" >> $config_h
fi
527
528
529
530
if test "$darwin" = "yes" ; then
  echo "CONFIG_DARWIN=yes" >> $config_mak
  echo "#define CONFIG_DARWIN 1" >> $config_h
fi
531
532
533
534
if test "$gdbstub" = "yes" ; then
  echo "CONFIG_GDBSTUB=yes" >> $config_mak
  echo "#define CONFIG_GDBSTUB 1" >> $config_h
fi
535
536
537
538
539
540
if test "$gprof" = "yes" ; then
  echo "TARGET_GPROF=yes" >> $config_mak
  echo "#define HAVE_GPROF 1" >> $config_h
fi
if test "$static" = "yes" ; then
  echo "CONFIG_STATIC=yes" >> $config_mak
bellard authored
541
  echo "#define CONFIG_STATIC 1" >> $config_h
bellard authored
542
fi
543
544
545
546
if test "$slirp" = "yes" ; then
  echo "CONFIG_SLIRP=yes" >> $config_mak
  echo "#define CONFIG_SLIRP 1" >> $config_h
fi
547
548
549
550
551
552
553
554
if test "$adlib" = "yes" ; then
  echo "CONFIG_ADLIB=yes" >> $config_mak
  echo "#define CONFIG_ADLIB 1" >> $config_h
fi
if test "$oss" = "yes" ; then
  echo "CONFIG_OSS=yes" >> $config_mak
  echo "#define CONFIG_OSS 1" >> $config_h
fi
555
556
557
558
559
560
if test "$fmod" = "yes" ; then
  echo "CONFIG_FMOD=yes" >> $config_mak
  echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
  echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
  echo "#define CONFIG_FMOD 1" >> $config_h
fi
561
562
563
564
565
566
567
echo -n "VERSION=" >>$config_mak
head $source_path/VERSION >>$config_mak
echo "" >>$config_mak
echo -n "#define QEMU_VERSION \"" >> $config_h
head $source_path/VERSION >> $config_h
echo "\"" >> $config_h
bellard authored
568
569
if test $kqemu = "yes" ; then
  echo "CONFIG_KQEMU=yes" >> $config_mak
bellard authored
570
571
572
573
574
  if test $linux = "yes" ; then
    echo "KERNEL_PATH=$kernel_path" >> $config_mak
    if test $kbuild26 = "yes" ; then
      echo "CONFIG_KBUILD26=yes" >> $config_mak
    fi
bellard authored
575
576
  fi
fi
577
578
579
echo "SRC_PATH=$source_path" >> $config_mak
echo "TARGET_DIRS=$target_list" >> $config_mak
580
# XXX: suppress that
bellard authored
581
if [ "$bsd" = "yes" ] ; then
582
583
  echo "#define O_LARGEFILE 0" >> $config_h
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
bellard authored
584
585
586
  echo "#define _BSD 1" >> $config_h
fi
587
588
589
590
591
592
593
for target in $target_list; do 

target_dir="$target"
config_mak=$target_dir/config.mak
config_h=$target_dir/config.h
target_cpu=`echo $target | cut -d '-' -f 1`
target_bigendian="no"
594
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
595
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
bellard authored
596
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
597
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
598
599
600
601
target_softmmu="no"
if expr $target : '.*-softmmu' > /dev/null ; then
  target_softmmu="yes"
fi
bellard authored
602
603
604
605
target_user_only="no"
if expr $target : '.*-user' > /dev/null ; then
  target_user_only="yes"
fi
606
bellard authored
607
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
608
609

mkdir -p $target_dir
bellard authored
610
mkdir -p $target_dir/fpu
611
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
bellard authored
612
613
  mkdir -p $target_dir/nwfpe
fi
bellard authored
614
615
616
if test "$target_user_only" = "no" ; then
  mkdir -p $target_dir/slirp
fi
bellard authored
617
618
619
620
621
622
ln -sf $source_path/Makefile.target $target_dir/Makefile

echo "# Automatically generated by configure - do not modify" > $config_mak
echo "/* Automatically generated by configure - do not modify */" > $config_h
bellard authored
623
624
625
echo "include ../config-host.mak" >> $config_mak
echo "#include \"../config-host.h\"" >> $config_h
626
627
628

interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
629
630
631
632
633

if test "$target_cpu" = "i386" ; then
  echo "TARGET_ARCH=i386" >> $config_mak
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
  echo "#define TARGET_I386 1" >> $config_h
bellard authored
634
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
bellard authored
635
636
    echo "#define USE_KQEMU 1" >> $config_h
  fi
637
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
638
639
640
  echo "TARGET_ARCH=arm" >> $config_mak
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
  echo "#define TARGET_ARM 1" >> $config_h
641
642
643
644
elif test "$target_cpu" = "sparc" ; then
  echo "TARGET_ARCH=sparc" >> $config_mak
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
  echo "#define TARGET_SPARC 1" >> $config_h
bellard authored
645
646
647
648
649
elif test "$target_cpu" = "sparc64" ; then
  echo "TARGET_ARCH=sparc64" >> $config_mak
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
  echo "#define TARGET_SPARC 1" >> $config_h
  echo "#define TARGET_SPARC64 1" >> $config_h
650
651
652
653
elif test "$target_cpu" = "ppc" ; then
  echo "TARGET_ARCH=ppc" >> $config_mak
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
  echo "#define TARGET_PPC 1" >> $config_h
bellard authored
654
655
656
657
658
elif test "$target_cpu" = "x86_64" ; then
  echo "TARGET_ARCH=x86_64" >> $config_mak
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
  echo "#define TARGET_I386 1" >> $config_h
  echo "#define TARGET_X86_64 1" >> $config_h
bellard authored
659
660
661
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"  ; then
    echo "#define USE_KQEMU 1" >> $config_h
  fi
bellard authored
662
663
664
665
666
else
  echo "Unsupported target CPU"
  exit 1
fi
if test "$target_bigendian" = "yes" ; then
667
668
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
bellard authored
669
fi
670
671
672
if test "$target_softmmu" = "yes" ; then
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
bellard authored
673
fi
bellard authored
674
675
676
677
if test "$target_user_only" = "yes" ; then
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
fi
678
bellard authored
679
680
681
682
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
  echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
  echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
fi
bellard authored
683
684
685
686
# sdl defines

if test "$target_user_only" = "no"; then
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
bellard authored
687
        sdl1=$sdl_static
bellard authored
688
    else
bellard authored
689
690
691
692
693
694
695
696
        sdl1=$sdl
    fi
    if test "$sdl1" = "yes" ; then
        echo "#define CONFIG_SDL 1" >> $config_h
        echo "CONFIG_SDL=yes" >> $config_mak
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
        else
bellard authored
697
698
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
        fi
bellard authored
699
700
701
702
703
        echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
        if [ "${aa}" = "yes" ] ; then
            echo -n " `aalib-config --cflags`" >> $config_mak ;
        fi
        echo "" >> $config_mak
bellard authored
704
705
706
    fi
fi
707
708
709
710
711
if test "$cocoa" = "yes" ; then
    echo "#define CONFIG_COCOA 1" >> $config_h
    echo "CONFIG_COCOA=yes" >> $config_mak
fi
712
done # for target in $targets
bellard authored
713
714
715
716
717
718
719
720
721
722
723
724
725

# build tree in object directory if source path is different from current one
if test "$source_path_used" = "yes" ; then
    DIRS="tests"
    FILES="Makefile tests/Makefile"
    for dir in $DIRS ; do
            mkdir -p $dir
    done
    for f in $FILES ; do
        ln -sf $source_path/$f $f
    done
fi
726
rm -f $TMPO $TMPC $TMPE $TMPS