1
1
#! /bin/sh
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.
6
6
7
- timestamp=' 2009-02 -03'
7
+ timestamp=' 2010-04 -03'
8
8
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,16 +27,16 @@ timestamp='2009-02-03'
27
27
# the same distribution terms that you use for the rest of that program.
28
28
29
29
30
- # Originally written by Per Bothner <[email protected] >.
31
- # Please send patches to <[email protected] >. 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 <[email protected] > and include a ChangeLog
32
+ # entry.
33
33
#
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.
37
37
#
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
40
40
41
41
me=` echo " $0 " | sed -e ' s,.*/,,' `
42
42
@@ -56,8 +56,9 @@ version="\
56
56
GNU config.guess ($timestamp )
57
57
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.
61
62
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."
@@ -91,7 +92,7 @@ if test $# != 0; then
91
92
exit 1
92
93
fi
93
94
94
- trap ' exit 1' 1 2 15
95
+ trap ' exit 1' HUP INT TERM
95
96
96
97
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97
98
# compiler to aid in system detection is discouraged as it requires
@@ -105,7 +106,7 @@ trap 'exit 1' 1 2 15
105
106
106
107
set_cc_for_build='
107
108
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108
- trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109
+ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
109
110
: ${TMPDIR=/tmp} ;
110
111
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111
112
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
@@ -170,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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
174
+ | grep -q __ELF__
174
175
then
175
176
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176
177
# Return netbsd for either. FIX?
@@ -324,12 +325,18 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
324
325
case ` /usr/bin/uname -p` in
325
326
sparc) echo sparc-icl-nx7; exit ;;
326
327
esac ;;
328
+ s390x:SunOS:* :* )
329
+ echo ${UNAME_MACHINE} -ibm-solaris2` echo ${UNAME_RELEASE} | sed -e ' s/[^.]*//' `
330
+ exit ;;
327
331
sun4H:SunOS:5.* :* )
328
332
echo sparc-hal-solaris2` echo ${UNAME_RELEASE} | sed -e ' s/[^.]*//' `
329
333
exit ;;
330
334
sun4* :SunOS:5.* :* | tadpole* :SunOS:5.* :* )
331
335
echo sparc-sun-solaris2` echo ${UNAME_RELEASE} | sed -e ' s/[^.]*//' `
332
336
exit ;;
337
+ i86pc:AuroraUX:5.* :* | i86xen:AuroraUX:5.* :* )
338
+ echo i386-pc-auroraux${UNAME_RELEASE}
339
+ exit ;;
333
340
i86pc:SunOS:5.* :* | i86xen:SunOS:5.* :* )
334
341
eval $set_cc_for_build
335
342
SUN_ARCH=" i386"
653
660
# => hppa64-hp-hpux11.23
654
661
655
662
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2> /dev/null) |
656
- grep __LP64__ > /dev/null
663
+ grep -q __LP64__
657
664
then
658
665
HP_ARCH=" hppa2.0w"
659
666
else
@@ -804,12 +811,12 @@ EOF
804
811
i* :PW* :* )
805
812
echo ${UNAME_MACHINE} -pc-pw32
806
813
exit ;;
807
- * :Interix* :[3456] * )
814
+ * :Interix* :* )
808
815
case ${UNAME_MACHINE} in
809
816
x86)
810
817
echo i586-pc-interix${UNAME_RELEASE}
811
818
exit ;;
812
- EM64T | authenticamd | genuineintel )
819
+ authenticamd | genuineintel | EM64T )
813
820
echo x86_64-unknown-interix${UNAME_RELEASE}
814
821
exit ;;
815
822
IA64)
819
826
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:* )
820
827
echo i${UNAME_MACHINE} -pc-mks
821
828
exit ;;
829
+ 8664:Windows_NT:* )
830
+ echo x86_64-pc-mks
831
+ exit ;;
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
848
858
i* 86:Minix:* :* )
849
859
echo ${UNAME_MACHINE} -pc-minix
850
860
exit ;;
861
+ alpha:Linux:* :* )
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 ;;
870
+ esac
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}
874
+ exit ;;
851
875
arm* :Linux:* :* )
852
876
eval $set_cc_for_build
853
877
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2> /dev/null \
870
894
frv:Linux:* :* )
871
895
echo frv-unknown-linux-gnu
872
896
exit ;;
897
+ i* 86:Linux:* :* )
898
+ LIBC=gnu
899
+ eval $set_cc_for_build
900
+ sed ' s/^ //' << EOF >$dummy .c
901
+ #ifdef __dietlibc__
902
+ LIBC=dietlibc
903
+ #endif
904
+ EOF
905
+ eval ` $CC_FOR_BUILD -E $dummy .c 2> /dev/null | grep ' ^LIBC' `
906
+ echo " ${UNAME_MACHINE} -pc-linux-${LIBC} "
907
+ exit ;;
873
908
ia64:Linux:* :* )
874
909
echo ${UNAME_MACHINE} -unknown-linux-gnu
875
910
exit ;;
@@ -879,78 +914,34 @@ EOF
879
914
m68* :Linux:* :* )
880
915
echo ${UNAME_MACHINE} -unknown-linux-gnu
881
916
exit ;;
882
- mips:Linux:* :* )
883
- eval $set_cc_for_build
884
- sed ' s/^ //' << EOF >$dummy .c
885
- #undef CPU
886
- #undef mips
887
- #undef mipsel
888
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
889
- CPU=mipsel
890
- #else
891
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
892
- CPU=mips
893
- #else
894
- CPU=
895
- #endif
896
- #endif
897
- EOF
898
- eval " ` $CC_FOR_BUILD -E $dummy .c 2> /dev/null | sed -n '
899
- /^CPU/{
900
- s: ::g
901
- p
902
- }' ` "
903
- test x" ${CPU} " ! = x && { echo " ${CPU} -unknown-linux-gnu" ; exit ; }
904
- ;;
905
- mips64:Linux:* :* )
917
+ mips:Linux:* :* | mips64:Linux:* :* )
906
918
eval $set_cc_for_build
907
919
sed ' s/^ //' << EOF >$dummy .c
908
920
#undef CPU
909
- #undef mips64
910
- #undef mips64el
921
+ #undef ${UNAME_MACHINE}
922
+ #undef ${UNAME_MACHINE} el
911
923
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
912
- CPU=mips64el
924
+ CPU=${UNAME_MACHINE} el
913
925
#else
914
926
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
915
- CPU=mips64
927
+ CPU=${UNAME_MACHINE}
916
928
#else
917
929
CPU=
918
930
#endif
919
931
#endif
920
932
EOF
921
- eval " ` $CC_FOR_BUILD -E $dummy .c 2> /dev/null | sed -n '
922
- /^CPU/{
923
- s: ::g
924
- p
925
- }' ` "
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 ; }
927
935
;;
928
936
or32:Linux:* :* )
929
937
echo or32-unknown-linux-gnu
930
938
exit ;;
931
- ppc:Linux:* :* )
932
- echo powerpc-unknown-linux-gnu
933
- exit ;;
934
- ppc64:Linux:* :* )
935
- echo powerpc64-unknown-linux-gnu
936
- exit ;;
937
- alpha:Linux:* :* )
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 ;;
946
- esac
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}
950
- exit ;;
951
939
padre:Linux:* :* )
952
940
echo sparc-unknown-linux-gnu
953
941
exit ;;
942
+ parisc64:Linux:* :* | hppa64:Linux:* :* )
943
+ echo hppa64-unknown-linux-gnu
944
+ exit ;;
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 ;;
960
951
esac
961
952
exit ;;
962
- parisc64:Linux:* :* | hppa64:Linux:* :* )
963
- echo hppa64-unknown-linux-gnu
953
+ ppc64:Linux:* :* )
954
+ echo powerpc64-unknown-linux-gnu
955
+ exit ;;
956
+ ppc:Linux:* :* )
957
+ echo powerpc-unknown-linux-gnu
964
958
exit ;;
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
985
979
exit ;;
986
- i* 86:Linux:* :* )
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
993
- s/[ ][ ]*/ /g
994
- s/.*supported targets: *//
995
- s/ .*//
996
- p' `
997
- case " $ld_supported_targets " in
998
- elf32-i386)
999
- TENTATIVE=" ${UNAME_MACHINE} -pc-linux-gnu"
1000
- ;;
1001
- a.out-i386-linux)
1002
- echo " ${UNAME_MACHINE} -pc-linux-gnuaout"
1003
- exit ;;
1004
- " " )
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"
1008
- exit ;;
1009
- esac
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>
1014
- #ifdef __ELF__
1015
- # ifdef __GLIBC__
1016
- # if __GLIBC__ >= 2
1017
- LIBC=gnu
1018
- # else
1019
- LIBC=gnulibc1
1020
- # endif
1021
- # else
1022
- LIBC=gnulibc1
1023
- # endif
1024
- #else
1025
- #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1026
- LIBC=gnu
1027
- #else
1028
- LIBC=gnuaout
1029
- #endif
1030
- #endif
1031
- #ifdef __dietlibc__
1032
- LIBC=dietlibc
1033
- #endif
1034
- EOF
1035
- eval " ` $CC_FOR_BUILD -E $dummy .c 2> /dev/null | sed -n '
1036
- /^LIBC/{
1037
- s: ::g
1038
- p
1039
- }' ` "
1040
- test x" ${LIBC} " ! = x && {
1041
- echo " ${UNAME_MACHINE} -pc-linux-${LIBC} "
1042
- exit
1043
- }
1044
- test x" ${TENTATIVE} " ! = x && { echo " ${TENTATIVE} " ; exit ; }
1045
- ;;
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,7 +1005,7 @@ EOF
1071
1005
i* 86:syllable:* :* )
1072
1006
echo ${UNAME_MACHINE} -pc-syllable
1073
1007
exit ;;
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}
1076
1010
exit ;;
1077
1011
i* 86:* DOS:* :* )
@@ -1115,8 +1049,11 @@ EOF
1115
1049
pc:* :* :* )
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
1120
1057
exit ;;
1121
1058
Intel:Mach:3* :* )
1122
1059
echo i386-pc-mach3
@@ -1176,7 +1113,7 @@ EOF
1176
1113
rs6000:LynxOS:2.* :* )
1177
1114
echo rs6000-unknown-lynxos${UNAME_RELEASE}
1178
1115
exit ;;
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}
1181
1118
exit ;;
1182
1119
SM[BE]S:UNIX_SV:* :* )
@@ -1269,6 +1206,16 @@ EOF
1269
1206
* :Darwin:* :* )
1270
1207
UNAME_PROCESSOR=` uname -p` || UNAME_PROCESSOR=unknown
1271
1208
case $UNAME_PROCESSOR in
1209
+ i386)
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
1215
+ then
1216
+ UNAME_PROCESSOR=" x86_64"
1217
+ fi
1218
+ fi ;;
1272
1219
unknown) UNAME_PROCESSOR=powerpc ;;
1273
1220
esac
1274
1221
echo ${UNAME_PROCESSOR} -apple-darwin${UNAME_RELEASE}
0 commit comments