]> git.proxmox.com Git - qemu.git/blame - configure
Fix some debugging mistakes/leftovers
[qemu.git] / configure
CommitLineData
7d13299d
FB
1#!/bin/sh
2#
3ef693a0 3# qemu configure script (c) 2003 Fabrice Bellard
7d13299d
FB
4#
5# set temporary file name
6if test ! -z "$TMPDIR" ; then
7 TMPDIR1="${TMPDIR}"
8elif test ! -z "$TEMPDIR" ; then
9 TMPDIR1="${TEMPDIR}"
10else
11 TMPDIR1="/tmp"
12fi
13
3ef693a0
FB
14TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
9d56d2dc 18TMPI="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.i"
7d13299d
FB
19
20# default parameters
11d9f695 21prefix=""
1e43adfc 22interp_prefix="/usr/gnemul/qemu-%M"
43ce4dfe 23static="no"
7d13299d
FB
24cross_prefix=""
25cc="gcc"
328a4240 26gcc3_search="yes"
fe8f78e4 27gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
0c58ac1c 28audio_drv_list=""
29audio_card_list=""
7d13299d
FB
30host_cc="gcc"
31ar="ar"
32make="make"
6a882643 33install="install"
7d13299d
FB
34strip="strip"
35cpu=`uname -m`
5327cf48 36target_list=""
7d13299d
FB
37case "$cpu" in
38 i386|i486|i586|i686|i86pc|BePC)
97a847bc 39 cpu="i386"
7d13299d 40 ;;
aaa5fa14
AJ
41 x86_64|amd64)
42 cpu="x86_64"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
ba68055e 47 armv*b)
808c4954
FB
48 cpu="armv4b"
49 ;;
ba68055e 50 armv*l)
7d13299d
FB
51 cpu="armv4l"
52 ;;
aaa5fa14
AJ
53 cris)
54 cpu="cris"
7d13299d 55 ;;
f54b3f92
AJ
56 parisc|parisc64)
57 cpu="hppa"
58 ;;
aaa5fa14
AJ
59 ia64)
60 cpu="ia64"
61 ;;
62 m68k)
63 cpu="m68k"
7d13299d
FB
64 ;;
65 mips)
66 cpu="mips"
67 ;;
fbe4f65b
TS
68 mips64)
69 cpu="mips64"
70 ;;
aaa5fa14
AJ
71 "Power Macintosh"|ppc|ppc64)
72 cpu="powerpc"
e7daa605 73 ;;
0e7b8a9f 74 s390*)
fb3e5849
FB
75 cpu="s390"
76 ;;
3142255c 77 sparc|sun4[cdmuv])
ae228531
FB
78 cpu="sparc"
79 ;;
80 sparc64)
81 cpu="sparc64"
82 ;;
7d13299d
FB
83 *)
84 cpu="unknown"
85 ;;
86esac
87gprof="no"
03b4fe7d 88sparse="no"
7d13299d 89bigendian="no"
67b915a5
FB
90mingw32="no"
91EXESUF=""
92gdbstub="yes"
443f1376 93slirp="yes"
e0e6c8c0 94vde="yes"
102a52e4
FB
95fmod_lib=""
96fmod_inc=""
2f6a1ab0 97oss_lib=""
8d5d2d4c 98vnc_tls="yes"
b1a550a0 99bsd="no"
5327cf48 100linux="no"
c9ec1fe4 101kqemu="no"
05c2a3e7 102profiler="no"
5b0753e0 103cocoa="no"
97ccc689 104check_gfx="yes"
1aff381f 105check_gcc="yes"
0a8e90f4 106softmmu="yes"
831b7825
TS
107linux_user="no"
108darwin_user="no"
cc8ae6de 109build_docs="no"
c5937220 110uname_release=""
4d3b6f6e 111curses="yes"
414f0dab 112aio="yes"
bd0c5661 113nptl="yes"
8ff9cbf7 114mixemu="no"
fb599c9a 115bluez="yes"
7d13299d
FB
116
117# OS specific
118targetos=`uname -s`
119case $targetos in
c326e0af
FB
120CYGWIN*)
121mingw32="yes"
6f30fa85 122OS_CFLAGS="-mno-cygwin"
db8d7dd1
TS
123if [ "$cpu" = "i386" ] ; then
124 kqemu="yes"
125fi
c2de5c91 126audio_possible_drivers="sdl"
c326e0af 127;;
67b915a5
FB
128MINGW32*)
129mingw32="yes"
db8d7dd1
TS
130if [ "$cpu" = "i386" ] ; then
131 kqemu="yes"
132fi
c2de5c91 133audio_possible_drivers="dsound sdl fmod"
67b915a5 134;;
5c40d2bd 135GNU/kFreeBSD)
0c58ac1c 136audio_drv_list="oss"
f34af52c 137audio_possible_drivers="oss sdl esd pa"
5c40d2bd
TS
138if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
139 kqemu="yes"
140fi
141;;
7d3505c5
FB
142FreeBSD)
143bsd="yes"
0c58ac1c 144audio_drv_list="oss"
f34af52c 145audio_possible_drivers="oss sdl esd pa"
e99f9060 146if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
07f4ddbf
FB
147 kqemu="yes"
148fi
7d3505c5
FB
149;;
150NetBSD)
151bsd="yes"
0c58ac1c 152audio_drv_list="oss"
c2de5c91 153audio_possible_drivers="oss sdl esd"
7d3505c5
FB
154;;
155OpenBSD)
156bsd="yes"
128ab2ff 157openbsd="yes"
0c58ac1c 158audio_drv_list="oss"
c2de5c91 159audio_possible_drivers="oss sdl esd"
2f6a1ab0 160oss_lib="-lossaudio"
7d3505c5 161;;
83fb7adf
FB
162Darwin)
163bsd="yes"
164darwin="yes"
831b7825 165darwin_user="yes"
fd677642 166cocoa="yes"
0c58ac1c 167audio_drv_list="coreaudio"
c2de5c91 168audio_possible_drivers="coreaudio sdl fmod"
6f30fa85 169OS_CFLAGS="-mdynamic-no-pic"
c2c59c3e 170OS_LDFLAGS="-framework CoreFoundation -framework IOKit"
83fb7adf 171;;
ec530c81 172SunOS)
c2b84fab
TS
173 solaris="yes"
174 make="gmake"
175 install="ginstall"
0475a5ca 176 needs_libsunmath="no"
c2b84fab 177 solarisrev=`uname -r | cut -f2 -d.`
ef18c883
TS
178 # have to select again, because `uname -m` returns i86pc
179 # even on an x86_64 box.
180 solariscpu=`isainfo -k`
181 if test "${solariscpu}" = "amd64" ; then
182 cpu="x86_64"
183 fi
c2b84fab 184 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
0475a5ca
TS
185 if test "$solarisrev" -le 9 ; then
186 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
187 needs_libsunmath="yes"
188 else
189 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
190 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
191 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
192 echo "Studio 11 can be downloaded from www.sun.com."
193 exit 1
194 fi
195 fi
196 if test "$solarisrev" -ge 9 ; then
c2b84fab
TS
197 kqemu="yes"
198 fi
86b2bd93 199 fi
6b4d2ba1 200 if test -f /usr/include/sys/soundcard.h ; then
0c58ac1c 201 audio_drv_list="oss"
6b4d2ba1 202 fi
c2de5c91 203 audio_possible_drivers="oss sdl"
86b2bd93 204;;
1d14ffa9 205*)
0c58ac1c 206audio_drv_list="oss"
b8e59f18 207audio_possible_drivers="oss alsa sdl esd pa"
5327cf48 208linux="yes"
831b7825 209linux_user="yes"
07f4ddbf 210if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
c9ec1fe4 211 kqemu="yes"
c2de5c91 212 audio_possible_drivers="$audio_possible_drivers fmod"
c9ec1fe4 213fi
fb065187 214;;
7d13299d
FB
215esac
216
7d3505c5 217if [ "$bsd" = "yes" ] ; then
b1a550a0 218 if [ "$darwin" != "yes" ] ; then
83fb7adf
FB
219 make="gmake"
220 fi
7d3505c5
FB
221fi
222
7d13299d 223# find source path
ad064840 224source_path=`dirname "$0"`
59faef3a
AZ
225source_path_used="no"
226workdir=`pwd`
ad064840 227if [ -z "$source_path" ]; then
59faef3a 228 source_path=$workdir
ad064840
PB
229else
230 source_path=`cd "$source_path"; pwd`
7d13299d 231fi
724db118 232[ -f "$workdir/vl.c" ] || source_path_used="yes"
7d13299d 233
85aa5189 234werror="no"
0d1e2394
FB
235# generate compile errors on warnings for development builds
236#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
237#werror="yes";
238#fi
85aa5189 239
7d13299d 240for opt do
a46e4035 241 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
7d13299d 242 case "$opt" in
2efc3265
FB
243 --help|-h) show_help=yes
244 ;;
b1a550a0 245 --prefix=*) prefix="$optarg"
7d13299d 246 ;;
b1a550a0 247 --interp-prefix=*) interp_prefix="$optarg"
32ce6337 248 ;;
b1a550a0 249 --source-path=*) source_path="$optarg"
ad064840 250 source_path_used="yes"
7d13299d 251 ;;
b1a550a0 252 --cross-prefix=*) cross_prefix="$optarg"
7d13299d 253 ;;
b1a550a0 254 --cc=*) cc="$optarg"
328a4240 255 gcc3_search="no"
7d13299d 256 ;;
b1a550a0 257 --host-cc=*) host_cc="$optarg"
83469015 258 ;;
b1a550a0 259 --make=*) make="$optarg"
7d13299d 260 ;;
6a882643
PB
261 --install=*) install="$optarg"
262 ;;
b1a550a0 263 --extra-cflags=*) CFLAGS="$optarg"
7d13299d 264 ;;
b1a550a0 265 --extra-ldflags=*) LDFLAGS="$optarg"
7d13299d 266 ;;
b1a550a0 267 --cpu=*) cpu="$optarg"
7d13299d 268 ;;
b1a550a0 269 --target-list=*) target_list="$optarg"
de83cd02 270 ;;
7d13299d
FB
271 --enable-gprof) gprof="yes"
272 ;;
43ce4dfe
FB
273 --static) static="yes"
274 ;;
97a847bc
FB
275 --disable-sdl) sdl="no"
276 ;;
0c58ac1c 277 --fmod-lib=*) fmod_lib="$optarg"
1d14ffa9 278 ;;
c2de5c91 279 --fmod-inc=*) fmod_inc="$optarg"
280 ;;
2f6a1ab0
BS
281 --oss-lib=*) oss_lib="$optarg"
282 ;;
2fa7d3bf 283 --audio-card-list=*) audio_card_list=`echo "$optarg" | sed -e 's/,/ /g'`
102a52e4 284 ;;
0c58ac1c 285 --audio-drv-list=*) audio_drv_list="$optarg"
102a52e4 286 ;;
03b4fe7d
AL
287 --enable-sparse) sparse="yes"
288 ;;
289 --disable-sparse) sparse="no"
290 ;;
8d5d2d4c
TS
291 --disable-vnc-tls) vnc_tls="no"
292 ;;
443f1376 293 --disable-slirp) slirp="no"
1d14ffa9 294 ;;
e0e6c8c0 295 --disable-vde) vde="no"
8a16d273 296 ;;
c9ec1fe4 297 --disable-kqemu) kqemu="no"
1d14ffa9 298 ;;
2e4d9fb1
AJ
299 --disable-brlapi) brlapi="no"
300 ;;
fb599c9a
AZ
301 --disable-bluez) bluez="no"
302 ;;
05c2a3e7
FB
303 --enable-profiler) profiler="yes"
304 ;;
c2de5c91 305 --enable-cocoa)
306 cocoa="yes" ;
307 sdl="no" ;
308 audio_drv_list="coreaudio `echo $audio_drv_list | sed s,coreaudio,,g`"
1d14ffa9 309 ;;
97ccc689
FB
310 --disable-gfx-check) check_gfx="no"
311 ;;
1aff381f
FB
312 --disable-gcc-check) check_gcc="no"
313 ;;
cad25d69 314 --disable-system) softmmu="no"
0a8e90f4 315 ;;
cad25d69 316 --enable-system) softmmu="yes"
0a8e90f4 317 ;;
831b7825 318 --disable-linux-user) linux_user="no"
0a8e90f4 319 ;;
831b7825
TS
320 --enable-linux-user) linux_user="yes"
321 ;;
322 --disable-darwin-user) darwin_user="no"
323 ;;
324 --enable-darwin-user) darwin_user="yes"
0a8e90f4 325 ;;
c5937220
PB
326 --enable-uname-release=*) uname_release="$optarg"
327 ;;
3142255c
BS
328 --sparc_cpu=*)
329 sparc_cpu="$optarg"
330 case $sparc_cpu in
331 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
332 target_cpu="sparc"; cpu="sparc" ;;
333 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
334 target_cpu="sparc"; cpu="sparc" ;;
335 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
336 target_cpu="sparc64"; cpu="sparc64" ;;
337 *) echo "undefined SPARC architecture. Exiting";exit 1;;
338 esac
339 ;;
85aa5189
FB
340 --enable-werror) werror="yes"
341 ;;
342 --disable-werror) werror="no"
343 ;;
4d3b6f6e
AZ
344 --disable-curses) curses="no"
345 ;;
bd0c5661
PB
346 --disable-nptl) nptl="no"
347 ;;
8ff9cbf7 348 --enable-mixemu) mixemu="yes"
349 ;;
414f0dab
BS
350 --disable-aio) aio="no"
351 ;;
7f1559c6
AZ
352 *) echo "ERROR: unknown option $opt"; show_help="yes"
353 ;;
7d13299d
FB
354 esac
355done
356
6f30fa85 357# default flags for all hosts
ac41a620
BS
358CFLAGS="$CFLAGS -O2 -g -fno-strict-aliasing"
359CFLAGS="$CFLAGS -Wall -Wundef -Wendif-labels -Wwrite-strings"
6f30fa85 360LDFLAGS="$LDFLAGS -g"
85aa5189
FB
361if test "$werror" = "yes" ; then
362CFLAGS="$CFLAGS -Werror"
363fi
6f30fa85 364
49237acd
BS
365if ld --version 2>/dev/null | grep -q "GNU ld" ; then
366 LDFLAGS="$LDFLAGS -Wl,--warn-common"
367fi
368
3142255c
BS
369#
370# If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
371# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
372#
40293e58 373case "$cpu" in
3142255c
BS
374 sparc) if test -z "$sparc_cpu" ; then
375 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
376 ARCH_LDFLAGS="-m32"
377 else
378 ARCH_CFLAGS="${SP_CFLAGS}"
379 ARCH_LDFLAGS="${SP_LDFLAGS}"
380 fi
381 ;;
382 sparc64) if test -z "$sparc_cpu" ; then
383 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
384 ARCH_LDFLAGS="-m64"
385 else
386 ARCH_CFLAGS="${SP_CFLAGS}"
387 ARCH_LDFLAGS="${SP_LDFLAGS}"
388 fi
389 ;;
76d83bde
TS
390 s390)
391 ARCH_CFLAGS="-march=z900"
392 ;;
40293e58
FB
393 i386)
394 ARCH_CFLAGS="-m32"
395 ARCH_LDFLAGS="-m32"
396 ;;
397 x86_64)
398 ARCH_CFLAGS="-m64"
399 ARCH_LDFLAGS="-m64"
400 ;;
3142255c
BS
401esac
402
af5db58e
PB
403if test x"$show_help" = x"yes" ; then
404cat << EOF
405
406Usage: configure [options]
407Options: [defaults in brackets after descriptions]
408
409EOF
410echo "Standard options:"
411echo " --help print this message"
412echo " --prefix=PREFIX install in PREFIX [$prefix]"
413echo " --interp-prefix=PREFIX where to find shared libraries, etc."
414echo " use %M for cpu name [$interp_prefix]"
415echo " --target-list=LIST set target list [$target_list]"
416echo ""
417echo "kqemu kernel acceleration support:"
418echo " --disable-kqemu disable kqemu support"
af5db58e
PB
419echo ""
420echo "Advanced options (experts only):"
421echo " --source-path=PATH path of source code [$source_path]"
422echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
423echo " --cc=CC use C compiler CC [$cc]"
424echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
425echo " --make=MAKE use specified make [$make]"
6a882643 426echo " --install=INSTALL use specified install [$install]"
af5db58e 427echo " --static enable static build [$static]"
890b1658
AL
428echo " --enable-sparse enable sparse checker"
429echo " --disable-sparse disable sparse checker (default)"
85aa5189 430echo " --disable-werror disable compilation abort on warning"
fe8f78e4 431echo " --disable-sdl disable SDL"
af5db58e 432echo " --enable-cocoa enable COCOA (Mac OS X only)"
c2de5c91 433echo " --audio-drv-list=LIST set audio drivers list:"
434echo " Available drivers: $audio_possible_drivers"
435echo " --audio-card-list=LIST set list of additional emulated audio cards"
436echo " Available cards: ac97 adlib cs4231a gus"
8ff9cbf7 437echo " --enable-mixemu enable mixer emulation"
2e4d9fb1 438echo " --disable-brlapi disable BrlAPI"
8d5d2d4c 439echo " --disable-vnc-tls disable TLS encryption for VNC server"
af896aaa 440echo " --disable-curses disable curses output"
fb599c9a 441echo " --disable-bluez disable bluez stack connectivity"
bd0c5661 442echo " --disable-nptl disable usermode NPTL support"
af5db58e
PB
443echo " --enable-system enable all system emulation targets"
444echo " --disable-system disable all system emulation targets"
831b7825
TS
445echo " --enable-linux-user enable all linux usermode emulation targets"
446echo " --disable-linux-user disable all linux usermode emulation targets"
447echo " --enable-darwin-user enable all darwin usermode emulation targets"
448echo " --disable-darwin-user disable all darwin usermode emulation targets"
af5db58e
PB
449echo " --fmod-lib path to FMOD library"
450echo " --fmod-inc path to FMOD includes"
2f6a1ab0 451echo " --oss-lib path to OSS library"
c5937220 452echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
3142255c 453echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
e0e6c8c0 454echo " --disable-vde disable support for vde network"
414f0dab 455echo " --disable-aio disable AIO support"
af5db58e 456echo ""
5bf08934 457echo "NOTE: The object files are built at the place where configure is launched"
af5db58e
PB
458exit 1
459fi
460
7d13299d
FB
461cc="${cross_prefix}${cc}"
462ar="${cross_prefix}${ar}"
463strip="${cross_prefix}${strip}"
464
064aae13
PB
465# check that the C compiler works.
466cat > $TMPC <<EOF
467int main(void) {}
468EOF
469
db7287ed 470if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
064aae13
PB
471 : C compiler works ok
472else
473 echo "ERROR: \"$cc\" either does not exist or does not work"
474 exit 1
a7350fa1
FB
475fi
476
cd01b4a3
AL
477# check compiler to see if we're on mingw32
478cat > $TMPC <<EOF
479#include <windows.h>
480#ifndef _WIN32
481#error not windows
482#endif
483int main(void) {}
484EOF
485
486if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
487 mingw32="yes"
488fi
489
67b915a5 490if test "$mingw32" = "yes" ; then
5327cf48 491 linux="no"
67b915a5 492 EXESUF=".exe"
9f059eca 493 oss="no"
cd01b4a3
AL
494 linux_user="no"
495fi
496
997306fc 497if [ "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
cd01b4a3 498 AIOLIBS=
997306fc
AL
499elif [ "$bsd" = "yes" ]; then
500 AIOLIBS="-lpthread"
cd01b4a3
AL
501else
502 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
503 AIOLIBS="-lrt -lpthread"
67b915a5
FB
504fi
505
5fafdf24 506# Check for gcc4, error if pre-gcc4
328a4240
PB
507if test "$check_gcc" = "yes" ; then
508 cat > $TMPC <<EOF
509#if __GNUC__ < 4
510#error gcc3
511#endif
512int main(){return 0;}
513EOF
db7287ed 514 if "$cc" $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
328a4240
PB
515 echo "WARNING: \"$cc\" looks like gcc 4.x"
516 found_compat_cc="no"
517 if test "$gcc3_search" = "yes" ; then
518 echo "Looking for gcc 3.x"
519 for compat_cc in $gcc3_list ; do
d4af3de2 520 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
328a4240 521 echo "Found \"$compat_cc\""
1124426a 522 cc="$cross_prefix$compat_cc"
328a4240
PB
523 found_compat_cc="yes"
524 break
525 fi
526 done
527 if test "$found_compat_cc" = "no" ; then
528 echo "gcc 3.x not found!"
529 fi
530 fi
531 if test "$found_compat_cc" = "no" ; then
532 echo "QEMU is known to have problems when compiled with gcc 4.x"
533 echo "It is recommended that you use gcc 3.x to build QEMU"
534 echo "To use this compiler anyway, configure with --disable-gcc-check"
535 exit 1;
536 fi
537 fi
538fi
539
03b4fe7d
AL
540if test ! -x "$(which cgcc 2>/dev/null)"; then
541 sparse="no"
542fi
543
ec530c81
FB
544#
545# Solaris specific configure tool chain decisions
546#
547if test "$solaris" = "yes" ; then
548 #
549 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
550 # override the check with --disable-gcc-check
5fafdf24 551 #
ec530c81
FB
552 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
553 solgcc=`which $cc`
554 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
555 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
556 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
557 echo "or get the latest patch from SunSolve for gcc"
558 exit 1
559 fi
560 fi
561 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
562 if test -z "$solinst" ; then
563 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
564 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
565 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
566 exit 1
567 fi
568 if test "$solinst" = "/usr/sbin/install" ; then
569 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
570 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
571 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
572 exit 1
573 fi
ec530c81
FB
574 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
575 if test -z "$sol_ar" ; then
576 echo "Error: No path includes ar"
577 if test -f /usr/ccs/bin/ar ; then
578 echo "Add /usr/ccs/bin to your path and rerun configure"
579 fi
580 exit 1
581 fi
5fafdf24 582fi
ec530c81
FB
583
584
5327cf48
FB
585if test -z "$target_list" ; then
586# these targets are portable
0a8e90f4 587 if [ "$softmmu" = "yes" ] ; then
2408a527
AJ
588 target_list="\
589i386-softmmu \
590x86_64-softmmu \
591arm-softmmu \
592cris-softmmu \
593m68k-softmmu \
594mips-softmmu \
595mipsel-softmmu \
596mips64-softmmu \
597mips64el-softmmu \
598ppc-softmmu \
599ppcemb-softmmu \
600ppc64-softmmu \
601sh4-softmmu \
602sh4eb-softmmu \
603sparc-softmmu \
604"
0a8e90f4 605 fi
5327cf48 606# the following are Linux specific
831b7825 607 if [ "$linux_user" = "yes" ] ; then
2408a527
AJ
608 target_list="${target_list}\
609i386-linux-user \
610x86_64-linux-user \
611alpha-linux-user \
612arm-linux-user \
613armeb-linux-user \
614cris-linux-user \
615m68k-linux-user \
616mips-linux-user \
617mipsel-linux-user \
618ppc-linux-user \
619ppc64-linux-user \
620ppc64abi32-linux-user \
621sh4-linux-user \
622sh4eb-linux-user \
623sparc-linux-user \
624sparc64-linux-user \
625sparc32plus-linux-user \
626"
831b7825
TS
627 fi
628# the following are Darwin specific
629 if [ "$darwin_user" = "yes" ] ; then
2408a527 630 target_list="$target_list i386-darwin-user ppc-darwin-user"
5327cf48 631 fi
6e20a45f 632else
b1a550a0 633 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
5327cf48 634fi
0a8e90f4
PB
635if test -z "$target_list" ; then
636 echo "No targets enabled"
637 exit 1
638fi
5327cf48 639
7d13299d
FB
640if test -z "$cross_prefix" ; then
641
642# ---
643# big/little endian test
644cat > $TMPC << EOF
645#include <inttypes.h>
646int main(int argc, char ** argv){
1d14ffa9
FB
647 volatile uint32_t i=0x01234567;
648 return (*((uint8_t*)(&i))) == 0x67;
7d13299d
FB
649}
650EOF
651
db7287ed 652if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
7d13299d
FB
653$TMPE && bigendian="yes"
654else
655echo big/little test failed
656fi
657
658else
659
660# if cross compiling, cannot launch a program, so make a static guess
0938cda5 661if test "$cpu" = "armv4b" \
f54b3f92 662 -o "$cpu" = "hppa" \
0938cda5
AJ
663 -o "$cpu" = "m68k" \
664 -o "$cpu" = "mips" \
665 -o "$cpu" = "mips64" \
666 -o "$cpu" = "powerpc" \
667 -o "$cpu" = "s390" \
668 -o "$cpu" = "sparc" \
669 -o "$cpu" = "sparc64"; then
7d13299d
FB
670 bigendian="yes"
671fi
672
673fi
674
b6853697
FB
675# host long bits test
676hostlongbits="32"
0938cda5
AJ
677if test "$cpu" = "x86_64" \
678 -o "$cpu" = "alpha" \
679 -o "$cpu" = "ia64" \
680 -o "$cpu" = "sparc64"; then
b6853697
FB
681 hostlongbits="64"
682fi
683
810260a8 684# ppc specific hostlongbits selection
685if test "$cpu" = "powerpc" ; then
9d56d2dc 686 if $cc $ARCH_CFLAGS -dM -E - -o $TMPI 2>/dev/null </dev/null; then
687 grep -q __powerpc64__ $TMPI && hostlongbits=64
810260a8 688 else
689 echo hostlongbits test failed
ba69a08a 690 exit 1
810260a8 691 fi
692fi
693
e8cd23de 694# check gcc options support
04369ff2
FB
695cat > $TMPC <<EOF
696int main(void) {
04369ff2
FB
697}
698EOF
699
bd0c5661
PB
700# Check host NPTL support
701cat > $TMPC <<EOF
702#include <sched.h>
30813cea 703#include <linux/futex.h>
bd0c5661
PB
704void foo()
705{
706#if !defined(CLONE_SETTLS) || !defined(FUTEX_WAIT)
707#error bork
708#endif
709}
710EOF
711
712if $cc $ARCH_CFLAGS -c -o $TMPO $TMPC 2> /dev/null ; then
713 :
714else
715 nptl="no"
716fi
717
ac62922e
AZ
718##########################################
719# zlib check
720
721cat > $TMPC << EOF
722#include <zlib.h>
723int main(void) { zlibVersion(); return 0; }
724EOF
17e1592d 725if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lz 2> /dev/null ; then
ac62922e
AZ
726 :
727else
728 echo
729 echo "Error: zlib check failed"
730 echo "Make sure to have the zlib libs and headers installed."
731 echo
732 exit 1
733fi
734
11d9f695
FB
735##########################################
736# SDL probe
737
738sdl_too_old=no
739
740if test -z "$sdl" ; then
069b0bda
TS
741 sdl_config="sdl-config"
742 sdl=no
743 sdl_static=no
744
11d9f695
FB
745cat > $TMPC << EOF
746#include <SDL.h>
747#undef main /* We don't want SDL to override our main() */
748int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
749EOF
cd01b4a3
AL
750 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
751 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
752 if test "$_sdlversion" -lt 121 ; then
753 sdl_too_old=yes
754 else
755 if test "$cocoa" = "no" ; then
756 sdl=yes
069b0bda 757 fi
cd01b4a3 758 fi
11d9f695 759
cd01b4a3
AL
760 # static link with sdl ?
761 if test "$sdl" = "yes" ; then
762 aa="no"
763 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
764 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
765 if [ "$aa" = "yes" ] ; then
766 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
767 fi
768
769 if $cc -o $TMPE ${OS_CFLAGS} `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
770 sdl_static=yes
771 fi
772 fi # static link
773 fi # sdl compile test
fd677642 774else
069b0bda
TS
775 # Make sure to disable cocoa if sdl was set
776 if test "$sdl" = "yes" ; then
777 cocoa="no"
c2de5c91 778 audio_drv_list="`echo $audio_drv_list | sed s,coreaudio,,g`"
069b0bda 779 fi
a6e022ad 780fi # -z $sdl
11d9f695 781
8d5d2d4c
TS
782##########################################
783# VNC TLS detection
784if test "$vnc_tls" = "yes" ; then
ae6b5e5a
AL
785cat > $TMPC <<EOF
786#include <gnutls/gnutls.h>
787int main(void) { gnutls_session_t s; gnutls_init(&s, GNUTLS_SERVER); return 0; }
788EOF
789 vnc_tls_cflags=`pkg-config --cflags gnutls 2> /dev/null`
790 vnc_tls_libs=`pkg-config --libs gnutls 2> /dev/null`
791 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $vnc_tls_cflags $TMPC \
792 $vnc_tls_libs 2> /dev/null ; then
793 :
794 else
795 vnc_tls="no"
796 fi
8d5d2d4c
TS
797fi
798
8a16d273
TS
799##########################################
800# vde libraries probe
801if test "$vde" = "yes" ; then
802 cat > $TMPC << EOF
803#include <libvdeplug.h>
4a7f0e06
PB
804int main(void)
805{
806 struct vde_open_args a = {0, 0, 0};
807 vde_open("", "", &a);
808 return 0;
809}
8a16d273 810EOF
4a7f0e06 811 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lvdeplug 2> /dev/null ; then
8a16d273
TS
812 :
813 else
e0e6c8c0 814 vde="no"
8a16d273
TS
815 fi
816fi
817
8f28f3fb 818##########################################
c2de5c91 819# Sound support libraries probe
8f28f3fb 820
c2de5c91 821audio_drv_probe()
822{
823 drv=$1
824 hdr=$2
825 lib=$3
826 exp=$4
827 cfl=$5
828 cat > $TMPC << EOF
829#include <$hdr>
830int main(void) { $exp }
8f28f3fb 831EOF
c2de5c91 832 if $cc $ARCH_CFLAGS $cfl -o $TMPE $TMPC $lib 2> /dev/null ; then
833 :
834 else
835 echo
836 echo "Error: $drv check failed"
837 echo "Make sure to have the $drv libs and headers installed."
838 echo
839 exit 1
840 fi
841}
842
2fa7d3bf 843audio_drv_list=`echo "$audio_drv_list" | sed -e 's/,/ /g'`
c2de5c91 844for drv in $audio_drv_list; do
845 case $drv in
846 alsa)
847 audio_drv_probe $drv alsa/asoundlib.h -lasound \
848 "snd_pcm_t **handle; return snd_pcm_close(*handle);"
849 ;;
850
851 fmod)
852 if test -z $fmod_lib || test -z $fmod_inc; then
853 echo
854 echo "Error: You must specify path to FMOD library and headers"
855 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
856 echo
857 exit 1
858 fi
859 audio_drv_probe $drv fmod.h $fmod_lib "return FSOUND_GetVersion();" "-I $fmod_inc"
860 ;;
861
862 esd)
863 audio_drv_probe $drv esd.h -lesd 'return esd_play_stream(0, 0, "", 0);'
864 ;;
b8e59f18 865
866 pa)
867 audio_drv_probe $drv pulse/simple.h -lpulse-simple \
868 "pa_simple *s = NULL; pa_simple_free(s); return 0;"
869 ;;
870
2f6a1ab0
BS
871 oss|sdl|core|wav|dsound)
872 # XXX: Probes for CoreAudio, DirectSound, SDL(?)
873 ;;
874
e4c63a6a 875 *)
1c9b2a52 876 echo "$audio_possible_drivers" | grep -q "\<$drv\>" || {
e4c63a6a 877 echo
878 echo "Error: Unknown driver '$drv' selected"
879 echo "Possible drivers are: $audio_possible_drivers"
880 echo
881 exit 1
882 }
883 ;;
c2de5c91 884 esac
885done
8f28f3fb 886
2e4d9fb1
AJ
887##########################################
888# BrlAPI probe
889
890if test -z "$brlapi" ; then
891 brlapi=no
892cat > $TMPC << EOF
893#include <brlapi.h>
894int main( void ) { return brlapi__openConnection (NULL, NULL, NULL); }
895EOF
a40e56d5 896 if $cc ${ARCH_CFLAGS} -o $TMPE ${OS_CFLAGS} $TMPC -lbrlapi 2> /dev/null ; then
2e4d9fb1
AJ
897 brlapi=yes
898 fi # brlapi compile test
899fi # -z $brlapi
900
4d3b6f6e
AZ
901##########################################
902# curses probe
903
904if test "$curses" = "yes" ; then
905 curses=no
906 cat > $TMPC << EOF
907#include <curses.h>
908int main(void) { return curses_version(); }
909EOF
af896aaa 910 if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
4d3b6f6e
AZ
911 curses=yes
912 fi
913fi # test "$curses"
914
fb599c9a
AZ
915##########################################
916# bluez support probe
917if test "$bluez" = "yes" ; then
918 `pkg-config bluez` || bluez="no"
919fi
920if test "$bluez" = "yes" ; then
e820e3f4
AZ
921 cat > $TMPC << EOF
922#include <bluetooth/bluetooth.h>
923int main(void) { return bt_error(0); }
924EOF
fb599c9a
AZ
925 bluez_cflags=`pkg-config --cflags bluez`
926 bluez_libs=`pkg-config --libs bluez`
17e1592d 927 if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $bluez_cflags $TMPC \
e820e3f4
AZ
928 $bluez_libs 2> /dev/null ; then
929 :
930 else
931 bluez="no"
932 fi
fb599c9a
AZ
933fi
934
414f0dab
BS
935##########################################
936# AIO probe
937if test "$aio" = "yes" ; then
938 aio=no
939 cat > $TMPC << EOF
940#include <aio.h>
941int main(void) { return aio_write(NULL); }
942EOF
943 if $cc $ARCH_CFLAGS -o $TMPE $AIOLIBS $TMPC 2> /dev/null ; then
944 aio=yes
945 fi
946fi
947
cc8ae6de 948# Check if tools are available to build documentation.
6c591867
TS
949if [ -x "`which texi2html 2>/dev/null`" ] && \
950 [ -x "`which pod2man 2>/dev/null`" ]; then
cc8ae6de
PB
951 build_docs="yes"
952fi
953
11d9f695 954if test "$mingw32" = "yes" ; then
308c3593
PB
955 if test -z "$prefix" ; then
956 prefix="/c/Program Files/Qemu"
957 fi
958 mansuffix=""
959 datasuffix=""
960 docsuffix=""
961 binsuffix=""
11d9f695 962else
308c3593
PB
963 if test -z "$prefix" ; then
964 prefix="/usr/local"
965 fi
966 mansuffix="/share/man"
967 datasuffix="/share/qemu"
968 docsuffix="/share/doc/qemu"
969 binsuffix="/bin"
11d9f695 970fi
5a67135a 971
43ce4dfe 972echo "Install prefix $prefix"
308c3593
PB
973echo "BIOS directory $prefix$datasuffix"
974echo "binary directory $prefix$binsuffix"
11d9f695 975if test "$mingw32" = "no" ; then
308c3593 976echo "Manual directory $prefix$mansuffix"
43ce4dfe 977echo "ELF interp prefix $interp_prefix"
11d9f695 978fi
5a67135a 979echo "Source path $source_path"
43ce4dfe 980echo "C compiler $cc"
83469015 981echo "Host C compiler $host_cc"
db7287ed 982echo "ARCH_CFLAGS $ARCH_CFLAGS"
43ce4dfe 983echo "make $make"
6a882643 984echo "install $install"
43ce4dfe 985echo "host CPU $cpu"
de83cd02 986echo "host big endian $bigendian"
97a847bc 987echo "target list $target_list"
43ce4dfe 988echo "gprof enabled $gprof"
03b4fe7d 989echo "sparse enabled $sparse"
05c2a3e7 990echo "profiler $profiler"
43ce4dfe 991echo "static build $static"
85aa5189 992echo "-Werror enabled $werror"
5b0753e0
FB
993if test "$darwin" = "yes" ; then
994 echo "Cocoa support $cocoa"
995fi
97a847bc 996echo "SDL support $sdl"
e4afee97
FB
997if test "$sdl" != "no" ; then
998 echo "SDL static link $sdl_static"
999fi
4d3b6f6e 1000echo "curses support $curses"
67b915a5 1001echo "mingw32 support $mingw32"
0c58ac1c 1002echo "Audio drivers $audio_drv_list"
1003echo "Extra audio cards $audio_card_list"
8ff9cbf7 1004echo "Mixer emulation $mixemu"
8d5d2d4c
TS
1005echo "VNC TLS support $vnc_tls"
1006if test "$vnc_tls" = "yes" ; then
1007 echo " TLS CFLAGS $vnc_tls_cflags"
1008 echo " TLS LIBS $vnc_tls_libs"
1009fi
3142255c
BS
1010if test -n "$sparc_cpu"; then
1011 echo "Target Sparc Arch $sparc_cpu"
1012fi
07f4ddbf 1013echo "kqemu support $kqemu"
2e4d9fb1 1014echo "brlapi support $brlapi"
cc8ae6de 1015echo "Documentation $build_docs"
c5937220
PB
1016[ ! -z "$uname_release" ] && \
1017echo "uname -r $uname_release"
bd0c5661 1018echo "NPTL support $nptl"
8a16d273 1019echo "vde support $vde"
414f0dab 1020echo "AIO support $aio"
67b915a5 1021
97a847bc 1022if test $sdl_too_old = "yes"; then
24b55b96 1023echo "-> Your SDL version is too old - please upgrade to have SDL support"
7c1f25b4 1024fi
20b40c6a
TS
1025if [ -s /tmp/qemu-$$-sdl-config.log ]; then
1026 echo "The error log from compiling the libSDL test is: "
1027 cat /tmp/qemu-$$-sdl-config.log
1028fi
1029rm -f /tmp/qemu-$$-sdl-config.log
24b55b96
FB
1030#if test "$sdl_static" = "no"; then
1031# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
1032#fi
97a847bc
FB
1033config_mak="config-host.mak"
1034config_h="config-host.h"
7d13299d 1035
7c1f25b4 1036#echo "Creating $config_mak and $config_h"
7d13299d 1037
15d9ca0f
TS
1038test -f $config_h && mv $config_h ${config_h}~
1039
97a847bc 1040echo "# Automatically generated by configure - do not modify" > $config_mak
29517134 1041echo "# Configured with: $0 $@" >> $config_mak
97a847bc 1042echo "/* Automatically generated by configure - do not modify */" > $config_h
7d13299d 1043
97a847bc 1044echo "prefix=$prefix" >> $config_mak
308c3593
PB
1045echo "bindir=\${prefix}$binsuffix" >> $config_mak
1046echo "mandir=\${prefix}$mansuffix" >> $config_mak
1047echo "datadir=\${prefix}$datasuffix" >> $config_mak
4ad5b06d 1048echo "docdir=\${prefix}$docsuffix" >> $config_mak
308c3593 1049echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
97a847bc 1050echo "MAKE=$make" >> $config_mak
6a882643 1051echo "INSTALL=$install" >> $config_mak
97a847bc 1052echo "CC=$cc" >> $config_mak
97a847bc
FB
1053echo "HOST_CC=$host_cc" >> $config_mak
1054echo "AR=$ar" >> $config_mak
1055echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
40293e58
FB
1056# XXX: only use CFLAGS and LDFLAGS ?
1057# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
1058# compilation of dyngen tool (useful for win32 build on Linux host)
6f30fa85 1059echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
3142255c
BS
1060echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
1061echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
1062echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
97a847bc
FB
1063echo "CFLAGS=$CFLAGS" >> $config_mak
1064echo "LDFLAGS=$LDFLAGS" >> $config_mak
67b915a5 1065echo "EXESUF=$EXESUF" >> $config_mak
70956b77 1066echo "AIOLIBS=$AIOLIBS" >> $config_mak
2408a527
AJ
1067case "$cpu" in
1068 i386)
1069 echo "ARCH=i386" >> $config_mak
1070 echo "#define HOST_I386 1" >> $config_h
1071 ;;
1072 x86_64)
1073 echo "ARCH=x86_64" >> $config_mak
1074 echo "#define HOST_X86_64 1" >> $config_h
1075 ;;
1076 alpha)
1077 echo "ARCH=alpha" >> $config_mak
1078 echo "#define HOST_ALPHA 1" >> $config_h
1079 ;;
1080 armv4b)
1081 echo "ARCH=arm" >> $config_mak
1082 echo "#define HOST_ARM 1" >> $config_h
1083 ;;
1084 armv4l)
1085 echo "ARCH=arm" >> $config_mak
1086 echo "#define HOST_ARM 1" >> $config_h
1087 ;;
1088 cris)
1089 echo "ARCH=cris" >> $config_mak
1090 echo "#define HOST_CRIS 1" >> $config_h
1091 ;;
1092 hppa)
1093 echo "ARCH=hppa" >> $config_mak
1094 echo "#define HOST_HPPA 1" >> $config_h
1095 ;;
1096 ia64)
1097 echo "ARCH=ia64" >> $config_mak
1098 echo "#define HOST_IA64 1" >> $config_h
1099 ;;
1100 m68k)
1101 echo "ARCH=m68k" >> $config_mak
1102 echo "#define HOST_M68K 1" >> $config_h
1103 ;;
1104 mips)
1105 echo "ARCH=mips" >> $config_mak
1106 echo "#define HOST_MIPS 1" >> $config_h
1107 ;;
1108 mips64)
1109 echo "ARCH=mips64" >> $config_mak
1110 echo "#define HOST_MIPS64 1" >> $config_h
1111 ;;
1112 powerpc)
810260a8 1113 if test "$hostlongbits" = "32"; then
1114 echo "ARCH=ppc" >> $config_mak
1115 echo "#define HOST_PPC 1" >> $config_h
1116 else
1117 echo "ARCH=ppc64" >> $config_mak
1118 echo "#define HOST_PPC64 1" >> $config_h
1119 fi
2408a527
AJ
1120 ;;
1121 s390)
1122 echo "ARCH=s390" >> $config_mak
1123 echo "#define HOST_S390 1" >> $config_h
1124 ;;
1125 sparc)
1126 echo "ARCH=sparc" >> $config_mak
1127 echo "#define HOST_SPARC 1" >> $config_h
1128 ;;
1129 sparc64)
1130 echo "ARCH=sparc64" >> $config_mak
1131 echo "#define HOST_SPARC64 1" >> $config_h
1132 ;;
1133 *)
1134 echo "Unsupported CPU = $cpu"
1135 exit 1
1136 ;;
1137esac
03b4fe7d
AL
1138if test "$sparse" = "yes" ; then
1139 echo "CC := REAL_CC=\"\$(CC)\" cgcc" >> $config_mak
1140 echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak
1141 echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak
1142fi
7d13299d 1143if test "$bigendian" = "yes" ; then
97a847bc
FB
1144 echo "WORDS_BIGENDIAN=yes" >> $config_mak
1145 echo "#define WORDS_BIGENDIAN 1" >> $config_h
1146fi
b6853697 1147echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
67b915a5
FB
1148if test "$mingw32" = "yes" ; then
1149 echo "CONFIG_WIN32=yes" >> $config_mak
11d9f695 1150 echo "#define CONFIG_WIN32 1" >> $config_h
210fa556
PB
1151else
1152 cat > $TMPC << EOF
1153#include <byteswap.h>
1154int main(void) { return bswap_32(0); }
1155EOF
db7287ed 1156 if $cc $ARCH_CFLAGS -o $TMPE $TMPC 2> /dev/null ; then
210fa556
PB
1157 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
1158 fi
67b915a5 1159fi
128ab2ff
BS
1160
1161if [ "$openbsd" = "yes" ] ; then
1162 echo "#define ENOTSUP 4096" >> $config_h
1163fi
1164
83fb7adf
FB
1165if test "$darwin" = "yes" ; then
1166 echo "CONFIG_DARWIN=yes" >> $config_mak
1167 echo "#define CONFIG_DARWIN 1" >> $config_h
1168fi
ec530c81
FB
1169if test "$solaris" = "yes" ; then
1170 echo "CONFIG_SOLARIS=yes" >> $config_mak
38cfa06c 1171 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
0475a5ca
TS
1172 if test "$needs_libsunmath" = "yes" ; then
1173 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
1174 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
1175 fi
ec530c81 1176fi
3142255c
BS
1177if test -n "$sparc_cpu"; then
1178 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
1179 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
1180fi
67b915a5
FB
1181if test "$gdbstub" = "yes" ; then
1182 echo "CONFIG_GDBSTUB=yes" >> $config_mak
1183 echo "#define CONFIG_GDBSTUB 1" >> $config_h
1184fi
97a847bc
FB
1185if test "$gprof" = "yes" ; then
1186 echo "TARGET_GPROF=yes" >> $config_mak
1187 echo "#define HAVE_GPROF 1" >> $config_h
1188fi
1189if test "$static" = "yes" ; then
1190 echo "CONFIG_STATIC=yes" >> $config_mak
50863472 1191 echo "#define CONFIG_STATIC 1" >> $config_h
7d13299d 1192fi
05c2a3e7
FB
1193if test $profiler = "yes" ; then
1194 echo "#define CONFIG_PROFILER 1" >> $config_h
1195fi
c20709aa
FB
1196if test "$slirp" = "yes" ; then
1197 echo "CONFIG_SLIRP=yes" >> $config_mak
1198 echo "#define CONFIG_SLIRP 1" >> $config_h
1199fi
8a16d273
TS
1200if test "$vde" = "yes" ; then
1201 echo "CONFIG_VDE=yes" >> $config_mak
1202 echo "#define CONFIG_VDE 1" >> $config_h
1203 echo "VDE_LIBS=-lvdeplug" >> $config_mak
1204fi
0c58ac1c 1205for card in $audio_card_list; do
f6e5889e 1206 def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
0c58ac1c 1207 echo "$def=yes" >> $config_mak
1208 echo "#define $def 1" >> $config_h
1209done
1210echo "#define AUDIO_DRIVERS \\" >> $config_h
1211for drv in $audio_drv_list; do
1212 echo " &${drv}_audio_driver, \\" >>$config_h
f6e5889e 1213 def=CONFIG_`echo $drv | tr '[:lower:]' '[:upper:]'`
0c58ac1c 1214 echo "$def=yes" >> $config_mak
923e4521 1215 if test "$drv" = "fmod"; then
0c58ac1c 1216 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
1217 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
2f6a1ab0
BS
1218 elif test "$drv" = "oss"; then
1219 echo "CONFIG_OSS_LIB=$oss_lib" >> $config_mak
0c58ac1c 1220 fi
1221done
1222echo "" >>$config_h
8ff9cbf7 1223if test "$mixemu" = "yes" ; then
1224 echo "CONFIG_MIXEMU=yes" >> $config_mak
1225 echo "#define CONFIG_MIXEMU 1" >> $config_h
1226fi
8d5d2d4c
TS
1227if test "$vnc_tls" = "yes" ; then
1228 echo "CONFIG_VNC_TLS=yes" >> $config_mak
1229 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
1230 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
1231 echo "#define CONFIG_VNC_TLS 1" >> $config_h
1232fi
b1a550a0
PB
1233qemu_version=`head $source_path/VERSION`
1234echo "VERSION=$qemu_version" >>$config_mak
d4b8f039 1235echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
97a847bc
FB
1236
1237echo "SRC_PATH=$source_path" >> $config_mak
ad064840
PB
1238if [ "$source_path_used" = "yes" ]; then
1239 echo "VPATH=$source_path" >> $config_mak
1240fi
97a847bc 1241echo "TARGET_DIRS=$target_list" >> $config_mak
cc8ae6de
PB
1242if [ "$build_docs" = "yes" ] ; then
1243 echo "BUILD_DOCS=yes" >> $config_mak
1244fi
49ecc3fa
FB
1245if test "$static" = "yes"; then
1246 sdl1=$sdl_static
1247else
1248 sdl1=$sdl
1249fi
1250if test "$sdl1" = "yes" ; then
1251 echo "#define CONFIG_SDL 1" >> $config_h
1252 echo "CONFIG_SDL=yes" >> $config_mak
1253 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1254 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1255 else
1256 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1257 fi
1258 if [ "${aa}" = "yes" ] ; then
1259 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1260 else
1261 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1262 fi
1263fi
1264if test "$cocoa" = "yes" ; then
4d3b6f6e
AZ
1265 echo "#define CONFIG_COCOA 1" >> $config_h
1266 echo "CONFIG_COCOA=yes" >> $config_mak
1267fi
1268if test "$curses" = "yes" ; then
1269 echo "#define CONFIG_CURSES 1" >> $config_h
1270 echo "CONFIG_CURSES=yes" >> $config_mak
1271 echo "CURSES_LIBS=-lcurses" >> $config_mak
49ecc3fa 1272fi
2e4d9fb1
AJ
1273if test "$brlapi" = "yes" ; then
1274 echo "CONFIG_BRLAPI=yes" >> $config_mak
1275 echo "#define CONFIG_BRLAPI 1" >> $config_h
1276 echo "BRLAPI_LIBS=-lbrlapi" >> $config_mak
1277fi
fb599c9a
AZ
1278if test "$bluez" = "yes" ; then
1279 echo "CONFIG_BLUEZ=yes" >> $config_mak
1280 echo "CONFIG_BLUEZ_CFLAGS=$bluez_cflags" >> $config_mak
1281 echo "CONFIG_BLUEZ_LIBS=$bluez_libs" >> $config_mak
1282 echo "#define CONFIG_BLUEZ 1" >> $config_h
1283fi
414f0dab
BS
1284if test "$aio" = "yes" ; then
1285 echo "#define CONFIG_AIO 1" >> $config_h
a3392f9b 1286 echo "CONFIG_AIO=yes" >> $config_mak
414f0dab 1287fi
97a847bc 1288
83fb7adf 1289# XXX: suppress that
7d3505c5 1290if [ "$bsd" = "yes" ] ; then
43003046 1291 echo "#define O_LARGEFILE 0" >> $config_h
43003046 1292 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
7d3505c5
FB
1293 echo "#define _BSD 1" >> $config_h
1294fi
1295
c5937220
PB
1296echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
1297
c39e3338
PB
1298tools=
1299if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
1300 tools="qemu-img\$(EXESUF) $tools"
7a5ca864
FB
1301 if [ "$linux" = "yes" ] ; then
1302 tools="qemu-nbd\$(EXESUF) $tools"
1303 fi
c39e3338
PB
1304fi
1305echo "TOOLS=$tools" >> $config_mak
1306
15d9ca0f
TS
1307test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1308
1d14ffa9 1309for target in $target_list; do
97a847bc
FB
1310target_dir="$target"
1311config_mak=$target_dir/config.mak
1312config_h=$target_dir/config.h
1313target_cpu=`echo $target | cut -d '-' -f 1`
1314target_bigendian="no"
808c4954 1315[ "$target_cpu" = "armeb" ] && target_bigendian=yes
0938cda5
AJ
1316[ "$target_cpu" = "m68k" ] && target_bigendian=yes
1317[ "$target_cpu" = "mips" ] && target_bigendian=yes
1318[ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
1319[ "$target_cpu" = "mips64" ] && target_bigendian=yes
67867308 1320[ "$target_cpu" = "ppc" ] && target_bigendian=yes
d4082e95 1321[ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
22f8a8b3 1322[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
e85e7c6e 1323[ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
908f52b0 1324[ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
0938cda5
AJ
1325[ "$target_cpu" = "sparc" ] && target_bigendian=yes
1326[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
1327[ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
97a847bc 1328target_softmmu="no"
997344f3 1329target_user_only="no"
831b7825 1330target_linux_user="no"
831b7825 1331target_darwin_user="no"
9e407a85
PB
1332case "$target" in
1333 ${target_cpu}-softmmu)
1334 target_softmmu="yes"
1335 ;;
1336 ${target_cpu}-linux-user)
1337 target_user_only="yes"
1338 target_linux_user="yes"
1339 ;;
1340 ${target_cpu}-darwin-user)
1341 target_user_only="yes"
1342 target_darwin_user="yes"
1343 ;;
1344 *)
1345 echo "ERROR: Target '$target' not recognised"
1346 exit 1
1347 ;;
1348esac
831b7825 1349
97ccc689 1350if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
1d14ffa9 1351 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
97ccc689 1352 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
9c038506 1353 echo "To build QEMU without graphical output configure with --disable-gfx-check"
4d3b6f6e
AZ
1354 echo "Note that this will disable all output from the virtual graphics card"
1355 echo "except through VNC or curses."
97ccc689
FB
1356 exit 1;
1357fi
1358
7c1f25b4 1359#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
97a847bc 1360
15d9ca0f
TS
1361test -f $config_h && mv $config_h ${config_h}~
1362
97a847bc 1363mkdir -p $target_dir
158142c2 1364mkdir -p $target_dir/fpu
57fec1fe 1365mkdir -p $target_dir/tcg
831b7825 1366if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
69de927c
FB
1367 mkdir -p $target_dir/nwfpe
1368fi
1369
ec530c81
FB
1370#
1371# don't use ln -sf as not all "ln -sf" over write the file/link
1372#
1373rm -f $target_dir/Makefile
1374ln -s $source_path/Makefile.target $target_dir/Makefile
1375
97a847bc
FB
1376
1377echo "# Automatically generated by configure - do not modify" > $config_mak
1378echo "/* Automatically generated by configure - do not modify */" > $config_h
1379
de83cd02 1380
97a847bc
FB
1381echo "include ../config-host.mak" >> $config_mak
1382echo "#include \"../config-host.h\"" >> $config_h
1e43adfc 1383
e5fe0c52 1384bflt="no"
cb33da57 1385elfload32="no"
bd0c5661 1386target_nptl="no"
1e43adfc
FB
1387interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1388echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
97a847bc 1389
2408a527
AJ
1390case "$target_cpu" in
1391 i386)
1392 echo "TARGET_ARCH=i386" >> $config_mak
1393 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1394 echo "#define TARGET_I386 1" >> $config_h
da260249 1395 if test $kqemu = "yes" -a "$target_softmmu" = "yes"
2408a527
AJ
1396 then
1397 echo "#define USE_KQEMU 1" >> $config_h
1398 fi
f2bf094e 1399 gcc3minver=`$cc --version 2> /dev/null| fgrep "(GCC) 3." | awk '{ print $3 }' | cut -f2 -d.`
11d1fdb0 1400 if test -n "$gcc3minver" && test $gcc3minver -gt 3
f2bf094e
AJ
1401 then
1402 echo "HAVE_GT_GCC_3_3=true" >> $config_mak
1403 else
1404 echo "HAVE_GT_GCC_3_3=false" >> $config_mak
1405 fi
2408a527
AJ
1406 ;;
1407 x86_64)
1408 echo "TARGET_ARCH=x86_64" >> $config_mak
1409 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1410 echo "#define TARGET_I386 1" >> $config_h
1411 echo "#define TARGET_X86_64 1" >> $config_h
1412 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64"
1413 then
1414 echo "#define USE_KQEMU 1" >> $config_h
1415 fi
1416 ;;
1417 alpha)
1418 echo "TARGET_ARCH=alpha" >> $config_mak
1419 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1420 echo "#define TARGET_ALPHA 1" >> $config_h
1421 ;;
1422 arm|armeb)
1423 echo "TARGET_ARCH=arm" >> $config_mak
2408a527
AJ
1424 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1425 echo "#define TARGET_ARM 1" >> $config_h
2408a527 1426 bflt="yes"
bd0c5661 1427 target_nptl="yes"
2408a527
AJ
1428 ;;
1429 cris)
1430 echo "TARGET_ARCH=cris" >> $config_mak
1431 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1432 echo "#define TARGET_CRIS 1" >> $config_h
2408a527
AJ
1433 ;;
1434 m68k)
1435 echo "TARGET_ARCH=m68k" >> $config_mak
1436 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1437 echo "#define TARGET_M68K 1" >> $config_h
1438 bflt="yes"
1439 ;;
1440 mips|mipsel)
1441 echo "TARGET_ARCH=mips" >> $config_mak
1442 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1443 echo "#define TARGET_MIPS 1" >> $config_h
1444 echo "#define TARGET_ABI_MIPSO32 1" >> $config_h
1445 ;;
1446 mipsn32|mipsn32el)
1447 echo "TARGET_ARCH=mipsn32" >> $config_mak
1448 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1449 echo "#define TARGET_MIPS 1" >> $config_h
1450 echo "#define TARGET_ABI_MIPSN32 1" >> $config_h
1451 ;;
1452 mips64|mips64el)
1453 echo "TARGET_ARCH=mips64" >> $config_mak
1454 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1455 echo "#define TARGET_MIPS 1" >> $config_h
1456 echo "#define TARGET_MIPS64 1" >> $config_h
1457 echo "#define TARGET_ABI_MIPSN64 1" >> $config_h
1458 ;;
1459 ppc)
1460 echo "TARGET_ARCH=ppc" >> $config_mak
bf6247fb 1461 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1462 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1463 echo "#define TARGET_PPC 1" >> $config_h
bf6247fb 1464 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1465 ;;
1466 ppcemb)
1467 echo "TARGET_ARCH=ppcemb" >> $config_mak
1468 echo "TARGET_ABI_DIR=ppc" >> $config_mak
bf6247fb 1469 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1470 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1471 echo "#define TARGET_PPC 1" >> $config_h
1472 echo "#define TARGET_PPCEMB 1" >> $config_h
ec5b78cd 1473 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1474 ;;
1475 ppc64)
1476 echo "TARGET_ARCH=ppc64" >> $config_mak
1477 echo "TARGET_ABI_DIR=ppc" >> $config_mak
bf6247fb 1478 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1479 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1480 echo "#define TARGET_PPC 1" >> $config_h
1481 echo "#define TARGET_PPC64 1" >> $config_h
bf6247fb 1482 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1483 ;;
1484 ppc64abi32)
1485 echo "TARGET_ARCH=ppc64" >> $config_mak
1486 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1487 echo "TARGET_ARCH2=ppc64abi32" >> $config_mak
bf6247fb 1488 echo "CONFIG_DYNGEN_OP=yes" >> $config_mak
2408a527
AJ
1489 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1490 echo "#define TARGET_PPC 1" >> $config_h
1491 echo "#define TARGET_PPC64 1" >> $config_h
1492 echo "#define TARGET_ABI32 1" >> $config_h
bf6247fb 1493 echo "#define CONFIG_DYNGEN_OP 1" >> $config_h
2408a527
AJ
1494 ;;
1495 sh4|sh4eb)
1496 echo "TARGET_ARCH=sh4" >> $config_mak
1497 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1498 echo "#define TARGET_SH4 1" >> $config_h
1499 bflt="yes"
0b6d3ae0 1500 target_nptl="yes"
2408a527
AJ
1501 ;;
1502 sparc)
1503 echo "TARGET_ARCH=sparc" >> $config_mak
1504 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1505 echo "#define TARGET_SPARC 1" >> $config_h
1506 ;;
1507 sparc64)
1508 echo "TARGET_ARCH=sparc64" >> $config_mak
1509 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1510 echo "#define TARGET_SPARC 1" >> $config_h
1511 echo "#define TARGET_SPARC64 1" >> $config_h
1512 elfload32="yes"
1513 ;;
1514 sparc32plus)
1515 echo "TARGET_ARCH=sparc64" >> $config_mak
1516 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1517 echo "TARGET_ARCH2=sparc32plus" >> $config_mak
1518 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1519 echo "#define TARGET_SPARC 1" >> $config_h
1520 echo "#define TARGET_SPARC64 1" >> $config_h
1521 echo "#define TARGET_ABI32 1" >> $config_h
1522 ;;
1523 *)
1524 echo "Unsupported target CPU"
1525 exit 1
1526 ;;
1527esac
de83cd02 1528if test "$target_bigendian" = "yes" ; then
97a847bc
FB
1529 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1530 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
de83cd02 1531fi
97a847bc
FB
1532if test "$target_softmmu" = "yes" ; then
1533 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1534 echo "#define CONFIG_SOFTMMU 1" >> $config_h
43ce4dfe 1535fi
997344f3
FB
1536if test "$target_user_only" = "yes" ; then
1537 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1538 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1539fi
831b7825
TS
1540if test "$target_linux_user" = "yes" ; then
1541 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1542 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1543fi
1544if test "$target_darwin_user" = "yes" ; then
1545 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1546 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1547fi
97a847bc 1548
0938cda5
AJ
1549if test "$target_cpu" = "arm" \
1550 -o "$target_cpu" = "armeb" \
1551 -o "$target_cpu" = "m68k" \
1552 -o "$target_cpu" = "mips" \
1553 -o "$target_cpu" = "mipsel" \
1554 -o "$target_cpu" = "mipsn32" \
1555 -o "$target_cpu" = "mipsn32el" \
1556 -o "$target_cpu" = "mips64" \
1557 -o "$target_cpu" = "mips64el" \
1558 -o "$target_cpu" = "sparc" \
1559 -o "$target_cpu" = "sparc64" \
1560 -o "$target_cpu" = "sparc32plus"; then
158142c2
FB
1561 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1562 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1563fi
e5fe0c52
PB
1564if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1565 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1566 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1567fi
bd0c5661
PB
1568if test "$target_user_only" = "yes" \
1569 -a "$nptl" = "yes" -a "$target_nptl" = "yes"; then
1570 echo "#define USE_NPTL 1" >> $config_h
1571fi
cb33da57
BS
1572# 32 bit ELF loader in addition to native 64 bit loader?
1573if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1574 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1575 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1576fi
5b0753e0 1577
15d9ca0f
TS
1578test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1579
97a847bc 1580done # for target in $targets
7d13299d
FB
1581
1582# build tree in object directory if source path is different from current one
1583if test "$source_path_used" = "yes" ; then
49ecc3fa 1584 DIRS="tests tests/cris slirp audio"
7d13299d 1585 FILES="Makefile tests/Makefile"
e7daa605 1586 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
e1ffb0f1 1587 FILES="$FILES tests/test-mmap.c"
7d13299d
FB
1588 for dir in $DIRS ; do
1589 mkdir -p $dir
1590 done
ec530c81 1591 # remove the link and recreate it, as not all "ln -sf" overwrite the link
7d13299d 1592 for f in $FILES ; do
ec530c81
FB
1593 rm -f $f
1594 ln -s $source_path/$f $f
7d13299d
FB
1595 done
1596fi
7d13299d 1597
9d56d2dc 1598rm -f $TMPO $TMPC $TMPE $TMPS $TMPI