]> git.proxmox.com Git - qemu.git/blame_incremental - configure
enable APIC by default
[qemu.git] / configure
... / ...
CommitLineData
1#!/bin/sh
2#
3# qemu configure script (c) 2003 Fabrice Bellard
4#
5# set temporary file name
6if test ! -z "$TMPDIR" ; then
7 TMPDIR1="${TMPDIR}"
8elif test ! -z "$TEMPDIR" ; then
9 TMPDIR1="${TEMPDIR}"
10else
11 TMPDIR1="/tmp"
12fi
13
14TMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
15TMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
16TMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
17TMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
18
19# default parameters
20prefix=""
21interp_prefix="/usr/gnemul/qemu-%M"
22static="no"
23cross_prefix=""
24cc="gcc"
25host_cc="gcc"
26ar="ar"
27make="make"
28install="install"
29strip="strip"
30cpu=`uname -m`
31target_list=""
32case "$cpu" in
33 i386|i486|i586|i686|i86pc|BePC)
34 cpu="i386"
35 ;;
36 armv*b)
37 cpu="armv4b"
38 ;;
39 armv*l)
40 cpu="armv4l"
41 ;;
42 alpha)
43 cpu="alpha"
44 ;;
45 "Power Macintosh"|ppc|ppc64)
46 cpu="powerpc"
47 ;;
48 mips)
49 cpu="mips"
50 ;;
51 s390)
52 cpu="s390"
53 ;;
54 sparc)
55 cpu="sparc"
56 ;;
57 sparc64)
58 cpu="sparc64"
59 ;;
60 ia64)
61 cpu="ia64"
62 ;;
63 m68k)
64 cpu="m68k"
65 ;;
66 x86_64|amd64)
67 cpu="x86_64"
68 ;;
69 *)
70 cpu="unknown"
71 ;;
72esac
73gprof="no"
74bigendian="no"
75mingw32="no"
76EXESUF=""
77gdbstub="yes"
78slirp="yes"
79adlib="no"
80oss="no"
81dsound="no"
82coreaudio="no"
83alsa="no"
84fmod="no"
85fmod_lib=""
86fmod_inc=""
87bsd="no"
88linux="no"
89kqemu="no"
90profiler="no"
91kernel_path=""
92cocoa="no"
93check_gfx="yes"
94check_gcc="yes"
95softmmu="yes"
96user="no"
97build_docs="no"
98
99# OS specific
100targetos=`uname -s`
101case $targetos in
102CYGWIN*)
103mingw32="yes"
104CFLAGS="-O2 -mno-cygwin"
105;;
106MINGW32*)
107mingw32="yes"
108;;
109FreeBSD)
110bsd="yes"
111oss="yes"
112if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
113 kqemu="yes"
114fi
115;;
116NetBSD)
117bsd="yes"
118oss="yes"
119;;
120OpenBSD)
121bsd="yes"
122oss="yes"
123;;
124Darwin)
125bsd="yes"
126darwin="yes"
127;;
128*)
129oss="yes"
130linux="yes"
131user="yes"
132if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
133 kqemu="yes"
134fi
135;;
136esac
137
138if [ "$bsd" = "yes" ] ; then
139 if [ "$darwin" != "yes" ] ; then
140 make="gmake"
141 fi
142fi
143
144# find source path
145source_path=`dirname "$0"`
146if [ -z "$source_path" ]; then
147 source_path=`pwd`
148else
149 source_path=`cd "$source_path"; pwd`
150fi
151if test "$source_path" = `pwd` ; then
152 source_path_used="no"
153else
154 source_path_used="yes"
155fi
156
157for opt do
158 optarg=`expr "$opt" : '[^=]*=\(.*\)'`
159 case "$opt" in
160 --help|-h) show_help=yes
161 ;;
162 --prefix=*) prefix="$optarg"
163 ;;
164 --interp-prefix=*) interp_prefix="$optarg"
165 ;;
166 --source-path=*) source_path="$optarg"
167 source_path_used="yes"
168 ;;
169 --cross-prefix=*) cross_prefix="$optarg"
170 ;;
171 --cc=*) cc="$optarg"
172 ;;
173 --host-cc=*) host_cc="$optarg"
174 ;;
175 --make=*) make="$optarg"
176 ;;
177 --install=*) install="$optarg"
178 ;;
179 --extra-cflags=*) CFLAGS="$optarg"
180 ;;
181 --extra-ldflags=*) LDFLAGS="$optarg"
182 ;;
183 --cpu=*) cpu="$optarg"
184 ;;
185 --target-list=*) target_list="$optarg"
186 ;;
187 --enable-gprof) gprof="yes"
188 ;;
189 --static) static="yes"
190 ;;
191 --disable-sdl) sdl="no"
192 ;;
193 --enable-coreaudio) coreaudio="yes"
194 ;;
195 --enable-alsa) alsa="yes"
196 ;;
197 --enable-dsound) dsound="yes"
198 ;;
199 --enable-fmod) fmod="yes"
200 ;;
201 --fmod-lib=*) fmod_lib="$optarg"
202 ;;
203 --fmod-inc=*) fmod_inc="$optarg"
204 ;;
205 --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
206 ;;
207 --disable-slirp) slirp="no"
208 ;;
209 --enable-adlib) adlib="yes"
210 ;;
211 --disable-kqemu) kqemu="no"
212 ;;
213 --enable-profiler) profiler="yes"
214 ;;
215 --kernel-path=*) kernel_path="$optarg"
216 ;;
217 --enable-cocoa) cocoa="yes" ; coreaudio="yes" ; sdl="no"
218 ;;
219 --disable-gfx-check) check_gfx="no"
220 ;;
221 --disable-gcc-check) check_gcc="no"
222 ;;
223 --disable-system) softmmu="no"
224 ;;
225 --enable-system) softmmu="yes"
226 ;;
227 --disable-user) user="no"
228 ;;
229 --enable-user) user="yes"
230 ;;
231 esac
232done
233
234# Checking for CFLAGS
235if test -z "$CFLAGS"; then
236 CFLAGS="-O2"
237fi
238
239if test x"$show_help" = x"yes" ; then
240cat << EOF
241
242Usage: configure [options]
243Options: [defaults in brackets after descriptions]
244
245EOF
246echo "Standard options:"
247echo " --help print this message"
248echo " --prefix=PREFIX install in PREFIX [$prefix]"
249echo " --interp-prefix=PREFIX where to find shared libraries, etc."
250echo " use %M for cpu name [$interp_prefix]"
251echo " --target-list=LIST set target list [$target_list]"
252echo ""
253echo "kqemu kernel acceleration support:"
254echo " --disable-kqemu disable kqemu support"
255echo " --kernel-path=PATH set the kernel path (configure probes it)"
256echo ""
257echo "Advanced options (experts only):"
258echo " --source-path=PATH path of source code [$source_path]"
259echo " --cross-prefix=PREFIX use PREFIX for compile tools [$cross_prefix]"
260echo " --cc=CC use C compiler CC [$cc]"
261echo " --host-cc=CC use C compiler CC [$host_cc] for dyngen etc."
262echo " --make=MAKE use specified make [$make]"
263echo " --install=INSTALL use specified install [$install]"
264echo " --static enable static build [$static]"
265echo " --enable-cocoa enable COCOA (Mac OS X only)"
266echo " --enable-mingw32 enable Win32 cross compilation with mingw32"
267echo " --enable-adlib enable Adlib emulation"
268echo " --enable-coreaudio enable Coreaudio audio driver"
269echo " --enable-alsa enable ALSA audio driver"
270echo " --enable-fmod enable FMOD audio driver"
271echo " --enabled-dsound enable DirectSound audio driver"
272echo " --enable-system enable all system emulation targets"
273echo " --disable-system disable all system emulation targets"
274echo " --enable-user enable all linux usermode emulation targets"
275echo " --disable-user disable all linux usermode emulation targets"
276echo " --fmod-lib path to FMOD library"
277echo " --fmod-inc path to FMOD includes"
278echo ""
279echo "NOTE: The object files are build at the place where configure is launched"
280exit 1
281fi
282
283cc="${cross_prefix}${cc}"
284ar="${cross_prefix}${ar}"
285strip="${cross_prefix}${strip}"
286
287if [ -z `which $cc` ] ; then
288 echo "Compiler $cc could not be found"
289 exit
290fi
291
292if test "$mingw32" = "yes" ; then
293 linux="no"
294 EXESUF=".exe"
295 gdbstub="no"
296 oss="no"
297 if [ "$cpu" = "i386" ] ; then
298 kqemu="yes"
299 fi
300fi
301
302if test -z "$target_list" ; then
303# these targets are portable
304 if [ "$softmmu" = "yes" ] ; then
305 target_list="i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu mipsel-softmmu arm-softmmu"
306 fi
307# the following are Linux specific
308 if [ "$user" = "yes" ] ; then
309 target_list="i386-user arm-user armeb-user sparc-user ppc-user mips-user mipsel-user $target_list"
310 fi
311else
312 target_list=`echo "$target_list" | sed -e 's/,/ /g'`
313fi
314if test -z "$target_list" ; then
315 echo "No targets enabled"
316 exit 1
317fi
318
319if test -z "$cross_prefix" ; then
320
321# ---
322# big/little endian test
323cat > $TMPC << EOF
324#include <inttypes.h>
325int main(int argc, char ** argv){
326 volatile uint32_t i=0x01234567;
327 return (*((uint8_t*)(&i))) == 0x67;
328}
329EOF
330
331if $cc -o $TMPE $TMPC 2>/dev/null ; then
332$TMPE && bigendian="yes"
333else
334echo big/little test failed
335fi
336
337else
338
339# if cross compiling, cannot launch a program, so make a static guess
340if test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k" -o "$cpu" = "armv4b"; then
341 bigendian="yes"
342fi
343
344fi
345
346# host long bits test
347hostlongbits="32"
348if test "$cpu" = "sparc64" -o "$cpu" = "ia64" -o "$cpu" = "x86_64" -o "$cpu" = "alpha"; then
349 hostlongbits="64"
350fi
351
352# check gcc options support
353cat > $TMPC <<EOF
354int main(void) {
355}
356EOF
357
358have_gcc3_options="no"
359if $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
360 have_gcc3_options="yes"
361fi
362
363# Check for gcc4, error if pre-gcc4
364if test "$check_gcc" = "yes" ; then
365 cat > $TMPC <<EOF
366#if __GNUC__ < 4
367#error gcc3
368#endif
369int main(){return 0;}
370EOF
371 if $cc -o $TMPO $TMPC 2>/dev/null ; then
372 echo "ERROR: \"$cc\" looks like gcc 4.x"
373 echo "QEMU is known to have problems when compiled with gcc 4.x"
374 echo "It is recommended that you use gcc 3.x to build QEMU"
375 echo "To use this compiler anyway, configure with --disable-gcc-check"
376 exit 1;
377 fi
378fi
379
380##########################################
381# SDL probe
382
383sdl_too_old=no
384
385if test -z "$sdl" ; then
386
387sdl_config="sdl-config"
388sdl=no
389sdl_static=no
390
391if test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
392# win32 cross compilation case
393 sdl_config="i386-mingw32msvc-sdl-config"
394 sdl=yes
395else
396# normal SDL probe
397cat > $TMPC << EOF
398#include <SDL.h>
399#undef main /* We don't want SDL to override our main() */
400int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
401EOF
402
403if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
404_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
405if test "$_sdlversion" -lt 121 ; then
406sdl_too_old=yes
407else
408sdl=yes
409fi
410
411# static link with sdl ?
412if test "$sdl" = "yes" ; then
413aa="no"
414`$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
415sdl_static_libs=`$sdl_config --static-libs`
416if [ "$aa" = "yes" ] ; then
417 sdl_static_libs="$sdl_static_libs `aalib-config --static-libs`"
418fi
419
420if $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC $sdl_static_libs 2> /dev/null; then
421 sdl_static=yes
422fi
423
424fi # static link
425
426fi # sdl compile test
427
428fi # cross compilation
429fi # -z $sdl
430
431# Check if tools are available to build documentation.
432if [ ! -z `which texi2html` ] && [ ! -z `which pod2man` ]; then
433 build_docs="yes"
434fi
435
436if test "$mingw32" = "yes" ; then
437if test -z "$prefix" ; then
438 prefix="/c/Program Files/Qemu"
439fi
440mandir="$prefix"
441datadir="$prefix"
442docdir="$prefix"
443bindir="$prefix"
444else
445if test -z "$prefix" ; then
446 prefix="/usr/local"
447fi
448mandir="$prefix/share/man"
449datadir="$prefix/share/qemu"
450docdir="$prefix/share/doc/qemu"
451bindir="$prefix/bin"
452fi
453
454echo "Install prefix $prefix"
455echo "BIOS directory $datadir"
456echo "binary directory $bindir"
457if test "$mingw32" = "no" ; then
458echo "Manual directory $mandir"
459echo "ELF interp prefix $interp_prefix"
460fi
461echo "Source path $source_path"
462echo "C compiler $cc"
463echo "Host C compiler $host_cc"
464echo "make $make"
465echo "install $install"
466echo "host CPU $cpu"
467echo "host big endian $bigendian"
468echo "target list $target_list"
469echo "gprof enabled $gprof"
470echo "profiler $profiler"
471echo "static build $static"
472if test "$darwin" = "yes" ; then
473 echo "Cocoa support $cocoa"
474fi
475echo "SDL support $sdl"
476if test "$sdl" != "no" ; then
477 echo "SDL static link $sdl_static"
478fi
479echo "mingw32 support $mingw32"
480echo "Adlib support $adlib"
481echo "CoreAudio support $coreaudio"
482echo "ALSA support $alsa"
483echo "DSound support $dsound"
484if test "$fmod" = "yes"; then
485 if test -z $fmod_lib || test -z $fmod_inc; then
486 echo
487 echo "Error: You must specify path to FMOD library and headers"
488 echo "Example: --fmod-inc=/path/include/fmod --fmod-lib=/path/lib/libfmod-3.74.so"
489 echo
490 exit 1
491 fi
492 fmod_support=" (lib='$fmod_lib' include='$fmod_inc')"
493else
494 fmod_support=""
495fi
496echo "FMOD support $fmod $fmod_support"
497echo "kqemu support $kqemu"
498echo "Documentation $build_docs"
499
500if test $sdl_too_old = "yes"; then
501echo "-> Your SDL version is too old - please upgrade to have SDL support"
502fi
503#if test "$sdl_static" = "no"; then
504# echo "WARNING: cannot compile statically with SDL - qemu-fast won't have a graphical output"
505#fi
506config_mak="config-host.mak"
507config_h="config-host.h"
508
509#echo "Creating $config_mak and $config_h"
510
511echo "# Automatically generated by configure - do not modify" > $config_mak
512echo "# Configured with: $0 $@" >> $config_mak
513echo "/* Automatically generated by configure - do not modify */" > $config_h
514
515echo "prefix=$prefix" >> $config_mak
516echo "bindir=$bindir" >> $config_mak
517echo "mandir=$mandir" >> $config_mak
518echo "datadir=$datadir" >> $config_mak
519echo "docdir=$docdir" >> $config_mak
520echo "#define CONFIG_QEMU_SHAREDIR \"$datadir\"" >> $config_h
521echo "MAKE=$make" >> $config_mak
522echo "INSTALL=$install" >> $config_mak
523echo "CC=$cc" >> $config_mak
524if test "$have_gcc3_options" = "yes" ; then
525 echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
526fi
527echo "HOST_CC=$host_cc" >> $config_mak
528echo "AR=$ar" >> $config_mak
529echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
530echo "CFLAGS=$CFLAGS" >> $config_mak
531echo "LDFLAGS=$LDFLAGS" >> $config_mak
532echo "EXESUF=$EXESUF" >> $config_mak
533if test "$cpu" = "i386" ; then
534 echo "ARCH=i386" >> $config_mak
535 echo "#define HOST_I386 1" >> $config_h
536elif test "$cpu" = "x86_64" ; then
537 echo "ARCH=x86_64" >> $config_mak
538 echo "#define HOST_X86_64 1" >> $config_h
539elif test "$cpu" = "armv4b" ; then
540 echo "ARCH=arm" >> $config_mak
541 echo "#define HOST_ARM 1" >> $config_h
542elif test "$cpu" = "armv4l" ; then
543 echo "ARCH=arm" >> $config_mak
544 echo "#define HOST_ARM 1" >> $config_h
545elif test "$cpu" = "powerpc" ; then
546 echo "ARCH=ppc" >> $config_mak
547 echo "#define HOST_PPC 1" >> $config_h
548elif test "$cpu" = "mips" ; then
549 echo "ARCH=mips" >> $config_mak
550 echo "#define HOST_MIPS 1" >> $config_h
551elif test "$cpu" = "s390" ; then
552 echo "ARCH=s390" >> $config_mak
553 echo "#define HOST_S390 1" >> $config_h
554elif test "$cpu" = "alpha" ; then
555 echo "ARCH=alpha" >> $config_mak
556 echo "#define HOST_ALPHA 1" >> $config_h
557elif test "$cpu" = "sparc" ; then
558 echo "ARCH=sparc" >> $config_mak
559 echo "#define HOST_SPARC 1" >> $config_h
560elif test "$cpu" = "sparc64" ; then
561 echo "ARCH=sparc64" >> $config_mak
562 echo "#define HOST_SPARC64 1" >> $config_h
563elif test "$cpu" = "ia64" ; then
564 echo "ARCH=ia64" >> $config_mak
565 echo "#define HOST_IA64 1" >> $config_h
566elif test "$cpu" = "m68k" ; then
567 echo "ARCH=m68k" >> $config_mak
568 echo "#define HOST_M68K 1" >> $config_h
569else
570 echo "Unsupported CPU"
571 exit 1
572fi
573if test "$bigendian" = "yes" ; then
574 echo "WORDS_BIGENDIAN=yes" >> $config_mak
575 echo "#define WORDS_BIGENDIAN 1" >> $config_h
576fi
577echo "#define HOST_LONG_BITS $hostlongbits" >> $config_h
578if test "$mingw32" = "yes" ; then
579 echo "CONFIG_WIN32=yes" >> $config_mak
580 echo "#define CONFIG_WIN32 1" >> $config_h
581elif test -f "/usr/include/byteswap.h" ; then
582 echo "#define HAVE_BYTESWAP_H 1" >> $config_h
583fi
584if test "$darwin" = "yes" ; then
585 echo "CONFIG_DARWIN=yes" >> $config_mak
586 echo "#define CONFIG_DARWIN 1" >> $config_h
587fi
588if test "$gdbstub" = "yes" ; then
589 echo "CONFIG_GDBSTUB=yes" >> $config_mak
590 echo "#define CONFIG_GDBSTUB 1" >> $config_h
591fi
592if test "$gprof" = "yes" ; then
593 echo "TARGET_GPROF=yes" >> $config_mak
594 echo "#define HAVE_GPROF 1" >> $config_h
595fi
596if test "$static" = "yes" ; then
597 echo "CONFIG_STATIC=yes" >> $config_mak
598 echo "#define CONFIG_STATIC 1" >> $config_h
599fi
600if test $profiler = "yes" ; then
601 echo "#define CONFIG_PROFILER 1" >> $config_h
602fi
603if test "$slirp" = "yes" ; then
604 echo "CONFIG_SLIRP=yes" >> $config_mak
605 echo "#define CONFIG_SLIRP 1" >> $config_h
606fi
607if test "$adlib" = "yes" ; then
608 echo "CONFIG_ADLIB=yes" >> $config_mak
609 echo "#define CONFIG_ADLIB 1" >> $config_h
610fi
611if test "$oss" = "yes" ; then
612 echo "CONFIG_OSS=yes" >> $config_mak
613 echo "#define CONFIG_OSS 1" >> $config_h
614fi
615if test "$coreaudio" = "yes" ; then
616 echo "CONFIG_COREAUDIO=yes" >> $config_mak
617 echo "#define CONFIG_COREAUDIO 1" >> $config_h
618fi
619if test "$alsa" = "yes" ; then
620 echo "CONFIG_ALSA=yes" >> $config_mak
621 echo "#define CONFIG_ALSA 1" >> $config_h
622fi
623if test "$dsound" = "yes" ; then
624 echo "CONFIG_DSOUND=yes" >> $config_mak
625 echo "#define CONFIG_DSOUND 1" >> $config_h
626fi
627if test "$fmod" = "yes" ; then
628 echo "CONFIG_FMOD=yes" >> $config_mak
629 echo "CONFIG_FMOD_LIB=$fmod_lib" >> $config_mak
630 echo "CONFIG_FMOD_INC=$fmod_inc" >> $config_mak
631 echo "#define CONFIG_FMOD 1" >> $config_h
632fi
633qemu_version=`head $source_path/VERSION`
634echo "VERSION=$qemu_version" >>$config_mak
635echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
636
637echo "SRC_PATH=$source_path" >> $config_mak
638if [ "$source_path_used" = "yes" ]; then
639 echo "VPATH=$source_path" >> $config_mak
640fi
641echo "TARGET_DIRS=$target_list" >> $config_mak
642if [ "$build_docs" = "yes" ] ; then
643 echo "BUILD_DOCS=yes" >> $config_mak
644fi
645
646# XXX: suppress that
647if [ "$bsd" = "yes" ] ; then
648 echo "#define O_LARGEFILE 0" >> $config_h
649 echo "#define MAP_ANONYMOUS MAP_ANON" >> $config_h
650 echo "#define _BSD 1" >> $config_h
651fi
652
653for target in $target_list; do
654target_dir="$target"
655config_mak=$target_dir/config.mak
656config_h=$target_dir/config.h
657target_cpu=`echo $target | cut -d '-' -f 1`
658target_bigendian="no"
659[ "$target_cpu" = "armeb" ] && target_bigendian=yes
660[ "$target_cpu" = "sparc" ] && target_bigendian=yes
661[ "$target_cpu" = "sparc64" ] && target_bigendian=yes
662[ "$target_cpu" = "ppc" ] && target_bigendian=yes
663[ "$target_cpu" = "ppc64" ] && target_bigendian=yes
664[ "$target_cpu" = "mips" ] && target_bigendian=yes
665target_softmmu="no"
666if expr $target : '.*-softmmu' > /dev/null ; then
667 target_softmmu="yes"
668fi
669target_user_only="no"
670if expr $target : '.*-user' > /dev/null ; then
671 target_user_only="yes"
672fi
673
674if test "$target_user_only" = "no" -a "$check_gfx" = "yes" \
675 -a "$sdl" = "no" -a "$cocoa" = "no" ; then
676 echo "ERROR: QEMU requires SDL or Cocoa for graphical output"
677 echo "To build QEMU without graphical output configure with --disable-gfx-check"
678 echo "Note that this will disable all output from the virtual graphics card."
679 exit 1;
680fi
681
682#echo "Creating $config_mak, $config_h and $target_dir/Makefile"
683
684mkdir -p $target_dir
685mkdir -p $target_dir/fpu
686if test "$target" = "arm-user" -o "$target" = "armeb-user" ; then
687 mkdir -p $target_dir/nwfpe
688fi
689if test "$target_user_only" = "no" ; then
690 mkdir -p $target_dir/slirp
691fi
692
693ln -sf $source_path/Makefile.target $target_dir/Makefile
694
695echo "# Automatically generated by configure - do not modify" > $config_mak
696echo "/* Automatically generated by configure - do not modify */" > $config_h
697
698
699echo "include ../config-host.mak" >> $config_mak
700echo "#include \"../config-host.h\"" >> $config_h
701
702interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
703echo "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
704
705if test "$target_cpu" = "i386" ; then
706 echo "TARGET_ARCH=i386" >> $config_mak
707 echo "#define TARGET_ARCH \"i386\"" >> $config_h
708 echo "#define TARGET_I386 1" >> $config_h
709 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "i386" ; then
710 echo "#define USE_KQEMU 1" >> $config_h
711 fi
712elif test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
713 echo "TARGET_ARCH=arm" >> $config_mak
714 echo "#define TARGET_ARCH \"arm\"" >> $config_h
715 echo "#define TARGET_ARM 1" >> $config_h
716elif test "$target_cpu" = "sparc" ; then
717 echo "TARGET_ARCH=sparc" >> $config_mak
718 echo "#define TARGET_ARCH \"sparc\"" >> $config_h
719 echo "#define TARGET_SPARC 1" >> $config_h
720elif test "$target_cpu" = "sparc64" ; then
721 echo "TARGET_ARCH=sparc64" >> $config_mak
722 echo "#define TARGET_ARCH \"sparc64\"" >> $config_h
723 echo "#define TARGET_SPARC 1" >> $config_h
724 echo "#define TARGET_SPARC64 1" >> $config_h
725elif test "$target_cpu" = "ppc" ; then
726 echo "TARGET_ARCH=ppc" >> $config_mak
727 echo "#define TARGET_ARCH \"ppc\"" >> $config_h
728 echo "#define TARGET_PPC 1" >> $config_h
729elif test "$target_cpu" = "ppc64" ; then
730 echo "TARGET_ARCH=ppc64" >> $config_mak
731 echo "#define TARGET_ARCH \"ppc64\"" >> $config_h
732 echo "#define TARGET_PPC 1" >> $config_h
733 echo "#define TARGET_PPC64 1" >> $config_h
734elif test "$target_cpu" = "x86_64" ; then
735 echo "TARGET_ARCH=x86_64" >> $config_mak
736 echo "#define TARGET_ARCH \"x86_64\"" >> $config_h
737 echo "#define TARGET_I386 1" >> $config_h
738 echo "#define TARGET_X86_64 1" >> $config_h
739 if test $kqemu = "yes" -a "$target_softmmu" = "yes" -a $cpu = "x86_64" ; then
740 echo "#define USE_KQEMU 1" >> $config_h
741 fi
742elif test "$target_cpu" = "mips" -o "$target_cpu" = "mipsel" ; then
743 echo "TARGET_ARCH=mips" >> $config_mak
744 echo "#define TARGET_ARCH \"mips\"" >> $config_h
745 echo "#define TARGET_MIPS 1" >> $config_h
746else
747 echo "Unsupported target CPU"
748 exit 1
749fi
750if test "$target_bigendian" = "yes" ; then
751 echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
752 echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
753fi
754if test "$target_softmmu" = "yes" ; then
755 echo "CONFIG_SOFTMMU=yes" >> $config_mak
756 echo "#define CONFIG_SOFTMMU 1" >> $config_h
757fi
758if test "$target_user_only" = "yes" ; then
759 echo "CONFIG_USER_ONLY=yes" >> $config_mak
760 echo "#define CONFIG_USER_ONLY 1" >> $config_h
761fi
762
763if test "$target_cpu" = "arm" -o "$target_cpu" = "armeb" ; then
764 echo "CONFIG_SOFTFLOAT=yes" >> $config_mak
765 echo "#define CONFIG_SOFTFLOAT 1" >> $config_h
766fi
767# sdl defines
768
769if test "$target_user_only" = "no"; then
770 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
771 sdl1=$sdl_static
772 else
773 sdl1=$sdl
774 fi
775 if test "$sdl1" = "yes" ; then
776 echo "#define CONFIG_SDL 1" >> $config_h
777 echo "CONFIG_SDL=yes" >> $config_mak
778 if test "$target_softmmu" = "no" -o "$static" = "yes"; then
779 echo "SDL_LIBS=$sdl_static_libs" >> $config_mak
780 else
781 echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
782 fi
783 if [ "${aa}" = "yes" ] ; then
784 echo "SDL_CFLAGS=`$sdl_config --cflags` `aalib-config --cflags`" >> $config_mak
785 else
786 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
787 fi
788 fi
789fi
790
791if test "$cocoa" = "yes" ; then
792 echo "#define CONFIG_COCOA 1" >> $config_h
793 echo "CONFIG_COCOA=yes" >> $config_mak
794fi
795
796done # for target in $targets
797
798# build tree in object directory if source path is different from current one
799if test "$source_path_used" = "yes" ; then
800 DIRS="tests"
801 FILES="Makefile tests/Makefile"
802 for dir in $DIRS ; do
803 mkdir -p $dir
804 done
805 for f in $FILES ; do
806 ln -sf $source_path/$f $f
807 done
808fi
809
810rm -f $TMPO $TMPC $TMPE $TMPS