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>
This commit is contained in:
Alexander Graf 2009-12-05 12:44:22 +01:00 committed by Aurelien Jarno
parent 10ec51174c
commit 24e804ec14

22
configure vendored
View File

@ -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)