]> git.proxmox.com Git - mirror_qemu.git/blob - configure
a8dbf85114aba089f7aebbc3f252b4233fe2386f
[mirror_qemu.git] / configure
1 #!/bin/sh
2 #
3 # qemu configure script (c) 2003 Fabrice Bellard
4 #
5 # set temporary file name
6 if test ! -z "$TMPDIR" ; then
7 TMPDIR1="${TMPDIR}"
8 elif test ! -z "$TEMPDIR" ; then
9 TMPDIR1="${TEMPDIR}"
10 else
11 TMPDIR1="/tmp"
12 fi
13
14 TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15 TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16 TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17 TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18
19 # default parameters
20 prefix=""
21 interp_prefix="/usr/gnemul/qemu-%M"
22 static="no"
23 cross_prefix=""
24 cc="gcc"
25 gcc3_search="yes"
26 gcc3_list="gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
27 host_cc="gcc"
28 ar="ar"
29 make="make"
30 install="install"
31 strip="strip"
32 cpu=`uname -m`
33 target_list=""
34 case "$cpu" in
35 i386|i486|i586|i686|i86pc|BePC)
36 cpu="i386"
37 ;;
38 armv*b)
39 cpu="armv4b"
40 ;;
41 armv*l)
42 cpu="armv4l"
43 ;;
44 alpha)
45 cpu="alpha"
46 ;;
47 "Power Macintosh"|ppc|ppc64)
48 cpu="powerpc"
49 ;;
50 mips)
51 cpu="mips"
52 ;;
53 mips64)
54 cpu="mips64"
55 ;;
56 cris)
57 cpu="cris"
58 ;;
59 s390*)
60 cpu="s390"
61 ;;
62 sparc|sun4[cdmuv])
63 cpu="sparc"
64 ;;
65 sparc64)
66 cpu="sparc64"
67 ;;
68 ia64)
69 cpu="ia64"
70 ;;
71 m68k)
72 cpu="m68k"
73 ;;
74 x86_64|amd64)
75 cpu="x86_64"
76 ;;
77 *)
78 cpu="unknown"
79 ;;
80 esac
81 gprof="no"
82 bigendian="no"
83 mingw32="no"
84 EXESUF=""
85 gdbstub="yes"
86 slirp="yes"
87 adlib="no"
88 oss="no"
89 dsound="no"
90 coreaudio="no"
91 alsa="no"
92 fmod="no"
93 fmod_lib=""
94 fmod_inc=""
95 vnc_tls="yes"
96 bsd="no"
97 linux="no"
98 kqemu="no"
99 profiler="no"
100 cocoa="no"
101 check_gfx="yes"
102 check_gcc="yes"
103 softmmu="yes"
104 linux_user="no"
105 darwin_user="no"
106 build_docs="no"
107 uname_release=""
108
109 # OS specific
110 targetos=`uname -s`
111 case $targetos in
112 CYGWIN*)
113 mingw32="yes"
114 OS_CFLAGS="-mno-cygwin"
115 VL_OS_LDFLAGS="-mno-cygwin"
116 if [ "$cpu" = "i386" ] ; then
117 kqemu="yes"
118 fi
119 ;;
120 MINGW32*)
121 mingw32="yes"
122 if [ "$cpu" = "i386" ] ; then
123 kqemu="yes"
124 fi
125 ;;
126 GNU/kFreeBSD)
127 oss="yes"
128 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
129 kqemu="yes"
130 fi
131 ;;
132 FreeBSD)
133 bsd="yes"
134 oss="yes"
135 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
136 kqemu="yes"
137 fi
138 ;;
139 NetBSD)
140 bsd="yes"
141 oss="yes"
142 ;;
143 OpenBSD)
144 bsd="yes"
145 oss="yes"
146 ;;
147 Darwin)
148 bsd="yes"
149 darwin="yes"
150 darwin_user="yes"
151 cocoa="yes"
152 coreaudio="yes"
153 OS_CFLAGS="-mdynamic-no-pic"
154 ;;
155 SunOS)
156 solaris="yes"
157 make="gmake"
158 install="ginstall"
159 needs_libsunmath="no"
160 solarisrev=`uname -r | cut -f2 -d.`
161 # have to select again, because `uname -m` returns i86pc
162 # even on an x86_64 box.
163 solariscpu=`isainfo -k`
164 if test "${solariscpu}" = "amd64" ; then
165 cpu="x86_64"
166 fi
167 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
168 if test "$solarisrev" -le 9 ; then
169 if test -f /opt/SUNWspro/prod/lib/libsunmath.so.1; then
170 needs_libsunmath="yes"
171 else
172 echo "QEMU will not link correctly on Solaris 8/X86 or 9/x86 without"
173 echo "libsunmath from the Sun Studio compilers tools, due to a lack of"
174 echo "C99 math features in libm.so in Solaris 8/x86 and Solaris 9/x86"
175 echo "Studio 11 can be downloaded from www.sun.com."
176 exit 1
177 fi
178 fi
179 if test "$solarisrev" -ge 9 ; then
180 kqemu="yes"
181 fi
182 fi
183 if test -f /usr/include/sys/soundcard.h ; then
184 oss=yes
185 fi
186 ;;
187 *)
188 oss="yes"
189 linux="yes"
190 linux_user="yes"
191 if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
192 kqemu="yes"
193 fi
194 ;;
195 esac
196
197 if [ "$bsd" = "yes" ] ; then
198 if [ "$darwin" != "yes" ] ; then
199 make="gmake"
200 fi
201 fi
202
203 # find source path
204 source_path=`dirname "$0"`
205 if [ -z "$source_path" ]; then
206 source_path=`pwd`
207 else
208 source_path=`cd "$source_path"; pwd`
209 fi
210 if test "$source_path" = `pwd` ; then
211 source_path_used="no"
212 else
213 source_path_used="yes"
214 fi
215
216 for opt do
217 optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
218 case "$opt" in
219 --help|-h) show_help=yes
220 ;;
221 --prefix=*) prefix="$optarg"
222 ;;
223 --interp-prefix=*) interp_prefix="$optarg"
224 ;;
225 --source-path=*) source_path="$optarg"
226 source_path_used="yes"
227 ;;
228 --cross-prefix=*) cross_prefix="$optarg"
229 ;;
230 --cc=*) cc="$optarg"
231 gcc3_search="no"
232 ;;
233 --host-cc=*) host_cc="$optarg"
234 ;;
235 --make=*) make="$optarg"
236 ;;
237 --install=*) install="$optarg"
238 ;;
239 --extra-cflags=*) CFLAGS="$optarg"
240 ;;
241 --extra-ldflags=*) LDFLAGS="$optarg"
242 ;;
243 --cpu=*) cpu="$optarg"
244 ;;
245 --target-list=*) target_list="$optarg"
246 ;;
247 --enable-gprof) gprof="yes"
248 ;;
249 --static) static="yes"
250 ;;
251 --disable-sdl) sdl="no"
252 ;;
253 --enable-coreaudio) coreaudio="yes"
254 ;;
255 --enable-alsa) alsa="yes"
256 ;;
257 --enable-dsound) dsound="yes"
258 ;;
259 --enable-fmod) fmod="yes"
260 ;;
261 --fmod-lib=*) fmod_lib="$optarg"
262 ;;
263 --fmod-inc=*) fmod_inc="$optarg"
264 ;;
265 --disable-vnc-tls) vnc_tls="no"
266 ;;
267 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-" ; linux_user="no"
268 ;;
269 --disable-slirp) slirp="no"
270 ;;
271 --enable-adlib) adlib="yes"
272 ;;
273 --disable-kqemu) kqemu="no"
274 ;;
275 --enable-profiler) profiler="yes"
276 ;;
277 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
278 ;;
279 --disable-gfx-check) check_gfx="no"
280 ;;
281 --disable-gcc-check) check_gcc="no"
282 ;;
283 --disable-system) softmmu="no"
284 ;;
285 --enable-system) softmmu="yes"
286 ;;
287 --disable-linux-user) linux_user="no"
288 ;;
289 --enable-linux-user) linux_user="yes"
290 ;;
291 --disable-darwin-user) darwin_user="no"
292 ;;
293 --enable-darwin-user) darwin_user="yes"
294 ;;
295 --enable-uname-release=*) uname_release="$optarg"
296 ;;
297 --sparc_cpu=*)
298 sparc_cpu="$optarg"
299 case $sparc_cpu in
300 v7|v8) SP_CFLAGS="-m32 -mcpu=${sparc_cpu} -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
301 target_cpu="sparc"; cpu="sparc" ;;
302 v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32"
303 target_cpu="sparc"; cpu="sparc" ;;
304 v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64"
305 target_cpu="sparc64"; cpu="sparc64" ;;
306 *) echo "undefined SPARC architecture. Exiting";exit 1;;
307 esac
308 ;;
309 esac
310 done
311
312 if [ "$bsd" = "yes" -o "$darwin" = "yes" -o "$mingw32" = "yes" ] ; then
313 AIOLIBS=
314 else
315 AIOLIBS="-lrt"
316 fi
317
318 # default flags for all hosts
319 CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
320 LDFLAGS="$LDFLAGS -g"
321
322 #
323 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
324 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
325 #
326 case $cpu in
327 sparc) if test -z "$sparc_cpu" ; then
328 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
329 ARCH_LDFLAGS="-m32"
330 else
331 ARCH_CFLAGS="${SP_CFLAGS}"
332 ARCH_LDFLAGS="${SP_LDFLAGS}"
333 fi
334 ;;
335 sparc64) if test -z "$sparc_cpu" ; then
336 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
337 ARCH_LDFLAGS="-m64"
338 else
339 ARCH_CFLAGS="${SP_CFLAGS}"
340 ARCH_LDFLAGS="${SP_LDFLAGS}"
341 fi
342 ;;
343 esac
344
345 if [ "$solaris" = "yes" -a "$cpu" = "x86_64" ] ; then
346 CFLAGS="${CFLAGS} -m64"
347 OS_CFLAGS="${OS_CFLAGS} -m64"
348 fi
349
350 if [ "$solaris" = "yes" -a "$cpu" = "i386" ] ; then
351 CFLAGS="${CFLAGS} -m32"
352 OS_CFLAGS="${OS_CFLAGS} -m32"
353 fi
354
355 if test x"$show_help" = x"yes" ; then
356 cat << EOF
357
358 Usage: configure [options]
359 Options: [defaults in brackets after descriptions]
360
361 EOF
362 echo "Standard options:"
363 echo " --help print this message"
364 echo " --prefix=PREFIX install in PREFIX [$prefix]"
365 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
366 echo " use %M for cpu name [$interp_prefix]"
367 echo " --target-list=LIST set target list [$target_list]"
368 echo ""
369 echo "kqemu kernel acceleration support:"
370 echo " --disable-kqemu disable kqemu support"
371 echo ""
372 echo "Advanced options (experts only):"
373 echo " --source-path=PATH path of source code [$source_path]"
374 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
375 echo " --cc=CC use C compiler CC [$cc]"
376 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
377 echo " --make=MAKE use specified make [$make]"
378 echo " --install=INSTALL use specified install [$install]"
379 echo " --static enable static build [$static]"
380 echo " --enable-cocoa enable COCOA (Mac OS X only)"
381 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
382 echo " --enable-adlib enable Adlib emulation"
383 echo " --enable-coreaudio enable Coreaudio audio driver"
384 echo " --enable-alsa enable ALSA audio driver"
385 echo " --enable-fmod enable FMOD audio driver"
386 echo " --enable-dsound enable DirectSound audio driver"
387 echo " --disable-vnc-tls disable TLS encryption for VNC server"
388 echo " --enable-system enable all system emulation targets"
389 echo " --disable-system disable all system emulation targets"
390 echo " --enable-linux-user enable all linux usermode emulation targets"
391 echo " --disable-linux-user disable all linux usermode emulation targets"
392 echo " --enable-darwin-user enable all darwin usermode emulation targets"
393 echo " --disable-darwin-user disable all darwin usermode emulation targets"
394 echo " --fmod-lib path to FMOD library"
395 echo " --fmod-inc path to FMOD includes"
396 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
397 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
398 echo ""
399 echo "NOTE: The object files are built at the place where configure is launched"
400 exit 1
401 fi
402
403 cc="${cross_prefix}${cc}"
404 ar="${cross_prefix}${ar}"
405 strip="${cross_prefix}${strip}"
406
407 # check that the C compiler works.
408 cat > $TMPC <<EOF
409 int main(void) {}
410 EOF
411
412 if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
413 : C compiler works ok
414 else
415 echo "ERROR: \"$cc\" either does not exist or does not work"
416 exit 1
417 fi
418
419 if test "$mingw32" = "yes" ; then
420 linux="no"
421 EXESUF=".exe"
422 oss="no"
423 fi
424
425 # Check for gcc4, error if pre-gcc4
426 if test "$check_gcc" = "yes" ; then
427 cat > $TMPC <<EOF
428 #if __GNUC__ < 4
429 #error gcc3
430 #endif
431 int main(){return 0;}
432 EOF
433 if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
434 echo "WARNING: \"$cc\" looks like gcc 4.x"
435 found_compat_cc="no"
436 if test "$gcc3_search" = "yes" ; then
437 echo "Looking for gcc 3.x"
438 for compat_cc in $gcc3_list ; do
439 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
440 echo "Found \"$compat_cc\""
441 cc="$cross_prefix$compat_cc"
442 found_compat_cc="yes"
443 break
444 fi
445 done
446 if test "$found_compat_cc" = "no" ; then
447 echo "gcc 3.x not found!"
448 fi
449 fi
450 if test "$found_compat_cc" = "no" ; then
451 echo "QEMU is known to have problems when compiled with gcc 4.x"
452 echo "It is recommended that you use gcc 3.x to build QEMU"
453 echo "To use this compiler anyway, configure with --disable-gcc-check"
454 exit 1;
455 fi
456 fi
457 fi
458
459 #
460 # Solaris specific configure tool chain decisions
461 #
462 if test "$solaris" = "yes" ; then
463 #
464 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
465 # override the check with --disable-gcc-check
466 #
467 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
468 solgcc=`which $cc`
469 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
470 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
471 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
472 echo "or get the latest patch from SunSolve for gcc"
473 exit 1
474 fi
475 fi
476 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
477 if test -z "$solinst" ; then
478 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
479 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
480 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
481 exit 1
482 fi
483 if test "$solinst" = "/usr/sbin/install" ; then
484 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
485 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
486 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
487 exit 1
488 fi
489 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
490 if test -z "$sol_ar" ; then
491 echo "Error: No path includes ar"
492 if test -f /usr/ccs/bin/ar ; then
493 echo "Add /usr/ccs/bin to your path and rerun configure"
494 fi
495 exit 1
496 fi
497 fi
498
499
500 if test -z "$target_list" ; then
501 # these targets are portable
502 if [ "$softmmu" = "yes" ] ; then
503 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc64-softmmu ppcemb-softmmu m68k-softmmu sh4-softmmu cris-softmmu"
504 fi
505 # the following are Linux specific
506 if [ "$linux_user" = "yes" ] ; then
507 target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user ppc-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user ppc64-linux-user sh4-linux-user cris-linux-user $target_list"
508 fi
509 # the following are Darwin specific
510 if [ "$darwin_user" = "yes" ] ; then
511 target_list="i386-darwin-user ppc-darwin-user $target_list"
512 fi
513 else
514 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
515 fi
516 if test -z "$target_list" ; then
517 echo "No targets enabled"
518 exit 1
519 fi
520
521 if test -z "$cross_prefix" ; then
522
523 # ---
524 # big/little endian test
525 cat > $TMPC << EOF
526 #include <inttypes.h>
527 int main(int argc, char ** argv){
528 volatile uint32_t i=0x01234567;
529 return (*((uint8_t*)(&i))) == 0x67;
530 }
531 EOF
532
533 if $cc -o $TMPE $TMPC 2> /dev/null ; then
534 $TMPE && bigendian="yes"
535 else
536 echo big/little test failed
537 fi
538
539 else
540
541 # if cross compiling, cannot launch a program, so make a static guess
542 if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "mips64" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
543 bigendian="yes"
544 fi
545
546 fi
547
548 # host long bits test
549 hostlongbits="32"
550 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
551 hostlongbits="64"
552 fi
553
554 # check gcc options support
555 cat > $TMPC <<EOF
556 int main(void) {
557 }
558 EOF
559
560 ##########################################
561 # SDL probe
562
563 sdl_too_old=no
564
565 if test -z "$sdl" ; then
566 sdl_config="sdl-config"
567 sdl=no
568 sdl_static=no
569
570 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
571 # win32 cross compilation case
572 sdl_config="i386-mingw32msvc-sdl-config"
573 sdl=yes
574 else
575 # normal SDL probe
576 cat > $TMPC << EOF
577 #include <SDL.h>
578 #undef main /* We don't want SDL to override our main() */
579 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
580 EOF
581 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
582 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
583 if test "$_sdlversion" -lt 121 ; then
584 sdl_too_old=yes
585 else
586 if test "$cocoa" = "no" ; then
587 sdl=yes
588 fi
589 fi
590
591 # static link with sdl ?
592 if test "$sdl" = "yes" ; then
593 aa="no"
594 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
595 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
596 if [ "$aa" = "yes" ] ; then
597 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
598 fi
599
600 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
601 sdl_static=yes
602 fi
603 fi # static link
604 fi # sdl compile test
605 fi # cross compilation
606 else
607 # Make sure to disable cocoa if sdl was set
608 if test "$sdl" = "yes" ; then
609 cocoa="no"
610 coreaudio="no"
611 fi
612 fi # -z $sdl
613
614 ##########################################
615 # VNC TLS detection
616 if test "$vnc_tls" = "yes" ; then
617 `pkg-config gnutls` || vnc_tls="no"
618 fi
619 if test "$vnc_tls" = "yes" ; then
620 vnc_tls_cflags=`pkg-config --cflags gnutls`
621 vnc_tls_libs=`pkg-config --libs gnutls`
622 fi
623
624 ##########################################
625 # alsa sound support libraries
626
627 if test "$alsa" = "yes" ; then
628 cat > $TMPC << EOF
629 #include <alsa/asoundlib.h>
630 int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
631 EOF
632 if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
633 :
634 else
635 echo
636 echo "Error: Could not find alsa"
637 echo "Make sure to have the alsa libs and headers installed."
638 echo
639 exit 1
640 fi
641 fi
642
643 # Check if tools are available to build documentation.
644 if [ -x "`which texi2html 2>/dev/null`" ] && \
645 [ -x "`which pod2man 2>/dev/null`" ]; then
646 build_docs="yes"
647 fi
648
649 if test "$mingw32" = "yes" ; then
650 if test -z "$prefix" ; then
651 prefix="/c/Program Files/Qemu"
652 fi
653 mansuffix=""
654 datasuffix=""
655 docsuffix=""
656 binsuffix=""
657 else
658 if test -z "$prefix" ; then
659 prefix="/usr/local"
660 fi
661 mansuffix="/share/man"
662 datasuffix="/share/qemu"
663 docsuffix="/share/doc/qemu"
664 binsuffix="/bin"
665 fi
666
667 echo "Install prefix $prefix"
668 echo "BIOS directory $prefix$datasuffix"
669 echo "binary directory $prefix$binsuffix"
670 if test "$mingw32" = "no" ; then
671 echo "Manual directory $prefix$mansuffix"
672 echo "ELF interp prefix $interp_prefix"
673 fi
674 echo "Source path $source_path"
675 echo "C compiler $cc"
676 echo "Host C compiler $host_cc"
677 echo "make $make"
678 echo "install $install"
679 echo "host CPU $cpu"
680 echo "host big endian $bigendian"
681 echo "target list $target_list"
682 echo "gprof enabled $gprof"
683 echo "profiler $profiler"
684 echo "static build $static"
685 if test "$darwin" = "yes" ; then
686 echo "Cocoa support $cocoa"
687 fi
688 echo "SDL support $sdl"
689 if test "$sdl" != "no" ; then
690 echo "SDL static link $sdl_static"
691 fi
692 echo "mingw32 support $mingw32"
693 echo "Adlib support $adlib"
694 echo "CoreAudio support $coreaudio"
695 echo "ALSA support $alsa"
696 echo "DSound support $dsound"
697 if test "$fmod" = "yes"; then
698 if test -z $fmod_lib || test -z $fmod_inc; then
699 echo
700 echo "Error: You must specify path to FMOD library and headers"
701 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
702 echo
703 exit 1
704 fi
705 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
706 else
707 fmod_support=""
708 fi
709 echo "FMOD support $fmod $fmod_support"
710 echo "OSS support $oss"
711 echo "VNC TLS support $vnc_tls"
712 if test "$vnc_tls" = "yes" ; then
713 echo " TLS CFLAGS $vnc_tls_cflags"
714 echo " TLS LIBS $vnc_tls_libs"
715 fi
716 if test -n "$sparc_cpu"; then
717 echo "Target Sparc Arch $sparc_cpu"
718 fi
719 echo "kqemu support $kqemu"
720 echo "Documentation $build_docs"
721 [ ! -z "$uname_release" ] && \
722 echo "uname -r $uname_release"
723
724 if test $sdl_too_old = "yes"; then
725 echo "-> Your SDL version is too old - please upgrade to have SDL support"
726 fi
727 if [ -s /tmp/qemu-$$-sdl-config.log ]; then
728 echo "The error log from compiling the libSDL test is: "
729 cat /tmp/qemu-$$-sdl-config.log
730 fi
731 rm -f /tmp/qemu-$$-sdl-config.log
732 #if test "$sdl_static" = "no"; then
733 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
734 #fi
735 config_mak="config-host.mak"
736 config_h="config-host.h"
737
738 #echo "Creating $config_mak and $config_h"
739
740 test -f $config_h && mv $config_h ${config_h}~
741
742 echo "# Automatically generated by configure - do not modify" > $config_mak
743 echo "# Configured with: $0 $@" >> $config_mak
744 echo "/* Automatically generated by configure - do not modify */" > $config_h
745
746 echo "prefix=$prefix" >> $config_mak
747 echo "bindir=\${prefix}$binsuffix" >> $config_mak
748 echo "mandir=\${prefix}$mansuffix" >> $config_mak
749 echo "datadir=\${prefix}$datasuffix" >> $config_mak
750 echo "docdir=\${prefix}$docsuffix" >> $config_mak
751 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
752 echo "MAKE=$make" >> $config_mak
753 echo "INSTALL=$install" >> $config_mak
754 echo "CC=$cc" >> $config_mak
755 echo "HOST_CC=$host_cc" >> $config_mak
756 echo "AR=$ar" >> $config_mak
757 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
758 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
759 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
760 echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
761 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
762 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
763 echo "CFLAGS=$CFLAGS" >> $config_mak
764 echo "LDFLAGS=$LDFLAGS" >> $config_mak
765 echo "EXESUF=$EXESUF" >> $config_mak
766 echo "AIOLIBS=$AIOLIBS" >> $config_mak
767 if test "$cpu" = "i386" ; then
768 echo "ARCH=i386" >> $config_mak
769 echo "#define HOST_I386 1" >> $config_h
770 elif test "$cpu" = "x86_64" ; then
771 echo "ARCH=x86_64" >> $config_mak
772 echo "#define HOST_X86_64 1" >> $config_h
773 elif test "$cpu" = "armv4b" ; then
774 echo "ARCH=arm" >> $config_mak
775 echo "#define HOST_ARM 1" >> $config_h
776 elif test "$cpu" = "armv4l" ; then
777 echo "ARCH=arm" >> $config_mak
778 echo "#define HOST_ARM 1" >> $config_h
779 elif test "$cpu" = "powerpc" ; then
780 echo "ARCH=ppc" >> $config_mak
781 echo "#define HOST_PPC 1" >> $config_h
782 elif test "$cpu" = "mips" ; then
783 echo "ARCH=mips" >> $config_mak
784 echo "#define HOST_MIPS 1" >> $config_h
785 elif test "$cpu" = "mips64" ; then
786 echo "ARCH=mips64" >> $config_mak
787 echo "#define HOST_MIPS64 1" >> $config_h
788 elif test "$cpu" = "cris" ; then
789 echo "ARCH=cris" >> $config_mak
790 echo "#define HOST_CRIS 1" >> $config_h
791 elif test "$cpu" = "s390" ; then
792 echo "ARCH=s390" >> $config_mak
793 echo "#define HOST_S390 1" >> $config_h
794 elif test "$cpu" = "alpha" ; then
795 echo "ARCH=alpha" >> $config_mak
796 echo "#define HOST_ALPHA 1" >> $config_h
797 elif test "$cpu" = "sparc" ; then
798 echo "ARCH=sparc" >> $config_mak
799 echo "#define HOST_SPARC 1" >> $config_h
800 elif test "$cpu" = "sparc64" ; then
801 echo "ARCH=sparc64" >> $config_mak
802 echo "#define HOST_SPARC64 1" >> $config_h
803 elif test "$cpu" = "ia64" ; then
804 echo "ARCH=ia64" >> $config_mak
805 echo "#define HOST_IA64 1" >> $config_h
806 elif test "$cpu" = "m68k" ; then
807 echo "ARCH=m68k" >> $config_mak
808 echo "#define HOST_M68K 1" >> $config_h
809 else
810 echo "Unsupported CPU = $cpu"
811 exit 1
812 fi
813 if test "$bigendian" = "yes" ; then
814 echo "WORDS_BIGENDIAN=yes" >> $config_mak
815 echo "#define WORDS_BIGENDIAN 1" >> $config_h
816 fi
817 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
818 if test "$mingw32" = "yes" ; then
819 echo "CONFIG_WIN32=yes" >> $config_mak
820 echo "#define CONFIG_WIN32 1" >> $config_h
821 else
822 cat > $TMPC << EOF
823 #include <byteswap.h>
824 int main(void) { return bswap_32(0); }
825 EOF
826 if $cc -o $TMPE $TMPC 2> /dev/null ; then
827 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
828 fi
829 fi
830 if test "$darwin" = "yes" ; then
831 echo "CONFIG_DARWIN=yes" >> $config_mak
832 echo "#define CONFIG_DARWIN 1" >> $config_h
833 fi
834 if test "$solaris" = "yes" ; then
835 echo "CONFIG_SOLARIS=yes" >> $config_mak
836 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
837 if test "$needs_libsunmath" = "yes" ; then
838 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
839 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
840 fi
841 fi
842 if test -n "$sparc_cpu"; then
843 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
844 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
845 fi
846 if test "$gdbstub" = "yes" ; then
847 echo "CONFIG_GDBSTUB=yes" >> $config_mak
848 echo "#define CONFIG_GDBSTUB 1" >> $config_h
849 fi
850 if test "$gprof" = "yes" ; then
851 echo "TARGET_GPROF=yes" >> $config_mak
852 echo "#define HAVE_GPROF 1" >> $config_h
853 fi
854 if test "$static" = "yes" ; then
855 echo "CONFIG_STATIC=yes" >> $config_mak
856 echo "#define CONFIG_STATIC 1" >> $config_h
857 fi
858 if test $profiler = "yes" ; then
859 echo "#define CONFIG_PROFILER 1" >> $config_h
860 fi
861 if test "$slirp" = "yes" ; then
862 echo "CONFIG_SLIRP=yes" >> $config_mak
863 echo "#define CONFIG_SLIRP 1" >> $config_h
864 fi
865 if test "$adlib" = "yes" ; then
866 echo "CONFIG_ADLIB=yes" >> $config_mak
867 echo "#define CONFIG_ADLIB 1" >> $config_h
868 fi
869 if test "$oss" = "yes" ; then
870 echo "CONFIG_OSS=yes" >> $config_mak
871 echo "#define CONFIG_OSS 1" >> $config_h
872 fi
873 if test "$coreaudio" = "yes" ; then
874 echo "CONFIG_COREAUDIO=yes" >> $config_mak
875 echo "#define CONFIG_COREAUDIO 1" >> $config_h
876 fi
877 if test "$alsa" = "yes" ; then
878 echo "CONFIG_ALSA=yes" >> $config_mak
879 echo "#define CONFIG_ALSA 1" >> $config_h
880 fi
881 if test "$dsound" = "yes" ; then
882 echo "CONFIG_DSOUND=yes" >> $config_mak
883 echo "#define CONFIG_DSOUND 1" >> $config_h
884 fi
885 if test "$fmod" = "yes" ; then
886 echo "CONFIG_FMOD=yes" >> $config_mak
887 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
888 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
889 echo "#define CONFIG_FMOD 1" >> $config_h
890 fi
891 if test "$vnc_tls" = "yes" ; then
892 echo "CONFIG_VNC_TLS=yes" >> $config_mak
893 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
894 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
895 echo "#define CONFIG_VNC_TLS 1" >> $config_h
896 fi
897 qemu_version=`head $source_path/VERSION`
898 echo "VERSION=$qemu_version" >>$config_mak
899 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
900
901 echo "SRC_PATH=$source_path" >> $config_mak
902 if [ "$source_path_used" = "yes" ]; then
903 echo "VPATH=$source_path" >> $config_mak
904 fi
905 echo "TARGET_DIRS=$target_list" >> $config_mak
906 if [ "$build_docs" = "yes" ] ; then
907 echo "BUILD_DOCS=yes" >> $config_mak
908 fi
909
910 # XXX: suppress that
911 if [ "$bsd" = "yes" ] ; then
912 echo "#define O_LARGEFILE 0" >> $config_h
913 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
914 echo "#define _BSD 1" >> $config_h
915 fi
916
917 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
918
919 tools=
920 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
921 tools="qemu-img\$(EXESUF) $tools"
922 fi
923 echo "TOOLS=$tools" >> $config_mak
924
925 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
926
927 for target in $target_list; do
928 target_dir="$target"
929 config_mak=$target_dir/config.mak
930 config_h=$target_dir/config.h
931 target_cpu=`echo $target | cut -d '-' -f 1`
932 target_bigendian="no"
933 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
934 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
935 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
936 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
937 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
938 [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
939 [ "$target_cpu" = "mips" ] && target_bigendian=yes
940 [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
941 [ "$target_cpu" = "mips64" ] && target_bigendian=yes
942 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
943 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
944 target_softmmu="no"
945 target_user_only="no"
946 target_linux_user="no"
947 target_darwin_user="no"
948 case "$target" in
949 ${target_cpu}-softmmu)
950 target_softmmu="yes"
951 ;;
952 ${target_cpu}-linux-user)
953 target_user_only="yes"
954 target_linux_user="yes"
955 ;;
956 ${target_cpu}-darwin-user)
957 target_user_only="yes"
958 target_darwin_user="yes"
959 ;;
960 *)
961 echo "ERROR: Target '$target' not recognised"
962 exit 1
963 ;;
964 esac
965
966 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
967 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
968 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
969 echo "To build QEMU without graphical output configure with --disable-gfx-check"
970 echo "Note that this will disable all output from the virtual graphics card."
971 exit 1;
972 fi
973
974 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
975
976 test -f $config_h && mv $config_h ${config_h}~
977
978 mkdir -p $target_dir
979 mkdir -p $target_dir/fpu
980 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
981 mkdir -p $target_dir/nwfpe
982 fi
983 if test "$target_user_only" = "no" ; then
984 mkdir -p $target_dir/slirp
985 fi
986
987 #
988 # don't use ln -sf as not all "ln -sf" over write the file/link
989 #
990 rm -f $target_dir/Makefile
991 ln -s $source_path/Makefile.target $target_dir/Makefile
992
993
994 echo "# Automatically generated by configure - do not modify" > $config_mak
995 echo "/* Automatically generated by configure - do not modify */" > $config_h
996
997
998 echo "include ../config-host.mak" >> $config_mak
999 echo "#include \"../config-host.h\"" >> $config_h
1000
1001 bflt="no"
1002 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1003 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1004
1005 if test "$target_cpu" = "i386" ; then
1006 echo "TARGET_ARCH=i386" >> $config_mak
1007 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1008 echo "#define TARGET_I386 1" >> $config_h
1009 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1010 echo "#define USE_KQEMU 1" >> $config_h
1011 fi
1012 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1013 echo "TARGET_ARCH=arm" >> $config_mak
1014 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1015 echo "#define TARGET_ARM 1" >> $config_h
1016 bflt="yes"
1017 elif test "$target_cpu" = "sparc" ; then
1018 echo "TARGET_ARCH=sparc" >> $config_mak
1019 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1020 echo "#define TARGET_SPARC 1" >> $config_h
1021 elif test "$target_cpu" = "sparc64" ; then
1022 echo "TARGET_ARCH=sparc64" >> $config_mak
1023 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1024 echo "#define TARGET_SPARC 1" >> $config_h
1025 echo "#define TARGET_SPARC64 1" >> $config_h
1026 elif test "$target_cpu" = "ppc" ; then
1027 echo "TARGET_ARCH=ppc" >> $config_mak
1028 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1029 echo "#define TARGET_PPC 1" >> $config_h
1030 elif test "$target_cpu" = "ppc64" ; then
1031 echo "TARGET_ARCH=ppc64" >> $config_mak
1032 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1033 echo "#define TARGET_PPC 1" >> $config_h
1034 echo "#define TARGET_PPC64 1" >> $config_h
1035 elif test "$target_cpu" = "ppcemb" ; then
1036 echo "TARGET_ARCH=ppcemb" >> $config_mak
1037 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1038 echo "#define TARGET_PPC 1" >> $config_h
1039 echo "#define TARGET_PPCEMB 1" >> $config_h
1040 elif test "$target_cpu" = "x86_64" ; then
1041 echo "TARGET_ARCH=x86_64" >> $config_mak
1042 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1043 echo "#define TARGET_I386 1" >> $config_h
1044 echo "#define TARGET_X86_64 1" >> $config_h
1045 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
1046 echo "#define USE_KQEMU 1" >> $config_h
1047 fi
1048 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1049 echo "TARGET_ARCH=mips" >> $config_mak
1050 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1051 echo "#define TARGET_MIPS 1" >> $config_h
1052 elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1053 echo "TARGET_ARCH=mipsn32" >> $config_mak
1054 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1055 echo "#define TARGET_MIPS 1" >> $config_h
1056 echo "#define TARGET_MIPSN32 1" >> $config_h
1057 elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1058 echo "TARGET_ARCH=mips64" >> $config_mak
1059 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1060 echo "#define TARGET_MIPS 1" >> $config_h
1061 echo "#define TARGET_MIPS64 1" >> $config_h
1062 elif test "$target_cpu" = "cris" ; then
1063 echo "TARGET_ARCH=cris" >> $config_mak
1064 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1065 echo "#define TARGET_CRIS 1" >> $config_h
1066 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1067 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1068 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1069 echo "TARGET_ARCH=sh4" >> $config_mak
1070 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1071 echo "#define TARGET_SH4 1" >> $config_h
1072 bflt="yes"
1073 elif test "$target_cpu" = "m68k" ; then
1074 echo "TARGET_ARCH=m68k" >> $config_mak
1075 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1076 echo "#define TARGET_M68K 1" >> $config_h
1077 bflt="yes"
1078 elif test "$target_cpu" = "alpha" ; then
1079 echo "TARGET_ARCH=alpha" >> $config_mak
1080 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1081 echo "#define TARGET_ALPHA 1" >> $config_h
1082 else
1083 echo "Unsupported target CPU"
1084 exit 1
1085 fi
1086 if test "$target_bigendian" = "yes" ; then
1087 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1088 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1089 fi
1090 if test "$target_softmmu" = "yes" ; then
1091 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1092 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1093 fi
1094 if test "$target_user_only" = "yes" ; then
1095 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1096 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1097 fi
1098 if test "$target_linux_user" = "yes" ; then
1099 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1100 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1101 fi
1102 if test "$target_darwin_user" = "yes" ; then
1103 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1104 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1105 fi
1106
1107 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "m68k" -o "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" -o "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" -o "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el"; then
1108 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1109 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1110 fi
1111 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1112 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1113 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1114 fi
1115 # sdl defines
1116
1117 if test "$target_user_only" = "no"; then
1118 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1119 sdl1=$sdl_static
1120 else
1121 sdl1=$sdl
1122 fi
1123 if test "$sdl1" = "yes" ; then
1124 echo "#define CONFIG_SDL 1" >> $config_h
1125 echo "CONFIG_SDL=yes" >> $config_mak
1126 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1127 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1128 else
1129 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1130 fi
1131 if [ "${aa}" = "yes" ] ; then
1132 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1133 else
1134 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1135 fi
1136 fi
1137 fi
1138
1139 if test "$cocoa" = "yes" ; then
1140 echo "#define CONFIG_COCOA 1" >> $config_h
1141 echo "CONFIG_COCOA=yes" >> $config_mak
1142 fi
1143
1144 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1145
1146 done # for target in $targets
1147
1148 # build tree in object directory if source path is different from current one
1149 if test "$source_path_used" = "yes" ; then
1150 DIRS="tests tests/cris"
1151 FILES="Makefile tests/Makefile"
1152 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1153 for dir in $DIRS ; do
1154 mkdir -p $dir
1155 done
1156 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1157 for f in $FILES ; do
1158 rm -f $f
1159 ln -s $source_path/$f $f
1160 done
1161 fi
1162
1163 rm -f $TMPO $TMPC $TMPE $TMPS