improve configure's target arch matching

most notably, it was failing to match sh4-*, etc., but in general the
explicit matching of hyphens for some archs was problematic because it
failed to accept simply the musl-style arch name (without a gcc-style
tuple) as an input. the original motivation of matching hyphens was to
prevent incorrectly identifying a 64-bit arch as the corresponding
32-bit arch (e.g. mips* matching mips64) but this is easily fixed by
simply checking (and for now, rejecting as unsupported) the relevant
64-bit archs.
This commit is contained in:
Rich Felker 2014-02-28 13:12:40 -05:00
parent 3d7f5c363e
commit 0b8f0c57c0

10
configure vendored
View File

@ -222,14 +222,16 @@ printf "%s\n" "$target"
# Convert to just ARCH
#
case "$target" in
# Catch these early to simplify matching for 32-bit archs
mips64*|powerpc64*) fail "$0: unsupported target \"$target\"" ;;
arm*) ARCH=arm ;;
i?86*) ARCH=i386 ;;
x86_64-x32*|x32*) ARCH=x32 ;;
x86_64*) ARCH=x86_64 ;;
mips-*|mipsel-*) ARCH=mips ;;
microblaze-*) ARCH=microblaze ;;
powerpc-*) ARCH=powerpc ;;
sh-*) ARCH=sh ;;
mips*) ARCH=mips ;;
microblaze*) ARCH=microblaze ;;
powerpc*) ARCH=powerpc ;;
sh[1-9bel-]*|sh|superh*) ARCH=sh ;;
unknown) fail "$0: unable to detect target arch; try $0 --target=..." ;;
*) fail "$0: unknown or unsupported target \"$target\"" ;;
esac