]> git.proxmox.com Git - mirror_qemu.git/blob - configure
Add -lpthread flag.
[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.6 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 # Some Linux architectures (e.g. s390) don't imply -lpthread automatically.
316 AIOLIBS="-lrt -lpthread"
317 fi
318
319 # default flags for all hosts
320 CFLAGS="$CFLAGS -Wall -O2 -g -fno-strict-aliasing"
321 LDFLAGS="$LDFLAGS -g"
322
323 #
324 # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right
325 # ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
326 #
327 case $cpu in
328 sparc) if test -z "$sparc_cpu" ; then
329 ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__"
330 ARCH_LDFLAGS="-m32"
331 else
332 ARCH_CFLAGS="${SP_CFLAGS}"
333 ARCH_LDFLAGS="${SP_LDFLAGS}"
334 fi
335 ;;
336 sparc64) if test -z "$sparc_cpu" ; then
337 ARCH_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_v9__"
338 ARCH_LDFLAGS="-m64"
339 else
340 ARCH_CFLAGS="${SP_CFLAGS}"
341 ARCH_LDFLAGS="${SP_LDFLAGS}"
342 fi
343 ;;
344 esac
345
346 if [ "$solaris" = "yes" -a "$cpu" = "x86_64" ] ; then
347 CFLAGS="${CFLAGS} -m64"
348 OS_CFLAGS="${OS_CFLAGS} -m64"
349 fi
350
351 if [ "$solaris" = "yes" -a "$cpu" = "i386" ] ; then
352 CFLAGS="${CFLAGS} -m32"
353 OS_CFLAGS="${OS_CFLAGS} -m32"
354 fi
355
356 if test x"$show_help" = x"yes" ; then
357 cat << EOF
358
359 Usage: configure [options]
360 Options: [defaults in brackets after descriptions]
361
362 EOF
363 echo "Standard options:"
364 echo " --help print this message"
365 echo " --prefix=PREFIX install in PREFIX [$prefix]"
366 echo " --interp-prefix=PREFIX where to find shared libraries, etc."
367 echo " use %M for cpu name [$interp_prefix]"
368 echo " --target-list=LIST set target list [$target_list]"
369 echo ""
370 echo "kqemu kernel acceleration support:"
371 echo " --disable-kqemu disable kqemu support"
372 echo ""
373 echo "Advanced options (experts only):"
374 echo " --source-path=PATH path of source code [$source_path]"
375 echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
376 echo " --cc=CC use C compiler CC [$cc]"
377 echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
378 echo " --make=MAKE use specified make [$make]"
379 echo " --install=INSTALL use specified install [$install]"
380 echo " --static enable static build [$static]"
381 echo " --disable-sdl disable SDL"
382 echo " --enable-cocoa enable COCOA (Mac OS X only)"
383 echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
384 echo " --enable-adlib enable Adlib emulation"
385 echo " --enable-coreaudio enable Coreaudio audio driver"
386 echo " --enable-alsa enable ALSA audio driver"
387 echo " --enable-fmod enable FMOD audio driver"
388 echo " --enable-dsound enable DirectSound audio driver"
389 echo " --disable-vnc-tls disable TLS encryption for VNC server"
390 echo " --enable-system enable all system emulation targets"
391 echo " --disable-system disable all system emulation targets"
392 echo " --enable-linux-user enable all linux usermode emulation targets"
393 echo " --disable-linux-user disable all linux usermode emulation targets"
394 echo " --enable-darwin-user enable all darwin usermode emulation targets"
395 echo " --disable-darwin-user disable all darwin usermode emulation targets"
396 echo " --fmod-lib path to FMOD library"
397 echo " --fmod-inc path to FMOD includes"
398 echo " --enable-uname-release=R Return R for uname -r in usermode emulation"
399 echo " --sparc_cpu=V Build qemu for Sparc architecture v7, v8, v8plus, v8plusa, v9"
400 echo ""
401 echo "NOTE: The object files are built at the place where configure is launched"
402 exit 1
403 fi
404
405 cc="${cross_prefix}${cc}"
406 ar="${cross_prefix}${ar}"
407 strip="${cross_prefix}${strip}"
408
409 # check that the C compiler works.
410 cat > $TMPC <<EOF
411 int main(void) {}
412 EOF
413
414 if $cc -c -o $TMPO $TMPC 2> /dev/null ; then
415 : C compiler works ok
416 else
417 echo "ERROR: \"$cc\" either does not exist or does not work"
418 exit 1
419 fi
420
421 if test "$mingw32" = "yes" ; then
422 linux="no"
423 EXESUF=".exe"
424 oss="no"
425 fi
426
427 # Check for gcc4, error if pre-gcc4
428 if test "$check_gcc" = "yes" ; then
429 cat > $TMPC <<EOF
430 #if __GNUC__ < 4
431 #error gcc3
432 #endif
433 int main(){return 0;}
434 EOF
435 if "$cc" -o $TMPE $TMPC 2> /dev/null ; then
436 echo "WARNING: \"$cc\" looks like gcc 4.x"
437 found_compat_cc="no"
438 if test "$gcc3_search" = "yes" ; then
439 echo "Looking for gcc 3.x"
440 for compat_cc in $gcc3_list ; do
441 if "$cross_prefix$compat_cc" --version 2> /dev/null | fgrep '(GCC) 3.' > /dev/null 2>&1 ; then
442 echo "Found \"$compat_cc\""
443 cc="$cross_prefix$compat_cc"
444 found_compat_cc="yes"
445 break
446 fi
447 done
448 if test "$found_compat_cc" = "no" ; then
449 echo "gcc 3.x not found!"
450 fi
451 fi
452 if test "$found_compat_cc" = "no" ; then
453 echo "QEMU is known to have problems when compiled with gcc 4.x"
454 echo "It is recommended that you use gcc 3.x to build QEMU"
455 echo "To use this compiler anyway, configure with --disable-gcc-check"
456 exit 1;
457 fi
458 fi
459 fi
460
461 #
462 # Solaris specific configure tool chain decisions
463 #
464 if test "$solaris" = "yes" ; then
465 #
466 # gcc for solaris 10/fcs in /usr/sfw/bin doesn't compile qemu correctly
467 # override the check with --disable-gcc-check
468 #
469 if test "$solarisrev" -eq 10 -a "$check_gcc" = "yes" ; then
470 solgcc=`which $cc`
471 if test "$solgcc" = "/usr/sfw/bin/gcc" ; then
472 echo "Solaris 10/FCS gcc in /usr/sfw/bin will not compiled qemu correctly."
473 echo "please get gcc-3.4.3 or later, from www.blastwave.org using pkg-get -i gcc3"
474 echo "or get the latest patch from SunSolve for gcc"
475 exit 1
476 fi
477 fi
478 solinst=`which $install 2> /dev/null | /usr/bin/grep -v "no $install in"`
479 if test -z "$solinst" ; then
480 echo "Solaris install program not found. Use --install=/usr/ucb/install or"
481 echo "install fileutils from www.blastwave.org using pkg-get -i fileutils"
482 echo "to get ginstall which is used by default (which lives in /opt/csw/bin)"
483 exit 1
484 fi
485 if test "$solinst" = "/usr/sbin/install" ; then
486 echo "Error: Solaris /usr/sbin/install is not an appropriate install program."
487 echo "try ginstall from the GNU fileutils available from www.blastwave.org"
488 echo "using pkg-get -i fileutils, or use --install=/usr/ucb/install"
489 exit 1
490 fi
491 sol_ar=`which ar 2> /dev/null | /usr/bin/grep -v "no ar in"`
492 if test -z "$sol_ar" ; then
493 echo "Error: No path includes ar"
494 if test -f /usr/ccs/bin/ar ; then
495 echo "Add /usr/ccs/bin to your path and rerun configure"
496 fi
497 exit 1
498 fi
499 fi
500
501
502 if test -z "$target_list" ; then
503 # these targets are portable
504 if [ "$softmmu" = "yes" ] ; then
505 target_list="i386-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu arm-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu m68k-softmmu sh4-softmmu cris-softmmu"
506 fi
507 # the following are Linux specific
508 if [ "$linux_user" = "yes" ] ; then
509 target_list="i386-linux-user arm-linux-user armeb-linux-user sparc-linux-user sparc64-linux-user sparc32plus-linux-user mips-linux-user mipsel-linux-user m68k-linux-user alpha-linux-user sh4-linux-user ppc-linux-user ppcemb-linux-user ppc64-linux-user ppc64abi32-linux-user x86_64-linux-user cris-linux-user $target_list"
510 fi
511 # the following are Darwin specific
512 if [ "$darwin_user" = "yes" ] ; then
513 target_list="i386-darwin-user ppc-darwin-user $target_list"
514 fi
515 else
516 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
517 fi
518 if test -z "$target_list" ; then
519 echo "No targets enabled"
520 exit 1
521 fi
522
523 if test -z "$cross_prefix" ; then
524
525 # ---
526 # big/little endian test
527 cat > $TMPC << EOF
528 #include <inttypes.h>
529 int main(int argc, char ** argv){
530 volatile uint32_t i=0x01234567;
531 return (*((uint8_t*)(&i))) == 0x67;
532 }
533 EOF
534
535 if $cc -o $TMPE $TMPC 2> /dev/null ; then
536 $TMPE && bigendian="yes"
537 else
538 echo big/little test failed
539 fi
540
541 else
542
543 # if cross compiling, cannot launch a program, so make a static guess
544 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
545 bigendian="yes"
546 fi
547
548 fi
549
550 # host long bits test
551 hostlongbits="32"
552 if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
553 hostlongbits="64"
554 fi
555
556 # check gcc options support
557 cat > $TMPC <<EOF
558 int main(void) {
559 }
560 EOF
561
562 ##########################################
563 # SDL probe
564
565 sdl_too_old=no
566
567 if test -z "$sdl" ; then
568 sdl_config="sdl-config"
569 sdl=no
570 sdl_static=no
571
572 if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
573 # win32 cross compilation case
574 sdl_config="i386-mingw32msvc-sdl-config"
575 sdl=yes
576 else
577 # normal SDL probe
578 cat > $TMPC << EOF
579 #include <SDL.h>
580 #undef main /* We don't want SDL to override our main() */
581 int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
582 EOF
583 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /tmp/qemu-$$-sdl-config.log ; then
584 _sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
585 if test "$_sdlversion" -lt 121 ; then
586 sdl_too_old=yes
587 else
588 if test "$cocoa" = "no" ; then
589 sdl=yes
590 fi
591 fi
592
593 # static link with sdl ?
594 if test "$sdl" = "yes" ; then
595 aa="no"
596 `$sdl_config --static-libs 2>/dev/null | grep \\\-laa > /dev/null` && aa="yes"
597 sdl_static_libs=`$sdl_config --static-libs 2>/dev/null`
598 if [ "$aa" = "yes" ] ; then
599 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
600 fi
601
602 if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
603 sdl_static=yes
604 fi
605 fi # static link
606 fi # sdl compile test
607 fi # cross compilation
608 else
609 # Make sure to disable cocoa if sdl was set
610 if test "$sdl" = "yes" ; then
611 cocoa="no"
612 coreaudio="no"
613 fi
614 fi # -z $sdl
615
616 ##########################################
617 # VNC TLS detection
618 if test "$vnc_tls" = "yes" ; then
619 `pkg-config gnutls` || vnc_tls="no"
620 fi
621 if test "$vnc_tls" = "yes" ; then
622 vnc_tls_cflags=`pkg-config --cflags gnutls`
623 vnc_tls_libs=`pkg-config --libs gnutls`
624 fi
625
626 ##########################################
627 # alsa sound support libraries
628
629 if test "$alsa" = "yes" ; then
630 cat > $TMPC << EOF
631 #include <alsa/asoundlib.h>
632 int main(void) { snd_pcm_t **handle; return snd_pcm_close(*handle); }
633 EOF
634 if $cc -o $TMPE $TMPC -lasound 2> /dev/null ; then
635 :
636 else
637 echo
638 echo "Error: Could not find alsa"
639 echo "Make sure to have the alsa libs and headers installed."
640 echo
641 exit 1
642 fi
643 fi
644
645 # Check if tools are available to build documentation.
646 if [ -x "`which texi2html 2>/dev/null`" ] && \
647 [ -x "`which pod2man 2>/dev/null`" ]; then
648 build_docs="yes"
649 fi
650
651 if test "$mingw32" = "yes" ; then
652 if test -z "$prefix" ; then
653 prefix="/c/Program Files/Qemu"
654 fi
655 mansuffix=""
656 datasuffix=""
657 docsuffix=""
658 binsuffix=""
659 else
660 if test -z "$prefix" ; then
661 prefix="/usr/local"
662 fi
663 mansuffix="/share/man"
664 datasuffix="/share/qemu"
665 docsuffix="/share/doc/qemu"
666 binsuffix="/bin"
667 fi
668
669 echo "Install prefix $prefix"
670 echo "BIOS directory $prefix$datasuffix"
671 echo "binary directory $prefix$binsuffix"
672 if test "$mingw32" = "no" ; then
673 echo "Manual directory $prefix$mansuffix"
674 echo "ELF interp prefix $interp_prefix"
675 fi
676 echo "Source path $source_path"
677 echo "C compiler $cc"
678 echo "Host C compiler $host_cc"
679 echo "make $make"
680 echo "install $install"
681 echo "host CPU $cpu"
682 echo "host big endian $bigendian"
683 echo "target list $target_list"
684 echo "gprof enabled $gprof"
685 echo "profiler $profiler"
686 echo "static build $static"
687 if test "$darwin" = "yes" ; then
688 echo "Cocoa support $cocoa"
689 fi
690 echo "SDL support $sdl"
691 if test "$sdl" != "no" ; then
692 echo "SDL static link $sdl_static"
693 fi
694 echo "mingw32 support $mingw32"
695 echo "Adlib support $adlib"
696 echo "CoreAudio support $coreaudio"
697 echo "ALSA support $alsa"
698 echo "DSound support $dsound"
699 if test "$fmod" = "yes"; then
700 if test -z $fmod_lib || test -z $fmod_inc; then
701 echo
702 echo "Error: You must specify path to FMOD library and headers"
703 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
704 echo
705 exit 1
706 fi
707 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
708 else
709 fmod_support=""
710 fi
711 echo "FMOD support $fmod $fmod_support"
712 echo "OSS support $oss"
713 echo "VNC TLS support $vnc_tls"
714 if test "$vnc_tls" = "yes" ; then
715 echo " TLS CFLAGS $vnc_tls_cflags"
716 echo " TLS LIBS $vnc_tls_libs"
717 fi
718 if test -n "$sparc_cpu"; then
719 echo "Target Sparc Arch $sparc_cpu"
720 fi
721 echo "kqemu support $kqemu"
722 echo "Documentation $build_docs"
723 [ ! -z "$uname_release" ] && \
724 echo "uname -r $uname_release"
725
726 if test $sdl_too_old = "yes"; then
727 echo "-> Your SDL version is too old - please upgrade to have SDL support"
728 fi
729 if [ -s /tmp/qemu-$$-sdl-config.log ]; then
730 echo "The error log from compiling the libSDL test is: "
731 cat /tmp/qemu-$$-sdl-config.log
732 fi
733 rm -f /tmp/qemu-$$-sdl-config.log
734 #if test "$sdl_static" = "no"; then
735 # echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
736 #fi
737 config_mak="config-host.mak"
738 config_h="config-host.h"
739
740 #echo "Creating $config_mak and $config_h"
741
742 test -f $config_h && mv $config_h ${config_h}~
743
744 echo "# Automatically generated by configure - do not modify" > $config_mak
745 echo "# Configured with: $0 $@" >> $config_mak
746 echo "/* Automatically generated by configure - do not modify */" > $config_h
747
748 echo "prefix=$prefix" >> $config_mak
749 echo "bindir=\${prefix}$binsuffix" >> $config_mak
750 echo "mandir=\${prefix}$mansuffix" >> $config_mak
751 echo "datadir=\${prefix}$datasuffix" >> $config_mak
752 echo "docdir=\${prefix}$docsuffix" >> $config_mak
753 echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h
754 echo "MAKE=$make" >> $config_mak
755 echo "INSTALL=$install" >> $config_mak
756 echo "CC=$cc" >> $config_mak
757 echo "HOST_CC=$host_cc" >> $config_mak
758 echo "AR=$ar" >> $config_mak
759 echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
760 echo "OS_CFLAGS=$OS_CFLAGS" >> $config_mak
761 echo "OS_LDFLAGS=$OS_LDFLAGS" >> $config_mak
762 echo "VL_OS_LDFLAGS=$VL_OS_LDFLAGS" >> $config_mak
763 echo "ARCH_CFLAGS=$ARCH_CFLAGS" >> $config_mak
764 echo "ARCH_LDFLAGS=$ARCH_LDFLAGS" >> $config_mak
765 echo "CFLAGS=$CFLAGS" >> $config_mak
766 echo "LDFLAGS=$LDFLAGS" >> $config_mak
767 echo "EXESUF=$EXESUF" >> $config_mak
768 echo "AIOLIBS=$AIOLIBS" >> $config_mak
769 if test "$cpu" = "i386" ; then
770 echo "ARCH=i386" >> $config_mak
771 echo "#define HOST_I386 1" >> $config_h
772 elif test "$cpu" = "x86_64" ; then
773 echo "ARCH=x86_64" >> $config_mak
774 echo "#define HOST_X86_64 1" >> $config_h
775 elif test "$cpu" = "armv4b" ; then
776 echo "ARCH=arm" >> $config_mak
777 echo "#define HOST_ARM 1" >> $config_h
778 elif test "$cpu" = "armv4l" ; then
779 echo "ARCH=arm" >> $config_mak
780 echo "#define HOST_ARM 1" >> $config_h
781 elif test "$cpu" = "powerpc" ; then
782 echo "ARCH=ppc" >> $config_mak
783 echo "#define HOST_PPC 1" >> $config_h
784 elif test "$cpu" = "mips" ; then
785 echo "ARCH=mips" >> $config_mak
786 echo "#define HOST_MIPS 1" >> $config_h
787 elif test "$cpu" = "mips64" ; then
788 echo "ARCH=mips64" >> $config_mak
789 echo "#define HOST_MIPS64 1" >> $config_h
790 elif test "$cpu" = "cris" ; then
791 echo "ARCH=cris" >> $config_mak
792 echo "#define HOST_CRIS 1" >> $config_h
793 elif test "$cpu" = "s390" ; then
794 echo "ARCH=s390" >> $config_mak
795 echo "#define HOST_S390 1" >> $config_h
796 elif test "$cpu" = "alpha" ; then
797 echo "ARCH=alpha" >> $config_mak
798 echo "#define HOST_ALPHA 1" >> $config_h
799 elif test "$cpu" = "sparc" ; then
800 echo "ARCH=sparc" >> $config_mak
801 echo "#define HOST_SPARC 1" >> $config_h
802 elif test "$cpu" = "sparc64" ; then
803 echo "ARCH=sparc64" >> $config_mak
804 echo "#define HOST_SPARC64 1" >> $config_h
805 elif test "$cpu" = "ia64" ; then
806 echo "ARCH=ia64" >> $config_mak
807 echo "#define HOST_IA64 1" >> $config_h
808 elif test "$cpu" = "m68k" ; then
809 echo "ARCH=m68k" >> $config_mak
810 echo "#define HOST_M68K 1" >> $config_h
811 else
812 echo "Unsupported CPU = $cpu"
813 exit 1
814 fi
815 if test "$bigendian" = "yes" ; then
816 echo "WORDS_BIGENDIAN=yes" >> $config_mak
817 echo "#define WORDS_BIGENDIAN 1" >> $config_h
818 fi
819 echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
820 if test "$mingw32" = "yes" ; then
821 echo "CONFIG_WIN32=yes" >> $config_mak
822 echo "#define CONFIG_WIN32 1" >> $config_h
823 else
824 cat > $TMPC << EOF
825 #include <byteswap.h>
826 int main(void) { return bswap_32(0); }
827 EOF
828 if $cc -o $TMPE $TMPC 2> /dev/null ; then
829 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
830 fi
831 fi
832 if test "$darwin" = "yes" ; then
833 echo "CONFIG_DARWIN=yes" >> $config_mak
834 echo "#define CONFIG_DARWIN 1" >> $config_h
835 fi
836 if test "$solaris" = "yes" ; then
837 echo "CONFIG_SOLARIS=yes" >> $config_mak
838 echo "#define HOST_SOLARIS $solarisrev" >> $config_h
839 if test "$needs_libsunmath" = "yes" ; then
840 echo "NEEDS_LIBSUNMATH=yes" >> $config_mak
841 echo "#define NEEDS_LIBSUNMATH 1" >> $config_h
842 fi
843 fi
844 if test -n "$sparc_cpu"; then
845 echo "CONFIG__sparc_${sparc_cpu}__=yes" >> $config_mak
846 echo "#define __sparc_${sparc_cpu}__ 1" >> $config_h
847 fi
848 if test "$gdbstub" = "yes" ; then
849 echo "CONFIG_GDBSTUB=yes" >> $config_mak
850 echo "#define CONFIG_GDBSTUB 1" >> $config_h
851 fi
852 if test "$gprof" = "yes" ; then
853 echo "TARGET_GPROF=yes" >> $config_mak
854 echo "#define HAVE_GPROF 1" >> $config_h
855 fi
856 if test "$static" = "yes" ; then
857 echo "CONFIG_STATIC=yes" >> $config_mak
858 echo "#define CONFIG_STATIC 1" >> $config_h
859 fi
860 if test $profiler = "yes" ; then
861 echo "#define CONFIG_PROFILER 1" >> $config_h
862 fi
863 if test "$slirp" = "yes" ; then
864 echo "CONFIG_SLIRP=yes" >> $config_mak
865 echo "#define CONFIG_SLIRP 1" >> $config_h
866 fi
867 if test "$adlib" = "yes" ; then
868 echo "CONFIG_ADLIB=yes" >> $config_mak
869 echo "#define CONFIG_ADLIB 1" >> $config_h
870 fi
871 if test "$oss" = "yes" ; then
872 echo "CONFIG_OSS=yes" >> $config_mak
873 echo "#define CONFIG_OSS 1" >> $config_h
874 fi
875 if test "$coreaudio" = "yes" ; then
876 echo "CONFIG_COREAUDIO=yes" >> $config_mak
877 echo "#define CONFIG_COREAUDIO 1" >> $config_h
878 fi
879 if test "$alsa" = "yes" ; then
880 echo "CONFIG_ALSA=yes" >> $config_mak
881 echo "#define CONFIG_ALSA 1" >> $config_h
882 fi
883 if test "$dsound" = "yes" ; then
884 echo "CONFIG_DSOUND=yes" >> $config_mak
885 echo "#define CONFIG_DSOUND 1" >> $config_h
886 fi
887 if test "$fmod" = "yes" ; then
888 echo "CONFIG_FMOD=yes" >> $config_mak
889 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
890 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
891 echo "#define CONFIG_FMOD 1" >> $config_h
892 fi
893 if test "$vnc_tls" = "yes" ; then
894 echo "CONFIG_VNC_TLS=yes" >> $config_mak
895 echo "CONFIG_VNC_TLS_CFLAGS=$vnc_tls_cflags" >> $config_mak
896 echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
897 echo "#define CONFIG_VNC_TLS 1" >> $config_h
898 fi
899 qemu_version=`head $source_path/VERSION`
900 echo "VERSION=$qemu_version" >>$config_mak
901 echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
902
903 echo "SRC_PATH=$source_path" >> $config_mak
904 if [ "$source_path_used" = "yes" ]; then
905 echo "VPATH=$source_path" >> $config_mak
906 fi
907 echo "TARGET_DIRS=$target_list" >> $config_mak
908 if [ "$build_docs" = "yes" ] ; then
909 echo "BUILD_DOCS=yes" >> $config_mak
910 fi
911
912 # XXX: suppress that
913 if [ "$bsd" = "yes" ] ; then
914 echo "#define O_LARGEFILE 0" >> $config_h
915 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
916 echo "#define _BSD 1" >> $config_h
917 fi
918
919 echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
920
921 tools=
922 if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
923 tools="qemu-img\$(EXESUF) $tools"
924 fi
925 echo "TOOLS=$tools" >> $config_mak
926
927 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
928
929 for target in $target_list; do
930 target_dir="$target"
931 config_mak=$target_dir/config.mak
932 config_h=$target_dir/config.h
933 target_cpu=`echo $target | cut -d '-' -f 1`
934 target_bigendian="no"
935 [ "$target_cpu" = "armeb" ] && target_bigendian=yes
936 [ "$target_cpu" = "sparc" ] && target_bigendian=yes
937 [ "$target_cpu" = "sparc64" ] && target_bigendian=yes
938 [ "$target_cpu" = "sparc32plus" ] && target_bigendian=yes
939 [ "$target_cpu" = "ppc" ] && target_bigendian=yes
940 [ "$target_cpu" = "ppcemb" ] && target_bigendian=yes
941 [ "$target_cpu" = "ppc64" ] && target_bigendian=yes
942 [ "$target_cpu" = "ppc64abi32" ] && target_bigendian=yes
943 [ "$target_cpu" = "ppc64h" ] && target_bigendian=yes
944 [ "$target_cpu" = "mips" ] && target_bigendian=yes
945 [ "$target_cpu" = "mipsn32" ] && target_bigendian=yes
946 [ "$target_cpu" = "mips64" ] && target_bigendian=yes
947 [ "$target_cpu" = "sh4eb" ] && target_bigendian=yes
948 [ "$target_cpu" = "m68k" ] && target_bigendian=yes
949 target_softmmu="no"
950 target_user_only="no"
951 target_linux_user="no"
952 target_darwin_user="no"
953 case "$target" in
954 ${target_cpu}-softmmu)
955 target_softmmu="yes"
956 ;;
957 ${target_cpu}-linux-user)
958 target_user_only="yes"
959 target_linux_user="yes"
960 ;;
961 ${target_cpu}-darwin-user)
962 target_user_only="yes"
963 target_darwin_user="yes"
964 ;;
965 *)
966 echo "ERROR: Target '$target' not recognised"
967 exit 1
968 ;;
969 esac
970
971 if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
972 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
973 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
974 echo "To build QEMU without graphical output configure with --disable-gfx-check"
975 echo "Note that this will disable all output from the virtual graphics card."
976 exit 1;
977 fi
978
979 #echo "Creating $config_mak, $config_h and $target_dir/Makefile"
980
981 test -f $config_h && mv $config_h ${config_h}~
982
983 mkdir -p $target_dir
984 mkdir -p $target_dir/fpu
985 if test "$target" = "arm-linux-user" -o "$target" = "armeb-linux-user" ; then
986 mkdir -p $target_dir/nwfpe
987 fi
988 if test "$target_user_only" = "no" ; then
989 mkdir -p $target_dir/slirp
990 fi
991
992 #
993 # don't use ln -sf as not all "ln -sf" over write the file/link
994 #
995 rm -f $target_dir/Makefile
996 ln -s $source_path/Makefile.target $target_dir/Makefile
997
998
999 echo "# Automatically generated by configure - do not modify" > $config_mak
1000 echo "/* Automatically generated by configure - do not modify */" > $config_h
1001
1002
1003 echo "include ../config-host.mak" >> $config_mak
1004 echo "#include \"../config-host.h\"" >> $config_h
1005
1006 bflt="no"
1007 elfload32="no"
1008 interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
1009 echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
1010
1011 if test "$target_cpu" = "i386" ; then
1012 echo "TARGET_ARCH=i386" >> $config_mak
1013 echo "#define TARGET_ARCH \"i386\"" >> $config_h
1014 echo "#define TARGET_I386 1" >> $config_h
1015 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
1016 echo "#define USE_KQEMU 1" >> $config_h
1017 fi
1018 elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
1019 echo "TARGET_ARCH=arm" >> $config_mak
1020 echo "#define TARGET_ARCH \"arm\"" >> $config_h
1021 echo "#define TARGET_ARM 1" >> $config_h
1022 bflt="yes"
1023 elif test "$target_cpu" = "sparc" ; then
1024 echo "TARGET_ARCH=sparc" >> $config_mak
1025 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
1026 echo "#define TARGET_SPARC 1" >> $config_h
1027 elif test "$target_cpu" = "sparc64" ; then
1028 echo "TARGET_ARCH=sparc64" >> $config_mak
1029 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1030 echo "#define TARGET_SPARC 1" >> $config_h
1031 echo "#define TARGET_SPARC64 1" >> $config_h
1032 elfload32="yes"
1033 elif test "$target_cpu" = "sparc32plus" ; then
1034 echo "TARGET_ARCH=sparc64" >> $config_mak
1035 echo "TARGET_ABI_DIR=sparc" >> $config_mak
1036 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
1037 echo "#define TARGET_SPARC 1" >> $config_h
1038 echo "#define TARGET_SPARC64 1" >> $config_h
1039 echo "#define TARGET_ABI32 1" >> $config_h
1040 elif test "$target_cpu" = "ppc" ; then
1041 echo "TARGET_ARCH=ppc" >> $config_mak
1042 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
1043 echo "#define TARGET_PPC 1" >> $config_h
1044 elif test "$target_cpu" = "ppcemb" ; then
1045 echo "TARGET_ARCH=ppcemb" >> $config_mak
1046 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1047 echo "#define TARGET_ARCH \"ppcemb\"" >> $config_h
1048 echo "#define TARGET_PPC 1" >> $config_h
1049 echo "#define TARGET_PPCEMB 1" >> $config_h
1050 elif test "$target_cpu" = "ppc64" ; then
1051 echo "TARGET_ARCH=ppc64" >> $config_mak
1052 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1053 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1054 echo "#define TARGET_PPC 1" >> $config_h
1055 echo "#define TARGET_PPC64 1" >> $config_h
1056 elif test "$target_cpu" = "ppc64abi32" ; then
1057 echo "TARGET_ARCH=ppc64" >> $config_mak
1058 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
1059 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1060 echo "#define TARGET_PPC 1" >> $config_h
1061 echo "#define TARGET_PPC64 1" >> $config_h
1062 echo "#define TARGET_ABI32 1" >> $config_h
1063 elif test "$target_cpu" = "ppc64h" ; then
1064 echo "TARGET_ARCH=ppc64h" >> $config_mak
1065 echo "#define TARGET_ARCH \"ppc64h\"" >> $config_h
1066 echo "TARGET_ABI_DIR=ppc" >> $config_mak
1067 echo "#define TARGET_PPC 1" >> $config_h
1068 echo "#define TARGET_PPC64 1" >> $config_h
1069 echo "#define TARGET_PPC64H 1" >> $config_h
1070 elif test "$target_cpu" = "x86_64" ; then
1071 echo "TARGET_ARCH=x86_64" >> $config_mak
1072 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
1073 echo "#define TARGET_I386 1" >> $config_h
1074 echo "#define TARGET_X86_64 1" >> $config_h
1075 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
1076 echo "#define USE_KQEMU 1" >> $config_h
1077 fi
1078 elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
1079 echo "TARGET_ARCH=mips" >> $config_mak
1080 echo "#define TARGET_ARCH \"mips\"" >> $config_h
1081 echo "#define TARGET_MIPS 1" >> $config_h
1082 elif test "$target_cpu" = "mipsn32" -o "$target_cpu" = "mipsn32el" ; then
1083 echo "TARGET_ARCH=mipsn32" >> $config_mak
1084 echo "#define TARGET_ARCH \"mipsn32\"" >> $config_h
1085 echo "#define TARGET_MIPS 1" >> $config_h
1086 echo "#define TARGET_MIPSN32 1" >> $config_h
1087 elif test "$target_cpu" = "mips64" -o "$target_cpu" = "mips64el" ; then
1088 echo "TARGET_ARCH=mips64" >> $config_mak
1089 echo "#define TARGET_ARCH \"mips64\"" >> $config_h
1090 echo "#define TARGET_MIPS 1" >> $config_h
1091 echo "#define TARGET_MIPS64 1" >> $config_h
1092 elif test "$target_cpu" = "cris" ; then
1093 echo "TARGET_ARCH=cris" >> $config_mak
1094 echo "#define TARGET_ARCH \"cris\"" >> $config_h
1095 echo "#define TARGET_CRIS 1" >> $config_h
1096 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1097 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1098 elif test "$target_cpu" = "sh4" -o "$target_cpu" = "sh4eb" ; then
1099 echo "TARGET_ARCH=sh4" >> $config_mak
1100 echo "#define TARGET_ARCH \"sh4\"" >> $config_h
1101 echo "#define TARGET_SH4 1" >> $config_h
1102 bflt="yes"
1103 elif test "$target_cpu" = "m68k" ; then
1104 echo "TARGET_ARCH=m68k" >> $config_mak
1105 echo "#define TARGET_ARCH \"m68k\"" >> $config_h
1106 echo "#define TARGET_M68K 1" >> $config_h
1107 bflt="yes"
1108 elif test "$target_cpu" = "alpha" ; then
1109 echo "TARGET_ARCH=alpha" >> $config_mak
1110 echo "#define TARGET_ARCH \"alpha\"" >> $config_h
1111 echo "#define TARGET_ALPHA 1" >> $config_h
1112 else
1113 echo "Unsupported target CPU"
1114 exit 1
1115 fi
1116 if test "$target_bigendian" = "yes" ; then
1117 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
1118 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
1119 fi
1120 if test "$target_softmmu" = "yes" ; then
1121 echo "CONFIG_SOFTMMU=yes" >> $config_mak
1122 echo "#define CONFIG_SOFTMMU 1" >> $config_h
1123 fi
1124 if test "$target_user_only" = "yes" ; then
1125 echo "CONFIG_USER_ONLY=yes" >> $config_mak
1126 echo "#define CONFIG_USER_ONLY 1" >> $config_h
1127 fi
1128 if test "$target_linux_user" = "yes" ; then
1129 echo "CONFIG_LINUX_USER=yes" >> $config_mak
1130 echo "#define CONFIG_LINUX_USER 1" >> $config_h
1131 fi
1132 if test "$target_darwin_user" = "yes" ; then
1133 echo "CONFIG_DARWIN_USER=yes" >> $config_mak
1134 echo "#define CONFIG_DARWIN_USER 1" >> $config_h
1135 fi
1136
1137 if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" -o "$target_cpu" = "sparc" -o "$target_cpu" = "sparc64" -o "$target_cpu" = "sparc32plus" -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
1138 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
1139 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
1140 fi
1141 if test "$target_user_only" = "yes" -a "$bflt" = "yes"; then
1142 echo "TARGET_HAS_BFLT=yes" >> $config_mak
1143 echo "#define TARGET_HAS_BFLT 1" >> $config_h
1144 fi
1145 # 32 bit ELF loader in addition to native 64 bit loader?
1146 if test "$target_user_only" = "yes" -a "$elfload32" = "yes"; then
1147 echo "TARGET_HAS_ELFLOAD32=yes" >> $config_mak
1148 echo "#define TARGET_HAS_ELFLOAD32 1" >> $config_h
1149 fi
1150 # sdl defines
1151
1152 if test "$target_user_only" = "no"; then
1153 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1154 sdl1=$sdl_static
1155 else
1156 sdl1=$sdl
1157 fi
1158 if test "$sdl1" = "yes" ; then
1159 echo "#define CONFIG_SDL 1" >> $config_h
1160 echo "CONFIG_SDL=yes" >> $config_mak
1161 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
1162 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
1163 else
1164 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
1165 fi
1166 if [ "${aa}" = "yes" ] ; then
1167 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
1168 else
1169 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
1170 fi
1171 fi
1172 fi
1173
1174 if test "$cocoa" = "yes" ; then
1175 echo "#define CONFIG_COCOA 1" >> $config_h
1176 echo "CONFIG_COCOA=yes" >> $config_mak
1177 fi
1178
1179 test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~ $config_h
1180
1181 done # for target in $targets
1182
1183 # build tree in object directory if source path is different from current one
1184 if test "$source_path_used" = "yes" ; then
1185 DIRS="tests tests/cris"
1186 FILES="Makefile tests/Makefile"
1187 FILES="$FILES tests/cris/Makefile tests/cris/.gdbinit"
1188 for dir in $DIRS ; do
1189 mkdir -p $dir
1190 done
1191 # remove the link and recreate it, as not all "ln -sf" overwrite the link
1192 for f in $FILES ; do
1193 rm -f $f
1194 ln -s $source_path/$f $f
1195 done
1196 fi
1197
1198 rm -f $TMPO $TMPC $TMPE $TMPS