Statistics
| Branch: | Revision:

root / configure @ afc7df11

History | View | Annotate | Download (17.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 7d13299d bellard
host_cc="gcc"
26 7d13299d bellard
ar="ar"
27 7d13299d bellard
make="make"
28 7d13299d bellard
strip="strip"
29 7d13299d bellard
cpu=`uname -m`
30 5327cf48 bellard
target_list=""
31 7d13299d bellard
case "$cpu" in
32 7d13299d bellard
  i386|i486|i586|i686|i86pc|BePC)
33 97a847bc bellard
    cpu="i386"
34 7d13299d bellard
  ;;
35 808c4954 bellard
  armv4b)
36 808c4954 bellard
    cpu="armv4b"
37 808c4954 bellard
  ;;
38 7d13299d bellard
  armv4l)
39 7d13299d bellard
    cpu="armv4l"
40 7d13299d bellard
  ;;
41 7d13299d bellard
  alpha)
42 7d13299d bellard
    cpu="alpha"
43 7d13299d bellard
  ;;
44 295defa5 bellard
  "Power Macintosh"|ppc|ppc64)
45 7d13299d bellard
    cpu="powerpc"
46 7d13299d bellard
  ;;
47 7d13299d bellard
  mips)
48 7d13299d bellard
    cpu="mips"
49 7d13299d bellard
  ;;
50 fb3e5849 bellard
  s390)
51 fb3e5849 bellard
    cpu="s390"
52 fb3e5849 bellard
  ;;
53 ae228531 bellard
  sparc)
54 ae228531 bellard
    cpu="sparc"
55 ae228531 bellard
  ;;
56 ae228531 bellard
  sparc64)
57 ae228531 bellard
    cpu="sparc64"
58 ae228531 bellard
  ;;
59 a8baa8c5 bellard
  ia64)
60 a8baa8c5 bellard
    cpu="ia64"
61 a8baa8c5 bellard
  ;;
62 38e584a0 bellard
  m68k)
63 38e584a0 bellard
    cpu="m68k"
64 38e584a0 bellard
  ;;
65 bc51c5c9 bellard
  x86_64|amd64)
66 0b0babc6 bellard
    cpu="x86_64"
67 bc51c5c9 bellard
  ;;
68 7d13299d bellard
  *)
69 7d13299d bellard
    cpu="unknown"
70 7d13299d bellard
  ;;
71 7d13299d bellard
esac
72 7d13299d bellard
gprof="no"
73 7d13299d bellard
bigendian="no"
74 67b915a5 bellard
mingw32="no"
75 67b915a5 bellard
EXESUF=""
76 67b915a5 bellard
gdbstub="yes"
77 443f1376 bellard
slirp="yes"
78 fb065187 bellard
adlib="no"
79 fb065187 bellard
oss="no"
80 102a52e4 bellard
fmod="no"
81 102a52e4 bellard
fmod_lib=""
82 102a52e4 bellard
fmod_inc=""
83 5327cf48 bellard
linux="no"
84 c9ec1fe4 bellard
kqemu="no"
85 c9ec1fe4 bellard
kernel_path=""
86 7d13299d bellard
87 7d13299d bellard
# OS specific
88 7d13299d bellard
targetos=`uname -s`
89 7d13299d bellard
case $targetos in
90 67b915a5 bellard
MINGW32*)
91 67b915a5 bellard
mingw32="yes"
92 67b915a5 bellard
;;
93 7d3505c5 bellard
FreeBSD)
94 7d3505c5 bellard
bsd="yes"
95 fb065187 bellard
oss="yes"
96 7d3505c5 bellard
;;
97 7d3505c5 bellard
NetBSD)
98 7d3505c5 bellard
bsd="yes"
99 fb065187 bellard
oss="yes"
100 7d3505c5 bellard
;;
101 7d3505c5 bellard
OpenBSD)
102 7d3505c5 bellard
bsd="yes"
103 fb065187 bellard
oss="yes"
104 7d3505c5 bellard
;;
105 83fb7adf bellard
Darwin)
106 83fb7adf bellard
bsd="yes"
107 83fb7adf bellard
darwin="yes"
108 83fb7adf bellard
;;
109 fb065187 bellard
*) 
110 fb065187 bellard
oss="yes"
111 5327cf48 bellard
linux="yes"
112 c9ec1fe4 bellard
if [ "$cpu" = "i386" ] ; then
113 c9ec1fe4 bellard
    kqemu="yes"
114 c9ec1fe4 bellard
fi
115 fb065187 bellard
;;
116 7d13299d bellard
esac
117 7d13299d bellard
118 7d3505c5 bellard
if [ "$bsd" = "yes" ] ; then
119 83fb7adf bellard
  if [ ! "$darwin" = "yes" ] ; then
120 83fb7adf bellard
    make="gmake"
121 83fb7adf bellard
  fi
