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, 2010
5
# Free Software Foundation, Inc.
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
# 2011, 2012 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
17
17
# General Public License for more details.
19
19
# You should have received a copy of the GNU General Public License
20
# along with this program; if not, write to the Free Software
21
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
20
# along with this program; if not, see <http://www.gnu.org/licenses/>.
24
22
# As a special exception to the GNU General Public License, if you
25
23
# distribute this file as part of a program that contains a
58
56
Originally written by Per Bothner.
59
57
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.
58
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59
Free Software Foundation, Inc.
63
61
This is free software; see the source for copying conditions. There is NO
64
62
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
145
143
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
147
145
# NetBSD (nbsd) targets should (where applicable) match one or
148
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
146
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
149
147
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
150
148
# switched to ELF, *-*-netbsd* would select the old
151
149
# object file format. This provides both forward
270
268
# A Xn.n version is an unreleased experimental baselevel.
271
269
# 1.2 uses "1.2" for uname -r.
272
270
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
274
275
Alpha\ *:Windows_NT*:*)
275
276
# How do we know it's Interix rather than the generic POSIX subsystem?
276
277
# Should we change UNAME_MACHINE based on the output of uname instead
395
396
# MiNT. But MiNT is downward compatible to TOS, so this should
397
398
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
398
echo m68k-atari-mint${UNAME_RELEASE}
399
echo m68k-atari-mint${UNAME_RELEASE}
400
401
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
401
402
echo m68k-atari-mint${UNAME_RELEASE}
403
404
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
404
echo m68k-atari-mint${UNAME_RELEASE}
405
echo m68k-atari-mint${UNAME_RELEASE}
406
407
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
407
echo m68k-milan-mint${UNAME_RELEASE}
408
echo m68k-milan-mint${UNAME_RELEASE}
409
410
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
410
echo m68k-hades-mint${UNAME_RELEASE}
411
echo m68k-hades-mint${UNAME_RELEASE}
412
413
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
413
echo m68k-unknown-mint${UNAME_RELEASE}
414
echo m68k-unknown-mint${UNAME_RELEASE}
415
416
m68k:machten:*:*)
416
417
echo m68k-apple-machten${UNAME_RELEASE}
481
482
echo m88k-motorola-sysv3
484
# DG/UX returns AViiON for all architectures
485
UNAME_PROCESSOR=`/usr/bin/uname -p`
485
# DG/UX returns AViiON for all architectures
486
UNAME_PROCESSOR=`/usr/bin/uname -p`
486
487
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488
489
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
595
596
9000/[678][0-9][0-9])
596
597
if [ -x /usr/bin/getconf ]; then
597
598
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
598
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
599
case "${sc_cpu_version}" in
600
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
601
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
602
532) # CPU_PA_RISC2_0
603
case "${sc_kernel_bits}" in
604
32) HP_ARCH="hppa2.0n" ;;
605
64) HP_ARCH="hppa2.0w" ;;
599
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
600
case "${sc_cpu_version}" in
601
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
602
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
603
532) # CPU_PA_RISC2_0
604
case "${sc_kernel_bits}" in
605
32) HP_ARCH="hppa2.0n" ;;
606
64) HP_ARCH="hppa2.0w" ;;
606
607
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
610
611
if [ "${HP_ARCH}" = "" ]; then
611
612
eval $set_cc_for_build
612
sed 's/^ //' << EOF >$dummy.c
620
#if defined(_SC_KERNEL_BITS)
621
long bits = sysconf(_SC_KERNEL_BITS);
623
long cpu = sysconf (_SC_CPU_VERSION);
627
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
628
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
630
#if defined(_SC_KERNEL_BITS)
633
case 64: puts ("hppa2.0w"); break;
634
case 32: puts ("hppa2.0n"); break;
635
default: puts ("hppa2.0"); break;
637
#else /* !defined(_SC_KERNEL_BITS) */
638
puts ("hppa2.0"); break;
640
default: puts ("hppa1.0"); break;
613
sed 's/^ //' << EOF >$dummy.c
621
#if defined(_SC_KERNEL_BITS)
622
long bits = sysconf(_SC_KERNEL_BITS);
624
long cpu = sysconf (_SC_CPU_VERSION);
628
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
629
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
631
#if defined(_SC_KERNEL_BITS)
634
case 64: puts ("hppa2.0w"); break;
635
case 32: puts ("hppa2.0n"); break;
636
default: puts ("hppa2.0"); break;
638
#else /* !defined(_SC_KERNEL_BITS) */
639
puts ("hppa2.0"); break;
641
default: puts ("hppa1.0"); break;
645
646
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
646
647
test -z "$HP_ARCH" && HP_ARCH=hppa
732
733
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
733
734
echo c1-convex-bsd
735
736
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
736
737
if getsysinfo -f scalar_acc
737
738
then echo c32-convex-bsd
738
739
else echo c2-convex-bsd
741
742
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
742
743
echo c34-convex-bsd
744
745
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
745
746
echo c38-convex-bsd
747
748
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
748
749
echo c4-convex-bsd
751
752
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771
772
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
772
773
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
773
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
774
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
775
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
774
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
776
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777
778
5000:UNIX_System_V:4.*:*)
778
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
779
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
780
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
779
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
780
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
781
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
782
783
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
783
784
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
789
790
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
792
case ${UNAME_MACHINE} in
794
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
793
UNAME_PROCESSOR=`/usr/bin/uname -p`
794
case ${UNAME_PROCESSOR} in
796
796
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
805
805
echo ${UNAME_MACHINE}-pc-mingw32
808
echo ${UNAME_MACHINE}-pc-msys
808
# uname -m includes "-pc" on this system.
809
echo ${UNAME_MACHINE}-mingw32
811
# uname -m includes "-pc" on this system.
812
echo ${UNAME_MACHINE}-mingw32
812
815
echo ${UNAME_MACHINE}-pc-pw32
815
case ${UNAME_MACHINE} in
818
case ${UNAME_MACHINE} in
817
820
echo i586-pc-interix${UNAME_RELEASE}
867
877
EV6) UNAME_MACHINE=alphaev6 ;;
868
878
EV67) UNAME_MACHINE=alphaev67 ;;
869
879
EV68*) UNAME_MACHINE=alphaev68 ;;
871
881
objdump --private-headers /bin/sh | grep -q ld.so.1
872
882
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
873
883
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
880
890
echo ${UNAME_MACHINE}-unknown-linux-gnu
882
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
892
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
893
| grep -q __ARM_PCS_VFP
895
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
897
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
885
901
avr32*:Linux:*:*)
886
902
echo ${UNAME_MACHINE}-unknown-linux-gnu
889
echo cris-axis-linux-gnu
905
echo ${UNAME_MACHINE}-axis-linux-gnu
891
907
crisv32:Linux:*:*)
892
echo crisv32-axis-linux-gnu
908
echo ${UNAME_MACHINE}-axis-linux-gnu
895
echo frv-unknown-linux-gnu
911
echo ${UNAME_MACHINE}-unknown-linux-gnu
914
echo ${UNAME_MACHINE}-unknown-linux-gnu
968
987
sparc:Linux:*:* | sparc64:Linux:*:*)
969
988
echo ${UNAME_MACHINE}-unknown-linux-gnu
991
echo ${UNAME_MACHINE}-unknown-linux-gnu
972
994
echo ${UNAME_MACHINE}-dec-linux-gnu
974
996
x86_64:Linux:*:*)
975
echo x86_64-unknown-linux-gnu
997
echo ${UNAME_MACHINE}-unknown-linux-gnu
977
999
xtensa*:Linux:*:*)
978
echo ${UNAME_MACHINE}-unknown-linux-gnu
1000
echo ${UNAME_MACHINE}-unknown-linux-gnu
980
1002
i*86:DYNIX/ptx:4*:*)
981
1003
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
984
1006
echo i386-sequent-sysv4
986
1008
i*86:UNIX_SV:4.2MP:2.*)
987
# Unixware is an offshoot of SVR4, but it has its own version
988
# number series starting with 2...
989
# I am not positive that other SVR4 systems won't match this,
1009
# Unixware is an offshoot of SVR4, but it has its own version
1010
# number series starting with 2...
1011
# I am not positive that other SVR4 systems won't match this,
990
1012
# I just have to hope. -- rms.
991
# Use sysv4.2uw... so that sysv4* matches it.
1013
# Use sysv4.2uw... so that sysv4* matches it.
992
1014
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1022
1044
i*86:*:5:[678]*)
1023
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1045
# UnixWare 7.x, OpenUNIX and OpenServer 6.
1024
1046
case `/bin/uname -X | grep "^Machine"` in
1025
1047
*486*) UNAME_MACHINE=i486 ;;
1026
1048
*Pentium) UNAME_MACHINE=i586 ;;
1050
1072
# Left here for compatibility:
1051
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1052
# the processor, so we play safe by assuming i586.
1073
# uname -m prints for DJGPP always 'pc', but it prints nothing about
1074
# the processor, so we play safe by assuming i586.
1053
1075
# Note: whatever this is, it MUST be the same as what config.sub
1054
1076
# prints for the "djgpp" host, or else GDB configury will decide that
1055
1077
# this is a cross-build.
1056
1078
echo i586-pc-msdosdjgpp
1058
1080
Intel:Mach:3*:*)
1059
1081
echo i386-pc-mach3
1089
1111
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1090
1112
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1091
1113
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1092
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1093
&& { echo i486-ncr-sysv4; exit; } ;;
1114
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1115
&& { echo i486-ncr-sysv4; exit; } ;;
1094
1116
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1096
1118
test -r /etc/.relid \
1133
1155
echo ns32k-sni-sysv
1136
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1137
# says <Richard.M.Bartel@ccMail.Census.GOV>
1138
echo i586-unisys-sysv4
1158
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1159
# says <Richard.M.Bartel@ccMail.Census.GOV>
1160
echo i586-unisys-sysv4
1140
1162
*:UNIX_System_V:4*:FTX*)
1141
1163
# From Gerald Hewes <hewes@openmarket.com>.
1142
1164
# How about differentiating between stratus architectures? -djm
1163
1185
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1164
1186
if [ -d /usr/nec ]; then
1165
echo mips-nec-sysv${UNAME_RELEASE}
1187
echo mips-nec-sysv${UNAME_RELEASE}
1167
echo mips-unknown-sysv${UNAME_RELEASE}
1189
echo mips-unknown-sysv${UNAME_RELEASE}
1170
1192
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1171
1193
echo powerpc-be-beos
1276
1301
echo pdp10-unknown-its
1279
echo mips-sei-seiux${UNAME_RELEASE}
1304
echo mips-sei-seiux${UNAME_RELEASE}
1281
1306
*:DragonFly:*:*)
1282
1307
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1285
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1310
UNAME_MACHINE=`(uname -p) 2>/dev/null`
1286
1311
case "${UNAME_MACHINE}" in
1287
1312
A*) echo alpha-dec-vms ; exit ;;
1288
1313
I*) echo ia64-dec-vms ; exit ;;