xref: /openbmc/qemu/configure (revision a6e022ad)
17d13299dSbellard#!/bin/sh
27d13299dSbellard#
33ef693a0Sbellard# qemu configure script (c) 2003 Fabrice Bellard
47d13299dSbellard#
57d13299dSbellard# set temporary file name
67d13299dSbellardif test ! -z "$TMPDIR" ; then
77d13299dSbellard    TMPDIR1="${TMPDIR}"
87d13299dSbellardelif test ! -z "$TEMPDIR" ; then
97d13299dSbellard    TMPDIR1="${TEMPDIR}"
107d13299dSbellardelse
117d13299dSbellard    TMPDIR1="/tmp"
127d13299dSbellardfi
137d13299dSbellard
143ef693a0SbellardTMPC="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.c"
153ef693a0SbellardTMPO="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.o"
163ef693a0SbellardTMPE="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}"
173ef693a0SbellardTMPS="${TMPDIR1}/qemu-conf-${RANDOM}-$$-${RANDOM}.S"
187d13299dSbellard
197d13299dSbellard# default parameters
2011d9f695Sbellardprefix=""
211e43adfcSbellardinterp_prefix="/usr/gnemul/qemu-%M"
2243ce4dfeSbellardstatic="no"
237d13299dSbellardcross_prefix=""
247d13299dSbellardcc="gcc"
257d13299dSbellardhost_cc="gcc"
267d13299dSbellardar="ar"
277d13299dSbellardmake="make"
287d13299dSbellardstrip="strip"
297d13299dSbellardcpu=`uname -m`
3067867308Sbellardtarget_list="i386-user i386 i386-softmmu arm-user sparc-user ppc-user"
317d13299dSbellardcase "$cpu" in
327d13299dSbellard  i386|i486|i586|i686|i86pc|BePC)
3397a847bcSbellard    cpu="i386"
347d13299dSbellard  ;;
357d13299dSbellard  armv4l)
367d13299dSbellard    cpu="armv4l"
377d13299dSbellard  ;;
387d13299dSbellard  alpha)
397d13299dSbellard    cpu="alpha"
407d13299dSbellard  ;;
41295defa5Sbellard  "Power Macintosh"|ppc|ppc64)
427d13299dSbellard    cpu="powerpc"
437d13299dSbellard  ;;
447d13299dSbellard  mips)
457d13299dSbellard    cpu="mips"
467d13299dSbellard  ;;
47fb3e5849Sbellard  s390)
48fb3e5849Sbellard    cpu="s390"
49fb3e5849Sbellard  ;;
50ae228531Sbellard  sparc)
51ae228531Sbellard    cpu="sparc"
52ae228531Sbellard  ;;
53ae228531Sbellard  sparc64)
54ae228531Sbellard    cpu="sparc64"
55ae228531Sbellard  ;;
56a8baa8c5Sbellard  ia64)
57a8baa8c5Sbellard    cpu="ia64"
58a8baa8c5Sbellard  ;;
5938e584a0Sbellard  m68k)
6038e584a0Sbellard    cpu="m68k"
6138e584a0Sbellard  ;;
62bc51c5c9Sbellard  x86_64|amd64)
63bc51c5c9Sbellard    cpu="amd64"
64bc51c5c9Sbellard  ;;
657d13299dSbellard  *)
667d13299dSbellard    cpu="unknown"
677d13299dSbellard  ;;
687d13299dSbellardesac
697d13299dSbellardgprof="no"
707d13299dSbellardbigendian="no"
7167b915a5Sbellardmingw32="no"
7267b915a5SbellardEXESUF=""
7367b915a5Sbellardgdbstub="yes"
747d13299dSbellard
757d13299dSbellard# OS specific
767d13299dSbellardtargetos=`uname -s`
777d13299dSbellardcase $targetos in
7867b915a5SbellardMINGW32*)
7967b915a5Sbellardmingw32="yes"
8067b915a5Sbellard;;
817d13299dSbellard*) ;;
827d13299dSbellardesac
837d13299dSbellard
847d13299dSbellard# find source path
857d13299dSbellard# XXX: we assume an absolute path is given when launching configure,
867d13299dSbellard# except in './configure' case.
877d13299dSbellardsource_path=${0%configure}
887d13299dSbellardsource_path=${source_path%/}
897d13299dSbellardsource_path_used="yes"
907d13299dSbellardif test -z "$source_path" -o "$source_path" = "." ; then
917d13299dSbellard    source_path=`pwd`
927d13299dSbellard    source_path_used="no"
937d13299dSbellardfi
947d13299dSbellard
957d13299dSbellardfor opt do
967d13299dSbellard  case "$opt" in
977d13299dSbellard  --prefix=*) prefix=`echo $opt | cut -d '=' -f 2`
987d13299dSbellard  ;;
9932ce6337Sbellard  --interp-prefix=*) interp_prefix=`echo $opt | cut -d '=' -f 2`
10032ce6337Sbellard  ;;
1017d13299dSbellard  --source-path=*) source_path=`echo $opt | cut -d '=' -f 2`
1027d13299dSbellard  ;;
1037d13299dSbellard  --cross-prefix=*) cross_prefix=`echo $opt | cut -d '=' -f 2`
1047d13299dSbellard  ;;
1057d13299dSbellard  --cc=*) cc=`echo $opt | cut -d '=' -f 2`
1067d13299dSbellard  ;;
1077d13299dSbellard  --make=*) make=`echo $opt | cut -d '=' -f 2`
1087d13299dSbellard  ;;
1097d13299dSbellard  --extra-cflags=*) CFLAGS="${opt#--extra-cflags=}"
1107d13299dSbellard  ;;
1117d13299dSbellard  --extra-ldflags=*) LDFLAGS="${opt#--extra-ldflags=}"
1127d13299dSbellard  ;;
1137d13299dSbellard  --extra-libs=*) extralibs=${opt#--extra-libs=}
1147d13299dSbellard  ;;
1157d13299dSbellard  --cpu=*) cpu=`echo $opt | cut -d '=' -f 2`
1167d13299dSbellard  ;;
11797a847bcSbellard  --target-list=*) target_list=${opt#--target-list=}
118de83cd02Sbellard  ;;
1197d13299dSbellard  --enable-gprof) gprof="yes"
1207d13299dSbellard  ;;
12143ce4dfeSbellard  --static) static="yes"
12243ce4dfeSbellard  ;;
12397a847bcSbellard  --disable-sdl) sdl="no"
12497a847bcSbellard  ;;
12567b915a5Sbellard  --enable-mingw32) mingw32="yes" ; cross_prefix="i386-mingw32-"
12667b915a5Sbellard  ;;
1277d13299dSbellard  esac
1287d13299dSbellarddone
1297d13299dSbellard
1307d13299dSbellard# Checking for CFLAGS
1317d13299dSbellardif test -z "$CFLAGS"; then
1327d13299dSbellard    CFLAGS="-O2"
1337d13299dSbellardfi
1347d13299dSbellard
1357d13299dSbellardcc="${cross_prefix}${cc}"
1367d13299dSbellardar="${cross_prefix}${ar}"
1377d13299dSbellardstrip="${cross_prefix}${strip}"
1387d13299dSbellard
13967b915a5Sbellardif test "$mingw32" = "yes" ; then
14067b915a5Sbellard    target_list="i386-softmmu"
14167b915a5Sbellard    EXESUF=".exe"
14267b915a5Sbellard    gdbstub="no"
14367b915a5Sbellardfi
14467b915a5Sbellard
1457d13299dSbellardif test -z "$cross_prefix" ; then
1467d13299dSbellard
1477d13299dSbellard# ---
1487d13299dSbellard# big/little endian test
1497d13299dSbellardcat > $TMPC << EOF
1507d13299dSbellard#include <inttypes.h>
1517d13299dSbellardint main(int argc, char ** argv){
1527d13299dSbellard	volatile uint32_t i=0x01234567;
1537d13299dSbellard	return (*((uint8_t*)(&i))) == 0x67;
1547d13299dSbellard}
1557d13299dSbellardEOF
1567d13299dSbellard
1577d13299dSbellardif $cc -o $TMPE $TMPC 2>/dev/null ; then
1587d13299dSbellard$TMPE && bigendian="yes"
1597d13299dSbellardelse
1607d13299dSbellardecho big/little test failed
1617d13299dSbellardfi
1627d13299dSbellard
1637d13299dSbellardelse
1647d13299dSbellard
1657d13299dSbellard# if cross compiling, cannot launch a program, so make a static guess
16638e584a0Sbellardif test "$cpu" = "powerpc" -o "$cpu" = "mips" -o "$cpu" = "s390" -o "$cpu" = "sparc" -o "$cpu" = "sparc64" -o "$cpu" = "m68k"; then
1677d13299dSbellard    bigendian="yes"
1687d13299dSbellardfi
1697d13299dSbellard
1707d13299dSbellardfi
1717d13299dSbellard
172e8cd23deSbellard# check gcc options support
17304369ff2Sbellardcat > $TMPC <<EOF
17404369ff2Sbellardint main(void) {
17504369ff2Sbellard}
17604369ff2SbellardEOF
17704369ff2Sbellard
178e8cd23deSbellardhave_gcc3_options="no"
179e8cd23deSbellardif $cc -fno-reorder-blocks -fno-optimize-sibling-calls -o $TMPO $TMPC 2> /dev/null ; then
180e8cd23deSbellard   have_gcc3_options="yes"
18104369ff2Sbellardfi
182ca735206Sbellard
18311d9f695Sbellard##########################################
18411d9f695Sbellard# SDL probe
18511d9f695Sbellard
18611d9f695Sbellardsdl_too_old=no
18711d9f695Sbellard
18811d9f695Sbellardif test -z "$sdl" ; then
18911d9f695Sbellard
190*a6e022adSbellardsdl_config="sdl-config"
191*a6e022adSbellardsdl=no
192*a6e022adSbellard
193*a6e022adSbellardif test "$mingw32" = "yes" -a ! -z "$cross_prefix" ; then
194*a6e022adSbellard# win32 cross compilation case
195*a6e022adSbellard    sdl_config="i386-mingw32msvc-sdl-config"
196*a6e022adSbellard    sdl=yes
197*a6e022adSbellardelse
198*a6e022adSbellard# normal SDL probe
19911d9f695Sbellardcat > $TMPC << EOF
20011d9f695Sbellard#include <SDL.h>
20111d9f695Sbellard#undef main /* We don't want SDL to override our main() */
20211d9f695Sbellardint main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
20311d9f695SbellardEOF
20411d9f695Sbellard
205*a6e022adSbellardif $cc -o $TMPE `$sdl_config --cflags 2> /dev/null` $TMPC `$sdl_config --libs 2> /dev/null` 2> /dev/null ; then
206*a6e022adSbellard_sdlversion=`$sdl_config --version | sed 's/[^0-9]//g'`
20711d9f695Sbellardif test "$_sdlversion" -lt 121 ; then
20811d9f695Sbellardsdl_too_old=yes
20911d9f695Sbellardelse
21011d9f695Sbellardsdl=yes
21111d9f695Sbellardfi
21211d9f695Sbellardfi
21311d9f695Sbellard
214*a6e022adSbellardfi # cross compilation
215*a6e022adSbellardfi # -z $sdl
21611d9f695Sbellard
2177d13299dSbellardif test x"$1" = x"-h" -o x"$1" = x"--help" ; then
2187d13299dSbellardcat << EOF
2197d13299dSbellard
2207d13299dSbellardUsage: configure [options]
2217d13299dSbellardOptions: [defaults in brackets after descriptions]
2227d13299dSbellard
2237d13299dSbellardEOF
2247d13299dSbellardecho "Standard options:"
2257d13299dSbellardecho "  --help                   print this message"
2267d13299dSbellardecho "  --prefix=PREFIX          install in PREFIX [$prefix]"
2271e43adfcSbellardecho "  --interp-prefix=PREFIX   where to find shared libraries, etc."
2281e43adfcSbellardecho "                           use %M for cpu name [$interp_prefix]"
22997a847bcSbellardecho "  --target-list=LIST       set target list [$target_list]"
2307d13299dSbellardecho ""
2317d13299dSbellardecho "Advanced options (experts only):"
2327d13299dSbellardecho "  --source-path=PATH       path of source code [$source_path]"
2337d13299dSbellardecho "  --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]"
2347d13299dSbellardecho "  --cc=CC                  use C compiler CC [$cc]"
2357d13299dSbellardecho "  --make=MAKE              use specified make [$make]"
23643ce4dfeSbellardecho "  --static                 enable static build [$static]"
23767b915a5Sbellardecho "  --enable-mingw32         enable Win32 cross compilation with mingw32"
2387d13299dSbellardecho ""
2397d13299dSbellardecho "NOTE: The object files are build at the place where configure is launched"
2407d13299dSbellardexit 1
2417d13299dSbellardfi
2427d13299dSbellard
24311d9f695Sbellardif test "$mingw32" = "yes" ; then
24411d9f695Sbellardif test -z "$prefix" ; then
24511d9f695Sbellard    prefix="/c/Program Files/Qemu"
24611d9f695Sbellardfi
24711d9f695Sbellardmandir="$prefix"
24811d9f695Sbellardsharedir="$prefix"
24911d9f695Sbellardbindir="$prefix"
25011d9f695Sbellardelse
25111d9f695Sbellardif test -z "$prefix" ; then
25211d9f695Sbellard    prefix="/usr/local"
25311d9f695Sbellardfi
2545a67135aSbellardmandir="$prefix/share/man"
2555a67135aSbellardsharedir="$prefix/share/qemu"
25611d9f695Sbellardbindir="$prefix/bin"
25711d9f695Sbellardfi
2585a67135aSbellard
2597d13299dSbellardecho "Install prefix    $prefix"
2605a67135aSbellardecho "BIOS directory    $sharedir"
26111d9f695Sbellardecho "binary directory  $bindir"
26211d9f695Sbellardif test "$mingw32" = "no" ; then
26311d9f695Sbellardecho "Manual directory  $mandir"
26443ce4dfeSbellardecho "ELF interp prefix $interp_prefix"
26511d9f695Sbellardfi
2665a67135aSbellardecho "Source path       $source_path"
2677d13299dSbellardecho "C compiler        $cc"
2687d13299dSbellardecho "make              $make"
269a98fd896Sbellardecho "host CPU          $cpu"
270de83cd02Sbellardecho "host big endian   $bigendian"
27197a847bcSbellardecho "target list       $target_list"
2727d13299dSbellardecho "gprof enabled     $gprof"
27343ce4dfeSbellardecho "static build      $static"
27497a847bcSbellardecho "SDL support       $sdl"
27567b915a5Sbellardecho "mingw32 support   $mingw32"
27667b915a5Sbellard
27797a847bcSbellardif test $sdl_too_old = "yes"; then
27897a847bcSbellardecho "-> Your SDL version is too old - please upgrade to have FFplay/SDL support"
279e8cd23deSbellardfi
28097a847bcSbellard
28197a847bcSbellardconfig_mak="config-host.mak"
28297a847bcSbellardconfig_h="config-host.h"
28397a847bcSbellard
28497a847bcSbellardecho "Creating $config_mak and $config_h"
28597a847bcSbellard
28697a847bcSbellardecho "# Automatically generated by configure - do not modify" > $config_mak
28797a847bcSbellardecho "/* Automatically generated by configure - do not modify */" > $config_h
28897a847bcSbellard
28997a847bcSbellardecho "prefix=$prefix" >> $config_mak
29011d9f695Sbellardecho "bindir=$bindir" >> $config_mak
2915a67135aSbellardecho "mandir=$mandir" >> $config_mak
2925a67135aSbellardecho "sharedir=$sharedir" >> $config_mak
2935a67135aSbellardecho "#define CONFIG_QEMU_SHAREDIR \"$sharedir\"" >> $config_h
29497a847bcSbellardecho "MAKE=$make" >> $config_mak
29597a847bcSbellardecho "CC=$cc" >> $config_mak
29697a847bcSbellardif test "$have_gcc3_options" = "yes" ; then
29797a847bcSbellard  echo "HAVE_GCC3_OPTIONS=yes" >> $config_mak
29897a847bcSbellardfi
29997a847bcSbellardecho "HOST_CC=$host_cc" >> $config_mak
30097a847bcSbellardecho "AR=$ar" >> $config_mak
30197a847bcSbellardecho "STRIP=$strip -s -R .comment -R .note" >> $config_mak
30297a847bcSbellardecho "CFLAGS=$CFLAGS" >> $config_mak
30397a847bcSbellardecho "LDFLAGS=$LDFLAGS" >> $config_mak
30467b915a5Sbellardecho "EXESUF=$EXESUF" >> $config_mak
30597a847bcSbellardif test "$cpu" = "i386" ; then
30697a847bcSbellard  echo "ARCH=i386" >> $config_mak
30797a847bcSbellard  echo "#define HOST_I386 1" >> $config_h
308bc51c5c9Sbellardelif test "$cpu" = "amd64" ; then
309bc51c5c9Sbellard  echo "ARCH=amd64" >> $config_mak
310bc51c5c9Sbellard  echo "#define HOST_AMD64 1" >> $config_h
3117d13299dSbellardelif test "$cpu" = "armv4l" ; then
31297a847bcSbellard  echo "ARCH=arm" >> $config_mak
31397a847bcSbellard  echo "#define HOST_ARM 1" >> $config_h
3147d13299dSbellardelif test "$cpu" = "powerpc" ; then
31597a847bcSbellard  echo "ARCH=ppc" >> $config_mak
31697a847bcSbellard  echo "#define HOST_PPC 1" >> $config_h
3177d13299dSbellardelif test "$cpu" = "mips" ; then
31897a847bcSbellard  echo "ARCH=mips" >> $config_mak
31997a847bcSbellard  echo "#define HOST_MIPS 1" >> $config_h
320fb3e5849Sbellardelif test "$cpu" = "s390" ; then
32197a847bcSbellard  echo "ARCH=s390" >> $config_mak
32297a847bcSbellard  echo "#define HOST_S390 1" >> $config_h
323295defa5Sbellardelif test "$cpu" = "alpha" ; then
32497a847bcSbellard  echo "ARCH=alpha" >> $config_mak
32597a847bcSbellard  echo "#define HOST_ALPHA 1" >> $config_h
326ae228531Sbellardelif test "$cpu" = "sparc" ; then
32797a847bcSbellard  echo "ARCH=sparc" >> $config_mak
32897a847bcSbellard  echo "#define HOST_SPARC 1" >> $config_h
329ae228531Sbellardelif test "$cpu" = "sparc64" ; then
33097a847bcSbellard  echo "ARCH=sparc64" >> $config_mak
33197a847bcSbellard  echo "#define HOST_SPARC64 1" >> $config_h
332a8baa8c5Sbellardelif test "$cpu" = "ia64" ; then
33397a847bcSbellard  echo "ARCH=ia64" >> $config_mak
33497a847bcSbellard  echo "#define HOST_IA64 1" >> $config_h
33538e584a0Sbellardelif test "$cpu" = "m68k" ; then
33638ca2abcSbellard  echo "ARCH=m68k" >> $config_mak
33738ca2abcSbellard  echo "#define HOST_M68K 1" >> $config_h
3387d13299dSbellardelse
3397d13299dSbellard  echo "Unsupported CPU"
3407d13299dSbellard  exit 1
3417d13299dSbellardfi
3427d13299dSbellardif test "$bigendian" = "yes" ; then
34397a847bcSbellard  echo "WORDS_BIGENDIAN=yes" >> $config_mak
34497a847bcSbellard  echo "#define WORDS_BIGENDIAN 1" >> $config_h
34597a847bcSbellardfi
34667b915a5Sbellardif test "$mingw32" = "yes" ; then
34767b915a5Sbellard  echo "CONFIG_WIN32=yes" >> $config_mak
34811d9f695Sbellard  echo "#define CONFIG_WIN32 1" >> $config_h
34967b915a5Sbellardelse
35097a847bcSbellard  echo "#define HAVE_BYTESWAP_H 1" >> $config_h
35167b915a5Sbellardfi
35267b915a5Sbellardif test "$gdbstub" = "yes" ; then
35367b915a5Sbellard  echo "CONFIG_GDBSTUB=yes" >> $config_mak
35467b915a5Sbellard  echo "#define CONFIG_GDBSTUB 1" >> $config_h
35567b915a5Sbellardfi
35697a847bcSbellardif test "$gprof" = "yes" ; then
35797a847bcSbellard  echo "TARGET_GPROF=yes" >> $config_mak
35897a847bcSbellard  echo "#define HAVE_GPROF 1" >> $config_h
35997a847bcSbellardfi
36097a847bcSbellardif test "$static" = "yes" ; then
36197a847bcSbellard  echo "CONFIG_STATIC=yes" >> $config_mak
36250863472Sbellard  echo "#define CONFIG_STATIC 1" >> $config_h
36397a847bcSbellardfi
36497a847bcSbellardif test "$sdl" = "yes" ; then
36597a847bcSbellard  echo "CONFIG_SDL=yes" >> $config_mak
36697a847bcSbellard  echo "#define CONFIG_SDL 1" >> $config_h
367*a6e022adSbellard  echo "SDL_LIBS=`$sdl_config --libs`" >> $config_mak
368590b7eedSbellard  aa="no"
369*a6e022adSbellard  `$sdl_config --static-libs | grep \\\-laa > /dev/null` && aa="yes"
370*a6e022adSbellard  echo -n "SDL_STATIC_LIBS=`$sdl_config --static-libs`" >> $config_mak
371590b7eedSbellard  if [ "${aa}" = "yes" ] ; then
372590b7eedSbellard      echo -n " `aalib-config --libs`" >> $config_mak ;
373590b7eedSbellard  fi
374590b7eedSbellard  echo "" >> $config_mak
375*a6e022adSbellard  echo -n "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
376590b7eedSbellard  if [ "${aa}" = "yes" ] ; then
377590b7eedSbellard      echo -n " `aalib-config --cflags`" >> $config_mak ;
378590b7eedSbellard  fi
379590b7eedSbellard  echo "" >> $config_mak
38097a847bcSbellardfi
38197a847bcSbellardecho -n "VERSION=" >>$config_mak
38297a847bcSbellardhead $source_path/VERSION >>$config_mak
38397a847bcSbellardecho "" >>$config_mak
38497a847bcSbellardecho -n "#define QEMU_VERSION \"" >> $config_h
38597a847bcSbellardhead $source_path/VERSION >> $config_h
38697a847bcSbellardecho "\"" >> $config_h
38797a847bcSbellard
38897a847bcSbellardecho "SRC_PATH=$source_path" >> $config_mak
38997a847bcSbellardecho "TARGET_DIRS=$target_list" >> $config_mak
39097a847bcSbellard
39197a847bcSbellardfor target in $target_list; do
39297a847bcSbellard
39397a847bcSbellardtarget_dir="$target"
39497a847bcSbellardconfig_mak=$target_dir/config.mak
39597a847bcSbellardconfig_h=$target_dir/config.h
39697a847bcSbellardtarget_cpu=`echo $target | cut -d '-' -f 1`
39797a847bcSbellardtarget_bigendian="no"
3981e43adfcSbellard[ "$target_cpu" = "sparc" ] && target_bigendian=yes
39967867308Sbellard[ "$target_cpu" = "ppc" ] && target_bigendian=yes
40097a847bcSbellardtarget_softmmu="no"
40197a847bcSbellardif expr $target : '.*-softmmu' > /dev/null ; then
40297a847bcSbellard  target_softmmu="yes"
4037d13299dSbellardfi
404997344f3Sbellardtarget_user_only="no"
405997344f3Sbellardif expr $target : '.*-user' > /dev/null ; then
406997344f3Sbellard  target_user_only="yes"
407997344f3Sbellardfi
408de83cd02Sbellard
40997a847bcSbellardecho "Creating $config_mak, $config_h and $target_dir/Makefile"
41097a847bcSbellard
41197a847bcSbellardmkdir -p $target_dir
41269de927cSbellardif test "$target" = "arm-user" ; then
41369de927cSbellard  mkdir -p $target_dir/nwfpe
41469de927cSbellardfi
41569de927cSbellard
41697a847bcSbellardln -sf $source_path/Makefile.target $target_dir/Makefile
41797a847bcSbellard
41897a847bcSbellardecho "# Automatically generated by configure - do not modify" > $config_mak
41997a847bcSbellardecho "/* Automatically generated by configure - do not modify */" > $config_h
42097a847bcSbellard
42197a847bcSbellard
42297a847bcSbellardecho "include ../config-host.mak" >> $config_mak
42397a847bcSbellardecho "#include \"../config-host.h\"" >> $config_h
4241e43adfcSbellard
4251e43adfcSbellardinterp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_cpu/g"`
4261e43adfcSbellardecho "#define CONFIG_QEMU_PREFIX \"$interp_prefix1\"" >> $config_h
42797a847bcSbellard
42897a847bcSbellardif test "$target_cpu" = "i386" ; then
42997a847bcSbellard  echo "TARGET_ARCH=i386" >> $config_mak
43097a847bcSbellard  echo "#define TARGET_ARCH \"i386\"" >> $config_h
43197a847bcSbellard  echo "#define TARGET_I386 1" >> $config_h
432de83cd02Sbellardelif test "$target_cpu" = "arm" ; then
43397a847bcSbellard  echo "TARGET_ARCH=arm" >> $config_mak
43497a847bcSbellard  echo "#define TARGET_ARCH \"arm\"" >> $config_h
43597a847bcSbellard  echo "#define TARGET_ARM 1" >> $config_h
4361e43adfcSbellardelif test "$target_cpu" = "sparc" ; then
4371e43adfcSbellard  echo "TARGET_ARCH=sparc" >> $config_mak
4381e43adfcSbellard  echo "#define TARGET_ARCH \"sparc\"" >> $config_h
4391e43adfcSbellard  echo "#define TARGET_SPARC 1" >> $config_h
44067867308Sbellardelif test "$target_cpu" = "ppc" ; then
44167867308Sbellard  echo "TARGET_ARCH=ppc" >> $config_mak
44267867308Sbellard  echo "#define TARGET_ARCH \"ppc\"" >> $config_h
44367867308Sbellard  echo "#define TARGET_PPC 1" >> $config_h
444de83cd02Sbellardelse
445de83cd02Sbellard  echo "Unsupported target CPU"
446de83cd02Sbellard  exit 1
447de83cd02Sbellardfi
448de83cd02Sbellardif test "$target_bigendian" = "yes" ; then
44997a847bcSbellard  echo "TARGET_WORDS_BIGENDIAN=yes" >> $config_mak
45097a847bcSbellard  echo "#define TARGET_WORDS_BIGENDIAN 1" >> $config_h
45197a847bcSbellardfi
45297a847bcSbellardif test "$target_softmmu" = "yes" ; then
45397a847bcSbellard  echo "CONFIG_SOFTMMU=yes" >> $config_mak
45497a847bcSbellard  echo "#define CONFIG_SOFTMMU 1" >> $config_h
455de83cd02Sbellardfi
456997344f3Sbellardif test "$target_user_only" = "yes" ; then
457997344f3Sbellard  echo "CONFIG_USER_ONLY=yes" >> $config_mak
458997344f3Sbellard  echo "#define CONFIG_USER_ONLY 1" >> $config_h
459997344f3Sbellardfi
460de83cd02Sbellard
46197a847bcSbellarddone # for target in $targets
4627d13299dSbellard
4637d13299dSbellard# build tree in object directory if source path is different from current one
4647d13299dSbellardif test "$source_path_used" = "yes" ; then
4657d13299dSbellard    DIRS="tests"
4667d13299dSbellard    FILES="Makefile tests/Makefile"
4677d13299dSbellard    for dir in $DIRS ; do
4687d13299dSbellard            mkdir -p $dir
4697d13299dSbellard    done
4707d13299dSbellard    for f in $FILES ; do
4717d13299dSbellard        ln -sf $source_path/$f $f
4727d13299dSbellard    done
4737d13299dSbellardfi
4747d13299dSbellard
47597a847bcSbellardrm -f $TMPO $TMPC $TMPE $TMPS
476