blob: aae84af9c9dd48f9f0aa35bf389ea6b2ebce6581 [file] [log] [blame]
bellard7d132992003-03-06 23:23:54 +00001#!/bin/sh
2#
bellard3ef693a2003-03-23 20:17:16 +00003# qemu configure script (c) 2003 Fabrice Bellard
bellard7d132992003-03-06 23:23:54 +00004#
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
bellard3ef693a2003-03-23 20:17:16 +000014TMPC="${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"
bellard7d132992003-03-06 23:23:54 +000018
19# default parameters
bellard11d9f692004-04-02 20:55:59 +000020prefix=""
bellard1e43adf2003-09-30 20:54:24 +000021interp_prefix="/usr/gnemul/qemu-%M"
bellard43ce4df2003-06-09 19:53:12 +000022static="no"
bellard7d132992003-03-06 23:23:54 +000023cross_prefix=""
24cc="gcc"
25host_cc="gcc"
26ar="ar"
27make="make"
pbrook6a882642006-04-17 13:57:12 +000028install="install"
bellard7d132992003-03-06 23:23:54 +000029strip="strip"
30cpu=`uname -m`
bellard5327cf42005-01-10 23:18:50 +000031target_list=""
bellard7d132992003-03-06 23:23:54 +000032case "$cpu" in
33 i386|i486|i586|i686|i86pc|BePC)
bellard97a847b2003-08-10 21:36:04 +000034 cpu="i386"
bellard7d132992003-03-06 23:23:54 +000035 ;;
bellardba680552005-03-13 09:49:52 +000036 armv*b)
bellard808c4952004-12-19 23:33:47 +000037 cpu="armv4b"
38 ;;
bellardba680552005-03-13 09:49:52 +000039 armv*l)
bellard7d132992003-03-06 23:23:54 +000040 cpu="armv4l"
41 ;;
42 alpha)
43 cpu="alpha"
44 ;;
bellard295defa2003-04-07 21:31:29 +000045 "Power Macintosh"|ppc|ppc64)
bellard7d132992003-03-06 23:23:54 +000046 cpu="powerpc"
47 ;;
48 mips)
49 cpu="mips"
50 ;;
bellardfb3e5842003-03-29 17:32:36 +000051 s390)
52 cpu="s390"
53 ;;
pbrook94ac5152006-04-26 16:07:35 +000054 sparc|sun4[muv])
bellardae228532003-05-13 18:59:59 +000055 cpu="sparc"
56 ;;
57 sparc64)
58 cpu="sparc64"
59 ;;
bellarda8baa8c2003-04-29 20:53:31 +000060 ia64)
61 cpu="ia64"
62 ;;
bellard38e584a2003-08-10 22:14:22 +000063 m68k)
64 cpu="m68k"
65 ;;
bellardbc51c5c2004-03-17 23:46:04 +000066 x86_64|amd64)
bellard0b0babc2005-01-03 23:38:40 +000067 cpu="x86_64"
bellardbc51c5c2004-03-17 23:46:04 +000068 ;;
bellard7d132992003-03-06 23:23:54 +000069 *)
70 cpu="unknown"
71 ;;
72esac
73gprof="no"
74bigendian="no"
bellard67b915a2004-03-31 23:37:16 +000075mingw32="no"
76EXESUF=""
77gdbstub="yes"
bellard443f1372004-06-04 11:13:20 +000078slirp="yes"
bellardfb065182004-11-09 23:09:44 +000079adlib="no"
80oss="no"
bellard1d14ffa2005-10-30 18:58:22 +000081dsound="no"
82coreaudio="no"
83alsa="no"
bellard102a52e2004-11-14 19:57:29 +000084fmod="no"
85fmod_lib=""
86fmod_inc=""
pbrookb1a550a2006-04-16 13:28:56 +000087bsd="no"
bellard5327cf42005-01-10 23:18:50 +000088linux="no"
bellardc9ec1fe2005-02-10 21:55:30 +000089kqemu="no"
bellard05c2a3e2006-02-08 22:39:17 +000090profiler="no"
bellardc9ec1fe2005-02-10 21:55:30 +000091kernel_path=""
bellard5b0753e2005-03-01 21:37:28 +000092cocoa="no"
bellard97ccc682005-07-02 13:32:17 +000093check_gfx="yes"
bellard1aff3812005-11-02 22:30:45 +000094check_gcc="yes"
pbrook0a8e90f2006-03-19 14:54:16 +000095softmmu="yes"
96user="no"
pbrookcc8ae6d2006-04-23 17:57:59 +000097build_docs="no"
bellard7d132992003-03-06 23:23:54 +000098
99# OS specific
100targetos=`uname -s`
101case $targetos in
bellardc326e0a2005-04-23 18:30:28 +0000102CYGWIN*)
103mingw32="yes"
104CFLAGS="-O2 -mno-cygwin"
105;;
bellard67b915a2004-03-31 23:37:16 +0000106MINGW32*)
107mingw32="yes"
108;;
bellard7d3505c2004-05-12 19:32:15 +0000109FreeBSD)
110bsd="yes"
bellardfb065182004-11-09 23:09:44 +0000111oss="yes"
bellarde99f9062005-07-28 21:45:38 +0000112if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
bellard07f4ddb2005-04-23 17:44:28 +0000113 kqemu="yes"
114fi
bellard7d3505c2004-05-12 19:32:15 +0000115;;
116NetBSD)
117bsd="yes"
bellardfb065182004-11-09 23:09:44 +0000118oss="yes"
bellard7d3505c2004-05-12 19:32:15 +0000119;;
120OpenBSD)
121bsd="yes"
bellardfb065182004-11-09 23:09:44 +0000122oss="yes"
bellard7d3505c2004-05-12 19:32:15 +0000123;;
bellard83fb7ad2004-07-05 21:25:26 +0000124Darwin)
125bsd="yes"
126darwin="yes"
127;;
bellardec530c82006-04-25 22:36:06 +0000128SunOS)
129solaris="yes"
130;;
bellard1d14ffa2005-10-30 18:58:22 +0000131*)
bellardfb065182004-11-09 23:09:44 +0000132oss="yes"
bellard5327cf42005-01-10 23:18:50 +0000133linux="yes"
pbrook0a8e90f2006-03-19 14:54:16 +0000134user="yes"
bellard07f4ddb2005-04-23 17:44:28 +0000135if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
bellardc9ec1fe2005-02-10 21:55:30 +0000136 kqemu="yes"
137fi
bellardfb065182004-11-09 23:09:44 +0000138;;
bellard7d132992003-03-06 23:23:54 +0000139esac
140
bellard7d3505c2004-05-12 19:32:15 +0000141if [ "$bsd" = "yes" ] ; then
pbrookb1a550a2006-04-16 13:28:56 +0000142 if [ "$darwin" != "yes" ] ; then
bellard83fb7ad2004-07-05 21:25:26 +0000143 make="gmake"
144 fi
bellard7d3505c2004-05-12 19:32:15 +0000145fi
146
bellardec530c82006-04-25 22:36:06 +0000147if [ "$solaris" = "yes" ] ; then
148 make="gmake"
149 install="ginstall"
150 solarisrev=`uname -r | cut -f2 -d.`
bellardec530c82006-04-25 22:36:06 +0000151fi
152
bellard7d132992003-03-06 23:23:54 +0000153# find source path
pbrookad064842006-04-16 12:41:07 +0000154source_path=`dirname "$0"`
155if [ -z "$source_path" ]; then
bellard7d132992003-03-06 23:23:54 +0000156 source_path=`pwd`
pbrookad064842006-04-16 12:41:07 +0000157else
158 source_path=`cd "$source_path"; pwd`
159fi
160if test "$source_path" = `pwd` ; then
bellard7d132992003-03-06 23:23:54 +0000161 source_path_used="no"
pbrookad064842006-04-16 12:41:07 +0000162else
163 source_path_used="yes"
bellard7d132992003-03-06 23:23:54 +0000164fi
165
166for opt do
pbrooka46e4032006-04-29 23:05:22 +0000167 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
bellard7d132992003-03-06 23:23:54 +0000168 case "$opt" in
bellard2efc3262005-12-18 19:14:49 +0000169 --help|-h) show_help=yes
170 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000171 --prefix=*) prefix="$optarg"
bellard7d132992003-03-06 23:23:54 +0000172 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000173 --interp-prefix=*) interp_prefix="$optarg"
bellard32ce6332003-04-11 00:16:16 +0000174 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000175 --source-path=*) source_path="$optarg"
pbrookad064842006-04-16 12:41:07 +0000176 source_path_used="yes"
bellard7d132992003-03-06 23:23:54 +0000177 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000178 --cross-prefix=*) cross_prefix="$optarg"
bellard7d132992003-03-06 23:23:54 +0000179 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000180 --cc=*) cc="$optarg"
bellard7d132992003-03-06 23:23:54 +0000181 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000182 --host-cc=*) host_cc="$optarg"
bellard83469012005-07-23 14:27:54 +0000183 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000184 --make=*) make="$optarg"
bellard7d132992003-03-06 23:23:54 +0000185 ;;
pbrook6a882642006-04-17 13:57:12 +0000186 --install=*) install="$optarg"
187 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000188 --extra-cflags=*) CFLAGS="$optarg"
bellard7d132992003-03-06 23:23:54 +0000189 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000190 --extra-ldflags=*) LDFLAGS="$optarg"
bellard7d132992003-03-06 23:23:54 +0000191 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000192 --cpu=*) cpu="$optarg"
bellard7d132992003-03-06 23:23:54 +0000193 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000194 --target-list=*) target_list="$optarg"
bellardde83cd02003-06-15 20:25:43 +0000195 ;;
bellard7d132992003-03-06 23:23:54 +0000196 --enable-gprof) gprof="yes"
197 ;;
bellard43ce4df2003-06-09 19:53:12 +0000198 --static) static="yes"
199 ;;
bellard97a847b2003-08-10 21:36:04 +0000200 --disable-sdl) sdl="no"
201 ;;
bellard1d14ffa2005-10-30 18:58:22 +0000202 --enable-coreaudio) coreaudio="yes"
203 ;;
204 --enable-alsa) alsa="yes"
205 ;;
206 --enable-dsound) dsound="yes"
207 ;;
bellard102a52e2004-11-14 19:57:29 +0000208 --enable-fmod) fmod="yes"
209 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000210 --fmod-lib=*) fmod_lib="$optarg"
bellard102a52e2004-11-14 19:57:29 +0000211 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000212 --fmod-inc=*) fmod_inc="$optarg"
bellard102a52e2004-11-14 19:57:29 +0000213 ;;
bellard67b915a2004-03-31 23:37:16 +0000214 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
bellard1d14ffa2005-10-30 18:58:22 +0000215 ;;
bellard443f1372004-06-04 11:13:20 +0000216 --disable-slirp) slirp="no"
bellard1d14ffa2005-10-30 18:58:22 +0000217 ;;
bellardfb065182004-11-09 23:09:44 +0000218 --enable-adlib) adlib="yes"
bellard1d14ffa2005-10-30 18:58:22 +0000219 ;;
bellardc9ec1fe2005-02-10 21:55:30 +0000220 --disable-kqemu) kqemu="no"
bellard1d14ffa2005-10-30 18:58:22 +0000221 ;;
bellard05c2a3e2006-02-08 22:39:17 +0000222 --enable-profiler) profiler="yes"
223 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000224 --kernel-path=*) kernel_path="$optarg"
bellard1d14ffa2005-10-30 18:58:22 +0000225 ;;
226 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
227 ;;
bellard97ccc682005-07-02 13:32:17 +0000228 --disable-gfx-check) check_gfx="no"
229 ;;
bellard1aff3812005-11-02 22:30:45 +0000230 --disable-gcc-check) check_gcc="no"
231 ;;
pbrookcad25d62006-03-19 16:31:11 +0000232 --disable-system) softmmu="no"
pbrook0a8e90f2006-03-19 14:54:16 +0000233 ;;
pbrookcad25d62006-03-19 16:31:11 +0000234 --enable-system) softmmu="yes"
pbrook0a8e90f2006-03-19 14:54:16 +0000235 ;;
236 --disable-user) user="no"
237 ;;
238 --enable-user) user="yes"
239 ;;
bellard7d132992003-03-06 23:23:54 +0000240 esac
241done
242
243# Checking for CFLAGS
244if test -z "$CFLAGS"; then
245 CFLAGS="-O2"
246fi
247
pbrookaf5db582006-04-08 14:26:41 +0000248if test x"$show_help" = x"yes" ; then
249cat << EOF
250
251Usage: configure [options]
252Options: [defaults in brackets after descriptions]
253
254EOF
255echo "Standard options:"
256echo " --help print this message"
257echo " --prefix=PREFIX install in PREFIX [$prefix]"
258echo " --interp-prefix=PREFIX where to find shared libraries, etc."
259echo " use %M for cpu name [$interp_prefix]"
260echo " --target-list=LIST set target list [$target_list]"
261echo ""
262echo "kqemu kernel acceleration support:"
263echo " --disable-kqemu disable kqemu support"
264echo " --kernel-path=PATH set the kernel path (configure probes it)"
265echo ""
266echo "Advanced options (experts only):"
267echo " --source-path=PATH path of source code [$source_path]"
268echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
269echo " --cc=CC use C compiler CC [$cc]"
270echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
271echo " --make=MAKE use specified make [$make]"
pbrook6a882642006-04-17 13:57:12 +0000272echo " --install=INSTALL use specified install [$install]"
pbrookaf5db582006-04-08 14:26:41 +0000273echo " --static enable static build [$static]"
274echo " --enable-cocoa enable COCOA (Mac OS X only)"
275echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
276echo " --enable-adlib enable Adlib emulation"
277echo " --enable-coreaudio enable Coreaudio audio driver"
278echo " --enable-alsa enable ALSA audio driver"
279echo " --enable-fmod enable FMOD audio driver"
280echo " --enabled-dsound enable DirectSound audio driver"
281echo " --enable-system enable all system emulation targets"
282echo " --disable-system disable all system emulation targets"
283echo " --enable-user enable all linux usermode emulation targets"
284echo " --disable-user disable all linux usermode emulation targets"
285echo " --fmod-lib path to FMOD library"
286echo " --fmod-inc path to FMOD includes"
287echo ""
288echo "NOTE: The object files are build at the place where configure is launched"
289exit 1
290fi
291
bellard7d132992003-03-06 23:23:54 +0000292cc="${cross_prefix}${cc}"
293ar="${cross_prefix}${ar}"
294strip="${cross_prefix}${strip}"
295
pbrook064aae12006-05-08 00:51:44 +0000296# check that the C compiler works.
297cat > $TMPC <<EOF
298int main(void) {}
299EOF
300
301if $cc -c -o $TMPO $TMPC 2>/dev/null ; then
302 : C compiler works ok
303else
304 echo "ERROR: \"$cc\" either does not exist or does not work"
305 exit 1
bellarda7350fa2006-04-23 14:35:23 +0000306fi
307
bellard67b915a2004-03-31 23:37:16 +0000308if test "$mingw32" = "yes" ; then
bellard5327cf42005-01-10 23:18:50 +0000309 linux="no"
bellard67b915a2004-03-31 23:37:16 +0000310 EXESUF=".exe"
311 gdbstub="no"
bellard9f059ec2004-11-14 18:59:52 +0000312 oss="no"
bellard07f4ddb2005-04-23 17:44:28 +0000313 if [ "$cpu" = "i386" ] ; then
314 kqemu="yes"
315 fi
bellard67b915a2004-03-31 23:37:16 +0000316fi
317
bellardec530c82006-04-25 22:36:06 +0000318#
319# Solaris specific configure tool chain decisions
320#
321if test "$solaris" = "yes" ; then
322 #
323 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
324 # override the check with --disable-gcc-check
325 #
326 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
327 solgcc=`which $cc`
328 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
329 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
330 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
331 echo "or get the latest patch from SunSolve for gcc"
332 exit 1
333 fi
334 fi
335 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
336 if test -z "$solinst" ; then
337 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
338 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
339 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
340 exit 1
341 fi
342 if test "$solinst" = "/usr/sbin/install" ; then
343 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
344 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
345 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
346 exit 1
347 fi
bellardec530c82006-04-25 22:36:06 +0000348 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
349 if test -z "$sol_ar" ; then
350 echo "Error: No path includes ar"
351 if test -f /usr/ccs/bin/ar ; then
352 echo "Add /usr/ccs/bin to your path and rerun configure"
353 fi
354 exit 1
355 fi
356fi
357
358
bellard5327cf42005-01-10 23:18:50 +0000359if test -z "$target_list" ; then
360# these targets are portable
pbrook0a8e90f2006-03-19 14:54:16 +0000361 if [ "$softmmu" = "yes" ] ; then
362 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
363 fi
bellard5327cf42005-01-10 23:18:50 +0000364# the following are Linux specific
pbrook0a8e90f2006-03-19 14:54:16 +0000365 if [ "$user" = "yes" ] ; then
bellard215cf0b2006-05-03 20:18:43 +0000366 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
bellard5327cf42005-01-10 23:18:50 +0000367 fi
bellard6e20a452005-06-05 15:56:02 +0000368else
pbrookb1a550a2006-04-16 13:28:56 +0000369 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
bellard5327cf42005-01-10 23:18:50 +0000370fi
pbrook0a8e90f2006-03-19 14:54:16 +0000371if test -z "$target_list" ; then
372 echo "No targets enabled"
373 exit 1
374fi
bellard5327cf42005-01-10 23:18:50 +0000375
bellard7d132992003-03-06 23:23:54 +0000376if test -z "$cross_prefix" ; then
377
378# ---
379# big/little endian test
380cat > $TMPC << EOF
381#include <inttypes.h>
382int main(int argc, char ** argv){
bellard1d14ffa2005-10-30 18:58:22 +0000383 volatile uint32_t i=0x01234567;
384 return (*((uint8_t*)(&i))) == 0x67;
bellard7d132992003-03-06 23:23:54 +0000385}
386EOF
387
388if $cc -o $TMPE $TMPC 2>/dev/null ; then
389$TMPE && bigendian="yes"
390else
391echo big/little test failed
392fi
393
394else
395
396# if cross compiling, cannot launch a program, so make a static guess
bellard808c4952004-12-19 23:33:47 +0000397if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
bellard7d132992003-03-06 23:23:54 +0000398 bigendian="yes"
399fi
400
401fi
402
bellardb6853692005-06-05 17:10:39 +0000403# host long bits test
404hostlongbits="32"
405if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
406 hostlongbits="64"
407fi
408
bellarde8cd23d2003-06-25 16:08:13 +0000409# check gcc options support
bellard04369ff2003-03-20 22:33:23 +0000410cat > $TMPC <<EOF
411int main(void) {
bellard04369ff2003-03-20 22:33:23 +0000412}
413EOF
414
bellarde8cd23d2003-06-25 16:08:13 +0000415have_gcc3_options="no"
416if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
417 have_gcc3_options="yes"
bellard04369ff2003-03-20 22:33:23 +0000418fi
bellardca735202003-03-18 20:41:34 +0000419
pbrookb1a550a2006-04-16 13:28:56 +0000420# Check for gcc4, error if pre-gcc4
bellard1aff3812005-11-02 22:30:45 +0000421if test "$check_gcc" = "yes" ; then
422 cat > $TMPC <<EOF
pbrookb1a550a2006-04-16 13:28:56 +0000423#if __GNUC__ < 4
424#error gcc3
bellard1aff3812005-11-02 22:30:45 +0000425#endif
426int main(){return 0;}
427EOF
pbrookb1a550a2006-04-16 13:28:56 +0000428 if $cc -o $TMPO $TMPC 2>/dev/null ; then
bellard1aff3812005-11-02 22:30:45 +0000429 echo "ERROR: \"$cc\" looks like gcc 4.x"
430 echo "QEMU is known to have problems when compiled with gcc 4.x"
431 echo "It is recommended that you use gcc 3.x to build QEMU"
432 echo "To use this compiler anyway, configure with --disable-gcc-check"
433 exit 1;
434 fi
435fi
436
bellard11d9f692004-04-02 20:55:59 +0000437##########################################
438# SDL probe
439
440sdl_too_old=no
441
442if test -z "$sdl" ; then
443
bellarda6e022a2004-04-02 21:55:47 +0000444sdl_config="sdl-config"
445sdl=no
bellard7c1f25b2004-04-22 00:02:08 +0000446sdl_static=no
bellarda6e022a2004-04-02 21:55:47 +0000447
448if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
449# win32 cross compilation case
450 sdl_config="i386-mingw32msvc-sdl-config"
451 sdl=yes
452else
453# normal SDL probe
bellard11d9f692004-04-02 20:55:59 +0000454cat > $TMPC << EOF
455#include <SDL.h>
456#undef main /* We don't want SDL to override our main() */
457int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
458EOF
459
bellarda6e022a2004-04-02 21:55:47 +0000460if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
461_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
bellard11d9f692004-04-02 20:55:59 +0000462if test "$_sdlversion" -lt 121 ; then
463sdl_too_old=yes
464else
465sdl=yes
466fi
bellard7c1f25b2004-04-22 00:02:08 +0000467
468# static link with sdl ?
469if test "$sdl" = "yes" ; then
470aa="no"
471`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
472sdl_static_libs=`$sdl_config --static-libs`
473if [ "$aa" = "yes" ] ; then
bellardd8d8aa42004-04-29 20:14:07 +0000474 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
bellard11d9f692004-04-02 20:55:59 +0000475fi
476
bellard7c1f25b2004-04-22 00:02:08 +0000477if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
478 sdl_static=yes
479fi
480
481fi # static link
482
483fi # sdl compile test
484
bellarda6e022a2004-04-02 21:55:47 +0000485fi # cross compilation
486fi # -z $sdl
bellard11d9f692004-04-02 20:55:59 +0000487
pbrookcc8ae6d2006-04-23 17:57:59 +0000488# Check if tools are available to build documentation.
pbrook94ac5152006-04-26 16:07:35 +0000489if [ -x "`which texi2html`" ] && [ -x "`which pod2man`" ]; then
pbrookcc8ae6d2006-04-23 17:57:59 +0000490 build_docs="yes"
491fi
492
bellard11d9f692004-04-02 20:55:59 +0000493if test "$mingw32" = "yes" ; then
494if test -z "$prefix" ; then
495 prefix="/c/Program Files/Qemu"
496fi
497mandir="$prefix"
bellard7efa4382004-05-12 18:54:06 +0000498datadir="$prefix"
bellard1f50f8d2004-05-08 14:44:43 +0000499docdir="$prefix"
bellard11d9f692004-04-02 20:55:59 +0000500bindir="$prefix"
501else
502if test -z "$prefix" ; then
503 prefix="/usr/local"
504fi
bellard5a671352003-10-01 00:13:48 +0000505mandir="$prefix/share/man"
bellard7efa4382004-05-12 18:54:06 +0000506datadir="$prefix/share/qemu"
bellard1f50f8d2004-05-08 14:44:43 +0000507docdir="$prefix/share/doc/qemu"
bellard11d9f692004-04-02 20:55:59 +0000508bindir="$prefix/bin"
509fi
bellard5a671352003-10-01 00:13:48 +0000510
bellard43ce4df2003-06-09 19:53:12 +0000511echo "Install prefix $prefix"
bellard7efa4382004-05-12 18:54:06 +0000512echo "BIOS directory $datadir"
bellard11d9f692004-04-02 20:55:59 +0000513echo "binary directory $bindir"
514if test "$mingw32" = "no" ; then
515echo "Manual directory $mandir"
bellard43ce4df2003-06-09 19:53:12 +0000516echo "ELF interp prefix $interp_prefix"
bellard11d9f692004-04-02 20:55:59 +0000517fi
bellard5a671352003-10-01 00:13:48 +0000518echo "Source path $source_path"
bellard43ce4df2003-06-09 19:53:12 +0000519echo "C compiler $cc"
bellard83469012005-07-23 14:27:54 +0000520echo "Host C compiler $host_cc"
bellard43ce4df2003-06-09 19:53:12 +0000521echo "make $make"
pbrook6a882642006-04-17 13:57:12 +0000522echo "install $install"
bellard43ce4df2003-06-09 19:53:12 +0000523echo "host CPU $cpu"
bellardde83cd02003-06-15 20:25:43 +0000524echo "host big endian $bigendian"
bellard97a847b2003-08-10 21:36:04 +0000525echo "target list $target_list"
bellard43ce4df2003-06-09 19:53:12 +0000526echo "gprof enabled $gprof"
bellard05c2a3e2006-02-08 22:39:17 +0000527echo "profiler $profiler"
bellard43ce4df2003-06-09 19:53:12 +0000528echo "static build $static"
bellard5b0753e2005-03-01 21:37:28 +0000529if test "$darwin" = "yes" ; then
530 echo "Cocoa support $cocoa"
531fi
bellard97a847b2003-08-10 21:36:04 +0000532echo "SDL support $sdl"
bellarde4afee92005-04-26 20:46:24 +0000533if test "$sdl" != "no" ; then
534 echo "SDL static link $sdl_static"
535fi
bellard67b915a2004-03-31 23:37:16 +0000536echo "mingw32 support $mingw32"
bellardfb065182004-11-09 23:09:44 +0000537echo "Adlib support $adlib"
bellard1d14ffa2005-10-30 18:58:22 +0000538echo "CoreAudio support $coreaudio"
539echo "ALSA support $alsa"
540echo "DSound support $dsound"
bellard1d14ffa2005-10-30 18:58:22 +0000541if test "$fmod" = "yes"; then
542 if test -z $fmod_lib || test -z $fmod_inc; then
543 echo
544 echo "Error: You must specify path to FMOD library and headers"
545 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
546 echo
547 exit 1
548 fi
pbrookb1a550a2006-04-16 13:28:56 +0000549 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
550else
551 fmod_support=""
bellard102a52e2004-11-14 19:57:29 +0000552fi
pbrookb1a550a2006-04-16 13:28:56 +0000553echo "FMOD support $fmod $fmod_support"
bellard07f4ddb2005-04-23 17:44:28 +0000554echo "kqemu support $kqemu"
pbrookcc8ae6d2006-04-23 17:57:59 +0000555echo "Documentation $build_docs"
bellard67b915a2004-03-31 23:37:16 +0000556
bellard97a847b2003-08-10 21:36:04 +0000557if test $sdl_too_old = "yes"; then
bellard24b55b92005-03-01 22:30:41 +0000558echo "-> Your SDL version is too old - please upgrade to have SDL support"
bellarde8cd23d2003-06-25 16:08:13 +0000559fi
bellard24b55b92005-03-01 22:30:41 +0000560#if test "$sdl_static" = "no"; then
561# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
562#fi
bellard97a847b2003-08-10 21:36:04 +0000563config_mak="config-host.mak"
564config_h="config-host.h"
565
bellard7c1f25b2004-04-22 00:02:08 +0000566#echo "Creating $config_mak and $config_h"
bellard97a847b2003-08-10 21:36:04 +0000567
568echo "# Automatically generated by configure - do not modify" > $config_mak
pbrook29517132006-02-09 17:58:47 +0000569echo "# Configured with: $0 $@" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +0000570echo "/* Automatically generated by configure - do not modify */" > $config_h
571
572echo "prefix=$prefix" >> $config_mak
bellard11d9f692004-04-02 20:55:59 +0000573echo "bindir=$bindir" >> $config_mak
bellard5a671352003-10-01 00:13:48 +0000574echo "mandir=$mandir" >> $config_mak
bellard7efa4382004-05-12 18:54:06 +0000575echo "datadir=$datadir" >> $config_mak
bellard1f50f8d2004-05-08 14:44:43 +0000576echo "docdir=$docdir" >> $config_mak
bellard7efa4382004-05-12 18:54:06 +0000577echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
bellard97a847b2003-08-10 21:36:04 +0000578echo "MAKE=$make" >> $config_mak
pbrook6a882642006-04-17 13:57:12 +0000579echo "INSTALL=$install" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +0000580echo "CC=$cc" >> $config_mak
581if test "$have_gcc3_options" = "yes" ; then
582 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
583fi
584echo "HOST_CC=$host_cc" >> $config_mak
585echo "AR=$ar" >> $config_mak
586echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
587echo "CFLAGS=$CFLAGS" >> $config_mak
588echo "LDFLAGS=$LDFLAGS" >> $config_mak
bellard67b915a2004-03-31 23:37:16 +0000589echo "EXESUF=$EXESUF" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +0000590if test "$cpu" = "i386" ; then
591 echo "ARCH=i386" >> $config_mak
592 echo "#define HOST_I386 1" >> $config_h
bellard0b0babc2005-01-03 23:38:40 +0000593elif test "$cpu" = "x86_64" ; then
594 echo "ARCH=x86_64" >> $config_mak
595 echo "#define HOST_X86_64 1" >> $config_h
bellard808c4952004-12-19 23:33:47 +0000596elif test "$cpu" = "armv4b" ; then
597 echo "ARCH=arm" >> $config_mak
598 echo "#define HOST_ARM 1" >> $config_h
bellard7d132992003-03-06 23:23:54 +0000599elif test "$cpu" = "armv4l" ; then
bellard97a847b2003-08-10 21:36:04 +0000600 echo "ARCH=arm" >> $config_mak
601 echo "#define HOST_ARM 1" >> $config_h
bellard7d132992003-03-06 23:23:54 +0000602elif test "$cpu" = "powerpc" ; then
bellard97a847b2003-08-10 21:36:04 +0000603 echo "ARCH=ppc" >> $config_mak
604 echo "#define HOST_PPC 1" >> $config_h
bellard7d132992003-03-06 23:23:54 +0000605elif test "$cpu" = "mips" ; then
bellard97a847b2003-08-10 21:36:04 +0000606 echo "ARCH=mips" >> $config_mak
607 echo "#define HOST_MIPS 1" >> $config_h
bellardfb3e5842003-03-29 17:32:36 +0000608elif test "$cpu" = "s390" ; then
bellard97a847b2003-08-10 21:36:04 +0000609 echo "ARCH=s390" >> $config_mak
610 echo "#define HOST_S390 1" >> $config_h
bellard295defa2003-04-07 21:31:29 +0000611elif test "$cpu" = "alpha" ; then
bellard97a847b2003-08-10 21:36:04 +0000612 echo "ARCH=alpha" >> $config_mak
613 echo "#define HOST_ALPHA 1" >> $config_h
bellardae228532003-05-13 18:59:59 +0000614elif test "$cpu" = "sparc" ; then
bellard97a847b2003-08-10 21:36:04 +0000615 echo "ARCH=sparc" >> $config_mak
616 echo "#define HOST_SPARC 1" >> $config_h
bellardae228532003-05-13 18:59:59 +0000617elif test "$cpu" = "sparc64" ; then
bellard97a847b2003-08-10 21:36:04 +0000618 echo "ARCH=sparc64" >> $config_mak
619 echo "#define HOST_SPARC64 1" >> $config_h
bellarda8baa8c2003-04-29 20:53:31 +0000620elif test "$cpu" = "ia64" ; then
bellard97a847b2003-08-10 21:36:04 +0000621 echo "ARCH=ia64" >> $config_mak
622 echo "#define HOST_IA64 1" >> $config_h
bellard38e584a2003-08-10 22:14:22 +0000623elif test "$cpu" = "m68k" ; then
bellard38ca2ab2004-03-13 18:32:13 +0000624 echo "ARCH=m68k" >> $config_mak
625 echo "#define HOST_M68K 1" >> $config_h
bellard7d132992003-03-06 23:23:54 +0000626else
627 echo "Unsupported CPU"
628 exit 1
629fi
630if test "$bigendian" = "yes" ; then
bellard97a847b2003-08-10 21:36:04 +0000631 echo "WORDS_BIGENDIAN=yes" >> $config_mak
632 echo "#define WORDS_BIGENDIAN 1" >> $config_h
633fi
bellardb6853692005-06-05 17:10:39 +0000634echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
bellard67b915a2004-03-31 23:37:16 +0000635if test "$mingw32" = "yes" ; then
636 echo "CONFIG_WIN32=yes" >> $config_mak
bellard11d9f692004-04-02 20:55:59 +0000637 echo "#define CONFIG_WIN32 1" >> $config_h
bellard7d3505c2004-05-12 19:32:15 +0000638elif test -f "/usr/include/byteswap.h" ; then
bellard67b915a2004-03-31 23:37:16 +0000639 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
640fi
bellard83fb7ad2004-07-05 21:25:26 +0000641if test "$darwin" = "yes" ; then
642 echo "CONFIG_DARWIN=yes" >> $config_mak
643 echo "#define CONFIG_DARWIN 1" >> $config_h
644fi
bellardec530c82006-04-25 22:36:06 +0000645if test "$solaris" = "yes" ; then
646 echo "CONFIG_SOLARIS=yes" >> $config_mak
bellard38cfa062006-05-01 13:58:07 +0000647 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
bellardec530c82006-04-25 22:36:06 +0000648fi
bellard67b915a2004-03-31 23:37:16 +0000649if test "$gdbstub" = "yes" ; then
650 echo "CONFIG_GDBSTUB=yes" >> $config_mak
651 echo "#define CONFIG_GDBSTUB 1" >> $config_h
652fi
bellard97a847b2003-08-10 21:36:04 +0000653if test "$gprof" = "yes" ; then
654 echo "TARGET_GPROF=yes" >> $config_mak
655 echo "#define HAVE_GPROF 1" >> $config_h
656fi
657if test "$static" = "yes" ; then
658 echo "CONFIG_STATIC=yes" >> $config_mak
bellard50863472003-10-28 23:04:01 +0000659 echo "#define CONFIG_STATIC 1" >> $config_h
bellard97a847b2003-08-10 21:36:04 +0000660fi
bellard05c2a3e2006-02-08 22:39:17 +0000661if test $profiler = "yes" ; then
662 echo "#define CONFIG_PROFILER 1" >> $config_h
663fi
bellardc20709a2004-04-21 23:27:19 +0000664if test "$slirp" = "yes" ; then
665 echo "CONFIG_SLIRP=yes" >> $config_mak
666 echo "#define CONFIG_SLIRP 1" >> $config_h
667fi
bellardfb065182004-11-09 23:09:44 +0000668if test "$adlib" = "yes" ; then
669 echo "CONFIG_ADLIB=yes" >> $config_mak
670 echo "#define CONFIG_ADLIB 1" >> $config_h
671fi
672if test "$oss" = "yes" ; then
673 echo "CONFIG_OSS=yes" >> $config_mak
674 echo "#define CONFIG_OSS 1" >> $config_h
675fi
bellard1d14ffa2005-10-30 18:58:22 +0000676if test "$coreaudio" = "yes" ; then
677 echo "CONFIG_COREAUDIO=yes" >> $config_mak
678 echo "#define CONFIG_COREAUDIO 1" >> $config_h
679fi
680if test "$alsa" = "yes" ; then
681 echo "CONFIG_ALSA=yes" >> $config_mak
682 echo "#define CONFIG_ALSA 1" >> $config_h
683fi
684if test "$dsound" = "yes" ; then
685 echo "CONFIG_DSOUND=yes" >> $config_mak
686 echo "#define CONFIG_DSOUND 1" >> $config_h
687fi
bellard102a52e2004-11-14 19:57:29 +0000688if test "$fmod" = "yes" ; then
689 echo "CONFIG_FMOD=yes" >> $config_mak
690 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
691 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
692 echo "#define CONFIG_FMOD 1" >> $config_h
693fi
pbrookb1a550a2006-04-16 13:28:56 +0000694qemu_version=`head $source_path/VERSION`
695echo "VERSION=$qemu_version" >>$config_mak
pbrookd4b8f032006-04-16 13:49:23 +0000696echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
bellard97a847b2003-08-10 21:36:04 +0000697
698echo "SRC_PATH=$source_path" >> $config_mak
pbrookad064842006-04-16 12:41:07 +0000699if [ "$source_path_used" = "yes" ]; then
700 echo "VPATH=$source_path" >> $config_mak
701fi
bellard97a847b2003-08-10 21:36:04 +0000702echo "TARGET_DIRS=$target_list" >> $config_mak
pbrookcc8ae6d2006-04-23 17:57:59 +0000703if [ "$build_docs" = "yes" ] ; then
704 echo "BUILD_DOCS=yes" >> $config_mak
705fi
bellard97a847b2003-08-10 21:36:04 +0000706
bellard83fb7ad2004-07-05 21:25:26 +0000707# XXX: suppress that
bellard7d3505c2004-05-12 19:32:15 +0000708if [ "$bsd" = "yes" ] ; then
bellard43003042004-05-20 13:23:39 +0000709 echo "#define O_LARGEFILE 0" >> $config_h
bellard43003042004-05-20 13:23:39 +0000710 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
bellard7d3505c2004-05-12 19:32:15 +0000711 echo "#define _BSD 1" >> $config_h
712fi
713
bellard1d14ffa2005-10-30 18:58:22 +0000714for target in $target_list; do
bellard97a847b2003-08-10 21:36:04 +0000715target_dir="$target"
716config_mak=$target_dir/config.mak
717config_h=$target_dir/config.h
718target_cpu=`echo $target | cut -d '-' -f 1`
719target_bigendian="no"
bellard808c4952004-12-19 23:33:47 +0000720[ "$target_cpu" = "armeb" ] && target_bigendian=yes
bellard1e43adf2003-09-30 20:54:24 +0000721[ "$target_cpu" = "sparc" ] && target_bigendian=yes
bellard64b3ab22005-01-30 22:43:42 +0000722[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
bellard67867302003-11-23 17:05:30 +0000723[ "$target_cpu" = "ppc" ] && target_bigendian=yes
bellarda2458622005-07-23 22:39:53 +0000724[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
bellardd3258562005-07-02 15:37:12 +0000725[ "$target_cpu" = "mips" ] && target_bigendian=yes
bellard97a847b2003-08-10 21:36:04 +0000726target_softmmu="no"
727if expr $target : '.*-softmmu' > /dev/null ; then
728 target_softmmu="yes"
bellard7d132992003-03-06 23:23:54 +0000729fi
bellard997344f2003-10-27 21:10:39 +0000730target_user_only="no"
731if expr $target : '.*-user' > /dev/null ; then
732 target_user_only="yes"
733fi
bellardde83cd02003-06-15 20:25:43 +0000734
bellard97ccc682005-07-02 13:32:17 +0000735if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
bellard1d14ffa2005-10-30 18:58:22 +0000736 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
bellard97ccc682005-07-02 13:32:17 +0000737 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
pbrook9c038502006-04-16 15:19:15 +0000738 echo "To build QEMU without graphical output configure with --disable-gfx-check"
bellard97ccc682005-07-02 13:32:17 +0000739 echo "Note that this will disable all output from the virtual graphics card."
740 exit 1;
741fi
742
bellard7c1f25b2004-04-22 00:02:08 +0000743#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
bellard97a847b2003-08-10 21:36:04 +0000744
745mkdir -p $target_dir
bellard158142c2005-03-13 16:54:06 +0000746mkdir -p $target_dir/fpu
bellard808c4952004-12-19 23:33:47 +0000747if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
bellard69de9272004-02-16 21:40:43 +0000748 mkdir -p $target_dir/nwfpe
749fi
bellarda7e61ed2004-04-22 21:46:47 +0000750if test "$target_user_only" = "no" ; then
751 mkdir -p $target_dir/slirp
752fi
bellard69de9272004-02-16 21:40:43 +0000753
bellardec530c82006-04-25 22:36:06 +0000754#
755# don't use ln -sf as not all "ln -sf" over write the file/link
756#
757rm -f $target_dir/Makefile
758ln -s $source_path/Makefile.target $target_dir/Makefile
759
bellard97a847b2003-08-10 21:36:04 +0000760
761echo "# Automatically generated by configure - do not modify" > $config_mak
762echo "/* Automatically generated by configure - do not modify */" > $config_h
763
764
765echo "include ../config-host.mak" >> $config_mak
766echo "#include \"../config-host.h\"" >> $config_h
bellard1e43adf2003-09-30 20:54:24 +0000767
768interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
769echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
bellard97a847b2003-08-10 21:36:04 +0000770
771if test "$target_cpu" = "i386" ; then
772 echo "TARGET_ARCH=i386" >> $config_mak
773 echo "#define TARGET_ARCH \"i386\"" >> $config_h
774 echo "#define TARGET_I386 1" >> $config_h
bellard07f4ddb2005-04-23 17:44:28 +0000775 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
bellard824d5602005-02-12 18:58:00 +0000776 echo "#define USE_KQEMU 1" >> $config_h
777 fi
bellard808c4952004-12-19 23:33:47 +0000778elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
bellard97a847b2003-08-10 21:36:04 +0000779 echo "TARGET_ARCH=arm" >> $config_mak
780 echo "#define TARGET_ARCH \"arm\"" >> $config_h
781 echo "#define TARGET_ARM 1" >> $config_h
bellard1e43adf2003-09-30 20:54:24 +0000782elif test "$target_cpu" = "sparc" ; then
783 echo "TARGET_ARCH=sparc" >> $config_mak
784 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
785 echo "#define TARGET_SPARC 1" >> $config_h
bellard64b3ab22005-01-30 22:43:42 +0000786elif test "$target_cpu" = "sparc64" ; then
787 echo "TARGET_ARCH=sparc64" >> $config_mak
788 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
789 echo "#define TARGET_SPARC 1" >> $config_h
790 echo "#define TARGET_SPARC64 1" >> $config_h
bellard67867302003-11-23 17:05:30 +0000791elif test "$target_cpu" = "ppc" ; then
792 echo "TARGET_ARCH=ppc" >> $config_mak
793 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
794 echo "#define TARGET_PPC 1" >> $config_h
bellarda2458622005-07-23 22:39:53 +0000795elif test "$target_cpu" = "ppc64" ; then
796 echo "TARGET_ARCH=ppc64" >> $config_mak
797 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
798 echo "#define TARGET_PPC 1" >> $config_h
799 echo "#define TARGET_PPC64 1" >> $config_h
bellard0b0babc2005-01-03 23:38:40 +0000800elif test "$target_cpu" = "x86_64" ; then
801 echo "TARGET_ARCH=x86_64" >> $config_mak
802 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
803 echo "#define TARGET_I386 1" >> $config_h
804 echo "#define TARGET_X86_64 1" >> $config_h
bellard07f4ddb2005-04-23 17:44:28 +0000805 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
806 echo "#define USE_KQEMU 1" >> $config_h
807 fi
bellardc20eb472005-12-06 21:42:55 +0000808elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
bellardd3258562005-07-02 15:37:12 +0000809 echo "TARGET_ARCH=mips" >> $config_mak
810 echo "#define TARGET_ARCH \"mips\"" >> $config_h
811 echo "#define TARGET_MIPS 1" >> $config_h
bellardfdf9b3e2006-04-27 21:07:38 +0000812elif test "$target_cpu" = "sh4" ; then
813 echo "TARGET_ARCH=sh4" >> $config_mak
814 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
815 echo "#define TARGET_SH4 1" >> $config_h
bellardde83cd02003-06-15 20:25:43 +0000816else
817 echo "Unsupported target CPU"
818 exit 1
819fi
820if test "$target_bigendian" = "yes" ; then
bellard97a847b2003-08-10 21:36:04 +0000821 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
822 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
823fi
824if test "$target_softmmu" = "yes" ; then
825 echo "CONFIG_SOFTMMU=yes" >> $config_mak
826 echo "#define CONFIG_SOFTMMU 1" >> $config_h
bellardde83cd02003-06-15 20:25:43 +0000827fi
bellard997344f2003-10-27 21:10:39 +0000828if test "$target_user_only" = "yes" ; then
829 echo "CONFIG_USER_ONLY=yes" >> $config_mak
830 echo "#define CONFIG_USER_ONLY 1" >> $config_h
831fi
bellardde83cd02003-06-15 20:25:43 +0000832
bellard158142c2005-03-13 16:54:06 +0000833if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
834 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
835 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
836fi
bellard7c1f25b2004-04-22 00:02:08 +0000837# sdl defines
838
839if test "$target_user_only" = "no"; then
840 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
bellarddbb2c922004-10-24 22:17:47 +0000841 sdl1=$sdl_static
bellard7c1f25b2004-04-22 00:02:08 +0000842 else
bellarddbb2c922004-10-24 22:17:47 +0000843 sdl1=$sdl
844 fi
845 if test "$sdl1" = "yes" ; then
846 echo "#define CONFIG_SDL 1" >> $config_h
847 echo "CONFIG_SDL=yes" >> $config_mak
848 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
849 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
850 else
bellard7c1f25b2004-04-22 00:02:08 +0000851 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
852 fi
bellarddbb2c922004-10-24 22:17:47 +0000853 if [ "${aa}" = "yes" ] ; then
pbrookb1a550a2006-04-16 13:28:56 +0000854 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
855 else
856 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
bellarddbb2c922004-10-24 22:17:47 +0000857 fi
bellard7c1f25b2004-04-22 00:02:08 +0000858 fi
bellard7c1f25b2004-04-22 00:02:08 +0000859fi
860
bellard5b0753e2005-03-01 21:37:28 +0000861if test "$cocoa" = "yes" ; then
862 echo "#define CONFIG_COCOA 1" >> $config_h
863 echo "CONFIG_COCOA=yes" >> $config_mak
864fi
865
bellard97a847b2003-08-10 21:36:04 +0000866done # for target in $targets
bellard7d132992003-03-06 23:23:54 +0000867
868# build tree in object directory if source path is different from current one
869if test "$source_path_used" = "yes" ; then
870 DIRS="tests"
871 FILES="Makefile tests/Makefile"
872 for dir in $DIRS ; do
873 mkdir -p $dir
874 done
bellardec530c82006-04-25 22:36:06 +0000875 # remove the link and recreate it, as not all "ln -sf" overwrite the link
bellard7d132992003-03-06 23:23:54 +0000876 for f in $FILES ; do
bellardec530c82006-04-25 22:36:06 +0000877 rm -f $f
878 ln -s $source_path/$f $f
bellard7d132992003-03-06 23:23:54 +0000879 done
880fi
bellard7d132992003-03-06 23:23:54 +0000881
bellard97a847b2003-08-10 21:36:04 +0000882rm -f $TMPO $TMPC $TMPE $TMPS