aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2009-12-05 12:44:22 +0100
committerAurelien Jarno <aurelien@aurel32.net>2009-12-05 17:36:00 +0100
commit24e804ec146fa491c32a39941dc9f259c8df41e6 (patch)
treeb2ab8c26660986875662ed338eb0fee73d0b12a4
parent10ec51174ca69a4c3c5149b0b3baaa6ccba66273 (diff)
S/390 host/target build system support
This patch makes configure aware of S390 hosts and guests. When not explicitly defined using --target-list= no S390 targets will be built though. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rwxr-xr-xconfigure22
1 files changed, 15 insertions, 7 deletions
diff --git a/configure b/configure
index cab0ed4e16..0843d064da 100755
--- a/configure
+++ b/configure
@@ -183,9 +183,12 @@ case "$cpu" in
mips*)
cpu="mips"
;;
- s390*)
+ s390)
cpu="s390"
;;
+ s390x)
+ cpu="s390x"
+ ;;
sparc|sun4[cdmuv])
cpu="sparc"
;;
@@ -881,7 +884,7 @@ else
# if cross compiling, cannot launch a program, so make a static guess
case "$cpu" in
- armv4b|hppa|m68k|mips|mips64|ppc|ppc64|s390|sparc|sparc64)
+ armv4b|hppa|m68k|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
bigendian=yes
;;
esac
@@ -891,7 +894,7 @@ fi
# host long bits test
hostlongbits="32"
case "$cpu" in
- x86_64|alpha|ia64|sparc64|ppc64)
+ x86_64|alpha|ia64|sparc64|ppc64|s390x)
hostlongbits=64
;;
esac
@@ -1901,7 +1904,7 @@ echo >> $config_host_mak
echo "CONFIG_QEMU_SHAREDIR=\"$prefix$datasuffix\"" >> $config_host_mak
case "$cpu" in
- i386|x86_64|alpha|cris|hppa|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|s390|sparc|sparc64)
+ i386|x86_64|alpha|cris|hppa|ia64|m68k|microblaze|mips|mips64|ppc|ppc64|s390|s390x|sparc|sparc64)
ARCH=$cpu
;;
armv4b|armv4l)
@@ -2188,7 +2191,7 @@ target_arch2=`echo $target | cut -d '-' -f 1`
target_bigendian="no"
case "$target_arch2" in
- armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|sh4eb|sparc|sparc64|sparc32plus)
+ armeb|m68k|microblaze|mips|mipsn32|mips64|ppc|ppcemb|ppc64|ppc64abi32|s390x|sh4eb|sparc|sparc64|sparc32plus)
target_bigendian=yes
;;
esac
@@ -2356,6 +2359,9 @@ case "$target_arch2" in
echo "TARGET_ABI32=y" >> $config_target_mak
target_phys_bits=64
;;
+ s390x)
+ target_phys_bits=64
+ ;;
*)
echo "Unsupported target CPU"
exit 1
@@ -2424,7 +2430,7 @@ if test ! -z "$gdb_xml_files" ; then
fi
case "$target_arch2" in
- arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|sparc|sparc64|sparc32plus)
+ arm|armeb|m68k|microblaze|mips|mipsel|mipsn32|mipsn32el|mips64|mips64el|ppc|ppc64|ppc64abi32|ppcemb|s390x|sparc|sparc64|sparc32plus)
echo "CONFIG_SOFTFLOAT=y" >> $config_target_mak
;;
*)
@@ -2457,6 +2463,8 @@ ldflags=""
if test "$ARCH" = "sparc64" ; then
cflags="-I\$(SRC_PATH)/tcg/sparc $cflags"
+elif test "$ARCH" = "s390x" ; then
+ cflags="-I\$(SRC_PATH)/tcg/s390 $cflags"
else
cflags="-I\$(SRC_PATH)/tcg/\$(ARCH) $cflags"
fi
@@ -2492,7 +2500,7 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
ppc*)
echo "CONFIG_PPC_DIS=y" >> $config_target_mak
;;
- s390)
+ s390*)
echo "CONFIG_S390_DIS=y" >> $config_target_mak
;;
sh4)