122 7d3505c5 bellard
fi
123 7d3505c5 bellard
124 7d13299d bellard
# find source path
125 7d13299d bellard
# XXX: we assume an absolute path is given when launching configure, 
126 7d13299d bellard
# except in './configure' case.
127 7d13299d bellard
source_path=${0%configure}
128 7d13299d bellard
source_path=${source_path%/}
129 7d13299d bellard
source_path_used="yes"
130 7d13299d bellard
if test -z "$source_path" -o "$source_path" = "." ; then
131 7d13299d bellard
    source_path=`pwd`
132 7d13299d bellard
    source_path_used="no"
133 7d13299d bellard
fi
134 7d13299d bellard
135 7d13299d bellard
for opt do
136 7d13299d bellard
  case "$opt" in
137 7d13299d bellard
  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
138 7d13299d bellard
  ;;
139 32ce6337 bellard
  --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
140 32ce6337 bellard
  ;;
141 7d13299d bellard
  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
142 7d13299d bellard
  ;;
143 7d13299d bellard
  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
144 7d13299d bellard
  ;;
145 7d13299d bellard
  --cc=*) cc=`echo $opt | cut -d '=' -f 2`
146 7d13299d bellard
  ;;
147 7d13299d bellard
  --make=*) make=`echo $opt | cut -d '=' -f 2`
148 7d13299d bellard
  ;;
149 7d13299d bellard
  --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
150 7d13299d bellard
  ;;
151 7d13299d bellard
  --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
152 7d13299d bellard
  ;;
153 7d13299d bellard
  --extra-libs=*) extralibs=${opt#--extra-libs=}
154 7d13299d bellard
  ;;
155 7d13299d bellard
  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
156 7d13299d bellard
  ;;
157 97a847bc bellard
  --target-list=*) target_list=${opt#--target-list=}
158 de83cd02 bellard
  ;;
159 7d13299d bellard
  --enable-gprof) gprof="yes"
160 7d13299d bellard
  ;;
161 43ce4dfe bellard
  --static) static="yes"
162 43ce4dfe bellard
  ;;
163 97a847bc bellard
  --disable-sdl) sdl="no"
164 97a847bc bellard
  ;;
165 102a52e4 bellard
  --enable-fmod) fmod="yes"
166 102a52e4 bellard
  ;;
167 102a52e4 bellard
  --fmod-lib=*) fmod_lib=${opt#--fmod-lib=}
168 102a52e4 bellard
  ;;
169 102a52e4 bellard
  --fmod-inc=*) fmod_inc=${opt#--fmod-inc=}
170 102a52e4 bellard
  ;;
171 67b915a5 bellard
  --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
172 67b915a5 bellard
  ;; 
173 443f1376 bellard
  --disable-slirp) slirp="no"
174 c20709aa bellard
  ;; 
175 fb065187 bellard
  --enable-adlib) adlib="yes"
176 fb065187 bellard
  ;; 
177 c9ec1fe4 bellard
  --disable-kqemu) kqemu="no"
178 c9ec1fe4 bellard
  ;; 
