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 Free Software Foundation, Inc.
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5
# Free Software Foundation, Inc.
8
9
# This file is free software; you can redistribute it and/or modify it
9
10
# under the terms of the GNU General Public License as published by
26
27
# the same distribution terms that you use for the rest of that program.
29
# Originally written by Per Bothner <per@bothner.com>.
30
# Please send patches to <config-patches@gnu.org>. Submit a context
31
# 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
33
34
# This script attempts to guess a canonical system name similar to
34
35
# config.sub. If it succeeds, it prints the system name on stdout, and
35
36
# exits with 0. Otherwise, it exits with 1.
37
# The plan is that this can be called by configure scripts if you
38
# 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
40
41
me=`echo "$0" | sed -e 's,.*/,,'`
55
56
GNU config.guess ($timestamp)
57
58
Originally written by Per Bothner.
58
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
59
Free Software Foundation, Inc.
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.
61
62
This is free software; see the source for copying conditions. There is NO
62
63
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
106
107
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107
108
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108
109
: ${TMPDIR=/tmp} ;
109
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110
111
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111
112
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112
113
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
160
161
arm*) machine=arm-unknown ;;
161
162
sh3el) machine=shl-unknown ;;
162
163
sh3eb) machine=sh-unknown ;;
164
sh5el) machine=sh5le-unknown ;;
163
165
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165
167
# The Operating System including object format, if it has switched
168
170
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
169
171
eval $set_cc_for_build
170
172
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
171
| grep __ELF__ >/dev/null
173
175
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
174
176
# Return netbsd for either. FIX?
207
209
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
212
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
209
214
macppc:MirBSD:*:*)
210
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
215
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
213
218
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
319
324
case `/usr/bin/uname -p` in
320
325
sparc) echo sparc-icl-nx7; exit ;;
328
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322
330
sun4H:SunOS:5.*:*)
323
331
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
325
333
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
326
334
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
337
echo i386-pc-auroraux${UNAME_RELEASE}
339
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
340
eval $set_cc_for_build
342
# If there is a compiler, see if it is configured for 64-bit objects.
343
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
344
# This test works for both compilers.
345
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
346
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
347
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
348
grep IS_64BIT_ARCH >/dev/null
353
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331
355
sun4*:SunOS:6*:*)
332
356
# According to config.sub, this is the proper way to canonicalize
764
788
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
767
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
791
case ${UNAME_MACHINE} in
793
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
770
801
echo ${UNAME_MACHINE}-pc-cygwin
773
804
echo ${UNAME_MACHINE}-pc-mingw32
780
811
echo ${UNAME_MACHINE}-pc-pw32
783
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
814
case ${UNAME_MACHINE} in
816
echo i586-pc-interix${UNAME_RELEASE}
818
authenticamd | genuineintel | EM64T)
819
echo x86_64-unknown-interix${UNAME_RELEASE}
822
echo ia64-unknown-interix${UNAME_RELEASE}
785
825
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
786
826
echo i${UNAME_MACHINE}-pc-mks
788
831
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
789
832
# How do we know it's Interix rather than the generic POSIX subsystem?
790
833
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
815
858
echo ${UNAME_MACHINE}-pc-minix
861
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
862
EV5) UNAME_MACHINE=alphaev5 ;;
863
EV56) UNAME_MACHINE=alphaev56 ;;
864
PCA56) UNAME_MACHINE=alphapca56 ;;
865
PCA57) UNAME_MACHINE=alphapca56 ;;
866
EV6) UNAME_MACHINE=alphaev6 ;;
867
EV67) UNAME_MACHINE=alphaev67 ;;
868
EV68*) UNAME_MACHINE=alphaev68 ;;
870
objdump --private-headers /bin/sh | grep -q ld.so.1
871
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
872
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
875
eval $set_cc_for_build
876
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
877
| grep -q __ARM_EABI__
879
echo ${UNAME_MACHINE}-unknown-linux-gnu
881
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
818
885
echo ${UNAME_MACHINE}-unknown-linux-gnu
827
894
echo frv-unknown-linux-gnu
898
eval $set_cc_for_build
899
sed 's/^ //' << EOF >$dummy.c
904
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
905
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
830
908
echo ${UNAME_MACHINE}-unknown-linux-gnu
836
914
echo ${UNAME_MACHINE}-unknown-linux-gnu
839
eval $set_cc_for_build
840
sed 's/^ //' << EOF >$dummy.c
844
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
847
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
854
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
855
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
858
eval $set_cc_for_build
859
sed 's/^ //' << EOF >$dummy.c
863
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
866
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
873
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
916
mips:Linux:*:* | mips64:Linux:*:*)
917
eval $set_cc_for_build
918
sed 's/^ //' << EOF >$dummy.c
920
#undef ${UNAME_MACHINE}
921
#undef ${UNAME_MACHINE}el
922
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
923
CPU=${UNAME_MACHINE}el
925
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
932
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
874
933
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
877
936
echo or32-unknown-linux-gnu
880
echo powerpc-unknown-linux-gnu
883
echo powerpc64-unknown-linux-gnu
886
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
887
EV5) UNAME_MACHINE=alphaev5 ;;
888
EV56) UNAME_MACHINE=alphaev56 ;;
889
PCA56) UNAME_MACHINE=alphapca56 ;;
890
PCA57) UNAME_MACHINE=alphapca56 ;;
891
EV6) UNAME_MACHINE=alphaev6 ;;
892
EV67) UNAME_MACHINE=alphaev67 ;;
893
EV68*) UNAME_MACHINE=alphaev68 ;;
895
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
896
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
897
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
939
echo sparc-unknown-linux-gnu
941
parisc64:Linux:*:* | hppa64:Linux:*:*)
942
echo hppa64-unknown-linux-gnu
899
944
parisc:Linux:*:* | hppa:Linux:*:*)
900
945
# Look for CPU level
904
949
*) echo hppa-unknown-linux-gnu ;;
907
parisc64:Linux:*:* | hppa64:Linux:*:*)
908
echo hppa64-unknown-linux-gnu
953
echo powerpc64-unknown-linux-gnu
956
echo powerpc-unknown-linux-gnu
910
958
s390:Linux:*:* | s390x:Linux:*:*)
911
959
echo ${UNAME_MACHINE}-ibm-linux
925
973
x86_64:Linux:*:*)
926
974
echo x86_64-unknown-linux-gnu
929
# The BFD linker knows what the default object file format is, so
930
# first see if it will tell us. cd to the root directory to prevent
931
# problems with other programs or directories called `ld' in the path.
932
# Set LC_ALL=C to ensure ld outputs messages in English.
933
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
934
| sed -ne '/supported targets:/!d
936
s/.*supported targets: *//
939
case "$ld_supported_targets" in
941
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
944
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
947
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
950
# Either a pre-BFD a.out linker (linux-gnuoldld) or
951
# one that does not give us useful --help.
952
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
955
# Determine whether the default compiler is a.out or elf
956
eval $set_cc_for_build
957
sed 's/^ //' << EOF >$dummy.c
958
#include <features.h>
970
#if defined(__INTEL_COMPILER) || defined(__PGI)
980
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^LIBC/{s: ::g;p;}'`"
981
test x"${LIBC}" != x && {
982
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
985
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
977
echo ${UNAME_MACHINE}-unknown-linux-gnu
987
979
i*86:DYNIX/ptx:4*:*)
988
980
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
989
981
# earlier versions are messed up and put the nodename in both
1012
1004
i*86:syllable:*:*)
1013
1005
echo ${UNAME_MACHINE}-pc-syllable
1015
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1007
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1016
1008
echo i386-unknown-lynxos${UNAME_RELEASE}
1057
1049
# Left here for compatibility:
1058
1050
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1059
# the processor, so we play safe by assuming i386.
1060
echo i386-pc-msdosdjgpp
1051
# the processor, so we play safe by assuming i586.
1052
# Note: whatever this is, it MUST be the same as what config.sub
1053
# prints for the "djgpp" host, or else GDB configury will decide that
1054
# this is a cross-build.
1055
echo i586-pc-msdosdjgpp
1062
1057
Intel:Mach:3*:*)
1063
1058
echo i386-pc-mach3
1095
1090
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1096
1091
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1097
1092
&& { echo i486-ncr-sysv4; exit; } ;;
1093
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1095
test -r /etc/.relid \
1096
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1101
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1102
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1098
1103
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1099
1104
echo m68k-unknown-lynxos${UNAME_RELEASE}
1107
1112
rs6000:LynxOS:2.*:*)
1108
1113
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1110
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1115
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1111
1116
echo powerpc-unknown-lynxos${UNAME_RELEASE}
1113
1118
SM[BE]S:UNIX_SV:*:*)
1179
1187
SX-6:SUPER-UX:*:*)
1180
1188
echo sx6-nec-superux${UNAME_RELEASE}
1191
echo sx7-nec-superux${UNAME_RELEASE}
1194
echo sx8-nec-superux${UNAME_RELEASE}
1197
echo sx8r-nec-superux${UNAME_RELEASE}
1182
1199
Power*:Rhapsody:*:*)
1183
1200
echo powerpc-apple-rhapsody${UNAME_RELEASE}
1189
1206
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1190
1207
case $UNAME_PROCESSOR in
1209
eval $set_cc_for_build
1210
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1211
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1212
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1213
grep IS_64BIT_ARCH >/dev/null
1215
UNAME_PROCESSOR="x86_64"
1191
1218
unknown) UNAME_PROCESSOR=powerpc ;;
1193
1220
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1429
1459
the operating system you are using. It is advised that you
1430
1460
download the most up to date version of the config scripts from
1432
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1462
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1434
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1464
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1436
1466
If the version you run ($0) is already up to date, please
1437
1467
send the following data and any information you think might be