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, 2009
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}
855
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}
858
879
eval $set_cc_for_build
859
880
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
874
901
echo crisv32-axis-linux-gnu
877
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}"
880
918
echo ${UNAME_MACHINE}-unknown-linux-gnu
904
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
942
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
909
943
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
912
946
echo or32-unknown-linux-gnu
915
echo powerpc-unknown-linux-gnu
918
echo powerpc64-unknown-linux-gnu
921
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
922
EV5) UNAME_MACHINE=alphaev5 ;;
923
EV56) UNAME_MACHINE=alphaev56 ;;
924
PCA56) UNAME_MACHINE=alphapca56 ;;
925
PCA57) UNAME_MACHINE=alphapca56 ;;
926
EV6) UNAME_MACHINE=alphaev6 ;;
927
EV67) UNAME_MACHINE=alphaev67 ;;
928
EV68*) UNAME_MACHINE=alphaev68 ;;
930
objdump --private-headers /bin/sh | grep -q ld.so.1
931
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
932
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
935
949
echo sparc-unknown-linux-gnu
951
parisc64:Linux:*:* | hppa64:Linux:*:*)
952
echo hppa64-unknown-linux-gnu
937
954
parisc:Linux:*:* | hppa:Linux:*:*)
938
955
# Look for CPU level
939
956
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
942
959
*) echo hppa-unknown-linux-gnu ;;
945
parisc64:Linux:*:* | hppa64:Linux:*:*)
946
echo hppa64-unknown-linux-gnu
963
echo powerpc64-unknown-linux-gnu
966
echo powerpc-unknown-linux-gnu
948
968
s390:Linux:*:* | s390x:Linux:*:*)
949
969
echo ${UNAME_MACHINE}-ibm-linux
952
echo ${UNAME_MACHINE}-unknown-linux-gnu
972
echo ${UNAME_MACHINE}-unknown-linux-gnu
955
975
echo ${UNAME_MACHINE}-unknown-linux-gnu
964
987
echo x86_64-unknown-linux-gnu
966
989
xtensa*:Linux:*:*)
967
echo ${UNAME_MACHINE}-unknown-linux-gnu
990
echo ${UNAME_MACHINE}-unknown-linux-gnu
970
# The BFD linker knows what the default object file format is, so
971
# first see if it will tell us. cd to the root directory to prevent
972
# problems with other programs or directories called `ld' in the path.
973
# Set LC_ALL=C to ensure ld outputs messages in English.
974
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
975
| sed -ne '/supported targets:/!d
977
s/.*supported targets: *//
980
case "$ld_supported_targets" in
982
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
985
# Determine whether the default compiler is a.out or elf
986
eval $set_cc_for_build
987
sed 's/^ //' << EOF >$dummy.c
988
#include <features.h>
1000
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1010
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1015
test x"${LIBC}" != x && {
1016
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1019
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1021
992
i*86:DYNIX/ptx:4*:*)
1022
993
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1023
994
# earlier versions are messed up and put the nodename in both
1025
996
echo i386-sequent-sysv4
1027
998
i*86:UNIX_SV:4.2MP:2.*)
1028
# Unixware is an offshoot of SVR4, but it has its own version
1029
# number series starting with 2...
1030
# 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,
1031
1002
# I just have to hope. -- rms.
1032
# Use sysv4.2uw... so that sysv4* matches it.
1003
# Use sysv4.2uw... so that sysv4* matches it.
1033
1004
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1063
1034
i*86:*:5:[678]*)
1064
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1035
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1065
1036
case `/bin/uname -X | grep "^Machine"` in
1066
1037
*486*) UNAME_MACHINE=i486 ;;
1067
1038
*Pentium) UNAME_MACHINE=i586 ;;
1091
1062
# Left here for compatibility:
1092
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1093
# 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.
1094
1065
# Note: whatever this is, it MUST be the same as what config.sub
1095
1066
# prints for the "djgpp" host, or else GDB configury will decide that
1096
1067
# this is a cross-build.
1097
1068
echo i586-pc-msdosdjgpp
1099
1070
Intel:Mach:3*:*)
1100
1071
echo i386-pc-mach3
1130
1101
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1131
1102
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1132
1103
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1133
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1134
&& { echo i486-ncr-sysv4; exit; } ;;
1104
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1105
&& { echo i486-ncr-sysv4; exit; } ;;
1135
1106
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1137
1108
test -r /etc/.relid \
1174
1145
echo ns32k-sni-sysv
1177
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1178
# says <Richard.M.Bartel@ccMail.Census.GOV>
1179
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
1181
1152
*:UNIX_System_V:4*:FTX*)
1182
1153
# From Gerald Hewes <hewes@openmarket.com>.
1183
1154
# How about differentiating between stratus architectures? -djm
1204
1175
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1205
1176
if [ -d /usr/nec ]; then
1206
echo mips-nec-sysv${UNAME_RELEASE}
1177
echo mips-nec-sysv${UNAME_RELEASE}
1208
echo mips-unknown-sysv${UNAME_RELEASE}
1179
echo mips-unknown-sysv${UNAME_RELEASE}
1211
1182
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1212
1183
echo powerpc-be-beos
1248
1219
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1249
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"
1250
1231
unknown) UNAME_PROCESSOR=powerpc ;;
1252
1233
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1307
1291
echo pdp10-unknown-its
1310
echo mips-sei-seiux${UNAME_RELEASE}
1294
echo mips-sei-seiux${UNAME_RELEASE}
1312
1296
*:DragonFly:*:*)
1313
1297
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1316
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1300
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1317
1301
case "${UNAME_MACHINE}" in
1318
1302
A*) echo alpha-dec-vms ; exit ;;
1319
1303
I*) echo ia64-dec-vms ; exit ;;