2
2
# Attempt to guess a canonical system name.
3
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5
5
# Free Software Foundation, Inc.
9
9
# This file is free software; you can redistribute it and/or modify it
10
10
# under the terms of the GNU General Public License as published by
27
27
# the same distribution terms that you use for the rest of that program.
30
# Originally written by Per Bothner <per@bothner.com>.
31
# Please send patches to <config-patches@gnu.org>. Submit a context
32
# diff and a properly formatted ChangeLog entry.
30
# Originally written by Per Bothner. Please send patches (context
31
# diff format) to <config-patches@gnu.org> and include a ChangeLog
34
34
# This script attempts to guess a canonical system name similar to
35
35
# config.sub. If it succeeds, it prints the system name on stdout, and
36
36
# exits with 0. Otherwise, it exits with 1.
38
# The plan is that this can be called by configure scripts if you
39
# don't specify an explicit build system type.
38
# You can get the latest version of this script from:
39
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
41
41
me=`echo "$0" | sed -e 's,.*/,,'`
56
56
GNU config.guess ($timestamp)
58
58
Originally written by Per Bothner.
59
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
59
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
60
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
61
Software Foundation, Inc.
62
63
This is free software; see the source for copying conditions. There is NO
63
64
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
170
171
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171
172
eval $set_cc_for_build
172
173
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173
| grep __ELF__ >/dev/null
175
176
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176
177
# Return netbsd for either. FIX?
324
325
case `/usr/bin/uname -p` in
325
326
sparc) echo sparc-icl-nx7; exit ;;
329
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
327
331
sun4H:SunOS:5.*:*)
328
332
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330
334
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
331
335
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
338
echo i386-pc-auroraux${UNAME_RELEASE}
333
340
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
334
341
eval $set_cc_for_build
805
812
echo ${UNAME_MACHINE}-pc-pw32
808
815
case ${UNAME_MACHINE} in
810
817
echo i586-pc-interix${UNAME_RELEASE}
812
EM64T | authenticamd | genuineintel)
819
authenticamd | genuineintel | EM64T)
813
820
echo x86_64-unknown-interix${UNAME_RELEASE}
819
826
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
820
827
echo i${UNAME_MACHINE}-pc-mks
822
832
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
823
833
# How do we know it's Interix rather than the generic POSIX subsystem?
824
834
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
849
859
echo ${UNAME_MACHINE}-pc-minix
862
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
863
EV5) UNAME_MACHINE=alphaev5 ;;
864
EV56) UNAME_MACHINE=alphaev56 ;;
865
PCA56) UNAME_MACHINE=alphapca56 ;;
866
PCA57) UNAME_MACHINE=alphapca56 ;;
867
EV6) UNAME_MACHINE=alphaev6 ;;
868
EV67) UNAME_MACHINE=alphaev67 ;;
869
EV68*) UNAME_MACHINE=alphaev68 ;;
871
objdump --private-headers /bin/sh | grep -q ld.so.1
872
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
873
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
852
876
eval $set_cc_for_build
853
877
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
871
895
echo frv-unknown-linux-gnu
899
eval $set_cc_for_build
900
sed 's/^ //' << EOF >$dummy.c
905
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
906
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
874
909
echo ${UNAME_MACHINE}-unknown-linux-gnu
880
915
echo ${UNAME_MACHINE}-unknown-linux-gnu
883
eval $set_cc_for_build
884
sed 's/^ //' << EOF >$dummy.c
888
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
891
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
898
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
903
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
906
eval $set_cc_for_build
907
sed 's/^ //' << EOF >$dummy.c
911
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
914
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
921
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
917
mips:Linux:*:* | mips64:Linux:*:*)
918
eval $set_cc_for_build
919
sed 's/^ //' << EOF >$dummy.c
921
#undef ${UNAME_MACHINE}
922
#undef ${UNAME_MACHINE}el
923
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
924
CPU=${UNAME_MACHINE}el
926
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
933
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
926
934
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
929
937
echo or32-unknown-linux-gnu
932
echo powerpc-unknown-linux-gnu
935
echo powerpc64-unknown-linux-gnu
938
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
939
EV5) UNAME_MACHINE=alphaev5 ;;
940
EV56) UNAME_MACHINE=alphaev56 ;;
941
PCA56) UNAME_MACHINE=alphapca56 ;;
942
PCA57) UNAME_MACHINE=alphapca56 ;;
943
EV6) UNAME_MACHINE=alphaev6 ;;
944
EV67) UNAME_MACHINE=alphaev67 ;;
945
EV68*) UNAME_MACHINE=alphaev68 ;;
947
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
948
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
949
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
952
940
echo sparc-unknown-linux-gnu
942
parisc64:Linux:*:* | hppa64:Linux:*:*)
943
echo hppa64-unknown-linux-gnu
954
945
parisc:Linux:*:* | hppa:Linux:*:*)
955
946
# Look for CPU level
956
947
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
959
950
*) echo hppa-unknown-linux-gnu ;;
962
parisc64:Linux:*:* | hppa64:Linux:*:*)
963
echo hppa64-unknown-linux-gnu
954
echo powerpc64-unknown-linux-gnu
957
echo powerpc-unknown-linux-gnu
965
959
s390:Linux:*:* | s390x:Linux:*:*)
966
960
echo ${UNAME_MACHINE}-ibm-linux
983
977
xtensa*:Linux:*:*)
984
978
echo ${UNAME_MACHINE}-unknown-linux-gnu
987
# The BFD linker knows what the default object file format is, so
988
# first see if it will tell us. cd to the root directory to prevent
989
# problems with other programs or directories called `ld' in the path.
990
# Set LC_ALL=C to ensure ld outputs messages in English.
991
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
992
| sed -ne '/supported targets:/!d
994
s/.*supported targets: *//
997
case "$ld_supported_targets" in
999
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
1002
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
1005
# Either a pre-BFD a.out linker (linux-gnuoldld) or
1006
# one that does not give us useful --help.
1007
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
1010
# Determine whether the default compiler is a.out or elf
1011
eval $set_cc_for_build
1012
sed 's/^ //' << EOF >$dummy.c
1013
#include <features.h>
1025
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1035
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1040
test x"${LIBC}" != x && {
1041
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1044
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1046
980
i*86:DYNIX/ptx:4*:*)
1047
981
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1048
982
# earlier versions are messed up and put the nodename in both
1071
1005
i*86:syllable:*:*)
1072
1006
echo ${UNAME_MACHINE}-pc-syllable
1074
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1008
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1075
1009
echo i386-unknown-lynxos${UNAME_RELEASE}
1116
1050
# Left here for compatibility:
1117
1051
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1118
# the processor, so we play safe by assuming i386.
1119
echo i386-pc-msdosdjgpp
1052
# the processor, so we play safe by assuming i586.
1053
# Note: whatever this is, it MUST be the same as what config.sub
1054
# prints for the "djgpp" host, or else GDB configury will decide that
1055
# this is a cross-build.
1056
echo i586-pc-msdosdjgpp
1121
1058
Intel:Mach:3*:*)
1122
1059
echo i386-pc-mach3
1176
1113
rs6000:LynxOS:2.*:*)
1177
1114
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1179
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1116
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1180
1117
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1182
1119
SM[BE]S:UNIX_SV:*:*)
1270
1207
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1271
1208
case $UNAME_PROCESSOR in
1210
eval $set_cc_for_build
1211
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1212
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1213
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1214
grep IS_64BIT_ARCH >/dev/null
1216
UNAME_PROCESSOR="x86_64"
1272
1219
unknown) UNAME_PROCESSOR=powerpc ;;
1274
1221
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}