blob: 8b0ad89b12e09cf0ae71243ebba2cc847123e100 [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"
malc9d56d2d2008-09-30 19:44:32 +000018TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
bellard7d132992003-03-06 23:23:54 +000019
20# default parameters
bellard11d9f692004-04-02 20:55:59 +000021prefix=""
bellard1e43adf2003-09-30 20:54:24 +000022interp_prefix="/usr/gnemul/qemu-%M"
bellard43ce4df2003-06-09 19:53:12 +000023static="no"
bellard7d132992003-03-06 23:23:54 +000024cross_prefix=""
25cc="gcc"
pbrook328a4242006-12-19 03:31:34 +000026gcc3_search="yes"
balrogfe8f78e2007-10-31 01:03:28 +000027gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
malc0c58ac12008-06-25 21:04:05 +000028audio_drv_list=""
29audio_card_list=""
bellard7d132992003-03-06 23:23:54 +000030host_cc="gcc"
31ar="ar"
32make="make"
pbrook6a882642006-04-17 13:57:12 +000033install="install"
bellard7d132992003-03-06 23:23:54 +000034strip="strip"
35cpu=`uname -m`
bellard5327cf42005-01-10 23:18:50 +000036target_list=""
bellard7d132992003-03-06 23:23:54 +000037case "$cpu" in
38 i386|i486|i586|i686|i86pc|BePC)
bellard97a847b2003-08-10 21:36:04 +000039 cpu="i386"
bellard7d132992003-03-06 23:23:54 +000040 ;;
aurel32aaa5fa12008-04-11 22:04:22 +000041 x86_64|amd64)
42 cpu="x86_64"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
bellardba680552005-03-13 09:49:52 +000047 armv*b)
bellard808c4952004-12-19 23:33:47 +000048 cpu="armv4b"
49 ;;
bellardba680552005-03-13 09:49:52 +000050 armv*l)
bellard7d132992003-03-06 23:23:54 +000051 cpu="armv4l"
52 ;;
aurel32aaa5fa12008-04-11 22:04:22 +000053 cris)
54 cpu="cris"
bellard7d132992003-03-06 23:23:54 +000055 ;;
aurel32f54b3f92008-04-12 20:14:54 +000056 parisc|parisc64)
57 cpu="hppa"
58 ;;
aurel32aaa5fa12008-04-11 22:04:22 +000059 ia64)
60 cpu="ia64"
61 ;;
62 m68k)
63 cpu="m68k"
bellard7d132992003-03-06 23:23:54 +000064 ;;
65 mips)
66 cpu="mips"
67 ;;
thsfbe4f652007-04-01 11:16:48 +000068 mips64)
69 cpu="mips64"
70 ;;
aurel32aaa5fa12008-04-11 22:04:22 +000071 "Power Macintosh"|ppc|ppc64)
72 cpu="powerpc"
thse7daa602007-10-08 13:38:27 +000073 ;;
ths0e7b8a92007-08-01 00:09:31 +000074 s390*)
bellardfb3e5842003-03-29 17:32:36 +000075 cpu="s390"
76 ;;
blueswir131422552007-04-16 18:27:06 +000077 sparc|sun4[cdmuv])
bellardae228532003-05-13 18:59:59 +000078 cpu="sparc"
79 ;;
80 sparc64)
81 cpu="sparc64"
82 ;;
bellard7d132992003-03-06 23:23:54 +000083 *)
84 cpu="unknown"
85 ;;
86esac
87gprof="no"
aliguori03b4fe72008-10-07 19:16:17 +000088sparse="no"
bellard7d132992003-03-06 23:23:54 +000089bigendian="no"
bellard67b915a2004-03-31 23:37:16 +000090mingw32="no"
91EXESUF=""
92gdbstub="yes"
bellard443f1372004-06-04 11:13:20 +000093slirp="yes"
aliguorie0e6c8c02008-07-23 18:14:33 +000094vde="yes"
bellard102a52e2004-11-14 19:57:29 +000095fmod_lib=""
96fmod_inc=""
blueswir12f6a1ab2008-08-21 18:00:53 +000097oss_lib=""
ths8d5d2d42007-08-25 01:37:51 +000098vnc_tls="yes"
pbrookb1a550a2006-04-16 13:28:56 +000099bsd="no"
bellard5327cf42005-01-10 23:18:50 +0000100linux="no"
blueswir1d2c7c9b2008-11-01 14:50:20 +0000101solaris="no"
bellardc9ec1fe2005-02-10 21:55:30 +0000102kqemu="no"
bellard05c2a3e2006-02-08 22:39:17 +0000103profiler="no"
bellard5b0753e2005-03-01 21:37:28 +0000104cocoa="no"
bellard97ccc682005-07-02 13:32:17 +0000105check_gfx="yes"
bellard1aff3812005-11-02 22:30:45 +0000106check_gcc="yes"
pbrook0a8e90f2006-03-19 14:54:16 +0000107softmmu="yes"
ths831b7822007-01-18 20:06:33 +0000108linux_user="no"
109darwin_user="no"
blueswir184778502008-10-26 20:33:16 +0000110bsd_user="no"
pbrookcc8ae6d2006-04-23 17:57:59 +0000111build_docs="no"
pbrookc5937222006-05-14 11:30:38 +0000112uname_release=""
balrog4d3b6f62008-02-10 16:33:14 +0000113curses="yes"
blueswir1414f0da2008-08-15 18:20:52 +0000114aio="yes"
pbrookbd0c5662008-05-29 14:34:11 +0000115nptl="yes"
malc8ff9cbf2008-06-23 18:33:30 +0000116mixemu="no"
balrogfb599c92008-09-28 23:49:55 +0000117bluez="yes"
bellard7d132992003-03-06 23:23:54 +0000118
119# OS specific
120targetos=`uname -s`
121case $targetos in
bellardc326e0a2005-04-23 18:30:28 +0000122CYGWIN*)
123mingw32="yes"
ths6f30fa82007-01-05 01:00:47 +0000124OS_CFLAGS="-mno-cygwin"
thsdb8d7dd2007-07-12 09:29:18 +0000125if [ "$cpu" = "i386" ] ; then
126 kqemu="yes"
127fi
malcc2de5c92008-06-28 19:13:06 +0000128audio_possible_drivers="sdl"
bellardc326e0a2005-04-23 18:30:28 +0000129;;
bellard67b915a2004-03-31 23:37:16 +0000130MINGW32*)
131mingw32="yes"
thsdb8d7dd2007-07-12 09:29:18 +0000132if [ "$cpu" = "i386" ] ; then
133 kqemu="yes"
134fi
malcc2de5c92008-06-28 19:13:06 +0000135audio_possible_drivers="dsound sdl fmod"
bellard67b915a2004-03-31 23:37:16 +0000136;;
ths5c40d2b2007-06-23 16:03:36 +0000137GNU/kFreeBSD)
malc0c58ac12008-06-25 21:04:05 +0000138audio_drv_list="oss"
aurel32f34af522008-08-21 23:03:15 +0000139audio_possible_drivers="oss sdl esd pa"
ths5c40d2b2007-06-23 16:03:36 +0000140if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
141 kqemu="yes"
142fi
143;;
bellard7d3505c2004-05-12 19:32:15 +0000144FreeBSD)
145bsd="yes"
malc0c58ac12008-06-25 21:04:05 +0000146audio_drv_list="oss"
aurel32f34af522008-08-21 23:03:15 +0000147audio_possible_drivers="oss sdl esd pa"
bellarde99f9062005-07-28 21:45:38 +0000148if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
bellard07f4ddb2005-04-23 17:44:28 +0000149 kqemu="yes"
150fi
bellard7d3505c2004-05-12 19:32:15 +0000151;;
152NetBSD)
153bsd="yes"
malc0c58ac12008-06-25 21:04:05 +0000154audio_drv_list="oss"
malcc2de5c92008-06-28 19:13:06 +0000155audio_possible_drivers="oss sdl esd"
bellard7d3505c2004-05-12 19:32:15 +0000156;;
157OpenBSD)
158bsd="yes"
blueswir1128ab2f2008-08-15 18:33:42 +0000159openbsd="yes"
malc0c58ac12008-06-25 21:04:05 +0000160audio_drv_list="oss"
malcc2de5c92008-06-28 19:13:06 +0000161audio_possible_drivers="oss sdl esd"
blueswir12f6a1ab2008-08-21 18:00:53 +0000162oss_lib="-lossaudio"
bellard7d3505c2004-05-12 19:32:15 +0000163;;
bellard83fb7ad2004-07-05 21:25:26 +0000164Darwin)
165bsd="yes"
166darwin="yes"
ths831b7822007-01-18 20:06:33 +0000167darwin_user="yes"
thsfd677642007-01-31 12:10:07 +0000168cocoa="yes"
malc0c58ac12008-06-25 21:04:05 +0000169audio_drv_list="coreaudio"
malcc2de5c92008-06-28 19:13:06 +0000170audio_possible_drivers="coreaudio sdl fmod"
ths6f30fa82007-01-05 01:00:47 +0000171OS_CFLAGS="-mdynamic-no-pic"
thsc2c59c32008-01-08 00:00:20 +0000172OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
bellard83fb7ad2004-07-05 21:25:26 +0000173;;
bellardec530c82006-04-25 22:36:06 +0000174SunOS)
thsc2b84fa2007-02-10 23:21:21 +0000175 solaris="yes"
176 make="gmake"
177 install="ginstall"
ths0475a5c2007-04-01 18:54:44 +0000178 needs_libsunmath="no"
thsc2b84fa2007-02-10 23:21:21 +0000179 solarisrev=`uname -r | cut -f2 -d.`
thsef18c882007-09-16 22:12:39 +0000180 # have to select again, because `uname -m` returns i86pc
181 # even on an x86_64 box.
182 solariscpu=`isainfo -k`
183 if test "${solariscpu}" = "amd64" ; then
184 cpu="x86_64"
185 fi
thsc2b84fa2007-02-10 23:21:21 +0000186 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
ths0475a5c2007-04-01 18:54:44 +0000187 if test "$solarisrev" -le 9 ; then
188 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
189 needs_libsunmath="yes"
190 else
191 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
192 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
193 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
194 echo "Studio 11 can be downloaded from www.sun.com."
195 exit 1
196 fi
197 fi
198 if test "$solarisrev" -ge 9 ; then
thsc2b84fa2007-02-10 23:21:21 +0000199 kqemu="yes"
200 fi
ths86b2bd92007-02-11 00:31:33 +0000201 fi
ths6b4d2ba2007-05-13 18:02:43 +0000202 if test -f /usr/include/sys/soundcard.h ; then
malc0c58ac12008-06-25 21:04:05 +0000203 audio_drv_list="oss"
ths6b4d2ba2007-05-13 18:02:43 +0000204 fi
malcc2de5c92008-06-28 19:13:06 +0000205 audio_possible_drivers="oss sdl"
ths86b2bd92007-02-11 00:31:33 +0000206;;
bellard1d14ffa2005-10-30 18:58:22 +0000207*)
malc0c58ac12008-06-25 21:04:05 +0000208audio_drv_list="oss"
malcb8e59f12008-07-02 21:03:08 +0000209audio_possible_drivers="oss alsa sdl esd pa"
bellard5327cf42005-01-10 23:18:50 +0000210linux="yes"
ths831b7822007-01-18 20:06:33 +0000211linux_user="yes"
bellard07f4ddb2005-04-23 17:44:28 +0000212if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
bellardc9ec1fe2005-02-10 21:55:30 +0000213 kqemu="yes"
malcc2de5c92008-06-28 19:13:06 +0000214 audio_possible_drivers="$audio_possible_drivers fmod"
bellardc9ec1fe2005-02-10 21:55:30 +0000215fi
bellardfb065182004-11-09 23:09:44 +0000216;;
bellard7d132992003-03-06 23:23:54 +0000217esac
218
bellard7d3505c2004-05-12 19:32:15 +0000219if [ "$bsd" = "yes" ] ; then
pbrookb1a550a2006-04-16 13:28:56 +0000220 if [ "$darwin" != "yes" ] ; then
bellard83fb7ad2004-07-05 21:25:26 +0000221 make="gmake"
222 fi
blueswir184778502008-10-26 20:33:16 +0000223 bsd_user="yes"
bellard7d3505c2004-05-12 19:32:15 +0000224fi
225
bellard7d132992003-03-06 23:23:54 +0000226# find source path
pbrookad064842006-04-16 12:41:07 +0000227source_path=`dirname "$0"`
balrog59faef32008-02-03 04:22:24 +0000228source_path_used="no"
229workdir=`pwd`
pbrookad064842006-04-16 12:41:07 +0000230if [ -z "$source_path" ]; then
balrog59faef32008-02-03 04:22:24 +0000231 source_path=$workdir
pbrookad064842006-04-16 12:41:07 +0000232else
233 source_path=`cd "$source_path"; pwd`
bellard7d132992003-03-06 23:23:54 +0000234fi
pbrook724db112008-02-03 19:20:13 +0000235[ -f "$workdir/vl.c" ] || source_path_used="yes"
bellard7d132992003-03-06 23:23:54 +0000236
bellard85aa5182007-11-11 20:17:03 +0000237werror="no"
bellard0d1e2392007-11-11 20:24:30 +0000238# generate compile errors on warnings for development builds
239#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
240#werror="yes";
241#fi
bellard85aa5182007-11-11 20:17:03 +0000242
bellard7d132992003-03-06 23:23:54 +0000243for opt do
pbrooka46e4032006-04-29 23:05:22 +0000244 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
bellard7d132992003-03-06 23:23:54 +0000245 case "$opt" in
bellard2efc3262005-12-18 19:14:49 +0000246 --help|-h) show_help=yes
247 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000248 --prefix=*) prefix="$optarg"
bellard7d132992003-03-06 23:23:54 +0000249 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000250 --interp-prefix=*) interp_prefix="$optarg"
bellard32ce6332003-04-11 00:16:16 +0000251 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000252 --source-path=*) source_path="$optarg"
pbrookad064842006-04-16 12:41:07 +0000253 source_path_used="yes"
bellard7d132992003-03-06 23:23:54 +0000254 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000255 --cross-prefix=*) cross_prefix="$optarg"
bellard7d132992003-03-06 23:23:54 +0000256 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000257 --cc=*) cc="$optarg"
pbrook328a4242006-12-19 03:31:34 +0000258 gcc3_search="no"
bellard7d132992003-03-06 23:23:54 +0000259 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000260 --host-cc=*) host_cc="$optarg"
bellard83469012005-07-23 14:27:54 +0000261 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000262 --make=*) make="$optarg"
bellard7d132992003-03-06 23:23:54 +0000263 ;;
pbrook6a882642006-04-17 13:57:12 +0000264 --install=*) install="$optarg"
265 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000266 --extra-cflags=*) CFLAGS="$optarg"
bellard7d132992003-03-06 23:23:54 +0000267 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000268 --extra-ldflags=*) LDFLAGS="$optarg"
bellard7d132992003-03-06 23:23:54 +0000269 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000270 --cpu=*) cpu="$optarg"
bellard7d132992003-03-06 23:23:54 +0000271 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000272 --target-list=*) target_list="$optarg"
bellardde83cd02003-06-15 20:25:43 +0000273 ;;
bellard7d132992003-03-06 23:23:54 +0000274 --enable-gprof) gprof="yes"
275 ;;
bellard43ce4df2003-06-09 19:53:12 +0000276 --static) static="yes"
277 ;;
bellard97a847b2003-08-10 21:36:04 +0000278 --disable-sdl) sdl="no"
279 ;;
pbrookb1a550a2006-04-16 13:28:56 +0000280 --fmod-lib=*) fmod_lib="$optarg"
bellard102a52e2004-11-14 19:57:29 +0000281 ;;
malcc2de5c92008-06-28 19:13:06 +0000282 --fmod-inc=*) fmod_inc="$optarg"
283 ;;
blueswir12f6a1ab2008-08-21 18:00:53 +0000284 --oss-lib=*) oss_lib="$optarg"
285 ;;
malc2fa7d3b2008-07-29 12:58:44 +0000286 --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
malc0c58ac12008-06-25 21:04:05 +0000287 ;;
288 --audio-drv-list=*) audio_drv_list="$optarg"
289 ;;
aliguori03b4fe72008-10-07 19:16:17 +0000290 --enable-sparse) sparse="yes"
291 ;;
292 --disable-sparse) sparse="no"
293 ;;
ths8d5d2d42007-08-25 01:37:51 +0000294 --disable-vnc-tls) vnc_tls="no"
295 ;;
bellard443f1372004-06-04 11:13:20 +0000296 --disable-slirp) slirp="no"
bellard1d14ffa2005-10-30 18:58:22 +0000297 ;;
aliguorie0e6c8c02008-07-23 18:14:33 +0000298 --disable-vde) vde="no"
ths8a16d272008-07-19 09:56:24 +0000299 ;;
bellardc9ec1fe2005-02-10 21:55:30 +0000300 --disable-kqemu) kqemu="no"
bellard1d14ffa2005-10-30 18:58:22 +0000301 ;;
aurel322e4d9fb2008-04-08 06:01:02 +0000302 --disable-brlapi) brlapi="no"
303 ;;
balrogfb599c92008-09-28 23:49:55 +0000304 --disable-bluez) bluez="no"
305 ;;
bellard05c2a3e2006-02-08 22:39:17 +0000306 --enable-profiler) profiler="yes"
307 ;;
malcc2de5c92008-06-28 19:13:06 +0000308 --enable-cocoa)
309 cocoa="yes" ;
310 sdl="no" ;
311 audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
bellard1d14ffa2005-10-30 18:58:22 +0000312 ;;
bellard97ccc682005-07-02 13:32:17 +0000313 --disable-gfx-check) check_gfx="no"
314 ;;
bellard1aff3812005-11-02 22:30:45 +0000315 --disable-gcc-check) check_gcc="no"
316 ;;
pbrookcad25d62006-03-19 16:31:11 +0000317 --disable-system) softmmu="no"
pbrook0a8e90f2006-03-19 14:54:16 +0000318 ;;
pbrookcad25d62006-03-19 16:31:11 +0000319 --enable-system) softmmu="yes"
pbrook0a8e90f2006-03-19 14:54:16 +0000320 ;;
ths831b7822007-01-18 20:06:33 +0000321 --disable-linux-user) linux_user="no"
pbrook0a8e90f2006-03-19 14:54:16 +0000322 ;;
ths831b7822007-01-18 20:06:33 +0000323 --enable-linux-user) linux_user="yes"
324 ;;
325 --disable-darwin-user) darwin_user="no"
326 ;;
327 --enable-darwin-user) darwin_user="yes"
pbrook0a8e90f2006-03-19 14:54:16 +0000328 ;;
blueswir184778502008-10-26 20:33:16 +0000329 --disable-bsd-user) bsd_user="no"
330 ;;
331 --enable-bsd-user) bsd_user="yes"
332 ;;
pbrookc5937222006-05-14 11:30:38 +0000333 --enable-uname-release=*) uname_release="$optarg"
334 ;;
blueswir131422552007-04-16 18:27:06 +0000335 --sparc_cpu=*)
336 sparc_cpu="$optarg"
337 case $sparc_cpu in
338 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
339 target_cpu="sparc"; cpu="sparc" ;;
340 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
341 target_cpu="sparc"; cpu="sparc" ;;
342 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
343 target_cpu="sparc64"; cpu="sparc64" ;;
344 *) echo "undefined SPARC architecture. Exiting";exit 1;;
345 esac
346 ;;
bellard85aa5182007-11-11 20:17:03 +0000347 --enable-werror) werror="yes"
348 ;;
349 --disable-werror) werror="no"
350 ;;
balrog4d3b6f62008-02-10 16:33:14 +0000351 --disable-curses) curses="no"
352 ;;
pbrookbd0c5662008-05-29 14:34:11 +0000353 --disable-nptl) nptl="no"
354 ;;
malc8ff9cbf2008-06-23 18:33:30 +0000355 --enable-mixemu) mixemu="yes"
356 ;;
blueswir1414f0da2008-08-15 18:20:52 +0000357 --disable-aio) aio="no"
358 ;;
balrog7f1559c2007-11-17 10:24:32 +0000359 *) echo "ERROR: unknown option $opt"; show_help="yes"
360 ;;
bellard7d132992003-03-06 23:23:54 +0000361 esac
362done
363
ths6f30fa82007-01-05 01:00:47 +0000364# default flags for all hosts
blueswir1ac41a622008-09-14 06:46:31 +0000365CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
366CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
ths6f30fa82007-01-05 01:00:47 +0000367LDFLAGS="$LDFLAGS -g"
bellard85aa5182007-11-11 20:17:03 +0000368if test "$werror" = "yes" ; then
369CFLAGS="$CFLAGS -Werror"
370fi
ths6f30fa82007-01-05 01:00:47 +0000371
blueswir1d2c7c9b2008-11-01 14:50:20 +0000372if test "$solaris" = "no" ; then
373 if ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
374 LDFLAGS="$LDFLAGS -Wl,--warn-common"
375 fi
blueswir149237ac2008-09-17 19:05:19 +0000376fi
377
blueswir131422552007-04-16 18:27:06 +0000378#
379# If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
380# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
381#
bellard40293e52008-01-31 11:32:10 +0000382case "$cpu" in
blueswir131422552007-04-16 18:27:06 +0000383 sparc) if test -z "$sparc_cpu" ; then
384 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
385 ARCH_LDFLAGS="-m32"
386 else
387 ARCH_CFLAGS="${SP_CFLAGS}"
388 ARCH_LDFLAGS="${SP_LDFLAGS}"
389 fi
390 ;;
391 sparc64) if test -z "$sparc_cpu" ; then
392 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
393 ARCH_LDFLAGS="-m64"
394 else
395 ARCH_CFLAGS="${SP_CFLAGS}"
396 ARCH_LDFLAGS="${SP_LDFLAGS}"
397 fi
398 ;;
ths76d83bd2007-11-18 21:22:10 +0000399 s390)
400 ARCH_CFLAGS="-march=z900"
401 ;;
bellard40293e52008-01-31 11:32:10 +0000402 i386)
403 ARCH_CFLAGS="-m32"
404 ARCH_LDFLAGS="-m32"
405 ;;
406 x86_64)
407 ARCH_CFLAGS="-m64"
408 ARCH_LDFLAGS="-m64"
409 ;;
blueswir131422552007-04-16 18:27:06 +0000410esac
411
pbrookaf5db582006-04-08 14:26:41 +0000412if test x"$show_help" = x"yes" ; then
413cat << EOF
414
415Usage: configure [options]
416Options: [defaults in brackets after descriptions]
417
418EOF
419echo "Standard options:"
420echo " --help print this message"
421echo " --prefix=PREFIX install in PREFIX [$prefix]"
422echo " --interp-prefix=PREFIX where to find shared libraries, etc."
423echo " use %M for cpu name [$interp_prefix]"
424echo " --target-list=LIST set target list [$target_list]"
425echo ""
426echo "kqemu kernel acceleration support:"
427echo " --disable-kqemu disable kqemu support"
pbrookaf5db582006-04-08 14:26:41 +0000428echo ""
429echo "Advanced options (experts only):"
430echo " --source-path=PATH path of source code [$source_path]"
431echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
432echo " --cc=CC use C compiler CC [$cc]"
433echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
434echo " --make=MAKE use specified make [$make]"
pbrook6a882642006-04-17 13:57:12 +0000435echo " --install=INSTALL use specified install [$install]"
pbrookaf5db582006-04-08 14:26:41 +0000436echo " --static enable static build [$static]"
aliguori890b1652008-10-07 21:22:41 +0000437echo " --enable-sparse enable sparse checker"
438echo " --disable-sparse disable sparse checker (default)"
bellard85aa5182007-11-11 20:17:03 +0000439echo " --disable-werror disable compilation abort on warning"
balrogfe8f78e2007-10-31 01:03:28 +0000440echo " --disable-sdl disable SDL"
pbrookaf5db582006-04-08 14:26:41 +0000441echo " --enable-cocoa enable COCOA (Mac OS X only)"
malcc2de5c92008-06-28 19:13:06 +0000442echo " --audio-drv-list=LIST set audio drivers list:"
443echo " Available drivers: $audio_possible_drivers"
444echo " --audio-card-list=LIST set list of additional emulated audio cards"
445echo " Available cards: ac97 adlib cs4231a gus"
malc8ff9cbf2008-06-23 18:33:30 +0000446echo " --enable-mixemu enable mixer emulation"
aurel322e4d9fb2008-04-08 06:01:02 +0000447echo " --disable-brlapi disable BrlAPI"
ths8d5d2d42007-08-25 01:37:51 +0000448echo " --disable-vnc-tls disable TLS encryption for VNC server"
pbrookaf896aa2008-03-23 00:47:42 +0000449echo " --disable-curses disable curses output"
balrogfb599c92008-09-28 23:49:55 +0000450echo " --disable-bluez disable bluez stack connectivity"
pbrookbd0c5662008-05-29 14:34:11 +0000451echo " --disable-nptl disable usermode NPTL support"
pbrookaf5db582006-04-08 14:26:41 +0000452echo " --enable-system enable all system emulation targets"
453echo " --disable-system disable all system emulation targets"
ths831b7822007-01-18 20:06:33 +0000454echo " --enable-linux-user enable all linux usermode emulation targets"
455echo " --disable-linux-user disable all linux usermode emulation targets"
456echo " --enable-darwin-user enable all darwin usermode emulation targets"
457echo " --disable-darwin-user disable all darwin usermode emulation targets"
blueswir184778502008-10-26 20:33:16 +0000458echo " --enable-bsd-user enable all BSD usermode emulation targets"
459echo " --disable-bsd-user disable all BSD usermode emulation targets"
pbrookaf5db582006-04-08 14:26:41 +0000460echo " --fmod-lib path to FMOD library"
461echo " --fmod-inc path to FMOD includes"
blueswir12f6a1ab2008-08-21 18:00:53 +0000462echo " --oss-lib path to OSS library"
pbrookc5937222006-05-14 11:30:38 +0000463echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
blueswir131422552007-04-16 18:27:06 +0000464echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
aliguorie0e6c8c02008-07-23 18:14:33 +0000465echo " --disable-vde disable support for vde network"
blueswir1414f0da2008-08-15 18:20:52 +0000466echo " --disable-aio disable AIO support"
pbrookaf5db582006-04-08 14:26:41 +0000467echo ""
ths5bf08932006-12-23 00:33:26 +0000468echo "NOTE: The object files are built at the place where configure is launched"
pbrookaf5db582006-04-08 14:26:41 +0000469exit 1
470fi
471
bellard7d132992003-03-06 23:23:54 +0000472cc="${cross_prefix}${cc}"
473ar="${cross_prefix}${ar}"
474strip="${cross_prefix}${strip}"
475
pbrook064aae12006-05-08 00:51:44 +0000476# check that the C compiler works.
477cat > $TMPC <<EOF
478int main(void) {}
479EOF
480
pbrookdb7287e2008-02-03 16:27:13 +0000481if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
pbrook064aae12006-05-08 00:51:44 +0000482 : C compiler works ok
483else
484 echo "ERROR: \"$cc\" either does not exist or does not work"
485 exit 1
bellarda7350fa2006-04-23 14:35:23 +0000486fi
487
aliguoricd01b4a2008-08-21 19:25:45 +0000488# check compiler to see if we're on mingw32
489cat > $TMPC <<EOF
490#include <windows.h>
491#ifndef _WIN32
492#error not windows
493#endif
494int main(void) {}
495EOF
496
497if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
498 mingw32="yes"
499fi
500
bellard67b915a2004-03-31 23:37:16 +0000501if test "$mingw32" = "yes" ; then
bellard5327cf42005-01-10 23:18:50 +0000502 linux="no"
bellard67b915a2004-03-31 23:37:16 +0000503 EXESUF=".exe"
bellard9f059ec2004-11-14 18:59:52 +0000504 oss="no"
aliguoricd01b4a2008-08-21 19:25:45 +0000505 linux_user="no"
blueswir184778502008-10-26 20:33:16 +0000506 bsd_user="no"
aliguoricd01b4a2008-08-21 19:25:45 +0000507fi
508
aliguori997306f2008-09-26 15:52:17 +0000509if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
aliguoricd01b4a2008-08-21 19:25:45 +0000510 AIOLIBS=
aliguori997306f2008-09-26 15:52:17 +0000511elif [ "$bsd" = "yes" ]; then
512 AIOLIBS="-lpthread"
aliguoricd01b4a2008-08-21 19:25:45 +0000513else
514 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
515 AIOLIBS="-lrt -lpthread"
bellard67b915a2004-03-31 23:37:16 +0000516fi
517
ths5fafdf22007-09-16 21:08:06 +0000518# Check for gcc4, error if pre-gcc4
pbrook328a4242006-12-19 03:31:34 +0000519if test "$check_gcc" = "yes" ; then
520 cat > $TMPC <<EOF
521#if __GNUC__ < 4
522#error gcc3
523#endif
524int main(){return 0;}
525EOF
pbrookdb7287e2008-02-03 16:27:13 +0000526 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
pbrook328a4242006-12-19 03:31:34 +0000527 echo "WARNING: \"$cc\" looks like gcc 4.x"
528 found_compat_cc="no"
529 if test "$gcc3_search" = "yes" ; then
530 echo "Looking for gcc 3.x"
531 for compat_cc in $gcc3_list ; do
balrogd4af3de2007-07-26 20:41:46 +0000532 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
pbrook328a4242006-12-19 03:31:34 +0000533 echo "Found \"$compat_cc\""
pbrook11244262007-02-27 01:03:41 +0000534 cc="$cross_prefix$compat_cc"
pbrook328a4242006-12-19 03:31:34 +0000535 found_compat_cc="yes"
536 break
537 fi
538 done
539 if test "$found_compat_cc" = "no" ; then
540 echo "gcc 3.x not found!"
541 fi
542 fi
543 if test "$found_compat_cc" = "no" ; then
544 echo "QEMU is known to have problems when compiled with gcc 4.x"
545 echo "It is recommended that you use gcc 3.x to build QEMU"
546 echo "To use this compiler anyway, configure with --disable-gcc-check"
547 exit 1;
548 fi
549 fi
550fi
551
aliguori03b4fe72008-10-07 19:16:17 +0000552if test ! -x "$(which cgcc 2>/dev/null)"; then
553 sparse="no"
554fi
555
bellardec530c82006-04-25 22:36:06 +0000556#
557# Solaris specific configure tool chain decisions
558#
559if test "$solaris" = "yes" ; then
560 #
561 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
562 # override the check with --disable-gcc-check
ths5fafdf22007-09-16 21:08:06 +0000563 #
bellardec530c82006-04-25 22:36:06 +0000564 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
565 solgcc=`which $cc`
566 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
567 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
568 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
569 echo "or get the latest patch from SunSolve for gcc"
570 exit 1
571 fi
572 fi
573 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
574 if test -z "$solinst" ; then
575 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
576 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
577 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
578 exit 1
579 fi
580 if test "$solinst" = "/usr/sbin/install" ; then
581 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
582 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
583 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
584 exit 1
585 fi
bellardec530c82006-04-25 22:36:06 +0000586 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
587 if test -z "$sol_ar" ; then
588 echo "Error: No path includes ar"
589 if test -f /usr/ccs/bin/ar ; then
590 echo "Add /usr/ccs/bin to your path and rerun configure"
591 fi
592 exit 1
593 fi
ths5fafdf22007-09-16 21:08:06 +0000594fi
bellardec530c82006-04-25 22:36:06 +0000595
596
bellard5327cf42005-01-10 23:18:50 +0000597if test -z "$target_list" ; then
598# these targets are portable
pbrook0a8e90f2006-03-19 14:54:16 +0000599 if [ "$softmmu" = "yes" ] ; then
aurel322408a522008-04-20 20:19:44 +0000600 target_list="\
601i386-softmmu \
602x86_64-softmmu \
603arm-softmmu \
604cris-softmmu \
605m68k-softmmu \
606mips-softmmu \
607mipsel-softmmu \
608mips64-softmmu \
609mips64el-softmmu \
610ppc-softmmu \
611ppcemb-softmmu \
612ppc64-softmmu \
613sh4-softmmu \
614sh4eb-softmmu \
615sparc-softmmu \
616"
pbrook0a8e90f2006-03-19 14:54:16 +0000617 fi
bellard5327cf42005-01-10 23:18:50 +0000618# the following are Linux specific
ths831b7822007-01-18 20:06:33 +0000619 if [ "$linux_user" = "yes" ] ; then
aurel322408a522008-04-20 20:19:44 +0000620 target_list="${target_list}\
621i386-linux-user \
622x86_64-linux-user \
623alpha-linux-user \
624arm-linux-user \
625armeb-linux-user \
626cris-linux-user \
627m68k-linux-user \
628mips-linux-user \
629mipsel-linux-user \
630ppc-linux-user \
631ppc64-linux-user \
632ppc64abi32-linux-user \
633sh4-linux-user \
634sh4eb-linux-user \
635sparc-linux-user \
636sparc64-linux-user \
637sparc32plus-linux-user \
638"
ths831b7822007-01-18 20:06:33 +0000639 fi
640# the following are Darwin specific
641 if [ "$darwin_user" = "yes" ] ; then
aurel322408a522008-04-20 20:19:44 +0000642 target_list="$target_list i386-darwin-user ppc-darwin-user"
bellard5327cf42005-01-10 23:18:50 +0000643 fi
blueswir184778502008-10-26 20:33:16 +0000644# the following are BSD specific
645 if [ "$bsd_user" = "yes" ] ; then
646 target_list="${target_list}\
647sparc64-bsd-user \
648"
649 fi
bellard6e20a452005-06-05 15:56:02 +0000650else
pbrookb1a550a2006-04-16 13:28:56 +0000651 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
bellard5327cf42005-01-10 23:18:50 +0000652fi
pbrook0a8e90f2006-03-19 14:54:16 +0000653if test -z "$target_list" ; then
654 echo "No targets enabled"
655 exit 1
656fi
bellard5327cf42005-01-10 23:18:50 +0000657
bellard7d132992003-03-06 23:23:54 +0000658if test -z "$cross_prefix" ; then
659
660# ---
661# big/little endian test
662cat > $TMPC << EOF
663#include <inttypes.h>
664int main(int argc, char ** argv){
bellard1d14ffa2005-10-30 18:58:22 +0000665 volatile uint32_t i=0x01234567;
666 return (*((uint8_t*)(&i))) == 0x67;
bellard7d132992003-03-06 23:23:54 +0000667}
668EOF
669
pbrookdb7287e2008-02-03 16:27:13 +0000670if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
bellard7d132992003-03-06 23:23:54 +0000671$TMPE && bigendian="yes"
672else
673echo big/little test failed
674fi
675
676else
677
678# if cross compiling, cannot launch a program, so make a static guess
aurel320938cda2008-04-11 21:36:06 +0000679if test "$cpu" = "armv4b" \
aurel32f54b3f92008-04-12 20:14:54 +0000680 -o "$cpu" = "hppa" \
aurel320938cda2008-04-11 21:36:06 +0000681 -o "$cpu" = "m68k" \
682 -o "$cpu" = "mips" \
683 -o "$cpu" = "mips64" \
684 -o "$cpu" = "powerpc" \
685 -o "$cpu" = "s390" \
686 -o "$cpu" = "sparc" \
687 -o "$cpu" = "sparc64"; then
bellard7d132992003-03-06 23:23:54 +0000688 bigendian="yes"
689fi
690
691fi
692
bellardb6853692005-06-05 17:10:39 +0000693# host long bits test
694hostlongbits="32"
aurel320938cda2008-04-11 21:36:06 +0000695if test "$cpu" = "x86_64" \
696 -o "$cpu" = "alpha" \
697 -o "$cpu" = "ia64" \
698 -o "$cpu" = "sparc64"; then
bellardb6853692005-06-05 17:10:39 +0000699 hostlongbits="64"
700fi
701
malc810260a2008-07-23 19:17:46 +0000702# ppc specific hostlongbits selection
703if test "$cpu" = "powerpc" ; then
malc9d56d2d2008-09-30 19:44:32 +0000704 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
705 grep -q __powerpc64__ $TMPI && hostlongbits=64
malc810260a2008-07-23 19:17:46 +0000706 else
707 echo hostlongbits test failed
malcba69a082008-07-24 17:51:36 +0000708 exit 1
malc810260a2008-07-23 19:17:46 +0000709 fi
710fi
711
bellarde8cd23d2003-06-25 16:08:13 +0000712# check gcc options support
bellard04369ff2003-03-20 22:33:23 +0000713cat > $TMPC <<EOF
714int main(void) {
bellard04369ff2003-03-20 22:33:23 +0000715}
716EOF
717
pbrookbd0c5662008-05-29 14:34:11 +0000718# Check host NPTL support
719cat > $TMPC <<EOF
720#include <sched.h>
pbrook30813ce2008-06-02 15:45:44 +0000721#include <linux/futex.h>
pbrookbd0c5662008-05-29 14:34:11 +0000722void foo()
723{
724#if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
725#error bork
726#endif
727}
728EOF
729
730if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
731 :
732else
733 nptl="no"
734fi
735
bellard11d9f692004-04-02 20:55:59 +0000736##########################################
balrogac629222008-10-11 09:56:04 +0000737# zlib check
738
739cat > $TMPC << EOF
740#include <zlib.h>
741int main(void) { zlibVersion(); return 0; }
742EOF
balrog17e15922008-10-11 12:00:42 +0000743if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev/null ; then
balrogac629222008-10-11 09:56:04 +0000744 :
745else
746 echo
747 echo "Error: zlib check failed"
748 echo "Make sure to have the zlib libs and headers installed."
749 echo
750 exit 1
751fi
752
753##########################################
bellard11d9f692004-04-02 20:55:59 +0000754# SDL probe
755
756sdl_too_old=no
757
758if test -z "$sdl" ; then
ths069b0bd2007-07-12 00:27:15 +0000759 sdl_config="sdl-config"
760 sdl=no
761 sdl_static=no
bellard11d9f692004-04-02 20:55:59 +0000762
763cat > $TMPC << EOF
764#include <SDL.h>
765#undef main /* We don't want SDL to override our main() */
766int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
767EOF
aliguoricd01b4a2008-08-21 19:25:45 +0000768 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
769 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
770 if test "$_sdlversion" -lt 121 ; then
771 sdl_too_old=yes
772 else
773 if test "$cocoa" = "no" ; then
774 sdl=yes
775 fi
776 fi
777
778 # static link with sdl ?
779 if test "$sdl" = "yes" ; then
780 aa="no"
781 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
782 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
783 if [ "$aa" = "yes" ] ; then
784 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
ths069b0bd2007-07-12 00:27:15 +0000785 fi
bellard11d9f692004-04-02 20:55:59 +0000786
aliguoricd01b4a2008-08-21 19:25:45 +0000787 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
788 sdl_static=yes
789 fi
790 fi # static link
791 fi # sdl compile test
bellard11d9f692004-04-02 20:55:59 +0000792else
ths069b0bd2007-07-12 00:27:15 +0000793 # Make sure to disable cocoa if sdl was set
794 if test "$sdl" = "yes" ; then
795 cocoa="no"
malcc2de5c92008-06-28 19:13:06 +0000796 audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
ths069b0bd2007-07-12 00:27:15 +0000797 fi
bellarda6e022a2004-04-02 21:55:47 +0000798fi # -z $sdl
bellard11d9f692004-04-02 20:55:59 +0000799
ths8f28f3f2007-01-05 21:25:54 +0000800##########################################
ths8d5d2d42007-08-25 01:37:51 +0000801# VNC TLS detection
802if test "$vnc_tls" = "yes" ; then
aliguoriae6b5e52008-08-06 16:55:50 +0000803cat > $TMPC <<EOF
804#include <gnutls/gnutls.h>
805int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
806EOF
807 vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
808 vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
809 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
810 $vnc_tls_libs 2> /dev/null ; then
811 :
812 else
813 vnc_tls="no"
814 fi
ths8d5d2d42007-08-25 01:37:51 +0000815fi
816
817##########################################
ths8a16d272008-07-19 09:56:24 +0000818# vde libraries probe
819if test "$vde" = "yes" ; then
820 cat > $TMPC << EOF
821#include <libvdeplug.h>
pbrook4a7f0e02008-09-07 16:42:53 +0000822int main(void)
823{
824 struct vde_open_args a = {0, 0, 0};
825 vde_open("", "", &a);
826 return 0;
827}
ths8a16d272008-07-19 09:56:24 +0000828EOF
pbrook4a7f0e02008-09-07 16:42:53 +0000829 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev/null ; then
ths8a16d272008-07-19 09:56:24 +0000830 :
831 else
aliguorie0e6c8c02008-07-23 18:14:33 +0000832 vde="no"
ths8a16d272008-07-19 09:56:24 +0000833 fi
834fi
835
836##########################################
malcc2de5c92008-06-28 19:13:06 +0000837# Sound support libraries probe
ths8f28f3f2007-01-05 21:25:54 +0000838
malcc2de5c92008-06-28 19:13:06 +0000839audio_drv_probe()
840{
841 drv=$1
842 hdr=$2
843 lib=$3
844 exp=$4
845 cfl=$5
846 cat > $TMPC << EOF
847#include <$hdr>
848int main(void) { $exp }
ths8f28f3f2007-01-05 21:25:54 +0000849EOF
malcc2de5c92008-06-28 19:13:06 +0000850 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then
851 :
852 else
853 echo
854 echo "Error: $drv check failed"
855 echo "Make sure to have the $drv libs and headers installed."
856 echo
857 exit 1
858 fi
859}
860
malc2fa7d3b2008-07-29 12:58:44 +0000861audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
malcc2de5c92008-06-28 19:13:06 +0000862for drv in $audio_drv_list; do
863 case $drv in
864 alsa)
865 audio_drv_probe $drv alsa/asoundlib.h -lasound \
866 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
867 ;;
868
869 fmod)
870 if test -z $fmod_lib || test -z $fmod_inc; then
871 echo
872 echo "Error: You must specify path to FMOD library and headers"
873 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
874 echo
875 exit 1
876 fi
877 audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
878 ;;
879
880 esd)
881 audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
882 ;;
malcb8e59f12008-07-02 21:03:08 +0000883
884 pa)
885 audio_drv_probe $drv pulse/simple.h -lpulse-simple \
886 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
887 ;;
888
blueswir12f6a1ab2008-08-21 18:00:53 +0000889 oss|sdl|core|wav|dsound)
890 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
891 ;;
892
malce4c63a62008-07-19 16:15:16 +0000893 *)
malc1c9b2a52008-07-19 16:57:30 +0000894 echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
malce4c63a62008-07-19 16:15:16 +0000895 echo
896 echo "Error: Unknown driver '$drv' selected"
897 echo "Possible drivers are: $audio_possible_drivers"
898 echo
899 exit 1
900 }
901 ;;
malcc2de5c92008-06-28 19:13:06 +0000902 esac
903done
ths8f28f3f2007-01-05 21:25:54 +0000904
balrog4d3b6f62008-02-10 16:33:14 +0000905##########################################
aurel322e4d9fb2008-04-08 06:01:02 +0000906# BrlAPI probe
907
908if test -z "$brlapi" ; then
909 brlapi=no
910cat > $TMPC << EOF
911#include <brlapi.h>
912int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
913EOF
aurel32a40e56d2008-05-04 00:50:25 +0000914 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev/null ; then
aurel322e4d9fb2008-04-08 06:01:02 +0000915 brlapi=yes
916 fi # brlapi compile test
917fi # -z $brlapi
918
919##########################################
balrog4d3b6f62008-02-10 16:33:14 +0000920# curses probe
921
922if test "$curses" = "yes" ; then
923 curses=no
924 cat > $TMPC << EOF
925#include <curses.h>
926int main(void) { return curses_version(); }
927EOF
pbrookaf896aa2008-03-23 00:47:42 +0000928 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
balrog4d3b6f62008-02-10 16:33:14 +0000929 curses=yes
930 fi
931fi # test "$curses"
932
blueswir1414f0da2008-08-15 18:20:52 +0000933##########################################
balrogfb599c92008-09-28 23:49:55 +0000934# bluez support probe
935if test "$bluez" = "yes" ; then
936 `pkg-config bluez` || bluez="no"
937fi
938if test "$bluez" = "yes" ; then
balroge820e3f2008-09-30 02:27:44 +0000939 cat > $TMPC << EOF
940#include <bluetooth/bluetooth.h>
941int main(void) { return bt_error(0); }
942EOF
balrogfb599c92008-09-28 23:49:55 +0000943 bluez_cflags=`pkg-config --cflags bluez`
944 bluez_libs=`pkg-config --libs bluez`
balrog17e15922008-10-11 12:00:42 +0000945 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
balroge820e3f2008-09-30 02:27:44 +0000946 $bluez_libs 2> /dev/null ; then
947 :
948 else
949 bluez="no"
950 fi
balrogfb599c92008-09-28 23:49:55 +0000951fi
952
953##########################################
blueswir1414f0da2008-08-15 18:20:52 +0000954# AIO probe
955if test "$aio" = "yes" ; then
956 aio=no
957 cat > $TMPC << EOF
958#include <aio.h>
959int main(void) { return aio_write(NULL); }
960EOF
961 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
962 aio=yes
963 fi
964fi
965
pbrookcc8ae6d2006-04-23 17:57:59 +0000966# Check if tools are available to build documentation.
ths6c591862007-05-09 13:55:03 +0000967if [ -x "`which texi2html 2>/dev/null`" ] && \
968 [ -x "`which pod2man 2>/dev/null`" ]; then
pbrookcc8ae6d2006-04-23 17:57:59 +0000969 build_docs="yes"
970fi
971
bellard11d9f692004-04-02 20:55:59 +0000972if test "$mingw32" = "yes" ; then
pbrook308c3592007-02-27 00:52:01 +0000973 if test -z "$prefix" ; then
aliguori17e90972008-10-24 14:11:41 +0000974 prefix="c:\\\\Program Files\\\\Qemu"
pbrook308c3592007-02-27 00:52:01 +0000975 fi
976 mansuffix=""
977 datasuffix=""
978 docsuffix=""
979 binsuffix=""
bellard11d9f692004-04-02 20:55:59 +0000980else
pbrook308c3592007-02-27 00:52:01 +0000981 if test -z "$prefix" ; then
982 prefix="/usr/local"
983 fi
984 mansuffix="/share/man"
985 datasuffix="/share/qemu"
986 docsuffix="/share/doc/qemu"
987 binsuffix="/bin"
bellard11d9f692004-04-02 20:55:59 +0000988fi
bellard5a671352003-10-01 00:13:48 +0000989
bellard43ce4df2003-06-09 19:53:12 +0000990echo "Install prefix $prefix"
pbrook308c3592007-02-27 00:52:01 +0000991echo "BIOS directory $prefix$datasuffix"
992echo "binary directory $prefix$binsuffix"
bellard11d9f692004-04-02 20:55:59 +0000993if test "$mingw32" = "no" ; then
pbrook308c3592007-02-27 00:52:01 +0000994echo "Manual directory $prefix$mansuffix"
bellard43ce4df2003-06-09 19:53:12 +0000995echo "ELF interp prefix $interp_prefix"
bellard11d9f692004-04-02 20:55:59 +0000996fi
bellard5a671352003-10-01 00:13:48 +0000997echo "Source path $source_path"
bellard43ce4df2003-06-09 19:53:12 +0000998echo "C compiler $cc"
bellard83469012005-07-23 14:27:54 +0000999echo "Host C compiler $host_cc"
pbrookdb7287e2008-02-03 16:27:13 +00001000echo "ARCH_CFLAGS $ARCH_CFLAGS"
bellard43ce4df2003-06-09 19:53:12 +00001001echo "make $make"
pbrook6a882642006-04-17 13:57:12 +00001002echo "install $install"
bellard43ce4df2003-06-09 19:53:12 +00001003echo "host CPU $cpu"
bellardde83cd02003-06-15 20:25:43 +00001004echo "host big endian $bigendian"
bellard97a847b2003-08-10 21:36:04 +00001005echo "target list $target_list"
bellard43ce4df2003-06-09 19:53:12 +00001006echo "gprof enabled $gprof"
aliguori03b4fe72008-10-07 19:16:17 +00001007echo "sparse enabled $sparse"
bellard05c2a3e2006-02-08 22:39:17 +00001008echo "profiler $profiler"
bellard43ce4df2003-06-09 19:53:12 +00001009echo "static build $static"
bellard85aa5182007-11-11 20:17:03 +00001010echo "-Werror enabled $werror"
bellard5b0753e2005-03-01 21:37:28 +00001011if test "$darwin" = "yes" ; then
1012 echo "Cocoa support $cocoa"
1013fi
bellard97a847b2003-08-10 21:36:04 +00001014echo "SDL support $sdl"
bellarde4afee92005-04-26 20:46:24 +00001015if test "$sdl" != "no" ; then
1016 echo "SDL static link $sdl_static"
1017fi
balrog4d3b6f62008-02-10 16:33:14 +00001018echo "curses support $curses"
bellard67b915a2004-03-31 23:37:16 +00001019echo "mingw32 support $mingw32"
malc0c58ac12008-06-25 21:04:05 +00001020echo "Audio drivers $audio_drv_list"
1021echo "Extra audio cards $audio_card_list"
malc8ff9cbf2008-06-23 18:33:30 +00001022echo "Mixer emulation $mixemu"
ths8d5d2d42007-08-25 01:37:51 +00001023echo "VNC TLS support $vnc_tls"
1024if test "$vnc_tls" = "yes" ; then
1025 echo " TLS CFLAGS $vnc_tls_cflags"
1026 echo " TLS LIBS $vnc_tls_libs"
1027fi
blueswir131422552007-04-16 18:27:06 +00001028if test -n "$sparc_cpu"; then
1029 echo "Target Sparc Arch $sparc_cpu"
1030fi
bellard07f4ddb2005-04-23 17:44:28 +00001031echo "kqemu support $kqemu"
aurel322e4d9fb2008-04-08 06:01:02 +00001032echo "brlapi support $brlapi"
pbrookcc8ae6d2006-04-23 17:57:59 +00001033echo "Documentation $build_docs"
pbrookc5937222006-05-14 11:30:38 +00001034[ ! -z "$uname_release" ] && \
1035echo "uname -r $uname_release"
pbrookbd0c5662008-05-29 14:34:11 +00001036echo "NPTL support $nptl"
ths8a16d272008-07-19 09:56:24 +00001037echo "vde support $vde"
blueswir1414f0da2008-08-15 18:20:52 +00001038echo "AIO support $aio"
bellard67b915a2004-03-31 23:37:16 +00001039
bellard97a847b2003-08-10 21:36:04 +00001040if test $sdl_too_old = "yes"; then
bellard24b55b92005-03-01 22:30:41 +00001041echo "-> Your SDL version is too old - please upgrade to have SDL support"
bellarde8cd23d2003-06-25 16:08:13 +00001042fi
ths20b40c62007-07-11 23:39:45 +00001043if [ -s /tmp/qemu-$$-sdl-config.log ]; then
1044 echo "The error log from compiling the libSDL test is: "
1045 cat /tmp/qemu-$$-sdl-config.log
1046fi
1047rm -f /tmp/qemu-$$-sdl-config.log
bellard24b55b92005-03-01 22:30:41 +00001048#if test "$sdl_static" = "no"; then
1049# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1050#fi
bellard97a847b2003-08-10 21:36:04 +00001051config_mak="config-host.mak"
1052config_h="config-host.h"
1053
bellard7c1f25b2004-04-22 00:02:08 +00001054#echo "Creating $config_mak and $config_h"
bellard97a847b2003-08-10 21:36:04 +00001055
ths15d9ca02007-07-31 23:07:32 +00001056test -f $config_h && mv $config_h ${config_h}~
1057
bellard97a847b2003-08-10 21:36:04 +00001058echo "# Automatically generated by configure - do not modify" > $config_mak
pbrook29517132006-02-09 17:58:47 +00001059echo "# Configured with: $0 $@" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +00001060echo "/* Automatically generated by configure - do not modify */" > $config_h
1061
1062echo "prefix=$prefix" >> $config_mak
pbrook308c3592007-02-27 00:52:01 +00001063echo "bindir=\${prefix}$binsuffix" >> $config_mak
1064echo "mandir=\${prefix}$mansuffix" >> $config_mak
1065echo "datadir=\${prefix}$datasuffix" >> $config_mak
ths4ad5b062007-03-03 21:47:02 +00001066echo "docdir=\${prefix}$docsuffix" >> $config_mak
pbrook308c3592007-02-27 00:52:01 +00001067echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
bellard97a847b2003-08-10 21:36:04 +00001068echo "MAKE=$make" >> $config_mak
pbrook6a882642006-04-17 13:57:12 +00001069echo "INSTALL=$install" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +00001070echo "CC=$cc" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +00001071echo "HOST_CC=$host_cc" >> $config_mak
1072echo "AR=$ar" >> $config_mak
1073echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
bellard40293e52008-01-31 11:32:10 +00001074# XXX: only use CFLAGS and LDFLAGS ?
1075# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1076# compilation of dyngen tool (useful for win32 build on Linux host)
ths6f30fa82007-01-05 01:00:47 +00001077echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
blueswir131422552007-04-16 18:27:06 +00001078echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1079echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1080echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
bellard97a847b2003-08-10 21:36:04 +00001081echo "CFLAGS=$CFLAGS" >> $config_mak
1082echo "LDFLAGS=$LDFLAGS" >> $config_mak
bellard67b915a2004-03-31 23:37:16 +00001083echo "EXESUF=$EXESUF" >> $config_mak
ths70956b72007-03-17 15:00:37 +00001084echo "AIOLIBS=$AIOLIBS" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001085case "$cpu" in
1086 i386)
1087 echo "ARCH=i386" >> $config_mak
1088 echo "#define HOST_I386 1" >> $config_h
1089 ;;
1090 x86_64)
1091 echo "ARCH=x86_64" >> $config_mak
1092 echo "#define HOST_X86_64 1" >> $config_h
1093 ;;
1094 alpha)
1095 echo "ARCH=alpha" >> $config_mak
1096 echo "#define HOST_ALPHA 1" >> $config_h
1097 ;;
1098 armv4b)
1099 echo "ARCH=arm" >> $config_mak
1100 echo "#define HOST_ARM 1" >> $config_h
1101 ;;
1102 armv4l)
1103 echo "ARCH=arm" >> $config_mak
1104 echo "#define HOST_ARM 1" >> $config_h
1105 ;;
1106 cris)
1107 echo "ARCH=cris" >> $config_mak
1108 echo "#define HOST_CRIS 1" >> $config_h
1109 ;;
1110 hppa)
1111 echo "ARCH=hppa" >> $config_mak
1112 echo "#define HOST_HPPA 1" >> $config_h
1113 ;;
1114 ia64)
1115 echo "ARCH=ia64" >> $config_mak
1116 echo "#define HOST_IA64 1" >> $config_h
1117 ;;
1118 m68k)
1119 echo "ARCH=m68k" >> $config_mak
1120 echo "#define HOST_M68K 1" >> $config_h
1121 ;;
1122 mips)
1123 echo "ARCH=mips" >> $config_mak
1124 echo "#define HOST_MIPS 1" >> $config_h
1125 ;;
1126 mips64)
1127 echo "ARCH=mips64" >> $config_mak
1128 echo "#define HOST_MIPS64 1" >> $config_h
1129 ;;
1130 powerpc)
malc810260a2008-07-23 19:17:46 +00001131 if test "$hostlongbits" = "32"; then
1132 echo "ARCH=ppc" >> $config_mak
1133 echo "#define HOST_PPC 1" >> $config_h
1134 else
1135 echo "ARCH=ppc64" >> $config_mak
1136 echo "#define HOST_PPC64 1" >> $config_h
1137 fi
aurel322408a522008-04-20 20:19:44 +00001138 ;;
1139 s390)
1140 echo "ARCH=s390" >> $config_mak
1141 echo "#define HOST_S390 1" >> $config_h
1142 ;;
1143 sparc)
1144 echo "ARCH=sparc" >> $config_mak
1145 echo "#define HOST_SPARC 1" >> $config_h
1146 ;;
1147 sparc64)
1148 echo "ARCH=sparc64" >> $config_mak
1149 echo "#define HOST_SPARC64 1" >> $config_h
1150 ;;
1151 *)
1152 echo "Unsupported CPU = $cpu"
1153 exit 1
1154 ;;
1155esac
aliguori03b4fe72008-10-07 19:16:17 +00001156if test "$sparse" = "yes" ; then
1157 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1158 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1159 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1160fi
bellard7d132992003-03-06 23:23:54 +00001161if test "$bigendian" = "yes" ; then
bellard97a847b2003-08-10 21:36:04 +00001162 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1163 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1164fi
bellardb6853692005-06-05 17:10:39 +00001165echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
bellard67b915a2004-03-31 23:37:16 +00001166if test "$mingw32" = "yes" ; then
1167 echo "CONFIG_WIN32=yes" >> $config_mak
bellard11d9f692004-04-02 20:55:59 +00001168 echo "#define CONFIG_WIN32 1" >> $config_h
pbrook210fa552007-02-27 21:04:49 +00001169else
1170 cat > $TMPC << EOF
1171#include <byteswap.h>
1172int main(void) { return bswap_32(0); }
1173EOF
pbrookdb7287e2008-02-03 16:27:13 +00001174 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
pbrook210fa552007-02-27 21:04:49 +00001175 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1176 fi
bellard67b915a2004-03-31 23:37:16 +00001177fi
blueswir1128ab2f2008-08-15 18:33:42 +00001178
1179if [ "$openbsd" = "yes" ] ; then
1180 echo "#define ENOTSUP 4096" >> $config_h
1181fi
1182
bellard83fb7ad2004-07-05 21:25:26 +00001183if test "$darwin" = "yes" ; then
1184 echo "CONFIG_DARWIN=yes" >> $config_mak
1185 echo "#define CONFIG_DARWIN 1" >> $config_h
1186fi
bellardec530c82006-04-25 22:36:06 +00001187if test "$solaris" = "yes" ; then
1188 echo "CONFIG_SOLARIS=yes" >> $config_mak
bellard38cfa062006-05-01 13:58:07 +00001189 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
ths0475a5c2007-04-01 18:54:44 +00001190 if test "$needs_libsunmath" = "yes" ; then
1191 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1192 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1193 fi
bellardec530c82006-04-25 22:36:06 +00001194fi
blueswir131422552007-04-16 18:27:06 +00001195if test -n "$sparc_cpu"; then
1196 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1197 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1198fi
bellard67b915a2004-03-31 23:37:16 +00001199if test "$gdbstub" = "yes" ; then
1200 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1201 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1202fi
bellard97a847b2003-08-10 21:36:04 +00001203if test "$gprof" = "yes" ; then
1204 echo "TARGET_GPROF=yes" >> $config_mak
1205 echo "#define HAVE_GPROF 1" >> $config_h
1206fi
1207if test "$static" = "yes" ; then
1208 echo "CONFIG_STATIC=yes" >> $config_mak
bellard50863472003-10-28 23:04:01 +00001209 echo "#define CONFIG_STATIC 1" >> $config_h
bellard97a847b2003-08-10 21:36:04 +00001210fi
bellard05c2a3e2006-02-08 22:39:17 +00001211if test $profiler = "yes" ; then
1212 echo "#define CONFIG_PROFILER 1" >> $config_h
1213fi
bellardc20709a2004-04-21 23:27:19 +00001214if test "$slirp" = "yes" ; then
1215 echo "CONFIG_SLIRP=yes" >> $config_mak
1216 echo "#define CONFIG_SLIRP 1" >> $config_h
1217fi
ths8a16d272008-07-19 09:56:24 +00001218if test "$vde" = "yes" ; then
1219 echo "CONFIG_VDE=yes" >> $config_mak
1220 echo "#define CONFIG_VDE 1" >> $config_h
1221 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1222fi
malc0c58ac12008-06-25 21:04:05 +00001223for card in $audio_card_list; do
pbrookf6e58892008-06-29 01:00:34 +00001224 def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
malc0c58ac12008-06-25 21:04:05 +00001225 echo "$def=yes" >> $config_mak
1226 echo "#define $def 1" >> $config_h
1227done
1228echo "#define AUDIO_DRIVERS \\" >> $config_h
1229for drv in $audio_drv_list; do
1230 echo " &${drv}_audio_driver, \\" >>$config_h
pbrookf6e58892008-06-29 01:00:34 +00001231 def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
malc0c58ac12008-06-25 21:04:05 +00001232 echo "$def=yes" >> $config_mak
malc923e4522008-07-02 18:13:46 +00001233 if test "$drv" = "fmod"; then
malc0c58ac12008-06-25 21:04:05 +00001234 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1235 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
blueswir12f6a1ab2008-08-21 18:00:53 +00001236 elif test "$drv" = "oss"; then
1237 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
malc0c58ac12008-06-25 21:04:05 +00001238 fi
1239done
1240echo "" >>$config_h
malc8ff9cbf2008-06-23 18:33:30 +00001241if test "$mixemu" = "yes" ; then
1242 echo "CONFIG_MIXEMU=yes" >> $config_mak
1243 echo "#define CONFIG_MIXEMU 1" >> $config_h
1244fi
ths8d5d2d42007-08-25 01:37:51 +00001245if test "$vnc_tls" = "yes" ; then
1246 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1247 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1248 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1249 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1250fi
pbrookb1a550a2006-04-16 13:28:56 +00001251qemu_version=`head $source_path/VERSION`
1252echo "VERSION=$qemu_version" >>$config_mak
pbrookd4b8f032006-04-16 13:49:23 +00001253echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
bellard97a847b2003-08-10 21:36:04 +00001254
1255echo "SRC_PATH=$source_path" >> $config_mak
pbrookad064842006-04-16 12:41:07 +00001256if [ "$source_path_used" = "yes" ]; then
1257 echo "VPATH=$source_path" >> $config_mak
1258fi
bellard97a847b2003-08-10 21:36:04 +00001259echo "TARGET_DIRS=$target_list" >> $config_mak
pbrookcc8ae6d2006-04-23 17:57:59 +00001260if [ "$build_docs" = "yes" ] ; then
1261 echo "BUILD_DOCS=yes" >> $config_mak
1262fi
bellard49ecc3f2007-11-07 19:25:15 +00001263if test "$static" = "yes"; then
1264 sdl1=$sdl_static
1265else
1266 sdl1=$sdl
1267fi
1268if test "$sdl1" = "yes" ; then
1269 echo "#define CONFIG_SDL 1" >> $config_h
1270 echo "CONFIG_SDL=yes" >> $config_mak
1271 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1272 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1273 else
1274 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1275 fi
1276 if [ "${aa}" = "yes" ] ; then
1277 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1278 else
1279 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1280 fi
1281fi
1282if test "$cocoa" = "yes" ; then
balrog4d3b6f62008-02-10 16:33:14 +00001283 echo "#define CONFIG_COCOA 1" >> $config_h
1284 echo "CONFIG_COCOA=yes" >> $config_mak
1285fi
1286if test "$curses" = "yes" ; then
1287 echo "#define CONFIG_CURSES 1" >> $config_h
1288 echo "CONFIG_CURSES=yes" >> $config_mak
1289 echo "CURSES_LIBS=-lcurses" >> $config_mak
bellard49ecc3f2007-11-07 19:25:15 +00001290fi
aurel322e4d9fb2008-04-08 06:01:02 +00001291if test "$brlapi" = "yes" ; then
1292 echo "CONFIG_BRLAPI=yes" >> $config_mak
1293 echo "#define CONFIG_BRLAPI 1" >> $config_h
1294 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1295fi
balrogfb599c92008-09-28 23:49:55 +00001296if test "$bluez" = "yes" ; then
1297 echo "CONFIG_BLUEZ=yes" >> $config_mak
1298 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1299 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1300 echo "#define CONFIG_BLUEZ 1" >> $config_h
1301fi
blueswir1414f0da2008-08-15 18:20:52 +00001302if test "$aio" = "yes" ; then
1303 echo "#define CONFIG_AIO 1" >> $config_h
aliguoria3392f92008-09-11 18:00:19 +00001304 echo "CONFIG_AIO=yes" >> $config_mak
blueswir1414f0da2008-08-15 18:20:52 +00001305fi
bellard97a847b2003-08-10 21:36:04 +00001306
bellard83fb7ad2004-07-05 21:25:26 +00001307# XXX: suppress that
bellard7d3505c2004-05-12 19:32:15 +00001308if [ "$bsd" = "yes" ] ; then
bellard43003042004-05-20 13:23:39 +00001309 echo "#define O_LARGEFILE 0" >> $config_h
bellard43003042004-05-20 13:23:39 +00001310 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
bellard7d3505c2004-05-12 19:32:15 +00001311 echo "#define _BSD 1" >> $config_h
1312fi
1313
pbrookc5937222006-05-14 11:30:38 +00001314echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1315
pbrookc39e3332007-09-22 16:49:14 +00001316tools=
1317if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1318 tools="qemu-img\$(EXESUF) $tools"
bellard7a5ca862008-05-27 21:13:40 +00001319 if [ "$linux" = "yes" ] ; then
1320 tools="qemu-nbd\$(EXESUF) $tools"
1321 fi
pbrookc39e3332007-09-22 16:49:14 +00001322fi
1323echo "TOOLS=$tools" >> $config_mak
1324
ths15d9ca02007-07-31 23:07:32 +00001325test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1326
bellard1d14ffa2005-10-30 18:58:22 +00001327for target in $target_list; do
bellard97a847b2003-08-10 21:36:04 +00001328target_dir="$target"
1329config_mak=$target_dir/config.mak
1330config_h=$target_dir/config.h
1331target_cpu=`echo $target | cut -d '-' -f 1`
1332target_bigendian="no"
bellard808c4952004-12-19 23:33:47 +00001333[ "$target_cpu" = "armeb" ] && target_bigendian=yes
aurel320938cda2008-04-11 21:36:06 +00001334[ "$target_cpu" = "m68k" ] && target_bigendian=yes
1335[ "$target_cpu" = "mips" ] && target_bigendian=yes
1336[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1337[ "$target_cpu" = "mips64" ] && target_bigendian=yes
bellard67867302003-11-23 17:05:30 +00001338[ "$target_cpu" = "ppc" ] && target_bigendian=yes
j_mayerd4082e92007-04-24 07:34:03 +00001339[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
j_mayer22f8a8b2007-10-14 08:38:29 +00001340[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
j_mayere85e7c62007-10-18 19:59:49 +00001341[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
pbrook908f52b2006-06-18 19:16:53 +00001342[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
aurel320938cda2008-04-11 21:36:06 +00001343[ "$target_cpu" = "sparc" ] && target_bigendian=yes
1344[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1345[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
bellard97a847b2003-08-10 21:36:04 +00001346target_softmmu="no"
bellard997344f2003-10-27 21:10:39 +00001347target_user_only="no"
ths831b7822007-01-18 20:06:33 +00001348target_linux_user="no"
ths831b7822007-01-18 20:06:33 +00001349target_darwin_user="no"
blueswir184778502008-10-26 20:33:16 +00001350target_bsd_user="no"
pbrook9e407a82007-05-26 16:38:53 +00001351case "$target" in
1352 ${target_cpu}-softmmu)
1353 target_softmmu="yes"
1354 ;;
1355 ${target_cpu}-linux-user)
1356 target_user_only="yes"
1357 target_linux_user="yes"
1358 ;;
1359 ${target_cpu}-darwin-user)
1360 target_user_only="yes"
1361 target_darwin_user="yes"
1362 ;;
blueswir184778502008-10-26 20:33:16 +00001363 ${target_cpu}-bsd-user)
1364 target_user_only="yes"
1365 target_bsd_user="yes"
1366 ;;
pbrook9e407a82007-05-26 16:38:53 +00001367 *)
1368 echo "ERROR: Target '$target' not recognised"
1369 exit 1
1370 ;;
1371esac
ths831b7822007-01-18 20:06:33 +00001372
bellard97ccc682005-07-02 13:32:17 +00001373if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
bellard1d14ffa2005-10-30 18:58:22 +00001374 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
bellard97ccc682005-07-02 13:32:17 +00001375 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
pbrook9c038502006-04-16 15:19:15 +00001376 echo "To build QEMU without graphical output configure with --disable-gfx-check"
balrog4d3b6f62008-02-10 16:33:14 +00001377 echo "Note that this will disable all output from the virtual graphics card"
1378 echo "except through VNC or curses."
bellard97ccc682005-07-02 13:32:17 +00001379 exit 1;
1380fi
1381
bellard7c1f25b2004-04-22 00:02:08 +00001382#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
bellard97a847b2003-08-10 21:36:04 +00001383
ths15d9ca02007-07-31 23:07:32 +00001384test -f $config_h && mv $config_h ${config_h}~
1385
bellard97a847b2003-08-10 21:36:04 +00001386mkdir -p $target_dir
bellard158142c2005-03-13 16:54:06 +00001387mkdir -p $target_dir/fpu
bellard57fec1f2008-02-01 10:50:11 +00001388mkdir -p $target_dir/tcg
blueswir184778502008-10-26 20:33:16 +00001389if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" -o "$target" = "arm-bsd-user" -o "$target" = "armeb-bsd-user" ; then
bellard69de9272004-02-16 21:40:43 +00001390 mkdir -p $target_dir/nwfpe
1391fi
1392
bellardec530c82006-04-25 22:36:06 +00001393#
1394# don't use ln -sf as not all "ln -sf" over write the file/link
1395#
1396rm -f $target_dir/Makefile
1397ln -s $source_path/Makefile.target $target_dir/Makefile
1398
bellard97a847b2003-08-10 21:36:04 +00001399
1400echo "# Automatically generated by configure - do not modify" > $config_mak
1401echo "/* Automatically generated by configure - do not modify */" > $config_h
1402
1403
1404echo "include ../config-host.mak" >> $config_mak
1405echo "#include \"../config-host.h\"" >> $config_h
bellard1e43adf2003-09-30 20:54:24 +00001406
pbrooke5fe0c52006-06-11 13:32:59 +00001407bflt="no"
blueswir1cb33da52007-10-09 16:34:29 +00001408elfload32="no"
pbrookbd0c5662008-05-29 14:34:11 +00001409target_nptl="no"
bellard1e43adf2003-09-30 20:54:24 +00001410interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1411echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
pbrook56aebc82008-10-11 17:55:29 +00001412gdb_xml_files=""
bellard97a847b2003-08-10 21:36:04 +00001413
aurel322408a522008-04-20 20:19:44 +00001414case "$target_cpu" in
1415 i386)
1416 echo "TARGET_ARCH=i386" >> $config_mak
1417 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1418 echo "#define TARGET_I386 1" >> $config_h
bellardda260242008-05-30 20:48:25 +00001419 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
aurel322408a522008-04-20 20:19:44 +00001420 then
1421 echo "#define USE_KQEMU 1" >> $config_h
1422 fi
aurel32f2bf0942008-05-05 06:00:27 +00001423 gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
pbrook11d1fdb2008-05-23 23:16:42 +00001424 if test -n "$gcc3minver" && test $gcc3minver -gt 3
aurel32f2bf0942008-05-05 06:00:27 +00001425 then
1426 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1427 else
1428 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1429 fi
aurel322408a522008-04-20 20:19:44 +00001430 ;;
1431 x86_64)
1432 echo "TARGET_ARCH=x86_64" >> $config_mak
1433 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1434 echo "#define TARGET_I386 1" >> $config_h
1435 echo "#define TARGET_X86_64 1" >> $config_h
1436 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1437 then
1438 echo "#define USE_KQEMU 1" >> $config_h
1439 fi
1440 ;;
1441 alpha)
1442 echo "TARGET_ARCH=alpha" >> $config_mak
1443 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1444 echo "#define TARGET_ALPHA 1" >> $config_h
1445 ;;
1446 arm|armeb)
1447 echo "TARGET_ARCH=arm" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001448 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1449 echo "#define TARGET_ARM 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001450 bflt="yes"
pbrookbd0c5662008-05-29 14:34:11 +00001451 target_nptl="yes"
pbrook56aebc82008-10-11 17:55:29 +00001452 gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
aurel322408a522008-04-20 20:19:44 +00001453 ;;
1454 cris)
1455 echo "TARGET_ARCH=cris" >> $config_mak
1456 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1457 echo "#define TARGET_CRIS 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001458 ;;
1459 m68k)
1460 echo "TARGET_ARCH=m68k" >> $config_mak
1461 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1462 echo "#define TARGET_M68K 1" >> $config_h
1463 bflt="yes"
pbrook56aebc82008-10-11 17:55:29 +00001464 gdb_xml_files="cf-core.xml cf-fp.xml"
aurel322408a522008-04-20 20:19:44 +00001465 ;;
1466 mips|mipsel)
1467 echo "TARGET_ARCH=mips" >> $config_mak
1468 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1469 echo "#define TARGET_MIPS 1" >> $config_h
1470 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1471 ;;
1472 mipsn32|mipsn32el)
1473 echo "TARGET_ARCH=mipsn32" >> $config_mak
1474 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1475 echo "#define TARGET_MIPS 1" >> $config_h
1476 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1477 ;;
1478 mips64|mips64el)
1479 echo "TARGET_ARCH=mips64" >> $config_mak
1480 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1481 echo "#define TARGET_MIPS 1" >> $config_h
1482 echo "#define TARGET_MIPS64 1" >> $config_h
1483 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1484 ;;
1485 ppc)
1486 echo "TARGET_ARCH=ppc" >> $config_mak
blueswir1bf6247f2008-05-10 12:27:33 +00001487 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001488 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1489 echo "#define TARGET_PPC 1" >> $config_h
blueswir1bf6247f2008-05-10 12:27:33 +00001490 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001491 ;;
1492 ppcemb)
1493 echo "TARGET_ARCH=ppcemb" >> $config_mak
1494 echo "TARGET_ABI_DIR=ppc" >> $config_mak
blueswir1bf6247f2008-05-10 12:27:33 +00001495 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001496 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1497 echo "#define TARGET_PPC 1" >> $config_h
1498 echo "#define TARGET_PPCEMB 1" >> $config_h
blueswir1ec5b78c2008-05-10 17:23:18 +00001499 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001500 ;;
1501 ppc64)
1502 echo "TARGET_ARCH=ppc64" >> $config_mak
1503 echo "TARGET_ABI_DIR=ppc" >> $config_mak
blueswir1bf6247f2008-05-10 12:27:33 +00001504 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001505 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1506 echo "#define TARGET_PPC 1" >> $config_h
1507 echo "#define TARGET_PPC64 1" >> $config_h
blueswir1bf6247f2008-05-10 12:27:33 +00001508 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001509 ;;
1510 ppc64abi32)
1511 echo "TARGET_ARCH=ppc64" >> $config_mak
1512 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1513 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
blueswir1bf6247f2008-05-10 12:27:33 +00001514 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
aurel322408a522008-04-20 20:19:44 +00001515 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1516 echo "#define TARGET_PPC 1" >> $config_h
1517 echo "#define TARGET_PPC64 1" >> $config_h
1518 echo "#define TARGET_ABI32 1" >> $config_h
blueswir1bf6247f2008-05-10 12:27:33 +00001519 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
aurel322408a522008-04-20 20:19:44 +00001520 ;;
1521 sh4|sh4eb)
1522 echo "TARGET_ARCH=sh4" >> $config_mak
1523 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1524 echo "#define TARGET_SH4 1" >> $config_h
1525 bflt="yes"
aurel320b6d3ae2008-09-15 07:43:43 +00001526 target_nptl="yes"
aurel322408a522008-04-20 20:19:44 +00001527 ;;
1528 sparc)
1529 echo "TARGET_ARCH=sparc" >> $config_mak
1530 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1531 echo "#define TARGET_SPARC 1" >> $config_h
1532 ;;
1533 sparc64)
1534 echo "TARGET_ARCH=sparc64" >> $config_mak
1535 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1536 echo "#define TARGET_SPARC 1" >> $config_h
1537 echo "#define TARGET_SPARC64 1" >> $config_h
1538 elfload32="yes"
1539 ;;
1540 sparc32plus)
1541 echo "TARGET_ARCH=sparc64" >> $config_mak
1542 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1543 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1544 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1545 echo "#define TARGET_SPARC 1" >> $config_h
1546 echo "#define TARGET_SPARC64 1" >> $config_h
1547 echo "#define TARGET_ABI32 1" >> $config_h
1548 ;;
1549 *)
1550 echo "Unsupported target CPU"
1551 exit 1
1552 ;;
1553esac
bellardde83cd02003-06-15 20:25:43 +00001554if test "$target_bigendian" = "yes" ; then
bellard97a847b2003-08-10 21:36:04 +00001555 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1556 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1557fi
1558if test "$target_softmmu" = "yes" ; then
1559 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1560 echo "#define CONFIG_SOFTMMU 1" >> $config_h
bellardde83cd02003-06-15 20:25:43 +00001561fi
bellard997344f2003-10-27 21:10:39 +00001562if test "$target_user_only" = "yes" ; then
1563 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1564 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1565fi
ths831b7822007-01-18 20:06:33 +00001566if test "$target_linux_user" = "yes" ; then
1567 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1568 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1569fi
1570if test "$target_darwin_user" = "yes" ; then
1571 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1572 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1573fi
pbrook56aebc82008-10-11 17:55:29 +00001574list=""
1575if test ! -z "$gdb_xml_files" ; then
1576 for x in $gdb_xml_files; do
1577 list="$list $source_path/gdb-xml/$x"
1578 done
1579fi
1580echo "TARGET_XML_FILES=$list" >> $config_mak
bellardde83cd02003-06-15 20:25:43 +00001581
aurel320938cda2008-04-11 21:36:06 +00001582if test "$target_cpu" = "arm" \
1583 -o "$target_cpu" = "armeb" \
1584 -o "$target_cpu" = "m68k" \
1585 -o "$target_cpu" = "mips" \
1586 -o "$target_cpu" = "mipsel" \
1587 -o "$target_cpu" = "mipsn32" \
1588 -o "$target_cpu" = "mipsn32el" \
1589 -o "$target_cpu" = "mips64" \
1590 -o "$target_cpu" = "mips64el" \
1591 -o "$target_cpu" = "sparc" \
1592 -o "$target_cpu" = "sparc64" \
1593 -o "$target_cpu" = "sparc32plus"; then
bellard158142c2005-03-13 16:54:06 +00001594 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1595 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1596fi
pbrooke5fe0c52006-06-11 13:32:59 +00001597if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1598 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1599 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1600fi
pbrookbd0c5662008-05-29 14:34:11 +00001601if test "$target_user_only" = "yes" \
1602 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1603 echo "#define USE_NPTL 1" >> $config_h
1604fi
blueswir1cb33da52007-10-09 16:34:29 +00001605# 32 bit ELF loader in addition to native 64 bit loader?
1606if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1607 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1608 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1609fi
blueswir184778502008-10-26 20:33:16 +00001610if test "$target_bsd_user" = "yes" ; then
1611 echo "CONFIG_BSD_USER=yes" >> $config_mak
1612 echo "#define CONFIG_BSD_USER 1" >> $config_h
1613fi
bellard5b0753e2005-03-01 21:37:28 +00001614
ths15d9ca02007-07-31 23:07:32 +00001615test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1616
bellard97a847b2003-08-10 21:36:04 +00001617done # for target in $targets
bellard7d132992003-03-06 23:23:54 +00001618
1619# build tree in object directory if source path is different from current one
1620if test "$source_path_used" = "yes" ; then
bellard49ecc3f2007-11-07 19:25:15 +00001621 DIRS="tests tests/cris slirp audio"
bellard7d132992003-03-06 23:23:54 +00001622 FILES="Makefile tests/Makefile"
thse7daa602007-10-08 13:38:27 +00001623 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
edgar_igle1ffb0f2008-03-01 22:23:17 +00001624 FILES="$FILES tests/test-mmap.c"
bellard7d132992003-03-06 23:23:54 +00001625 for dir in $DIRS ; do
1626 mkdir -p $dir
1627 done
bellardec530c82006-04-25 22:36:06 +00001628 # remove the link and recreate it, as not all "ln -sf" overwrite the link
bellard7d132992003-03-06 23:23:54 +00001629 for f in $FILES ; do
bellardec530c82006-04-25 22:36:06 +00001630 rm -f $f
1631 ln -s $source_path/$f $f
bellard7d132992003-03-06 23:23:54 +00001632 done
1633fi
bellard7d132992003-03-06 23:23:54 +00001634
malc9d56d2d2008-09-30 19:44:32 +00001635rm -f $TMPO $TMPC $TMPE $TMPS $TMPI