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
5
# Free Software Foundation, Inc.
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
# 2011 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, 2011 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."
269
270
# A Xn.n version is an unreleased experimental baselevel.
270
271
# 1.2 uses "1.2" for uname -r.
271
272
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
273
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
273
277
Alpha\ *:Windows_NT*:*)
274
278
# How do we know it's Interix rather than the generic POSIX subsystem?
275
279
# Should we change UNAME_MACHINE based on the output of uname instead
391
398
# MiNT. But MiNT is downward compatible to TOS, so this should
393
400
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
394
echo m68k-atari-mint${UNAME_RELEASE}
401
echo m68k-atari-mint${UNAME_RELEASE}
396
403
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
397
404
echo m68k-atari-mint${UNAME_RELEASE}
399
406
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
400
echo m68k-atari-mint${UNAME_RELEASE}
407
echo m68k-atari-mint${UNAME_RELEASE}
402
409
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
403
echo m68k-milan-mint${UNAME_RELEASE}
410
echo m68k-milan-mint${UNAME_RELEASE}
405
412
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
406
echo m68k-hades-mint${UNAME_RELEASE}
413
echo m68k-hades-mint${UNAME_RELEASE}
408
415
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
409
echo m68k-unknown-mint${UNAME_RELEASE}
416
echo m68k-unknown-mint${UNAME_RELEASE}
411
418
m68k:machten:*:*)
412
419
echo m68k-apple-machten${UNAME_RELEASE}
477
484
echo m88k-motorola-sysv3
480
# DG/UX returns AViiON for all architectures
481
UNAME_PROCESSOR=`/usr/bin/uname -p`
487
# DG/UX returns AViiON for all architectures
488
UNAME_PROCESSOR=`/usr/bin/uname -p`
482
489
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
484
491
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
591
598
9000/[678][0-9][0-9])
592
599
if [ -x /usr/bin/getconf ]; then
593
600
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
594
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
595
case "${sc_cpu_version}" in
596
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
597
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
598
532) # CPU_PA_RISC2_0
599
case "${sc_kernel_bits}" in
600
32) HP_ARCH="hppa2.0n" ;;
601
64) HP_ARCH="hppa2.0w" ;;
601
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
602
case "${sc_cpu_version}" in
603
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
604
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
605
532) # CPU_PA_RISC2_0
606
case "${sc_kernel_bits}" in
607
32) HP_ARCH="hppa2.0n" ;;
608
64) HP_ARCH="hppa2.0w" ;;
602
609
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
606
613
if [ "${HP_ARCH}" = "" ]; then
607
614
eval $set_cc_for_build
608
sed 's/^ //' << EOF >$dummy.c
616
#if defined(_SC_KERNEL_BITS)
617
long bits = sysconf(_SC_KERNEL_BITS);
619
long cpu = sysconf (_SC_CPU_VERSION);
623
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
624
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
626
#if defined(_SC_KERNEL_BITS)
629
case 64: puts ("hppa2.0w"); break;
630
case 32: puts ("hppa2.0n"); break;
631
default: puts ("hppa2.0"); break;
633
#else /* !defined(_SC_KERNEL_BITS) */
634
puts ("hppa2.0"); break;
636
default: puts ("hppa1.0"); break;
615
sed 's/^ //' << EOF >$dummy.c
623
#if defined(_SC_KERNEL_BITS)
624
long bits = sysconf(_SC_KERNEL_BITS);
626
long cpu = sysconf (_SC_CPU_VERSION);
630
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
631
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
633
#if defined(_SC_KERNEL_BITS)
636
case 64: puts ("hppa2.0w"); break;
637
case 32: puts ("hppa2.0n"); break;
638
default: puts ("hppa2.0"); break;
640
#else /* !defined(_SC_KERNEL_BITS) */
641
puts ("hppa2.0"); break;
643
default: puts ("hppa1.0"); break;
641
648
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
642
649
test -z "$HP_ARCH" && HP_ARCH=hppa
728
735
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
729
736
echo c1-convex-bsd
731
738
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
732
739
if getsysinfo -f scalar_acc
733
740
then echo c32-convex-bsd
734
741
else echo c2-convex-bsd
737
744
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
738
745
echo c34-convex-bsd
740
747
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
741
748
echo c38-convex-bsd
743
750
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
744
751
echo c4-convex-bsd
747
754
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767
774
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
768
775
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
769
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
770
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
771
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
776
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
777
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
778
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
773
780
5000:UNIX_System_V:4.*:*)
774
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
776
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
781
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
782
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
783
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
778
785
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
779
786
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
801
808
echo ${UNAME_MACHINE}-pc-mingw32
804
# uname -m includes "-pc" on this system.
805
echo ${UNAME_MACHINE}-mingw32
811
# uname -m includes "-pc" on this system.
812
echo ${UNAME_MACHINE}-mingw32
808
815
echo ${UNAME_MACHINE}-pc-pw32
811
case ${UNAME_MACHINE} in
818
case ${UNAME_MACHINE} in
813
820
echo i586-pc-interix${UNAME_RELEASE}
815
EM64T | authenticamd | genuineintel)
822
authenticamd | genuineintel | EM64T)
816
823
echo x86_64-unknown-interix${UNAME_RELEASE}
852
862
echo ${UNAME_MACHINE}-pc-minix
865
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
866
EV5) UNAME_MACHINE=alphaev5 ;;
867
EV56) UNAME_MACHINE=alphaev56 ;;
868
PCA56) UNAME_MACHINE=alphapca56 ;;
869
PCA57) UNAME_MACHINE=alphapca56 ;;
870
EV6) UNAME_MACHINE=alphaev6 ;;
871
EV67) UNAME_MACHINE=alphaev67 ;;
872
EV68*) UNAME_MACHINE=alphaev68 ;;
874
objdump --private-headers /bin/sh | grep -q ld.so.1
875
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
876
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
855
879
eval $set_cc_for_build
856
880
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
871
901
echo crisv32-axis-linux-gnu
874
echo frv-unknown-linux-gnu
904
echo frv-unknown-linux-gnu
908
eval $set_cc_for_build
909
sed 's/^ //' << EOF >$dummy.c
914
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
915
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
877
918
echo ${UNAME_MACHINE}-unknown-linux-gnu
883
924
echo ${UNAME_MACHINE}-unknown-linux-gnu
886
eval $set_cc_for_build
887
sed 's/^ //' << EOF >$dummy.c
891
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
894
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
901
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
906
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
909
eval $set_cc_for_build
910
sed 's/^ //' << EOF >$dummy.c
914
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
917
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
924
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
926
mips:Linux:*:* | mips64:Linux:*:*)
927
eval $set_cc_for_build
928
sed 's/^ //' << EOF >$dummy.c
930
#undef ${UNAME_MACHINE}
931
#undef ${UNAME_MACHINE}el
932
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
933
CPU=${UNAME_MACHINE}el
935
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
942
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
929
943
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
932
946
echo or32-unknown-linux-gnu
935
echo powerpc-unknown-linux-gnu
938
echo powerpc64-unknown-linux-gnu
941
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
942
EV5) UNAME_MACHINE=alphaev5 ;;
943
EV56) UNAME_MACHINE=alphaev56 ;;
944
PCA56) UNAME_MACHINE=alphapca56 ;;
945
PCA57) UNAME_MACHINE=alphapca56 ;;
946
EV6) UNAME_MACHINE=alphaev6 ;;
947
EV67) UNAME_MACHINE=alphaev67 ;;
948
EV68*) UNAME_MACHINE=alphaev68 ;;
950
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
951
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
952
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
955
949
echo sparc-unknown-linux-gnu
951
parisc64:Linux:*:* | hppa64:Linux:*:*)
952
echo hppa64-unknown-linux-gnu
957
954
parisc:Linux:*:* | hppa:Linux:*:*)
958
955
# Look for CPU level
959
956
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
962
959
*) echo hppa-unknown-linux-gnu ;;
965
parisc64:Linux:*:* | hppa64:Linux:*:*)
966
echo hppa64-unknown-linux-gnu
963
echo powerpc64-unknown-linux-gnu
966
echo powerpc-unknown-linux-gnu
968
968
s390:Linux:*:* | s390x:Linux:*:*)
969
969
echo ${UNAME_MACHINE}-ibm-linux
972
echo ${UNAME_MACHINE}-unknown-linux-gnu
972
echo ${UNAME_MACHINE}-unknown-linux-gnu
975
975
echo ${UNAME_MACHINE}-unknown-linux-gnu
984
987
echo x86_64-unknown-linux-gnu
986
989
xtensa*:Linux:*:*)
987
echo ${UNAME_MACHINE}-unknown-linux-gnu
990
echo ${UNAME_MACHINE}-unknown-linux-gnu
990
# The BFD linker knows what the default object file format is, so
991
# first see if it will tell us. cd to the root directory to prevent
992
# problems with other programs or directories called `ld' in the path.
993
# Set LC_ALL=C to ensure ld outputs messages in English.
994
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
995
| sed -ne '/supported targets:/!d
997
s/.*supported targets: *//
1000
case "$ld_supported_targets" in
1002
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
1005
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
1008
# Either a pre-BFD a.out linker (linux-gnuoldld) or
1009
# one that does not give us useful --help.
1010
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
1013
# Determine whether the default compiler is a.out or elf
1014
eval $set_cc_for_build
1015
sed 's/^ //' << EOF >$dummy.c
1016
#include <features.h>
1028
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1038
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1043
test x"${LIBC}" != x && {
1044
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1047
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1049
992
i*86:DYNIX/ptx:4*:*)
1050
993
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1051
994
# earlier versions are messed up and put the nodename in both
1053
996
echo i386-sequent-sysv4
1055
998
i*86:UNIX_SV:4.2MP:2.*)
1056
# Unixware is an offshoot of SVR4, but it has its own version
1057
# number series starting with 2...
1058
# I am not positive that other SVR4 systems won't match this,
999
# Unixware is an offshoot of SVR4, but it has its own version
1000
# number series starting with 2...
1001
# I am not positive that other SVR4 systems won't match this,
1059
1002
# I just have to hope. -- rms.
1060
# Use sysv4.2uw... so that sysv4* matches it.
1003
# Use sysv4.2uw... so that sysv4* matches it.
1061
1004
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1091
1034
i*86:*:5:[678]*)
1092
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1035
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1093
1036
case `/bin/uname -X | grep "^Machine"` in
1094
1037
*486*) UNAME_MACHINE=i486 ;;
1095
1038
*Pentium) UNAME_MACHINE=i586 ;;
1119
1062
# Left here for compatibility:
1120
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1121
# the processor, so we play safe by assuming i586.
1063
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1064
# the processor, so we play safe by assuming i586.
1122
1065
# Note: whatever this is, it MUST be the same as what config.sub
1123
1066
# prints for the "djgpp" host, or else GDB configury will decide that
1124
1067
# this is a cross-build.
1125
1068
echo i586-pc-msdosdjgpp
1127
1070
Intel:Mach:3*:*)
1128
1071
echo i386-pc-mach3
1158
1101
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1159
1102
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1160
1103
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1161
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162
&& { echo i486-ncr-sysv4; exit; } ;;
1104
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1105
&& { echo i486-ncr-sysv4; exit; } ;;
1163
1106
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1165
1108
test -r /etc/.relid \
1202
1145
echo ns32k-sni-sysv
1205
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1206
# says <Richard.M.Bartel@ccMail.Census.GOV>
1207
echo i586-unisys-sysv4
1148
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1149
# says <Richard.M.Bartel@ccMail.Census.GOV>
1150
echo i586-unisys-sysv4
1209
1152
*:UNIX_System_V:4*:FTX*)
1210
1153
# From Gerald Hewes <hewes@openmarket.com>.
1211
1154
# How about differentiating between stratus architectures? -djm
1232
1175
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1233
1176
if [ -d /usr/nec ]; then
1234
echo mips-nec-sysv${UNAME_RELEASE}
1177
echo mips-nec-sysv${UNAME_RELEASE}
1236
echo mips-unknown-sysv${UNAME_RELEASE}
1179
echo mips-unknown-sysv${UNAME_RELEASE}
1239
1182
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1240
1183
echo powerpc-be-beos
1276
1219
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1277
1220
case $UNAME_PROCESSOR in
1222
eval $set_cc_for_build
1223
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1224
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1225
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1226
grep IS_64BIT_ARCH >/dev/null
1228
UNAME_PROCESSOR="x86_64"
1278
1231
unknown) UNAME_PROCESSOR=powerpc ;;
1280
1233
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1335
1291
echo pdp10-unknown-its
1338
echo mips-sei-seiux${UNAME_RELEASE}
1294
echo mips-sei-seiux${UNAME_RELEASE}
1340
1296
*:DragonFly:*:*)
1341
1297
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1344
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1300
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1345
1301
case "${UNAME_MACHINE}" in
1346
1302
A*) echo alpha-dec-vms ; exit ;;
1347
1303
I*) echo ia64-dec-vms ; exit ;;