Statistics
| Branch: | Revision:

root / configure @ 724db118

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