Statistics
| Branch: | Revision:

root / configure @ 4259e1a5

History | View | Annotate | Download (35.7 kB)

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