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