Statistics
| Branch: | Revision:

root / configure @ 85aa5189

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