179 c9ec1fe4 bellard
  --kernel-path=*) kernel_path=${opt#--kernel-path=}
180 c9ec1fe4 bellard
  ;; 
181 7d13299d bellard
  esac
182 7d13299d bellard
done
183 7d13299d bellard
184 7d13299d bellard
# Checking for CFLAGS
185 7d13299d bellard
if test -z "$CFLAGS"; then
186 7d13299d bellard
    CFLAGS="-O2"
187 7d13299d bellard
fi
188 7d13299d bellard
189 7d13299d bellard
cc="${cross_prefix}${cc}"
190 7d13299d bellard
ar="${cross_prefix}${ar}"
191 7d13299d bellard
strip="${cross_prefix}${strip}"
192 7d13299d bellard
193 67b915a5 bellard
if test "$mingw32" = "yes" ; then
194 5327cf48 bellard
    linux="no"
195 67b915a5 bellard
    EXESUF=".exe"
196 67b915a5 bellard
    gdbstub="no"
197 9f059eca bellard
    oss="no"
198 824d560f bellard
    kqemu="no"
199 67b915a5 bellard
fi
200 67b915a5 bellard
201 5327cf48 bellard
if test -z "$target_list" ; then
202 5327cf48 bellard
# these targets are portable
203 a20b5524 bellard
    target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu"
204 5327cf48 bellard
# the following are Linux specific
205 5327cf48 bellard
    if [ "$linux" = "yes" ] ; then
206 a20b5524 bellard
        target_list="i386-user arm-user armeb-user sparc-user ppc-user $target_list"
207 5327cf48 bellard
    fi
208 5327cf48 bellard
fi
209 5327cf48 bellard
210 7d13299d bellard
if test -z "$cross_prefix" ; then
211 7d13299d bellard
212 7d13299d bellard
# ---
213 7d13299d bellard
# big/little endian test
214 7d13299d bellard
cat > $TMPC << EOF
215 7d13299d bellard
#include <inttypes.h>
216 7d13299d bellard
int main(int argc, char ** argv){
217 7d13299d bellard
	volatile uint32_t i=0x01234567;
218 7d13299d bellard
	return (*((uint8_t*)(&i))) == 0x67;
219 7d13299d bellard
}
220 7d13299d bellard
EOF
221 7d13299d bellard
222 7d13299d bellard
if $cc -o $TMPE $TMPC 2>/dev/null ; then
223 7d13299d bellard
$TMPE && bigendian="yes"
224 7d13299d bellard
else
225 7d13299d bellard
echo big/little test failed
226 7d13299d bellard
fi
227 7d13299d bellard
228 7d13299d bellard
else
229 7d13299d bellard
230 7d13299d bellard
# if cross compiling, cannot launch a program, so make a static guess
231 808c4954 bellard
if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
232 7d13299d bellard
    bigendian="yes"
233 7d13299d bellard
fi
234 7d13299d bellard
235 7d13299d bellard
fi
236 7d13299d bellard
237 e8cd23de bellard
# check gcc options support
238 04369ff2 bellard
cat > $TMPC <<EOF
239 04369ff2 bellard
int main(void) {
240 04369ff2 bellard
}
241 04369ff2 bellard
EOF
242 04369ff2 bellard
243 e8cd23de bellard
have_gcc3_options="no"
244 e8cd23de bellard
if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
245 e8cd23de bellard
   have_gcc3_options="yes"
246 04369ff2 bellard
fi
247 ca735206 bellard
248 11d9f695 bellard
##########################################
249 11d9f695 bellard
# SDL probe
250 11d9f695 bellard
251 11d9f695 bellard
sdl_too_old=no
252 11d9f695 bellard
253 11d9f695 bellard
if test -z "$sdl" ; then
254 11d9f695 bellard
255 a6e022ad bellard
sdl_config="sdl-config"
256 a6e022ad bellard
sdl=no
257 7c1f25b4 bellard
sdl_static=no
258 a6e022ad bellard
259 a6e022ad bellard
if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
260 a6e022ad bellard
# win32 cross compilation case
261 a6e022ad bellard
    sdl_config="i386-mingw32msvc-sdl-config"
262 a6e022ad bellard
    sdl=yes
263 a6e022ad bellard
else
264 a6e022ad bellard
# normal SDL probe
265 11d9f695 bellard
cat > $TMPC << EOF
266 11d9f695 bellard
#include <SDL.h>
267 11d9f695 bellard
#undef main /* We don't want SDL to override our main() */
268 11d9f695 bellard
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
269 11d9f695 bellard
EOF
270 11d9f695 bellard
271 a6e022ad bellard
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
272 a6e022ad bellard
_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
273 11d9f695 bellard
if test "$_sdlversion" -lt 121 ; then
274 11d9f695 bellard
sdl_too_old=yes
275 11d9f695 bellard
else
276 11d9f695 bellard
sdl=yes
277 11d9f695 bellard
fi
278 7c1f25b4 bellard
279 7c1f25b4 bellard
# static link with sdl ?
280 7c1f25b4 bellard
if test "$sdl" = "yes" ; then
281 7c1f25b4 bellard
aa="no"
282 7c1f25b4 bellard
`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
283 7c1f25b4 bellard
sdl_static_libs=`$sdl_config --static-libs`
284 7c1f25b4 bellard
if [ "$aa" = "yes" ] ; then
285 d8d8aa4e bellard
  sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
286 7c1f25b4 bellard
fi
287 7c1f25b4 bellard
288 7c1f25b4 bellard
if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
289 7c1f25b4 bellard
  sdl_static=yes
290 11d9f695 bellard
fi
291 11d9f695 bellard
292 7c1f25b4 bellard
fi # static link
293 7c1f25b4 bellard
294 7c1f25b4 bellard
fi # sdl compile test
295 7c1f25b4 bellard
296 a6e022ad bellard
fi # cross compilation
297 a6e022ad bellard
fi # -z $sdl
298 11d9f695 bellard
299 7d13299d bellard
if test x"$1" = x"-h" -o x"$1" = x"--help" ; then
300 7d13299d bellard
cat << EOF
301 7d13299d bellard
302 7d13299d bellard
Usage: configure [options]
303 7d13299d bellard
Options: [defaults in brackets after descriptions]
304 7d13299d bellard
305 7d13299d bellard
EOF
306 7d13299d bellard
echo "Standard options:"
307 7d13299d bellard
echo "  --help                   print this message"
308 7d13299d bellard
echo "  --prefix=PREFIX          install in PREFIX [$prefix]"
309 1e43adfc bellard
echo "  --interp-prefix=PREFIX   where to find shared libraries, etc."
310 1e43adfc bellard
echo "                           use %M for cpu name [$interp_prefix]"
311 97a847bc bellard
echo "  --target-list=LIST       set target list [$target_list]"
312 7d13299d bellard
echo ""
313 c9ec1fe4 bellard
echo "kqemu kernel acceleration support:"
314 c9ec1fe4 bellard
echo "  --disable-kqemu          disable kqemu build"
315 c9ec1fe4 bellard
echo "  --kernel-path=PATH       set the kernel path (configure probes it)"
316 c9ec1fe4 bellard
echo ""
317 7d13299d bellard
echo "Advanced options (experts only):"
318 7d13299d bellard
echo "  --source-path=PATH       path of source code [$source_path]"
319 7d13299d bellard
echo "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
320 7d13299d bellard
echo "  --cc=CC                  use C compiler CC [$cc]"
321 7d13299d bellard
echo "  --make=MAKE              use specified make [$make]"
322 43ce4dfe bellard
echo "  --static                 enable static build [$static]"
323 67b915a5 bellard
echo "  --enable-mingw32         enable Win32 cross compilation with mingw32"
324 102a52e4 bellard
echo "  --enable-fmod            enable FMOD audio output driver"
325 102a52e4 bellard
echo "  --fmod-lib               path to FMOD library"
326 102a52e4 bellard
echo "  --fmod-inc               path to FMOD includes"
327 7d13299d bellard
echo ""
328 7d13299d bellard
echo "NOTE: The object files are build at the place where configure is launched"
329 7d13299d bellard
exit 1
330 7d13299d bellard
fi
331 7d13299d bellard
332 11d9f695 bellard
if test "$mingw32" = "yes" ; then
333 11d9f695 bellard
if test -z "$prefix" ; then
334 11d9f695 bellard
    prefix="/c/Program Files/Qemu"
335 11d9f695 bellard
fi
336 11d9f695 bellard
mandir="$prefix"
337 7efa4387 bellard
datadir="$prefix"
338 1f50f8d1 bellard
docdir="$prefix"
339 11d9f695 bellard
bindir="$prefix"
340 11d9f695 bellard
else
341 11d9f695 bellard
if test -z "$prefix" ; then
342 11d9f695 bellard
    prefix="/usr/local"
343 11d9f695 bellard
fi
344 5a67135a bellard
mandir="$prefix/share/man"
345 7efa4387 bellard
datadir="$prefix/share/qemu"
346 1f50f8d1 bellard
docdir="$prefix/share/doc/qemu"
347 11d9f695 bellard
bindir="$prefix/bin"
348 11d9f695 bellard
fi
349 5a67135a bellard
350 c9ec1fe4 bellard
# kernel module support
351 c9ec1fe4 bellard
if test $kqemu = "yes" ; then
352 441c72ba bellard
    # test if the source code is installed
353 441c72ba bellard
    if test '!' -f "kqemu/Makefile" ; then 
354 441c72ba bellard
        kqemu="no"
355 441c72ba bellard
    fi
356 441c72ba bellard
fi
357 441c72ba bellard
  
358 441c72ba bellard
if test $kqemu = "yes" ; then
359 c9ec1fe4 bellard
# find the kernel path
360 c9ec1fe4 bellard
if test -z "$kernel_path" ; then
361 c9ec1fe4 bellard
kernel_version=`uname -r`
362 c9ec1fe4 bellard
kernel_path="/lib/modules/$kernel_version/build"
363 c9ec1fe4 bellard
if test '!' -d "$kernel_path/include" ; then 
364 c9ec1fe4 bellard
    kernel_path="/usr/src/linux"
365 c9ec1fe4 bellard
    if test '!' -d "$kernel_path/include" ; then 
366 c9ec1fe4 bellard
        echo "Could not find kernel includes in /lib/modules or /usr/src/linux - cannot build the kqemu module"
367 c9ec1fe4 bellard
        kqemu="no"
368 c9ec1fe4 bellard
    fi
369 c9ec1fe4 bellard
fi
370 c9ec1fe4 bellard
fi
371 c9ec1fe4 bellard
372 c9ec1fe4 bellard
if test $kqemu = "yes" ; then
373 c9ec1fe4 bellard
374 c9ec1fe4 bellard
# test that the kernel config is present
375 c9ec1fe4 bellard
if test '!' -f "$kernel_path/Makefile" ; then
376 c9ec1fe4 bellard
    echo "No .config file present in $kernel_path - kqemu cannot be built"
377 c9ec1fe4 bellard
    kqemu="no"
378 c9ec1fe4 bellard
fi    
379 c9ec1fe4 bellard
380 c9ec1fe4 bellard
# find build system (2.6 or legacy)
381 c9ec1fe4 bellard
kbuild26="yes"
382 c9ec1fe4 bellard
if grep -q "PATCHLEVEL = 4" $kernel_path/Makefile ; then
383 c9ec1fe4 bellard
kbuild26="no"
384 c9ec1fe4 bellard
fi
385 c9ec1fe4 bellard
386 c9ec1fe4 bellard
fi # kqemu
387 c9ec1fe4 bellard
388 c9ec1fe4 bellard
fi # kqemu
389 c9ec1fe4 bellard
390 c9ec1fe4 bellard
391 43ce4dfe bellard
echo "Install prefix    $prefix"
392 7efa4387 bellard
echo "BIOS directory    $datadir"
393 11d9f695 bellard
echo "binary directory  $bindir"
394 11d9f695 bellard
if test "$mingw32" = "no" ; then
395 11d9f695 bellard
echo "Manual directory  $mandir"
396 43ce4dfe bellard
echo "ELF interp prefix $interp_prefix"
397 11d9f695 bellard
fi
398 5a67135a bellard
echo "Source path       $source_path"
399 43ce4dfe bellard
echo "C compiler        $cc"
400 43ce4dfe bellard
echo "make              $make"
401 43ce4dfe bellard
echo "host CPU          $cpu"
402 de83cd02 bellard
echo "host big endian   $bigendian"
403 97a847bc bellard
echo "target list       $target_list"
404 43ce4dfe bellard
echo "gprof enabled     $gprof"
405 43ce4dfe bellard
echo "static build      $static"
406 97a847bc bellard
echo "SDL support       $sdl"
407 7c1f25b4 bellard
echo "SDL static link   $sdl_static"
408 67b915a5 bellard
echo "mingw32 support   $mingw32"
409 fb065187 bellard
echo "Adlib support     $adlib"
410 102a52e4 bellard
echo -n "FMOD support      $fmod"
411 102a52e4 bellard
if test $fmod = "yes"; then
412 102a52e4 bellard
    echo -n " (lib='$fmod_lib' include='$fmod_inc')"
413 102a52e4 bellard
fi
414 102a52e4 bellard
echo ""
415 c9ec1fe4 bellard
if test $kqemu = "yes" ; then
416 c9ec1fe4 bellard
echo ""
417 c9ec1fe4 bellard
echo "KQEMU module configuration:"
418 c9ec1fe4 bellard
echo "kernel sources    $kernel_path"
419 c9ec1fe4 bellard
echo -n "kbuild type       "
420 c9ec1fe4 bellard
if test $kbuild26 = "yes"; then
421 c9ec1fe4 bellard
echo "2.6"
422 c9ec1fe4 bellard
else
423 c9ec1fe4 bellard
echo "2.4"
424 c9ec1fe4 bellard
fi
425 c9ec1fe4 bellard
fi
426 67b915a5 bellard
427 97a847bc bellard
if test $sdl_too_old = "yes"; then
428 97a847bc bellard
echo "-> Your SDL version is too old - please upgrade to have FFplay/SDL support"
429 97a847bc bellard
fi
430 7c1f25b4 bellard
if test "$sdl_static" = "no"; then
431 7c1f25b4 bellard
  echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
432 7c1f25b4 bellard
fi
433 97a847bc bellard
434 97a847bc bellard
config_mak="config-host.mak"
435 97a847bc bellard
config_h="config-host.h"
436 7d13299d bellard
437 7c1f25b4 bellard
#echo "Creating $config_mak and $config_h"
438 7d13299d bellard
439 97a847bc bellard
echo "# Automatically generated by configure - do not modify" > $config_mak
440 97a847bc bellard
echo "/* Automatically generated by configure - do not modify */" > $config_h
441 7d13299d bellard
442 97a847bc bellard
echo "prefix=$prefix" >> $config_mak
443 11d9f695 bellard
echo "bindir=$bindir" >> $config_mak
444 5a67135a bellard
echo "mandir=$mandir" >> $config_mak
445 7efa4387 bellard
echo "datadir=$datadir" >> $config_mak
446 1f50f8d1 bellard
echo "docdir=$docdir" >> $config_mak
447 7efa4387 bellard
echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
448 97a847bc bellard
echo "MAKE=$make" >> $config_mak
449 97a847bc bellard
echo "CC=$cc" >> $config_mak
450 e8cd23de bellard
if test "$have_gcc3_options" = "yes" ; then
451 97a847bc bellard
  echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
452 e8cd23de bellard
fi
453 97a847bc bellard
echo "HOST_CC=$host_cc" >> $config_mak
454 97a847bc bellard
echo "AR=$ar" >> $config_mak
455 97a847bc bellard
echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
456 97a847bc bellard
echo "CFLAGS=$CFLAGS" >> $config_mak
457 97a847bc bellard
echo "LDFLAGS=$LDFLAGS" >> $config_mak
458 67b915a5 bellard
echo "EXESUF=$EXESUF" >> $config_mak
459 97a847bc bellard
if test "$cpu" = "i386" ; then
460 97a847bc bellard
  echo "ARCH=i386" >> $config_mak
461 97a847bc bellard
  echo "#define HOST_I386 1" >> $config_h
462 0b0babc6 bellard
elif test "$cpu" = "x86_64" ; then
463 0b0babc6 bellard
  echo "ARCH=x86_64" >> $config_mak
464 0b0babc6 bellard
  echo "#define HOST_X86_64 1" >> $config_h
465 808c4954 bellard
elif test "$cpu" = "armv4b" ; then
466 808c4954 bellard
  echo "ARCH=arm" >> $config_mak
467 808c4954 bellard
  echo "#define HOST_ARM 1" >> $config_h
468 7d13299d bellard
elif test "$cpu" = "armv4l" ; then
469 97a847bc bellard
  echo "ARCH=arm" >> $config_mak
470 97a847bc bellard
  echo "#define HOST_ARM 1" >> $config_h
471 7d13299d bellard
elif test "$cpu" = "powerpc" ; then
472 97a847bc bellard
  echo "ARCH=ppc" >> $config_mak
473 97a847bc bellard
  echo "#define HOST_PPC 1" >> $config_h
474 7d13299d bellard
elif test "$cpu" = "mips" ; then
475 97a847bc bellard
  echo "ARCH=mips" >> $config_mak
476 97a847bc bellard
  echo "#define HOST_MIPS 1" >> $config_h
477 fb3e5849 bellard
elif test "$cpu" = "s390" ; then
478 97a847bc bellard
  echo "ARCH=s390" >> $config_mak
479 97a847bc bellard
  echo "#define HOST_S390 1" >> $config_h
480 295defa5 bellard
elif test "$cpu" = "alpha" ; then
481 97a847bc bellard
  echo "ARCH=alpha" >> $config_mak
482 97a847bc bellard
  echo "#define HOST_ALPHA 1" >> $config_h
483 ae228531 bellard
elif test "$cpu" = "sparc" ; then
484 97a847bc bellard
  echo "ARCH=sparc" >> $config_mak
485 97a847bc bellard
  echo "#define HOST_SPARC 1" >> $config_h
486 ae228531 bellard
elif test "$cpu" = "sparc64" ; then
487 97a847bc bellard
  echo "ARCH=sparc64" >> $config_mak
488 97a847bc bellard
  echo "#define HOST_SPARC64 1" >> $config_h
489 a8baa8c5 bellard
elif test "$cpu" = "ia64" ; then
490 97a847bc bellard
  echo "ARCH=ia64" >> $config_mak
491 97a847bc bellard
  echo "#define HOST_IA64 1" >> $config_h
492 38e584a0 bellard
elif test "$cpu" = "m68k" ; then
493 38ca2abc bellard
  echo "ARCH=m68k" >> $config_mak
494 38ca2abc bellard
  echo "#define HOST_M68K 1" >> $config_h
495 7d13299d bellard
else
496 7d13299d bellard
  echo "Unsupported CPU"
497 7d13299d bellard
  exit 1
498 7d13299d bellard
fi
499 7d13299d bellard
if test "$bigendian" = "yes" ; then
500 97a847bc bellard
  echo "WORDS_BIGENDIAN=yes" >> $config_mak
501 97a847bc bellard
  echo "#define WORDS_BIGENDIAN 1" >> $config_h
502 97a847bc bellard
fi
503 67b915a5 bellard
if test "$mingw32" = "yes" ; then
504 67b915a5 bellard
  echo "CONFIG_WIN32=yes" >> $config_mak
505 11d9f695 bellard
  echo "#define CONFIG_WIN32 1" >> $config_h
506 7d3505c5 bellard
elif test -f "/usr/include/byteswap.h" ; then
507 67b915a5 bellard
  echo "#define HAVE_BYTESWAP_H 1" >> $config_h
508 67b915a5 bellard
fi
509 83fb7adf bellard
if test "$darwin" = "yes" ; then
510 83fb7adf bellard
  echo "CONFIG_DARWIN=yes" >> $config_mak
511 83fb7adf bellard
  echo "#define CONFIG_DARWIN 1" >> $config_h
512 83fb7adf bellard
fi
513 67b915a5 bellard
if test "$gdbstub" = "yes" ; then
514 67b915a5 bellard
  echo "CONFIG_GDBSTUB=yes" >> $config_mak
515 67b915a5 bellard
  echo "#define CONFIG_GDBSTUB 1" >> $config_h
516 67b915a5 bellard
fi
517 97a847bc bellard
if test "$gprof" = "yes" ; then
518 97a847bc bellard
  echo "TARGET_GPROF=yes" >> $config_mak
519 97a847bc bellard
  echo "#define HAVE_GPROF 1" >> $config_h
520 97a847bc bellard
fi
521 97a847bc bellard
if test "$static" = "yes" ; then
522 97a847bc bellard
  echo "CONFIG_STATIC=yes" >> $config_mak
523 50863472 bellard
  echo "#define CONFIG_STATIC 1" >> $config_h
524 7d13299d bellard
fi
525 c20709aa bellard
if test "$slirp" = "yes" ; then
526 c20709aa bellard
  echo "CONFIG_SLIRP=yes" >> $config_mak
527 c20709aa bellard
  echo "#define CONFIG_SLIRP 1" >> $config_h
528 c20709aa bellard
fi
529 fb065187 bellard
if test "$adlib" = "yes" ; then
530 fb065187 bellard
  echo "CONFIG_ADLIB=yes" >> $config_mak
531 fb065187 bellard
  echo "#define CONFIG_ADLIB 1" >> $config_h
532 fb065187 bellard
fi
533 fb065187 bellard
if test "$oss" = "yes" ; then
534 fb065187 bellard
  echo "CONFIG_OSS=yes" >> $config_mak
535 fb065187 bellard
  echo "#define CONFIG_OSS 1" >> $config_h
536 fb065187 bellard
fi
537 102a52e4 bellard
if test "$fmod" = "yes" ; then
538 102a52e4 bellard
  echo "CONFIG_FMOD=yes" >> $config_mak
539 102a52e4 bellard
  echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
540 102a52e4 bellard
  echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
541 102a52e4 bellard
  echo "#define CONFIG_FMOD 1" >> $config_h
542 102a52e4 bellard
fi
543 97a847bc bellard
echo -n "VERSION=" >>$config_mak
544 97a847bc bellard
head $source_path/VERSION >>$config_mak
545 97a847bc bellard
echo "" >>$config_mak
546 97a847bc bellard
echo -n "#define QEMU_VERSION \"" >> $config_h
547 97a847bc bellard
head $source_path/VERSION >> $config_h
548 97a847bc bellard
echo "\"" >> $config_h
549 97a847bc bellard
550 c9ec1fe4 bellard
if test $kqemu = "yes" ; then
551 c9ec1fe4 bellard
  echo "CONFIG_KQEMU=yes" >> $config_mak
552 c9ec1fe4 bellard
  echo "KERNEL_PATH=$kernel_path" >> $config_mak
553 c9ec1fe4 bellard
  if test $kbuild26 = "yes" ; then
554 c9ec1fe4 bellard
    echo "CONFIG_KBUILD26=yes" >> $config_mak
555 c9ec1fe4 bellard
  fi
556 c9ec1fe4 bellard
fi
557 97a847bc bellard
echo "SRC_PATH=$source_path" >> $config_mak
558 97a847bc bellard
echo "TARGET_DIRS=$target_list" >> $config_mak
559 97a847bc bellard
560 83fb7adf bellard
# XXX: suppress that
561 7d3505c5 bellard
if [ "$bsd" = "yes" ] ; then
562 43003046 bellard
  echo "#define O_LARGEFILE 0" >> $config_h
563 43003046 bellard
  echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
564 7d3505c5 bellard
  echo "#define _BSD 1" >> $config_h
565 7d3505c5 bellard
fi
566 7d3505c5 bellard
567 97a847bc bellard
for target in $target_list; do 
568 97a847bc bellard
569 97a847bc bellard
target_dir="$target"
570 97a847bc bellard
config_mak=$target_dir/config.mak
571 97a847bc bellard
config_h=$target_dir/config.h
572 97a847bc bellard
target_cpu=`echo $target | cut -d '-' -f 1`
573 97a847bc bellard
target_bigendian="no"
574 808c4954 bellard
[ "$target_cpu" = "armeb" ] && target_bigendian=yes
575 1e43adfc bellard
[ "$target_cpu" = "sparc" ] && target_bigendian=yes
576 64b3ab24 bellard
[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
577 67867308 bellard
[ "$target_cpu" = "ppc" ] && target_bigendian=yes
578 97a847bc bellard
target_softmmu="no"
579 97a847bc bellard
if expr $target : '.*-softmmu' > /dev/null ; then
580 97a847bc bellard
  target_softmmu="yes"
581 97a847bc bellard
fi
582 997344f3 bellard
target_user_only="no"
583 997344f3 bellard
if expr $target : '.*-user' > /dev/null ; then
584 997344f3 bellard
  target_user_only="yes"
585 997344f3 bellard
fi
586 97a847bc bellard
587 7c1f25b4 bellard
#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
588 97a847bc bellard
589 97a847bc bellard
mkdir -p $target_dir
590 808c4954 bellard
if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
591 69de927c bellard
  mkdir -p $target_dir/nwfpe
592 69de927c bellard
fi
593 a7e61ed4 bellard
if test "$target_user_only" = "no" ; then
594 a7e61ed4 bellard
  mkdir -p $target_dir/slirp
595 a7e61ed4 bellard
fi
596 69de927c bellard
597 97a847bc bellard
ln -sf $source_path/Makefile.target $target_dir/Makefile
598 97a847bc bellard
599 97a847bc bellard
echo "# Automatically generated by configure - do not modify" > $config_mak
600 97a847bc bellard
echo "/* Automatically generated by configure - do not modify */" > $config_h
601 97a847bc bellard
602 de83cd02 bellard
603 97a847bc bellard
echo "include ../config-host.mak" >> $config_mak
604 97a847bc bellard
echo "#include \"../config-host.h\"" >> $config_h
605 1e43adfc bellard
606 1e43adfc bellard
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
607 1e43adfc bellard
echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
608 97a847bc bellard
609 97a847bc bellard
if test "$target_cpu" = "i386" ; then
610 97a847bc bellard
  echo "TARGET_ARCH=i386" >> $config_mak
611 97a847bc bellard
  echo "#define TARGET_ARCH \"i386\"" >> $config_h
612 97a847bc bellard
  echo "#define TARGET_I386 1" >> $config_h
613 824d560f bellard
  if test $kqemu = "yes" -a "$target_softmmu" = "yes" ; then
614 824d560f bellard
    echo "#define USE_KQEMU 1" >> $config_h
615 824d560f bellard
  fi
616 808c4954 bellard
elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
617 97a847bc bellard
  echo "TARGET_ARCH=arm" >> $config_mak
618 97a847bc bellard
  echo "#define TARGET_ARCH \"arm\"" >> $config_h
619 97a847bc bellard
  echo "#define TARGET_ARM 1" >> $config_h
620 1e43adfc bellard
elif test "$target_cpu" = "sparc" ; then
621 1e43adfc bellard
  echo "TARGET_ARCH=sparc" >> $config_mak
622 1e43adfc bellard
  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
623 1e43adfc bellard
  echo "#define TARGET_SPARC 1" >> $config_h
624 64b3ab24 bellard
elif test "$target_cpu" = "sparc64" ; then
625 64b3ab24 bellard
  echo "TARGET_ARCH=sparc64" >> $config_mak
626 64b3ab24 bellard
  echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
627 64b3ab24 bellard
  echo "#define TARGET_SPARC 1" >> $config_h
628 64b3ab24 bellard
  echo "#define TARGET_SPARC64 1" >> $config_h
629 67867308 bellard
elif test "$target_cpu" = "ppc" ; then
630 67867308 bellard
  echo "TARGET_ARCH=ppc" >> $config_mak
631 67867308 bellard
  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
632 67867308 bellard
  echo "#define TARGET_PPC 1" >> $config_h
633 0b0babc6 bellard
elif test "$target_cpu" = "x86_64" ; then
634 0b0babc6 bellard
  echo "TARGET_ARCH=x86_64" >> $config_mak
635 0b0babc6 bellard
  echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
636 0b0babc6 bellard
  echo "#define TARGET_I386 1" >> $config_h
637 0b0babc6 bellard
  echo "#define TARGET_X86_64 1" >> $config_h
638 de83cd02 bellard
else
639 de83cd02 bellard
  echo "Unsupported target CPU"
640 de83cd02 bellard
  exit 1
641 de83cd02 bellard
fi
642 de83cd02 bellard
if test "$target_bigendian" = "yes" ; then
643 97a847bc bellard
  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
644 97a847bc bellard
  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
645 de83cd02 bellard
fi
646 97a847bc bellard
if test "$target_softmmu" = "yes" ; then
647 97a847bc bellard
  echo "CONFIG_SOFTMMU=yes" >> $config_mak
648 97a847bc bellard
  echo "#define CONFIG_SOFTMMU 1" >> $config_h
649 43ce4dfe bellard
fi
650 997344f3 bellard
if test "$target_user_only" = "yes" ; then
651 997344f3 bellard
  echo "CONFIG_USER_ONLY=yes" >> $config_mak
652 997344f3 bellard
  echo "#define CONFIG_USER_ONLY 1" >> $config_h
653 997344f3 bellard
fi
654 97a847bc bellard
655 7c1f25b4 bellard
# sdl defines
656 7c1f25b4 bellard
657 7c1f25b4 bellard
if test "$target_user_only" = "no"; then
658 7c1f25b4 bellard
    if test "$target_softmmu" = "no" -o "$static" = "yes"; then
659 dbb2c921 bellard
        sdl1=$sdl_static
660 7c1f25b4 bellard
    else
661 dbb2c921 bellard
        sdl1=$sdl
662 dbb2c921 bellard
    fi
663 dbb2c921 bellard
    if test "$sdl1" = "yes" ; then
664 dbb2c921 bellard
        echo "#define CONFIG_SDL 1" >> $config_h
665 dbb2c921 bellard
        echo "CONFIG_SDL=yes" >> $config_mak
666 dbb2c921 bellard
        if test "$target_softmmu" = "no" -o "$static" = "yes"; then
667 dbb2c921 bellard
            echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
668 dbb2c921 bellard
        else
669 7c1f25b4 bellard
            echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
670 7c1f25b4 bellard
        fi
671 dbb2c921 bellard
        echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
672 dbb2c921 bellard
        if [ "${aa}" = "yes" ] ; then
673 dbb2c921 bellard
            echo -n " `aalib-config --cflags`" >> $config_mak ;
674 dbb2c921 bellard
        fi
675 dbb2c921 bellard
        echo "" >> $config_mak
676 7c1f25b4 bellard
    fi
677 7c1f25b4 bellard
fi
678 7c1f25b4 bellard
679 97a847bc bellard
done # for target in $targets
680 7d13299d bellard
681 7d13299d bellard
# build tree in object directory if source path is different from current one
682 7d13299d bellard
if test "$source_path_used" = "yes" ; then
683 7d13299d bellard
    DIRS="tests"
684 7d13299d bellard
    FILES="Makefile tests/Makefile"
685 7d13299d bellard
    for dir in $DIRS ; do
686 7d13299d bellard
            mkdir -p $dir
687 7d13299d bellard
    done
688 7d13299d bellard
    for f in $FILES ; do
689 7d13299d bellard
        ln -sf $source_path/$f $f
690 7d13299d bellard
    done
691 7d13299d bellard
fi
692 7d13299d bellard
693 97a847bc bellard
rm -f $TMPO $TMPC $TMPE $TMPS