|
1
2
|
#!/bin/sh
#
|
|
3
|
# qemu configure script (c) 2003 Fabrice Bellard
|
|
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
|
|
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"
|
|
18
19
|
# default parameters
|
|
20
|
prefix=""
|
|
21
|
interp_prefix="/usr/gnemul/qemu-%M"
|
|
22
|
static="no"
|
|
23
24
25
26
27
|
cross_prefix=""
cc="gcc"
host_cc="gcc"
ar="ar"
make="make"
|
|
28
|
install="install"
|
|
29
30
|
strip="strip"
cpu=`uname -m`
|
|
31
|
target_list=""
|
|
32
33
|
case "$cpu" in
i386|i486|i586|i686|i86pc|BePC)
|
|
34
|
cpu="i386"
|
|
35
|
;;
|
|
36
|
armv*b)
|
|
37
38
|
cpu="armv4b"
;;
|
|
39
|
armv*l)
|
|
40
41
42
43
44
|
cpu="armv4l"
;;
alpha)
cpu="alpha"
;;
|
|
45
|
"Power Macintosh"|ppc|ppc64)
|
|
46
47
48
49
50
|
cpu="powerpc"
;;
mips)
cpu="mips"
;;
|
|
51
52
53
|
s390)
cpu="s390"
;;
|
|
54
55
56
57
58
59
|
sparc)
cpu="sparc"
;;
sparc64)
cpu="sparc64"
;;
|
|
60
61
62
|
ia64)
cpu="ia64"
;;
|
|
63
64
65
|
m68k)
cpu="m68k"
;;
|
|
66
|
x86_64|amd64)
|
|
67
|
cpu="x86_64"
|
|
68
|
;;
|
|
69
70
71
72
73
74
|
*)
cpu="unknown"
;;
esac
gprof="no"
bigendian="no"
|
|
75
76
77
|
mingw32="no"
EXESUF=""
gdbstub="yes"
|
|
78
|
slirp="yes"
|
|
79
80
|
adlib="no"
oss="no"
|
|
81
82
83
|
dsound="no"
coreaudio="no"
alsa="no"
|
|
84
85
86
|
fmod="no"
fmod_lib=""
fmod_inc=""
|
|
87
|
bsd="no"
|
|
88
|
linux="no"
|
|
89
|
kqemu="no"
|
|
90
|
profiler="no"
|
|
91
|
kernel_path=""
|
|
92
|
cocoa="no"
|
|
93
|
check_gfx="yes"
|
|
94
|
check_gcc="yes"
|
|
95
96
|
softmmu="yes"
user="no"
|
|
97
|
build_docs="no"
|
|
98
99
100
101
|
# OS specific
targetos=`uname -s`
case $targetos in
|
|
102
103
104
105
|
CYGWIN*)
mingw32="yes"
CFLAGS="-O2 -mno-cygwin"
;;
|
|
106
107
108
|
MINGW32*)
mingw32="yes"
;;
|
|
109
110
|
FreeBSD)
bsd="yes"
|
|
111
|
oss="yes"
|
|
112
|
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
|
113
114
|
kqemu="yes"
fi
|
|
115
116
117
|
;;
NetBSD)
bsd="yes"
|
|
118
|
oss="yes"
|
|
119
120
121
|
;;
OpenBSD)
bsd="yes"
|
|
122
|
oss="yes"
|
|
123
|
;;
|
|
124
125
126
127
|
Darwin)
bsd="yes"
darwin="yes"
;;
|
|
128
|
*)
|
|
129
|
oss="yes"
|
|
130
|
linux="yes"
|
|
131
|
user="yes"
|
|
132
|
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
|
|
133
134
|
kqemu="yes"
fi
|
|
135
|
;;
|
|
136
137
|
esac
|
|
138
|
if [ "$bsd" = "yes" ] ; then
|
|
139
|
if [ "$darwin" != "yes" ] ; then
|
|
140
141
|
make="gmake"
fi
|
|
142
143
|
fi
|
|
144
|
# find source path
|
|
145
146
|
source_path=`dirname "$0"`
if [ -z "$source_path" ]; then
|
|
147
|
source_path=`pwd`
|
|
148
149
150
151
|
else
source_path=`cd "$source_path"; pwd`
fi
if test "$source_path" = `pwd` ; then
|
|
152
|
source_path_used="no"
|
|
153
154
|
else
source_path_used="yes"
|
|
155
156
157
|
fi
for opt do
|
|
158
|
optarg=`expr "$opt" : '[^=]*=\(.*\)'`
|
|
159
|
case "$opt" in
|
|
160
161
|
--help|-h) show_help=yes
;;
|
|
162
|
--prefix=*) prefix="$optarg"
|
|
163
|
;;
|
|
164
|
--interp-prefix=*) interp_prefix="$optarg"
|
|
165
|
;;
|
|
166
|
--source-path=*) source_path="$optarg"
|
|
167
|
source_path_used="yes"
|
|
168
|
;;
|
|
169
|
--cross-prefix=*) cross_prefix="$optarg"
|
|
170
|
;;
|
|
171
|
--cc=*) cc="$optarg"
|
|
172
|
;;
|
|
173
|
--host-cc=*) host_cc="$optarg"
|
|
174
|
;;
|
|
175
|
--make=*) make="$optarg"
|
|
176
|
;;
|
|
177
178
|
--install=*) install="$optarg"
;;
|
|
179
|
--extra-cflags=*) CFLAGS="$optarg"
|
|
180
|
;;
|
|
181
|
--extra-ldflags=*) LDFLAGS="$optarg"
|
|
182
|
;;
|
|
183
|
--cpu=*) cpu="$optarg"
|
|
184
|
;;
|
|
185
|
--target-list=*) target_list="$optarg"
|
|
186
|
;;
|
|
187
188
|
--enable-gprof) gprof="yes"
;;
|
|
189
190
|
--static) static="yes"
;;
|
|
191
192
|
--disable-sdl) sdl="no"
;;
|
|
193
194
195
196
197
198
|
--enable-coreaudio) coreaudio="yes"
;;
--enable-alsa) alsa="yes"
;;
--enable-dsound) dsound="yes"
;;
|
|
199
200
|
--enable-fmod) fmod="yes"
;;
|
|
201
|
--fmod-lib=*) fmod_lib="$optarg"
|
|
202
|
;;
|
|
203
|
--fmod-inc=*) fmod_inc="$optarg"
|
|
204
|
;;
|
|
205
|
--enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
|
|
206
|
;;
|
|
207
|
--disable-slirp) slirp="no"
|
|
208
|
;;
|
|
209
|
--enable-adlib) adlib="yes"
|
|
210
|
;;
|
|
211
|
--disable-kqemu) kqemu="no"
|
|
212
|
;;
|
|
213
214
|
--enable-profiler) profiler="yes"
;;
|
|
215
|
--kernel-path=*) kernel_path="$optarg"
|
|
216
217
218
|
;;
--enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
;;
|
|
219
220
|
--disable-gfx-check) check_gfx="no"
;;
|
|
221
222
|
--disable-gcc-check) check_gcc="no"
;;
|
|
223
|
--disable-system) softmmu="no"
|
|
224
|
;;
|
|
225
|
--enable-system) softmmu="yes"
|
|
226
227
228
229
230
|
;;
--disable-user) user="no"
;;
--enable-user) user="yes"
;;
|
|
231
232
233
234
235
236
237
238
|
esac
done
# Checking for CFLAGS
if test -z "$CFLAGS"; then
CFLAGS="-O2"
fi
|
|
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
|
if test x"$show_help" = x"yes" ; 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]"
echo " --interp-prefix=PREFIX where to find shared libraries, etc."
echo " use %M for cpu name [$interp_prefix]"
echo " --target-list=LIST set target list [$target_list]"
echo ""
echo "kqemu kernel acceleration support:"
echo " --disable-kqemu disable kqemu support"
echo " --kernel-path=PATH set the kernel path (configure probes it)"
echo ""
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 " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
echo " --make=MAKE use specified make [$make]"
|
|
263
|
echo " --install=INSTALL use specified install [$install]"
|
|
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
|
echo " --static enable static build [$static]"
echo " --enable-cocoa enable COCOA (Mac OS X only)"
echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
echo " --enable-adlib enable Adlib emulation"
echo " --enable-coreaudio enable Coreaudio audio driver"
echo " --enable-alsa enable ALSA audio driver"
echo " --enable-fmod enable FMOD audio driver"
echo " --enabled-dsound enable DirectSound audio driver"
echo " --enable-system enable all system emulation targets"
echo " --disable-system disable all system emulation targets"
echo " --enable-user enable all linux usermode emulation targets"
echo " --disable-user disable all linux usermode emulation targets"
echo " --fmod-lib path to FMOD library"
echo " --fmod-inc path to FMOD includes"
echo ""
echo "NOTE: The object files are build at the place where configure is launched"
exit 1
fi
|
|
283
284
285
286
|
cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"
|
|
287
288
289
290
291
|
if [ -z `which $cc` ] ; then
echo "Compiler $cc could not be found"
exit
fi
|
|
292
|
if test "$mingw32" = "yes" ; then
|
|
293
|
linux="no"
|
|
294
295
|
EXESUF=".exe"
gdbstub="no"
|
|
296
|
oss="no"
|
|
297
298
299
|
if [ "$cpu" = "i386" ] ; then
kqemu="yes"
fi
|
|
300
301
|
fi
|
|
302
303
|
if test -z "$target_list" ; then
# these targets are portable
|
|
304
305
306
|
if [ "$softmmu" = "yes" ] ; then
target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
fi
|
|
307
|
# the following are Linux specific
|
|
308
|
if [ "$user" = "yes" ] ; then
|
|
309
|
target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
|
|
310
|
fi
|
|
311
|
else
|
|
312
|
target_list=`echo "$target_list" | sed -e 's/,/ /g'`
|
|
313
|
fi
|
|
314
315
316
317
|
if test -z "$target_list" ; then
echo "No targets enabled"
exit 1
fi
|
|
318
|
|
|
319
320
321
322
323
324
325
|
if test -z "$cross_prefix" ; then
# ---
# big/little endian test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
|
|
326
327
|
volatile uint32_t i=0x01234567;
return (*((uint8_t*)(&i))) == 0x67;
|
|
328
329
330
331
332
333
334
335
336
337
338
339
|
}
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
|
|
340
|
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
|
|
341
342
343
344
345
|
bigendian="yes"
fi
fi
|
|
346
347
348
349
350
351
|
# host long bits test
hostlongbits="32"
if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
hostlongbits="64"
fi
|
|
352
|
# check gcc options support
|
|
353
354
355
356
357
|
cat > $TMPC <<EOF
int main(void) {
}
EOF
|
|
358
359
360
|
have_gcc3_options="no"
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
have_gcc3_options="yes"
|
|
361
|
fi
|
|
362
|
|
|
363
|
# Check for gcc4, error if pre-gcc4
|
|
364
365
|
if test "$check_gcc" = "yes" ; then
cat > $TMPC <<EOF
|
|
366
367
|
#if __GNUC__ < 4
#error gcc3
|
|
368
369
370
|
#endif
int main(){return 0;}
EOF
|
|
371
|
if $cc -o $TMPO $TMPC 2>/dev/null ; then
|
|
372
373
374
375
376
377
378
379
|
echo "ERROR: \"$cc\" looks like gcc 4.x"
echo "QEMU is known to have problems when compiled with gcc 4.x"
echo "It is recommended that you use gcc 3.x to build QEMU"
echo "To use this compiler anyway, configure with --disable-gcc-check"
exit 1;
fi
fi
|
|
380
381
382
383
384
385
386
|
##########################################
# SDL probe
sdl_too_old=no
if test -z "$sdl" ; then
|
|
387
388
|
sdl_config="sdl-config"
sdl=no
|
|
389
|
sdl_static=no
|
|
390
391
392
393
394
395
396
|
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
|
|
397
398
399
400
401
402
|
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
|
|
403
404
|
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'`
|
|
405
406
407
408
409
|
if test "$_sdlversion" -lt 121 ; then
sdl_too_old=yes
else
sdl=yes
fi
|
|
410
411
412
413
414
415
416
|
# 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
|
|
417
|
sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
|
|
418
419
420
421
|
fi
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
sdl_static=yes
|
|
422
423
|
fi
|
|
424
425
426
427
|
fi # static link
fi # sdl compile test
|
|
428
429
|
fi # cross compilation
fi # -z $sdl
|
|
430
|
|
|
431
432
433
434
435
|
# Check if tools are available to build documentation.
if [ ! -z `which texi2html` ] && [ ! -z `which pod2man` ]; then
build_docs="yes"
fi
|
|
436
437
438
439
440
|
if test "$mingw32" = "yes" ; then
if test -z "$prefix" ; then
prefix="/c/Program Files/Qemu"
fi
mandir="$prefix"
|
|
441
|
datadir="$prefix"
|
|
442
|
docdir="$prefix"
|
|
443
444
445
446
447
|
bindir="$prefix"
else
if test -z "$prefix" ; then
prefix="/usr/local"
fi
|
|
448
|
mandir="$prefix/share/man"
|
|
449
|
datadir="$prefix/share/qemu"
|
|
450
|
docdir="$prefix/share/doc/qemu"
|
|
451
452
|
bindir="$prefix/bin"
fi
|
|
453
|
|
|
454
|
echo "Install prefix $prefix"
|
|
455
|
echo "BIOS directory $datadir"
|
|
456
457
458
|
echo "binary directory $bindir"
if test "$mingw32" = "no" ; then
echo "Manual directory $mandir"
|
|
459
|
echo "ELF interp prefix $interp_prefix"
|
|
460
|
fi
|
|
461
|
echo "Source path $source_path"
|
|
462
|
echo "C compiler $cc"
|
|
463
|
echo "Host C compiler $host_cc"
|
|
464
|
echo "make $make"
|
|
465
|
echo "install $install"
|
|
466
|
echo "host CPU $cpu"
|
|
467
|
echo "host big endian $bigendian"
|
|
468
|
echo "target list $target_list"
|
|
469
|
echo "gprof enabled $gprof"
|
|
470
|
echo "profiler $profiler"
|
|
471
|
echo "static build $static"
|
|
472
473
474
|
if test "$darwin" = "yes" ; then
echo "Cocoa support $cocoa"
fi
|
|
475
|
echo "SDL support $sdl"
|
|
476
477
478
|
if test "$sdl" != "no" ; then
echo "SDL static link $sdl_static"
fi
|
|
479
|
echo "mingw32 support $mingw32"
|
|
480
|
echo "Adlib support $adlib"
|
|
481
482
483
484
485
486
487
488
489
490
491
|
echo "CoreAudio support $coreaudio"
echo "ALSA support $alsa"
echo "DSound support $dsound"
if test "$fmod" = "yes"; then
if test -z $fmod_lib || test -z $fmod_inc; then
echo
echo "Error: You must specify path to FMOD library and headers"
echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
echo
exit 1
fi
|
|
492
493
494
|
fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
else
fmod_support=""
|
|
495
|
fi
|
|
496
|
echo "FMOD support $fmod $fmod_support"
|
|
497
|
echo "kqemu support $kqemu"
|
|
498
|
echo "Documentation $build_docs"
|
|
499
|
|
|
500
|
if test $sdl_too_old = "yes"; then
|
|
501
|
echo "-> Your SDL version is too old - please upgrade to have SDL support"
|
|
502
|
fi
|
|
503
504
505
|
#if test "$sdl_static" = "no"; then
# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
#fi
|
|
506
507
|
config_mak="config-host.mak"
config_h="config-host.h"
|
|
508
|
|
|
509
|
#echo "Creating $config_mak and $config_h"
|
|
510
|
|
|
511
|
echo "# Automatically generated by configure - do not modify" > $config_mak
|
|
512
|
echo "# Configured with: $0 $@" >> $config_mak
|
|
513
|
echo "/* Automatically generated by configure - do not modify */" > $config_h
|
|
514
|
|
|
515
|
echo "prefix=$prefix" >> $config_mak
|
|
516
|
echo "bindir=$bindir" >> $config_mak
|
|
517
|
echo "mandir=$mandir" >> $config_mak
|
|
518
|
echo "datadir=$datadir" >> $config_mak
|
|
519
|
echo "docdir=$docdir" >> $config_mak
|
|
520
|
echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
|
|
521
|
echo "MAKE=$make" >> $config_mak
|
|
522
|
echo "INSTALL=$install" >> $config_mak
|
|
523
|
echo "CC=$cc" >> $config_mak
|
|
524
|
if test "$have_gcc3_options" = "yes" ; then
|
|
525
|
echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
|
|
526
|
fi
|
|
527
528
529
530
531
|
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
|
|
532
|
echo "EXESUF=$EXESUF" >> $config_mak
|
|
533
534
535
|
if test "$cpu" = "i386" ; then
echo "ARCH=i386" >> $config_mak
echo "#define HOST_I386 1" >> $config_h
|
|
536
537
538
|
elif test "$cpu" = "x86_64" ; then
echo "ARCH=x86_64" >> $config_mak
echo "#define HOST_X86_64 1" >> $config_h
|
|
539
540
541
|
elif test "$cpu" = "armv4b" ; then
echo "ARCH=arm" >> $config_mak
echo "#define HOST_ARM 1" >> $config_h
|
|
542
|
elif test "$cpu" = "armv4l" ; then
|
|
543
544
|
echo "ARCH=arm" >> $config_mak
echo "#define HOST_ARM 1" >> $config_h
|
|
545
|
elif test "$cpu" = "powerpc" ; then
|
|
546
547
|
echo "ARCH=ppc" >> $config_mak
echo "#define HOST_PPC 1" >> $config_h
|
|
548
|
elif test "$cpu" = "mips" ; then
|
|
549
550
|
echo "ARCH=mips" >> $config_mak
echo "#define HOST_MIPS 1" >> $config_h
|
|
551
|
elif test "$cpu" = "s390" ; then
|
|
552
553
|
echo "ARCH=s390" >> $config_mak
echo "#define HOST_S390 1" >> $config_h
|
|
554
|
elif test "$cpu" = "alpha" ; then
|
|
555
556
|
echo "ARCH=alpha" >> $config_mak
echo "#define HOST_ALPHA 1" >> $config_h
|
|
557
|
elif test "$cpu" = "sparc" ; then
|
|
558
559
|
echo "ARCH=sparc" >> $config_mak
echo "#define HOST_SPARC 1" >> $config_h
|
|
560
|
elif test "$cpu" = "sparc64" ; then
|
|
561
562
|
echo "ARCH=sparc64" >> $config_mak
echo "#define HOST_SPARC64 1" >> $config_h
|
|
563
|
elif test "$cpu" = "ia64" ; then
|
|
564
565
|
echo "ARCH=ia64" >> $config_mak
echo "#define HOST_IA64 1" >> $config_h
|
|
566
|
elif test "$cpu" = "m68k" ; then
|
|
567
568
|
echo "ARCH=m68k" >> $config_mak
echo "#define HOST_M68K 1" >> $config_h
|
|
569
570
571
572
573
|
else
echo "Unsupported CPU"
exit 1
fi
if test "$bigendian" = "yes" ; then
|
|
574
575
576
|
echo "WORDS_BIGENDIAN=yes" >> $config_mak
echo "#define WORDS_BIGENDIAN 1" >> $config_h
fi
|
|
577
|
echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
|
|
578
579
|
if test "$mingw32" = "yes" ; then
echo "CONFIG_WIN32=yes" >> $config_mak
|
|
580
|
echo "#define CONFIG_WIN32 1" >> $config_h
|
|
581
|
elif test -f "/usr/include/byteswap.h" ; then
|
|
582
583
|
echo "#define HAVE_BYTESWAP_H 1" >> $config_h
fi
|
|
584
585
586
587
|
if test "$darwin" = "yes" ; then
echo "CONFIG_DARWIN=yes" >> $config_mak
echo "#define CONFIG_DARWIN 1" >> $config_h
fi
|
|
588
589
590
591
|
if test "$gdbstub" = "yes" ; then
echo "CONFIG_GDBSTUB=yes" >> $config_mak
echo "#define CONFIG_GDBSTUB 1" >> $config_h
fi
|
|
592
593
594
595
596
597
|
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
|
|
598
|
echo "#define CONFIG_STATIC 1" >> $config_h
|
|
599
|
fi
|
|
600
601
602
|
if test $profiler = "yes" ; then
echo "#define CONFIG_PROFILER 1" >> $config_h
fi
|
|
603
604
605
606
|
if test "$slirp" = "yes" ; then
echo "CONFIG_SLIRP=yes" >> $config_mak
echo "#define CONFIG_SLIRP 1" >> $config_h
fi
|
|
607
608
609
610
611
612
613
614
|
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
|
|
615
616
617
618
619
620
621
622
623
624
625
626
|
if test "$coreaudio" = "yes" ; then
echo "CONFIG_COREAUDIO=yes" >> $config_mak
echo "#define CONFIG_COREAUDIO 1" >> $config_h
fi
if test "$alsa" = "yes" ; then
echo "CONFIG_ALSA=yes" >> $config_mak
echo "#define CONFIG_ALSA 1" >> $config_h
fi
if test "$dsound" = "yes" ; then
echo "CONFIG_DSOUND=yes" >> $config_mak
echo "#define CONFIG_DSOUND 1" >> $config_h
fi
|
|
627
628
629
630
631
632
|
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
|
|
633
634
|
qemu_version=`head $source_path/VERSION`
echo "VERSION=$qemu_version" >>$config_mak
|
|
635
|
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
|
|
636
637
|
echo "SRC_PATH=$source_path" >> $config_mak
|
|
638
639
640
|
if [ "$source_path_used" = "yes" ]; then
echo "VPATH=$source_path" >> $config_mak
fi
|
|
641
|
echo "TARGET_DIRS=$target_list" >> $config_mak
|
|
642
643
644
|
if [ "$build_docs" = "yes" ] ; then
echo "BUILD_DOCS=yes" >> $config_mak
fi
|
|
645
|
|
|
646
|
# XXX: suppress that
|
|
647
|
if [ "$bsd" = "yes" ] ; then
|
|
648
649
|
echo "#define O_LARGEFILE 0" >> $config_h
echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
|
|
650
651
652
|
echo "#define _BSD 1" >> $config_h
fi
|
|
653
|
for target in $target_list; do
|
|
654
655
656
657
658
|
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"
|
|
659
|
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
|
|
660
|
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
|
|
661
|
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
|
|
662
|
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
|
|
663
|
[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
|
|
664
|
[ "$target_cpu" = "mips" ] && target_bigendian=yes
|
|
665
666
667
668
|
target_softmmu="no"
if expr $target : '.*-softmmu' > /dev/null ; then
target_softmmu="yes"
fi
|
|
669
670
671
672
|
target_user_only="no"
if expr $target : '.*-user' > /dev/null ; then
target_user_only="yes"
fi
|
|
673
|
|
|
674
|
if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
|
|
675
|
-a "$sdl" = "no" -a "$cocoa" = "no" ; then
|
|
676
|
echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
|
|
677
|
echo "To build QEMU without graphical output configure with --disable-gfx-check"
|
|
678
679
680
681
|
echo "Note that this will disable all output from the virtual graphics card."
exit 1;
fi
|
|
682
|
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
|
|
683
684
|
mkdir -p $target_dir
|
|
685
|
mkdir -p $target_dir/fpu
|
|
686
|
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
|
|
687
688
|
mkdir -p $target_dir/nwfpe
fi
|
|
689
690
691
|
if test "$target_user_only" = "no" ; then
mkdir -p $target_dir/slirp
fi
|
|
692
|
|
|
693
694
695
696
697
|
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
|
|
698
|
|
|
699
700
|
echo "include ../config-host.mak" >> $config_mak
echo "#include \"../config-host.h\"" >> $config_h
|
|
701
702
703
|
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
|
|
704
705
706
707
708
|
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
|
|
709
|
if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
|
|
710
711
|
echo "#define USE_KQEMU 1" >> $config_h
fi
|
|
712
|
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
|
|
713
714
715
|
echo "TARGET_ARCH=arm" >> $config_mak
echo "#define TARGET_ARCH \"arm\"" >> $config_h
echo "#define TARGET_ARM 1" >> $config_h
|
|
716
717
718
719
|
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
|
|
720
721
722
723
724
|
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
|
|
725
726
727
728
|
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
|
|
729
730
731
732
733
|
elif test "$target_cpu" = "ppc64" ; then
echo "TARGET_ARCH=ppc64" >> $config_mak
echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
echo "#define TARGET_PPC 1" >> $config_h
echo "#define TARGET_PPC64 1" >> $config_h
|
|
734
735
736
737
738
|
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
|
|
739
740
741
|
if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
echo "#define USE_KQEMU 1" >> $config_h
fi
|
|
742
|
elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
|
|
743
744
745
|
echo "TARGET_ARCH=mips" >> $config_mak
echo "#define TARGET_ARCH \"mips\"" >> $config_h
echo "#define TARGET_MIPS 1" >> $config_h
|
|
746
747
748
749
750
|
else
echo "Unsupported target CPU"
exit 1
fi
if test "$target_bigendian" = "yes" ; then
|
|
751
752
|
echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
|
|
753
|
fi
|
|
754
755
756
|
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_SOFTMMU=yes" >> $config_mak
echo "#define CONFIG_SOFTMMU 1" >> $config_h
|
|
757
|
fi
|
|
758
759
760
761
|
if test "$target_user_only" = "yes" ; then
echo "CONFIG_USER_ONLY=yes" >> $config_mak
echo "#define CONFIG_USER_ONLY 1" >> $config_h
fi
|
|
762
|
|
|
763
764
765
766
|
if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
fi
|
|
767
768
769
770
|
# sdl defines
if test "$target_user_only" = "no"; then
if test "$target_softmmu" = "no" -o "$static" = "yes"; then
|
|
771
|
sdl1=$sdl_static
|
|
772
|
else
|
|
773
774
775
776
777
778
779
780
|
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
|
|
781
782
|
echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
fi
|
|
783
|
if [ "${aa}" = "yes" ] ; then
|
|
784
785
786
|
echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
else
echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
|
|
787
|
fi
|
|
788
789
790
|
fi
fi
|
|
791
792
793
794
795
|
if test "$cocoa" = "yes" ; then
echo "#define CONFIG_COCOA 1" >> $config_h
echo "CONFIG_COCOA=yes" >> $config_mak
fi
|
|
796
|
done # for target in $targets
|
|
797
798
799
800
801
802
803
804
805
806
807
808
809
|
# 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
|
|
810
|
rm -f $TMPO $TMPC $TMPE $TMPS
|