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