Fix typo in ppc icache flush.
[qemu.git] / configure
CommitLineData
7d13299d
FB
1#!/bin/sh
2#
3ef693a0 3# qemu configure script (c) 2003 Fabrice Bellard
7d13299d
FB
4#
5# set temporary file name
6if test ! -z "$TMPDIR" ; then
7 TMPDIR1="${TMPDIR}"
8elif test ! -z "$TEMPDIR" ; then
9 TMPDIR1="${TEMPDIR}"
10else
11 TMPDIR1="/tmp"
12fi
13
3ef693a0
FB
14TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
7d13299d
FB
18
19# default parameters
11d9f695 20prefix=""
1e43adfc 21interp_prefix="/usr/gnemul/qemu-%M"
43ce4dfe 22static="no"
7d13299d
FB
23cross_prefix=""
24cc="gcc"
25host_cc="gcc"
26ar="ar"
27make="make"
28strip="strip"
29cpu=`uname -m`
5327cf48 30target_list=""
7d13299d
FB
31case "$cpu" in
32 i386|i486|i586|i686|i86pc|BePC)
97a847bc 33 cpu="i386"
7d13299d 34 ;;
ba68055e 35 armv*b)
808c4954
FB
36 cpu="armv4b"
37 ;;
ba68055e 38 armv*l)
7d13299d
FB
39 cpu="armv4l"
40 ;;
41 alpha)
42 cpu="alpha"
43 ;;
295defa5 44 "Power Macintosh"|ppc|ppc64)
7d13299d
FB
45 cpu="powerpc"
46 ;;
47 mips)
48 cpu="mips"
49 ;;
fb3e5849
FB
50 s390)
51 cpu="s390"
52 ;;
ae228531
FB
53 sparc)
54 cpu="sparc"
55 ;;
56 sparc64)
57 cpu="sparc64"
58 ;;
a8baa8c5
FB
59 ia64)
60 cpu="ia64"
61 ;;
38e584a0
FB
62 m68k)
63 cpu="m68k"
64 ;;
bc51c5c9 65 x86_64|amd64)
0b0babc6 66 cpu="x86_64"
bc51c5c9 67 ;;
7d13299d
FB
68 *)
69 cpu="unknown"
70 ;;
71esac
72gprof="no"
73bigendian="no"
67b915a5
FB
74mingw32="no"
75EXESUF=""
76gdbstub="yes"
443f1376 77slirp="yes"
fb065187
FB
78adlib="no"
79oss="no"
1d14ffa9
FB
80dsound="no"
81coreaudio="no"
82alsa="no"
102a52e4
FB
83fmod="no"
84fmod_lib=""
85fmod_inc=""
5327cf48 86linux="no"
c9ec1fe4 87kqemu="no"
05c2a3e7 88profiler="no"
c9ec1fe4 89kernel_path=""
5b0753e0 90cocoa="no"
97ccc689 91check_gfx="yes"
1aff381f 92check_gcc="yes"
7d13299d
FB
93
94# OS specific
95targetos=`uname -s`
96case $targetos in
c326e0af
FB
97CYGWIN*)
98mingw32="yes"
99CFLAGS="-O2 -mno-cygwin"
100;;
67b915a5
FB
101MINGW32*)
102mingw32="yes"
103;;
7d3505c5
FB
104FreeBSD)
105bsd="yes"
fb065187 106oss="yes"
e99f9060 107if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
07f4ddbf
FB
108 kqemu="yes"
109fi
7d3505c5
FB
110;;
111NetBSD)
112bsd="yes"
fb065187 113oss="yes"
7d3505c5
FB
114;;
115OpenBSD)
116bsd="yes"
fb065187 117oss="yes"
7d3505c5 118;;
83fb7adf
FB
119Darwin)
120bsd="yes"
121darwin="yes"
122;;
1d14ffa9 123*)
fb065187 124oss="yes"
5327cf48 125linux="yes"
07f4ddbf 126if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
c9ec1fe4
FB
127 kqemu="yes"
128fi
fb065187 129;;
7d13299d
FB
130esac
131
7d3505c5 132if [ "$bsd" = "yes" ] ; then
83fb7adf
FB
133 if [ ! "$darwin" = "yes" ] ; then
134 make="gmake"
135 fi
7d3505c5
FB
136fi
137
7d13299d 138# find source path
1d14ffa9 139# XXX: we assume an absolute path is given when launching configure,
7d13299d
FB
140# except in './configure' case.
141source_path=${0%configure}
142source_path=${source_path%/}
143source_path_used="yes"
144if test -z "$source_path" -o "$source_path" = "." ; then
145 source_path=`pwd`
146 source_path_used="no"
147fi
148
149for opt do
150 case "$opt" in
2efc3265
FB
151 --help|-h) show_help=yes
152 ;;
7d13299d
FB
153 --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
154 ;;
32ce6337
FB
155 --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
156 ;;
7d13299d
FB
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 ;;
83469015
FB
163 --host-cc=*) host_cc=`echo $opt | cut -d '=' -f 2`
164 ;;
7d13299d
FB
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 ;;
7d13299d
FB
171 --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
172 ;;
97a847bc 173 --target-list=*) target_list=${opt#--target-list=}
de83cd02 174 ;;
7d13299d
FB
175 --enable-gprof) gprof="yes"
176 ;;
43ce4dfe
FB
177 --static) static="yes"
178 ;;
97a847bc
FB
179 --disable-sdl) sdl="no"
180 ;;
1d14ffa9
FB
181 --enable-coreaudio) coreaudio="yes"
182 ;;
183 --enable-alsa) alsa="yes"
184 ;;
185 --enable-dsound) dsound="yes"
186 ;;
102a52e4
FB
187 --enable-fmod) fmod="yes"
188 ;;
189 --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
190 ;;
191 --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
192 ;;
67b915a5 193 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
1d14ffa9 194 ;;
443f1376 195 --disable-slirp) slirp="no"
1d14ffa9 196 ;;
fb065187 197 --enable-adlib) adlib="yes"
1d14ffa9 198 ;;
c9ec1fe4 199 --disable-kqemu) kqemu="no"
1d14ffa9 200 ;;
05c2a3e7
FB
201 --enable-profiler) profiler="yes"
202 ;;
c9ec1fe4 203 --kernel-path=*) kernel_path=${opt#--kernel-path=}
1d14ffa9
FB
204 ;;
205 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
206 ;;
97ccc689
FB
207 --disable-gfx-check) check_gfx="no"
208 ;;
1aff381f
FB
209 --disable-gcc-check) check_gcc="no"
210 ;;
7d13299d
FB
211 esac
212done
213
214# Checking for CFLAGS
215if test -z "$CFLAGS"; then
216 CFLAGS="-O2"
217fi
218
219cc="${cross_prefix}${cc}"
220ar="${cross_prefix}${ar}"
221strip="${cross_prefix}${strip}"
222
67b915a5 223if test "$mingw32" = "yes" ; then
5327cf48 224 linux="no"
67b915a5
FB
225 EXESUF=".exe"
226 gdbstub="no"
9f059eca 227 oss="no"
07f4ddbf
FB
228 if [ "$cpu" = "i386" ] ; then
229 kqemu="yes"
230 fi
67b915a5
FB
231fi
232
5327cf48
FB
233if test -z "$target_list" ; then
234# these targets are portable
38260998 235 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
5327cf48
FB
236# the following are Linux specific
237 if [ "$linux" = "yes" ] ; then
c20eb473 238 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
5327cf48 239 fi
6e20a45f
FB
240else
241 target_list=$(echo "$target_list" | sed -e 's/,/ /g')
5327cf48
FB
242fi
243
7d13299d
FB
244if test -z "$cross_prefix" ; then
245
246# ---
247# big/little endian test
248cat > $TMPC << EOF
249#include <inttypes.h>
250int main(int argc, char ** argv){
1d14ffa9
FB
251 volatile uint32_t i=0x01234567;
252 return (*((uint8_t*)(&i))) == 0x67;
7d13299d
FB
253}
254EOF
255
256if $cc -o $TMPE $TMPC 2>/dev/null ; then
257$TMPE && bigendian="yes"
258else
259echo big/little test failed
260fi
261
262else
263
264# if cross compiling, cannot launch a program, so make a static guess
808c4954 265if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
7d13299d
FB
266 bigendian="yes"
267fi
268
269fi
270
b6853697
FB
271# host long bits test
272hostlongbits="32"
273if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
274 hostlongbits="64"
275fi
276
e8cd23de 277# check gcc options support
04369ff2
FB
278cat > $TMPC <<EOF
279int main(void) {
04369ff2
FB
280}
281EOF
282
e8cd23de
FB
283have_gcc3_options="no"
284if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
285 have_gcc3_options="yes"
04369ff2 286fi
ca735206 287
1aff381f
FB
288# Check for gcc4
289if test "$check_gcc" = "yes" ; then
290 cat > $TMPC <<EOF
291#if __GNUC__ >= 4
292#error gcc4
293#endif
294int main(){return 0;}
295EOF
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
303fi
304
11d9f695
FB
305##########################################
306# SDL probe
307
308sdl_too_old=no
309
310if test -z "$sdl" ; then
311
a6e022ad
FB
312sdl_config="sdl-config"
313sdl=no
7c1f25b4 314sdl_static=no
a6e022ad
FB
315
316if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
317# win32 cross compilation case
318 sdl_config="i386-mingw32msvc-sdl-config"
319 sdl=yes
320else
321# normal SDL probe
11d9f695
FB
322cat > $TMPC << EOF
323#include <SDL.h>
324#undef main /* We don't want SDL to override our main() */
325int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
326EOF
327
a6e022ad
FB
328if $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'`
11d9f695
FB
330if test "$_sdlversion" -lt 121 ; then
331sdl_too_old=yes
332else
333sdl=yes
334fi
7c1f25b4
FB
335
336# static link with sdl ?
337if test "$sdl" = "yes" ; then
338aa="no"
339`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
340sdl_static_libs=`$sdl_config --static-libs`
341if [ "$aa" = "yes" ] ; then
d8d8aa4e 342 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
7c1f25b4
FB
343fi
344
345if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
346 sdl_static=yes
11d9f695
FB
347fi
348
7c1f25b4
FB
349fi # static link
350
351fi # sdl compile test
352
a6e022ad
FB
353fi # cross compilation
354fi # -z $sdl
11d9f695 355
2efc3265 356if test x"$show_help" = x"yes" ; then
7d13299d
FB
357cat << EOF
358
359Usage: configure [options]
360Options: [defaults in brackets after descriptions]
361
362EOF
363echo "Standard options:"
364echo " --help print this message"
365echo " --prefix=PREFIX install in PREFIX [$prefix]"
1e43adfc
FB
366echo " --interp-prefix=PREFIX where to find shared libraries, etc."
367echo " use %M for cpu name [$interp_prefix]"
97a847bc 368echo " --target-list=LIST set target list [$target_list]"
7d13299d 369echo ""
c9ec1fe4 370echo "kqemu kernel acceleration support:"
05c2a3e7 371echo " --disable-kqemu disable kqemu support"
c9ec1fe4
FB
372echo " --kernel-path=PATH set the kernel path (configure probes it)"
373echo ""
7d13299d
FB
374echo "Advanced options (experts only):"
375echo " --source-path=PATH path of source code [$source_path]"
376echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
377echo " --cc=CC use C compiler CC [$cc]"
2efc3265 378echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
7d13299d 379echo " --make=MAKE use specified make [$make]"
43ce4dfe 380echo " --static enable static build [$static]"
8147cfca 381echo " --enable-cocoa enable COCOA (Mac OS X only)"
67b915a5 382echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
d37282ad 383echo " --enable-adlib enable Adlib emulation"
1d14ffa9
FB
384echo " --enable-coreaudio enable Coreaudio audio driver"
385echo " --enable-alsa enable ALSA audio driver"
386echo " --enable-fmod enable FMOD audio driver"
387echo " --enabled-dsound enable DirectSound audio driver"
102a52e4
FB
388echo " --fmod-lib path to FMOD library"
389echo " --fmod-inc path to FMOD includes"
7d13299d
FB
390echo ""
391echo "NOTE: The object files are build at the place where configure is launched"
392exit 1
393fi
394
11d9f695
FB
395if test "$mingw32" = "yes" ; then
396if test -z "$prefix" ; then
397 prefix="/c/Program Files/Qemu"
398fi
399mandir="$prefix"
7efa4387 400datadir="$prefix"
1f50f8d1 401docdir="$prefix"
11d9f695
FB
402bindir="$prefix"
403else
404if test -z "$prefix" ; then
405 prefix="/usr/local"
406fi
5a67135a 407mandir="$prefix/share/man"
7efa4387 408datadir="$prefix/share/qemu"
1f50f8d1 409docdir="$prefix/share/doc/qemu"
11d9f695
FB
410bindir="$prefix/bin"
411fi
5a67135a 412
43ce4dfe 413echo "Install prefix $prefix"
7efa4387 414echo "BIOS directory $datadir"
11d9f695
FB
415echo "binary directory $bindir"
416if test "$mingw32" = "no" ; then
417echo "Manual directory $mandir"
43ce4dfe 418echo "ELF interp prefix $interp_prefix"
11d9f695 419fi
5a67135a 420echo "Source path $source_path"
43ce4dfe 421echo "C compiler $cc"
83469015 422echo "Host C compiler $host_cc"
43ce4dfe
FB
423echo "make $make"
424echo "host CPU $cpu"
de83cd02 425echo "host big endian $bigendian"
97a847bc 426echo "target list $target_list"
43ce4dfe 427echo "gprof enabled $gprof"
05c2a3e7 428echo "profiler $profiler"
43ce4dfe 429echo "static build $static"
5b0753e0
FB
430if test "$darwin" = "yes" ; then
431 echo "Cocoa support $cocoa"
432fi
97a847bc 433echo "SDL support $sdl"
e4afee97
FB
434if test "$sdl" != "no" ; then
435 echo "SDL static link $sdl_static"
436fi
67b915a5 437echo "mingw32 support $mingw32"
fb065187 438echo "Adlib support $adlib"
1d14ffa9
FB
439echo "CoreAudio support $coreaudio"
440echo "ALSA support $alsa"
441echo "DSound support $dsound"
102a52e4 442echo -n "FMOD support $fmod"
1d14ffa9
FB
443if 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
102a52e4
FB
451 echo -n " (lib='$fmod_lib' include='$fmod_inc')"
452fi
453echo ""
07f4ddbf 454echo "kqemu support $kqemu"
67b915a5 455
97a847bc 456if test $sdl_too_old = "yes"; then
24b55b96 457echo "-> Your SDL version is too old - please upgrade to have SDL support"
7c1f25b4 458fi
24b55b96
FB
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
97a847bc
FB
462
463config_mak="config-host.mak"
464config_h="config-host.h"
7d13299d 465
7c1f25b4 466#echo "Creating $config_mak and $config_h"
7d13299d 467
97a847bc 468echo "# Automatically generated by configure - do not modify" > $config_mak
29517134 469echo "# Configured with: $0 $@" >> $config_mak
97a847bc 470echo "/* Automatically generated by configure - do not modify */" > $config_h
7d13299d 471
97a847bc 472echo "prefix=$prefix" >> $config_mak
11d9f695 473echo "bindir=$bindir" >> $config_mak
5a67135a 474echo "mandir=$mandir" >> $config_mak
7efa4387 475echo "datadir=$datadir" >> $config_mak
1f50f8d1 476echo "docdir=$docdir" >> $config_mak
7efa4387 477echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
97a847bc
FB
478echo "MAKE=$make" >> $config_mak
479echo "CC=$cc" >> $config_mak
e8cd23de 480if test "$have_gcc3_options" = "yes" ; then
97a847bc 481 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
e8cd23de 482fi
97a847bc
FB
483echo "HOST_CC=$host_cc" >> $config_mak
484echo "AR=$ar" >> $config_mak
485echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
486echo "CFLAGS=$CFLAGS" >> $config_mak
487echo "LDFLAGS=$LDFLAGS" >> $config_mak
67b915a5 488echo "EXESUF=$EXESUF" >> $config_mak
97a847bc
FB
489if test "$cpu" = "i386" ; then
490 echo "ARCH=i386" >> $config_mak
491 echo "#define HOST_I386 1" >> $config_h
0b0babc6
FB
492elif test "$cpu" = "x86_64" ; then
493 echo "ARCH=x86_64" >> $config_mak
494 echo "#define HOST_X86_64 1" >> $config_h
808c4954
FB
495elif test "$cpu" = "armv4b" ; then
496 echo "ARCH=arm" >> $config_mak
497 echo "#define HOST_ARM 1" >> $config_h
7d13299d 498elif test "$cpu" = "armv4l" ; then
97a847bc
FB
499 echo "ARCH=arm" >> $config_mak
500 echo "#define HOST_ARM 1" >> $config_h
7d13299d 501elif test "$cpu" = "powerpc" ; then
97a847bc
FB
502 echo "ARCH=ppc" >> $config_mak
503 echo "#define HOST_PPC 1" >> $config_h
7d13299d 504elif test "$cpu" = "mips" ; then
97a847bc
FB
505 echo "ARCH=mips" >> $config_mak
506 echo "#define HOST_MIPS 1" >> $config_h
fb3e5849 507elif test "$cpu" = "s390" ; then
97a847bc
FB
508 echo "ARCH=s390" >> $config_mak
509 echo "#define HOST_S390 1" >> $config_h
295defa5 510elif test "$cpu" = "alpha" ; then
97a847bc
FB
511 echo "ARCH=alpha" >> $config_mak
512 echo "#define HOST_ALPHA 1" >> $config_h
ae228531 513elif test "$cpu" = "sparc" ; then
97a847bc
FB
514 echo "ARCH=sparc" >> $config_mak
515 echo "#define HOST_SPARC 1" >> $config_h
ae228531 516elif test "$cpu" = "sparc64" ; then
97a847bc
FB
517 echo "ARCH=sparc64" >> $config_mak
518 echo "#define HOST_SPARC64 1" >> $config_h
a8baa8c5 519elif test "$cpu" = "ia64" ; then
97a847bc
FB
520 echo "ARCH=ia64" >> $config_mak
521 echo "#define HOST_IA64 1" >> $config_h
38e584a0 522elif test "$cpu" = "m68k" ; then
38ca2abc
FB
523 echo "ARCH=m68k" >> $config_mak
524 echo "#define HOST_M68K 1" >> $config_h
7d13299d
FB
525else
526 echo "Unsupported CPU"
527 exit 1
528fi
529if test "$bigendian" = "yes" ; then
97a847bc
FB
530 echo "WORDS_BIGENDIAN=yes" >> $config_mak
531 echo "#define WORDS_BIGENDIAN 1" >> $config_h
532fi
b6853697 533echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
67b915a5
FB
534if test "$mingw32" = "yes" ; then
535 echo "CONFIG_WIN32=yes" >> $config_mak
11d9f695 536 echo "#define CONFIG_WIN32 1" >> $config_h
7d3505c5 537elif test -f "/usr/include/byteswap.h" ; then
67b915a5
FB
538 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
539fi
83fb7adf
FB
540if test "$darwin" = "yes" ; then
541 echo "CONFIG_DARWIN=yes" >> $config_mak
542 echo "#define CONFIG_DARWIN 1" >> $config_h
543fi
67b915a5
FB
544if test "$gdbstub" = "yes" ; then
545 echo "CONFIG_GDBSTUB=yes" >> $config_mak
546 echo "#define CONFIG_GDBSTUB 1" >> $config_h
547fi
97a847bc
FB
548if test "$gprof" = "yes" ; then
549 echo "TARGET_GPROF=yes" >> $config_mak
550 echo "#define HAVE_GPROF 1" >> $config_h
551fi
552if test "$static" = "yes" ; then
553 echo "CONFIG_STATIC=yes" >> $config_mak
50863472 554 echo "#define CONFIG_STATIC 1" >> $config_h
7d13299d 555fi
05c2a3e7
FB
556if test $profiler = "yes" ; then
557 echo "#define CONFIG_PROFILER 1" >> $config_h
558fi
c20709aa
FB
559if test "$slirp" = "yes" ; then
560 echo "CONFIG_SLIRP=yes" >> $config_mak
561 echo "#define CONFIG_SLIRP 1" >> $config_h
562fi
fb065187
FB
563if test "$adlib" = "yes" ; then
564 echo "CONFIG_ADLIB=yes" >> $config_mak
565 echo "#define CONFIG_ADLIB 1" >> $config_h
566fi
567if test "$oss" = "yes" ; then
568 echo "CONFIG_OSS=yes" >> $config_mak
569 echo "#define CONFIG_OSS 1" >> $config_h
570fi
1d14ffa9
FB
571if test "$coreaudio" = "yes" ; then
572 echo "CONFIG_COREAUDIO=yes" >> $config_mak
573 echo "#define CONFIG_COREAUDIO 1" >> $config_h
574fi
575if test "$alsa" = "yes" ; then
576 echo "CONFIG_ALSA=yes" >> $config_mak
577 echo "#define CONFIG_ALSA 1" >> $config_h
578fi
579if test "$dsound" = "yes" ; then
580 echo "CONFIG_DSOUND=yes" >> $config_mak
581 echo "#define CONFIG_DSOUND 1" >> $config_h
582fi
102a52e4
FB
583if 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
588fi
97a847bc
FB
589echo -n "VERSION=" >>$config_mak
590head $source_path/VERSION >>$config_mak
591echo "" >>$config_mak
592echo -n "#define QEMU_VERSION \"" >> $config_h
593head $source_path/VERSION >> $config_h
594echo "\"" >> $config_h
595
596echo "SRC_PATH=$source_path" >> $config_mak
597echo "TARGET_DIRS=$target_list" >> $config_mak
598
83fb7adf 599# XXX: suppress that
7d3505c5 600if [ "$bsd" = "yes" ] ; then
43003046 601 echo "#define O_LARGEFILE 0" >> $config_h
43003046 602 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
7d3505c5
FB
603 echo "#define _BSD 1" >> $config_h
604fi
605
1d14ffa9 606for target in $target_list; do
97a847bc
FB
607
608target_dir="$target"
609config_mak=$target_dir/config.mak
610config_h=$target_dir/config.h
611target_cpu=`echo $target | cut -d '-' -f 1`
612target_bigendian="no"
808c4954 613[ "$target_cpu" = "armeb" ] && target_bigendian=yes
1e43adfc 614[ "$target_cpu" = "sparc" ] && target_bigendian=yes
64b3ab24 615[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
67867308 616[ "$target_cpu" = "ppc" ] && target_bigendian=yes
a2458627 617[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
d3258560 618[ "$target_cpu" = "mips" ] && target_bigendian=yes
97a847bc
FB
619target_softmmu="no"
620if expr $target : '.*-softmmu' > /dev/null ; then
621 target_softmmu="yes"
622fi
997344f3
FB
623target_user_only="no"
624if expr $target : '.*-user' > /dev/null ; then
625 target_user_only="yes"
626fi
97a847bc 627
97ccc689 628if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1d14ffa9 629 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
97ccc689
FB
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;
634fi
635
7c1f25b4 636#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
97a847bc
FB
637
638mkdir -p $target_dir
158142c2 639mkdir -p $target_dir/fpu
808c4954 640if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
69de927c
FB
641 mkdir -p $target_dir/nwfpe
642fi
a7e61ed4
FB
643if test "$target_user_only" = "no" ; then
644 mkdir -p $target_dir/slirp
645fi
69de927c 646
97a847bc
FB
647ln -sf $source_path/Makefile.target $target_dir/Makefile
648
649echo "# Automatically generated by configure - do not modify" > $config_mak
650echo "/* Automatically generated by configure - do not modify */" > $config_h
651
de83cd02 652
97a847bc
FB
653echo "include ../config-host.mak" >> $config_mak
654echo "#include \"../config-host.h\"" >> $config_h
1e43adfc
FB
655
656interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
657echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
97a847bc
FB
658
659if 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
07f4ddbf 663 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
824d560f
FB
664 echo "#define USE_KQEMU 1" >> $config_h
665 fi
808c4954 666elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
97a847bc
FB
667 echo "TARGET_ARCH=arm" >> $config_mak
668 echo "#define TARGET_ARCH \"arm\"" >> $config_h
669 echo "#define TARGET_ARM 1" >> $config_h
1e43adfc
FB
670elif 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
64b3ab24
FB
674elif 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
67867308
FB
679elif 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
a2458627
FB
683elif 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
0b0babc6
FB
688elif 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
07f4ddbf
FB
693 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
694 echo "#define USE_KQEMU 1" >> $config_h
695 fi
c20eb473 696elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
d3258560
FB
697 echo "TARGET_ARCH=mips" >> $config_mak
698 echo "#define TARGET_ARCH \"mips\"" >> $config_h
699 echo "#define TARGET_MIPS 1" >> $config_h
de83cd02
FB
700else
701 echo "Unsupported target CPU"
702 exit 1
703fi
704if test "$target_bigendian" = "yes" ; then
97a847bc
FB
705 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
706 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
de83cd02 707fi
97a847bc
FB
708if test "$target_softmmu" = "yes" ; then
709 echo "CONFIG_SOFTMMU=yes" >> $config_mak
710 echo "#define CONFIG_SOFTMMU 1" >> $config_h
43ce4dfe 711fi
997344f3
FB
712if test "$target_user_only" = "yes" ; then
713 echo "CONFIG_USER_ONLY=yes" >> $config_mak
714 echo "#define CONFIG_USER_ONLY 1" >> $config_h
715fi
97a847bc 716
158142c2
FB
717if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
718 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
719 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
720fi
7c1f25b4
FB
721# sdl defines
722
723if test "$target_user_only" = "no"; then
724 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
dbb2c921 725 sdl1=$sdl_static
7c1f25b4 726 else
dbb2c921
FB
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
7c1f25b4
FB
735 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
736 fi
dbb2c921
FB
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
7c1f25b4 742 fi
7c1f25b4
FB
743fi
744
5b0753e0
FB
745if test "$cocoa" = "yes" ; then
746 echo "#define CONFIG_COCOA 1" >> $config_h
747 echo "CONFIG_COCOA=yes" >> $config_mak
748fi
749
97a847bc 750done # for target in $targets
7d13299d
FB
751
752# build tree in object directory if source path is different from current one
753if 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
762fi
7d13299d 763
97a847bc 764rm -f $TMPO $TMPC $TMPE $TMPS
This page took 0.194344 seconds and 4 git commands to generate.