config.guess revision 49e82ceb
16ea72052Smrg#! /bin/sh 26ea72052Smrg# Attempt to guess a canonical system name. 36ea72052Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 449e82cebSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5168023feSmrg# Free Software Foundation, Inc. 66ea72052Smrg 749e82cebSmrgtimestamp='2010-08-21' 86ea72052Smrg 96ea72052Smrg# This file is free software; you can redistribute it and/or modify it 106ea72052Smrg# under the terms of the GNU General Public License as published by 116ea72052Smrg# the Free Software Foundation; either version 2 of the License, or 126ea72052Smrg# (at your option) any later version. 136ea72052Smrg# 146ea72052Smrg# This program is distributed in the hope that it will be useful, but 156ea72052Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 166ea72052Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 176ea72052Smrg# General Public License for more details. 186ea72052Smrg# 196ea72052Smrg# You should have received a copy of the GNU General Public License 206ea72052Smrg# along with this program; if not, write to the Free Software 21168023feSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22168023feSmrg# 02110-1301, USA. 236ea72052Smrg# 246ea72052Smrg# As a special exception to the GNU General Public License, if you 256ea72052Smrg# distribute this file as part of a program that contains a 266ea72052Smrg# configuration script generated by Autoconf, you may include it under 276ea72052Smrg# the same distribution terms that you use for the rest of that program. 286ea72052Smrg 29168023feSmrg 30168023feSmrg# Originally written by Per Bothner. Please send patches (context 31168023feSmrg# diff format) to <config-patches@gnu.org> and include a ChangeLog 32168023feSmrg# entry. 336ea72052Smrg# 346ea72052Smrg# This script attempts to guess a canonical system name similar to 356ea72052Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 366ea72052Smrg# exits with 0. Otherwise, it exits with 1. 376ea72052Smrg# 38168023feSmrg# You can get the latest version of this script from: 39168023feSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 406ea72052Smrg 416ea72052Smrgme=`echo "$0" | sed -e 's,.*/,,'` 426ea72052Smrg 436ea72052Smrgusage="\ 446ea72052SmrgUsage: $0 [OPTION] 456ea72052Smrg 466ea72052SmrgOutput the configuration name of the system \`$me' is run on. 476ea72052Smrg 486ea72052SmrgOperation modes: 496ea72052Smrg -h, --help print this help, then exit 506ea72052Smrg -t, --time-stamp print date of last modification, then exit 516ea72052Smrg -v, --version print version number, then exit 526ea72052Smrg 536ea72052SmrgReport bugs and patches to <config-patches@gnu.org>." 546ea72052Smrg 556ea72052Smrgversion="\ 566ea72052SmrgGNU config.guess ($timestamp) 576ea72052Smrg 586ea72052SmrgOriginally written by Per Bothner. 5949e82cebSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 6049e82cebSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 6149e82cebSmrgSoftware Foundation, Inc. 626ea72052Smrg 636ea72052SmrgThis is free software; see the source for copying conditions. There is NO 646ea72052Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 656ea72052Smrg 666ea72052Smrghelp=" 676ea72052SmrgTry \`$me --help' for more information." 686ea72052Smrg 696ea72052Smrg# Parse command line 706ea72052Smrgwhile test $# -gt 0 ; do 716ea72052Smrg case $1 in 726ea72052Smrg --time-stamp | --time* | -t ) 73168023feSmrg echo "$timestamp" ; exit ;; 746ea72052Smrg --version | -v ) 75168023feSmrg echo "$version" ; exit ;; 766ea72052Smrg --help | --h* | -h ) 77168023feSmrg echo "$usage"; exit ;; 786ea72052Smrg -- ) # Stop option processing 796ea72052Smrg shift; break ;; 806ea72052Smrg - ) # Use stdin as input. 816ea72052Smrg break ;; 826ea72052Smrg -* ) 836ea72052Smrg echo "$me: invalid option $1$help" >&2 846ea72052Smrg exit 1 ;; 856ea72052Smrg * ) 866ea72052Smrg break ;; 876ea72052Smrg esac 886ea72052Smrgdone 896ea72052Smrg 906ea72052Smrgif test $# != 0; then 916ea72052Smrg echo "$me: too many arguments$help" >&2 926ea72052Smrg exit 1 936ea72052Smrgfi 946ea72052Smrg 9549e82cebSmrgtrap 'exit 1' HUP INT TERM 966ea72052Smrg 976ea72052Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 986ea72052Smrg# compiler to aid in system detection is discouraged as it requires 996ea72052Smrg# temporary files to be created and, as you can see below, it is a 1006ea72052Smrg# headache to deal with in a portable fashion. 1016ea72052Smrg 1026ea72052Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1036ea72052Smrg# use `HOST_CC' if defined, but it is deprecated. 1046ea72052Smrg 1056ea72052Smrg# Portable tmp directory creation inspired by the Autoconf team. 1066ea72052Smrg 1076ea72052Smrgset_cc_for_build=' 1086ea72052Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 10949e82cebSmrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; 1106ea72052Smrg: ${TMPDIR=/tmp} ; 111168023feSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1126ea72052Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1136ea72052Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1146ea72052Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1156ea72052Smrgdummy=$tmp/dummy ; 1166ea72052Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1176ea72052Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 1186ea72052Smrg ,,) echo "int x;" > $dummy.c ; 1196ea72052Smrg for c in cc gcc c89 c99 ; do 1206ea72052Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 1216ea72052Smrg CC_FOR_BUILD="$c"; break ; 1226ea72052Smrg fi ; 1236ea72052Smrg done ; 1246ea72052Smrg if test x"$CC_FOR_BUILD" = x ; then 1256ea72052Smrg CC_FOR_BUILD=no_compiler_found ; 1266ea72052Smrg fi 1276ea72052Smrg ;; 1286ea72052Smrg ,,*) CC_FOR_BUILD=$CC ;; 1296ea72052Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 130168023feSmrgesac ; set_cc_for_build= ;' 1316ea72052Smrg 1326ea72052Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1336ea72052Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1346ea72052Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1356ea72052Smrg PATH=$PATH:/.attbin ; export PATH 1366ea72052Smrgfi 1376ea72052Smrg 1386ea72052SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1396ea72052SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1406ea72052SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1416ea72052SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1426ea72052Smrg 1436ea72052Smrg# Note: order is significant - the case branches are not exclusive. 1446ea72052Smrg 1456ea72052Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 1466ea72052Smrg *:NetBSD:*:*) 1476ea72052Smrg # NetBSD (nbsd) targets should (where applicable) match one or 1486ea72052Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 1496ea72052Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1506ea72052Smrg # switched to ELF, *-*-netbsd* would select the old 1516ea72052Smrg # object file format. This provides both forward 1526ea72052Smrg # compatibility and a consistent mechanism for selecting the 1536ea72052Smrg # object file format. 1546ea72052Smrg # 1556ea72052Smrg # Note: NetBSD doesn't particularly care about the vendor 1566ea72052Smrg # portion of the name. We always set it to "unknown". 1576ea72052Smrg sysctl="sysctl -n hw.machine_arch" 1586ea72052Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 1596ea72052Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 1606ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1616ea72052Smrg armeb) machine=armeb-unknown ;; 1626ea72052Smrg arm*) machine=arm-unknown ;; 1636ea72052Smrg sh3el) machine=shl-unknown ;; 1646ea72052Smrg sh3eb) machine=sh-unknown ;; 165168023feSmrg sh5el) machine=sh5le-unknown ;; 1666ea72052Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1676ea72052Smrg esac 1686ea72052Smrg # The Operating System including object format, if it has switched 1696ea72052Smrg # to ELF recently, or will in the future. 1706ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1716ea72052Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1726ea72052Smrg eval $set_cc_for_build 1736ea72052Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 174168023feSmrg | grep -q __ELF__ 1756ea72052Smrg then 1766ea72052Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1776ea72052Smrg # Return netbsd for either. FIX? 1786ea72052Smrg os=netbsd 1796ea72052Smrg else 1806ea72052Smrg os=netbsdelf 1816ea72052Smrg fi 1826ea72052Smrg ;; 1836ea72052Smrg *) 1846ea72052Smrg os=netbsd 1856ea72052Smrg ;; 1866ea72052Smrg esac 1876ea72052Smrg # The OS release 1886ea72052Smrg # Debian GNU/NetBSD machines have a different userland, and 1896ea72052Smrg # thus, need a distinct triplet. However, they do not need 1906ea72052Smrg # kernel version information, so it can be replaced with a 1916ea72052Smrg # suitable tag, in the style of linux-gnu. 1926ea72052Smrg case "${UNAME_VERSION}" in 1936ea72052Smrg Debian*) 1946ea72052Smrg release='-gnu' 1956ea72052Smrg ;; 1966ea72052Smrg *) 1976ea72052Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 1986ea72052Smrg ;; 1996ea72052Smrg esac 2006ea72052Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2016ea72052Smrg # contains redundant information, the shorter form: 2026ea72052Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2036ea72052Smrg echo "${machine}-${os}${release}" 204168023feSmrg exit ;; 2056ea72052Smrg *:OpenBSD:*:*) 206168023feSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 207168023feSmrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 208168023feSmrg exit ;; 209168023feSmrg *:ekkoBSD:*:*) 210168023feSmrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 211168023feSmrg exit ;; 212168023feSmrg *:SolidBSD:*:*) 213168023feSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 214168023feSmrg exit ;; 215168023feSmrg macppc:MirBSD:*:*) 216168023feSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 217168023feSmrg exit ;; 218168023feSmrg *:MirBSD:*:*) 219168023feSmrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 220168023feSmrg exit ;; 2216ea72052Smrg alpha:OSF1:*:*) 222168023feSmrg case $UNAME_RELEASE in 223168023feSmrg *4.0) 2246ea72052Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 225168023feSmrg ;; 226168023feSmrg *5.*) 227168023feSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 228168023feSmrg ;; 229168023feSmrg esac 2306ea72052Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2316ea72052Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2326ea72052Smrg # covers most systems running today. This code pipes the CPU 2336ea72052Smrg # types through head -n 1, so we only detect the type of CPU 0. 2346ea72052Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 2356ea72052Smrg case "$ALPHA_CPU_TYPE" in 2366ea72052Smrg "EV4 (21064)") 2376ea72052Smrg UNAME_MACHINE="alpha" ;; 2386ea72052Smrg "EV4.5 (21064)") 2396ea72052Smrg UNAME_MACHINE="alpha" ;; 2406ea72052Smrg "LCA4 (21066/21068)") 2416ea72052Smrg UNAME_MACHINE="alpha" ;; 2426ea72052Smrg "EV5 (21164)") 2436ea72052Smrg UNAME_MACHINE="alphaev5" ;; 2446ea72052Smrg "EV5.6 (21164A)") 2456ea72052Smrg UNAME_MACHINE="alphaev56" ;; 2466ea72052Smrg "EV5.6 (21164PC)") 2476ea72052Smrg UNAME_MACHINE="alphapca56" ;; 2486ea72052Smrg "EV5.7 (21164PC)") 2496ea72052Smrg UNAME_MACHINE="alphapca57" ;; 2506ea72052Smrg "EV6 (21264)") 2516ea72052Smrg UNAME_MACHINE="alphaev6" ;; 2526ea72052Smrg "EV6.7 (21264A)") 2536ea72052Smrg UNAME_MACHINE="alphaev67" ;; 2546ea72052Smrg "EV6.8CB (21264C)") 2556ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2566ea72052Smrg "EV6.8AL (21264B)") 2576ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2586ea72052Smrg "EV6.8CX (21264D)") 2596ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2606ea72052Smrg "EV6.9A (21264/EV69A)") 2616ea72052Smrg UNAME_MACHINE="alphaev69" ;; 2626ea72052Smrg "EV7 (21364)") 2636ea72052Smrg UNAME_MACHINE="alphaev7" ;; 2646ea72052Smrg "EV7.9 (21364A)") 2656ea72052Smrg UNAME_MACHINE="alphaev79" ;; 2666ea72052Smrg esac 267168023feSmrg # A Pn.n version is a patched version. 2686ea72052Smrg # A Vn.n version is a released version. 2696ea72052Smrg # A Tn.n version is a released field test version. 2706ea72052Smrg # A Xn.n version is an unreleased experimental baselevel. 2716ea72052Smrg # 1.2 uses "1.2" for uname -r. 272168023feSmrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 273168023feSmrg exit ;; 2746ea72052Smrg Alpha\ *:Windows_NT*:*) 2756ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 2766ea72052Smrg # Should we change UNAME_MACHINE based on the output of uname instead 2776ea72052Smrg # of the specific Alpha model? 2786ea72052Smrg echo alpha-pc-interix 279168023feSmrg exit ;; 2806ea72052Smrg 21064:Windows_NT:50:3) 2816ea72052Smrg echo alpha-dec-winnt3.5 282168023feSmrg exit ;; 2836ea72052Smrg Amiga*:UNIX_System_V:4.0:*) 2846ea72052Smrg echo m68k-unknown-sysv4 285168023feSmrg exit ;; 2866ea72052Smrg *:[Aa]miga[Oo][Ss]:*:*) 2876ea72052Smrg echo ${UNAME_MACHINE}-unknown-amigaos 288168023feSmrg exit ;; 2896ea72052Smrg *:[Mm]orph[Oo][Ss]:*:*) 2906ea72052Smrg echo ${UNAME_MACHINE}-unknown-morphos 291168023feSmrg exit ;; 2926ea72052Smrg *:OS/390:*:*) 2936ea72052Smrg echo i370-ibm-openedition 294168023feSmrg exit ;; 295168023feSmrg *:z/VM:*:*) 296168023feSmrg echo s390-ibm-zvmoe 297168023feSmrg exit ;; 298168023feSmrg *:OS400:*:*) 299168023feSmrg echo powerpc-ibm-os400 300168023feSmrg exit ;; 3016ea72052Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3026ea72052Smrg echo arm-acorn-riscix${UNAME_RELEASE} 303168023feSmrg exit ;; 304168023feSmrg arm:riscos:*:*|arm:RISCOS:*:*) 305168023feSmrg echo arm-unknown-riscos 306168023feSmrg exit ;; 3076ea72052Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3086ea72052Smrg echo hppa1.1-hitachi-hiuxmpp 309168023feSmrg exit ;; 3106ea72052Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3116ea72052Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 3126ea72052Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 3136ea72052Smrg echo pyramid-pyramid-sysv3 3146ea72052Smrg else 3156ea72052Smrg echo pyramid-pyramid-bsd 3166ea72052Smrg fi 317168023feSmrg exit ;; 3186ea72052Smrg NILE*:*:*:dcosx) 3196ea72052Smrg echo pyramid-pyramid-svr4 320168023feSmrg exit ;; 3216ea72052Smrg DRS?6000:unix:4.0:6*) 3226ea72052Smrg echo sparc-icl-nx6 323168023feSmrg exit ;; 324168023feSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 3256ea72052Smrg case `/usr/bin/uname -p` in 326168023feSmrg sparc) echo sparc-icl-nx7; exit ;; 3276ea72052Smrg esac ;; 328168023feSmrg s390x:SunOS:*:*) 329168023feSmrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 330168023feSmrg exit ;; 3316ea72052Smrg sun4H:SunOS:5.*:*) 3326ea72052Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 333168023feSmrg exit ;; 3346ea72052Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3356ea72052Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 336168023feSmrg exit ;; 337168023feSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 338168023feSmrg echo i386-pc-auroraux${UNAME_RELEASE} 339168023feSmrg exit ;; 340168023feSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 341168023feSmrg eval $set_cc_for_build 342168023feSmrg SUN_ARCH="i386" 343168023feSmrg # If there is a compiler, see if it is configured for 64-bit objects. 344168023feSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 345168023feSmrg # This test works for both compilers. 346168023feSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 347168023feSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 348168023feSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 349168023feSmrg grep IS_64BIT_ARCH >/dev/null 350168023feSmrg then 351168023feSmrg SUN_ARCH="x86_64" 352168023feSmrg fi 353168023feSmrg fi 354168023feSmrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 355168023feSmrg exit ;; 3566ea72052Smrg sun4*:SunOS:6*:*) 3576ea72052Smrg # According to config.sub, this is the proper way to canonicalize 3586ea72052Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3596ea72052Smrg # it's likely to be more like Solaris than SunOS4. 3606ea72052Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 361168023feSmrg exit ;; 3626ea72052Smrg sun4*:SunOS:*:*) 3636ea72052Smrg case "`/usr/bin/arch -k`" in 3646ea72052Smrg Series*|S4*) 3656ea72052Smrg UNAME_RELEASE=`uname -v` 3666ea72052Smrg ;; 3676ea72052Smrg esac 3686ea72052Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 3696ea72052Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 370168023feSmrg exit ;; 3716ea72052Smrg sun3*:SunOS:*:*) 3726ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 373168023feSmrg exit ;; 3746ea72052Smrg sun*:*:4.2BSD:*) 3756ea72052Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 3766ea72052Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 3776ea72052Smrg case "`/bin/arch`" in 3786ea72052Smrg sun3) 3796ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3806ea72052Smrg ;; 3816ea72052Smrg sun4) 3826ea72052Smrg echo sparc-sun-sunos${UNAME_RELEASE} 3836ea72052Smrg ;; 3846ea72052Smrg esac 385168023feSmrg exit ;; 3866ea72052Smrg aushp:SunOS:*:*) 3876ea72052Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 388168023feSmrg exit ;; 3896ea72052Smrg # The situation for MiNT is a little confusing. The machine name 3906ea72052Smrg # can be virtually everything (everything which is not 3916ea72052Smrg # "atarist" or "atariste" at least should have a processor 3926ea72052Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 3936ea72052Smrg # to the lowercase version "mint" (or "freemint"). Finally 3946ea72052Smrg # the system name "TOS" denotes a system which is actually not 3956ea72052Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 3966ea72052Smrg # be no problem. 3976ea72052Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 3986ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 399168023feSmrg exit ;; 4006ea72052Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4016ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 402168023feSmrg exit ;; 4036ea72052Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4046ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 405168023feSmrg exit ;; 4066ea72052Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4076ea72052Smrg echo m68k-milan-mint${UNAME_RELEASE} 408168023feSmrg exit ;; 4096ea72052Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4106ea72052Smrg echo m68k-hades-mint${UNAME_RELEASE} 411168023feSmrg exit ;; 4126ea72052Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4136ea72052Smrg echo m68k-unknown-mint${UNAME_RELEASE} 414168023feSmrg exit ;; 415168023feSmrg m68k:machten:*:*) 416168023feSmrg echo m68k-apple-machten${UNAME_RELEASE} 417168023feSmrg exit ;; 4186ea72052Smrg powerpc:machten:*:*) 4196ea72052Smrg echo powerpc-apple-machten${UNAME_RELEASE} 420168023feSmrg exit ;; 4216ea72052Smrg RISC*:Mach:*:*) 4226ea72052Smrg echo mips-dec-mach_bsd4.3 423168023feSmrg exit ;; 4246ea72052Smrg RISC*:ULTRIX:*:*) 4256ea72052Smrg echo mips-dec-ultrix${UNAME_RELEASE} 426168023feSmrg exit ;; 4276ea72052Smrg VAX*:ULTRIX*:*:*) 4286ea72052Smrg echo vax-dec-ultrix${UNAME_RELEASE} 429168023feSmrg exit ;; 4306ea72052Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4316ea72052Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 432168023feSmrg exit ;; 4336ea72052Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 4346ea72052Smrg eval $set_cc_for_build 4356ea72052Smrg sed 's/^ //' << EOF >$dummy.c 4366ea72052Smrg#ifdef __cplusplus 4376ea72052Smrg#include <stdio.h> /* for printf() prototype */ 4386ea72052Smrg int main (int argc, char *argv[]) { 4396ea72052Smrg#else 4406ea72052Smrg int main (argc, argv) int argc; char *argv[]; { 4416ea72052Smrg#endif 4426ea72052Smrg #if defined (host_mips) && defined (MIPSEB) 4436ea72052Smrg #if defined (SYSTYPE_SYSV) 4446ea72052Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 4456ea72052Smrg #endif 4466ea72052Smrg #if defined (SYSTYPE_SVR4) 4476ea72052Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4486ea72052Smrg #endif 4496ea72052Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4506ea72052Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4516ea72052Smrg #endif 4526ea72052Smrg #endif 4536ea72052Smrg exit (-1); 4546ea72052Smrg } 4556ea72052SmrgEOF 456168023feSmrg $CC_FOR_BUILD -o $dummy $dummy.c && 457168023feSmrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 458168023feSmrg SYSTEM_NAME=`$dummy $dummyarg` && 459168023feSmrg { echo "$SYSTEM_NAME"; exit; } 4606ea72052Smrg echo mips-mips-riscos${UNAME_RELEASE} 461168023feSmrg exit ;; 4626ea72052Smrg Motorola:PowerMAX_OS:*:*) 4636ea72052Smrg echo powerpc-motorola-powermax 464168023feSmrg exit ;; 4656ea72052Smrg Motorola:*:4.3:PL8-*) 4666ea72052Smrg echo powerpc-harris-powermax 467168023feSmrg exit ;; 4686ea72052Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 4696ea72052Smrg echo powerpc-harris-powermax 470168023feSmrg exit ;; 4716ea72052Smrg Night_Hawk:Power_UNIX:*:*) 4726ea72052Smrg echo powerpc-harris-powerunix 473168023feSmrg exit ;; 4746ea72052Smrg m88k:CX/UX:7*:*) 4756ea72052Smrg echo m88k-harris-cxux7 476168023feSmrg exit ;; 4776ea72052Smrg m88k:*:4*:R4*) 4786ea72052Smrg echo m88k-motorola-sysv4 479168023feSmrg exit ;; 4806ea72052Smrg m88k:*:3*:R3*) 4816ea72052Smrg echo m88k-motorola-sysv3 482168023feSmrg exit ;; 4836ea72052Smrg AViiON:dgux:*:*) 4846ea72052Smrg # DG/UX returns AViiON for all architectures 4856ea72052Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 4866ea72052Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 4876ea72052Smrg then 4886ea72052Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 4896ea72052Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 4906ea72052Smrg then 4916ea72052Smrg echo m88k-dg-dgux${UNAME_RELEASE} 4926ea72052Smrg else 4936ea72052Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 4946ea72052Smrg fi 4956ea72052Smrg else 4966ea72052Smrg echo i586-dg-dgux${UNAME_RELEASE} 4976ea72052Smrg fi 498168023feSmrg exit ;; 4996ea72052Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 5006ea72052Smrg echo m88k-dolphin-sysv3 501168023feSmrg exit ;; 5026ea72052Smrg M88*:*:R3*:*) 5036ea72052Smrg # Delta 88k system running SVR3 5046ea72052Smrg echo m88k-motorola-sysv3 505168023feSmrg exit ;; 5066ea72052Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 5076ea72052Smrg echo m88k-tektronix-sysv3 508168023feSmrg exit ;; 5096ea72052Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5106ea72052Smrg echo m68k-tektronix-bsd 511168023feSmrg exit ;; 5126ea72052Smrg *:IRIX*:*:*) 5136ea72052Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 514168023feSmrg exit ;; 5156ea72052Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 516168023feSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 517168023feSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 5186ea72052Smrg i*86:AIX:*:*) 5196ea72052Smrg echo i386-ibm-aix 520168023feSmrg exit ;; 5216ea72052Smrg ia64:AIX:*:*) 5226ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5236ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5246ea72052Smrg else 5256ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5266ea72052Smrg fi 5276ea72052Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 528168023feSmrg exit ;; 5296ea72052Smrg *:AIX:2:3) 5306ea72052Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 5316ea72052Smrg eval $set_cc_for_build 5326ea72052Smrg sed 's/^ //' << EOF >$dummy.c 5336ea72052Smrg #include <sys/systemcfg.h> 5346ea72052Smrg 5356ea72052Smrg main() 5366ea72052Smrg { 5376ea72052Smrg if (!__power_pc()) 5386ea72052Smrg exit(1); 5396ea72052Smrg puts("powerpc-ibm-aix3.2.5"); 5406ea72052Smrg exit(0); 5416ea72052Smrg } 5426ea72052SmrgEOF 543168023feSmrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 544168023feSmrg then 545168023feSmrg echo "$SYSTEM_NAME" 546168023feSmrg else 547168023feSmrg echo rs6000-ibm-aix3.2.5 548168023feSmrg fi 5496ea72052Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 5506ea72052Smrg echo rs6000-ibm-aix3.2.4 5516ea72052Smrg else 5526ea72052Smrg echo rs6000-ibm-aix3.2 5536ea72052Smrg fi 554168023feSmrg exit ;; 55549e82cebSmrg *:AIX:*:[4567]) 5566ea72052Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 5576ea72052Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5586ea72052Smrg IBM_ARCH=rs6000 5596ea72052Smrg else 5606ea72052Smrg IBM_ARCH=powerpc 5616ea72052Smrg fi 5626ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5636ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5646ea72052Smrg else 5656ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5666ea72052Smrg fi 5676ea72052Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 568168023feSmrg exit ;; 5696ea72052Smrg *:AIX:*:*) 5706ea72052Smrg echo rs6000-ibm-aix 571168023feSmrg exit ;; 5726ea72052Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5736ea72052Smrg echo romp-ibm-bsd4.4 574168023feSmrg exit ;; 5756ea72052Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5766ea72052Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 577168023feSmrg exit ;; # report: romp-ibm BSD 4.3 5786ea72052Smrg *:BOSX:*:*) 5796ea72052Smrg echo rs6000-bull-bosx 580168023feSmrg exit ;; 5816ea72052Smrg DPX/2?00:B.O.S.:*:*) 5826ea72052Smrg echo m68k-bull-sysv3 583168023feSmrg exit ;; 5846ea72052Smrg 9000/[34]??:4.3bsd:1.*:*) 5856ea72052Smrg echo m68k-hp-bsd 586168023feSmrg exit ;; 5876ea72052Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 5886ea72052Smrg echo m68k-hp-bsd4.4 589168023feSmrg exit ;; 5906ea72052Smrg 9000/[34678]??:HP-UX:*:*) 5916ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 5926ea72052Smrg case "${UNAME_MACHINE}" in 5936ea72052Smrg 9000/31? ) HP_ARCH=m68000 ;; 5946ea72052Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 5956ea72052Smrg 9000/[678][0-9][0-9]) 5966ea72052Smrg if [ -x /usr/bin/getconf ]; then 5976ea72052Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 5986ea72052Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 5996ea72052Smrg case "${sc_cpu_version}" in 6006ea72052Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 6016ea72052Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 6026ea72052Smrg 532) # CPU_PA_RISC2_0 6036ea72052Smrg case "${sc_kernel_bits}" in 6046ea72052Smrg 32) HP_ARCH="hppa2.0n" ;; 6056ea72052Smrg 64) HP_ARCH="hppa2.0w" ;; 6066ea72052Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 6076ea72052Smrg esac ;; 6086ea72052Smrg esac 6096ea72052Smrg fi 6106ea72052Smrg if [ "${HP_ARCH}" = "" ]; then 6116ea72052Smrg eval $set_cc_for_build 6126ea72052Smrg sed 's/^ //' << EOF >$dummy.c 6136ea72052Smrg 6146ea72052Smrg #define _HPUX_SOURCE 6156ea72052Smrg #include <stdlib.h> 6166ea72052Smrg #include <unistd.h> 6176ea72052Smrg 6186ea72052Smrg int main () 6196ea72052Smrg { 6206ea72052Smrg #if defined(_SC_KERNEL_BITS) 6216ea72052Smrg long bits = sysconf(_SC_KERNEL_BITS); 6226ea72052Smrg #endif 6236ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6246ea72052Smrg 6256ea72052Smrg switch (cpu) 6266ea72052Smrg { 6276ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6286ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6296ea72052Smrg case CPU_PA_RISC2_0: 6306ea72052Smrg #if defined(_SC_KERNEL_BITS) 6316ea72052Smrg switch (bits) 6326ea72052Smrg { 6336ea72052Smrg case 64: puts ("hppa2.0w"); break; 6346ea72052Smrg case 32: puts ("hppa2.0n"); break; 6356ea72052Smrg default: puts ("hppa2.0"); break; 6366ea72052Smrg } break; 6376ea72052Smrg #else /* !defined(_SC_KERNEL_BITS) */ 6386ea72052Smrg puts ("hppa2.0"); break; 6396ea72052Smrg #endif 6406ea72052Smrg default: puts ("hppa1.0"); break; 6416ea72052Smrg } 6426ea72052Smrg exit (0); 6436ea72052Smrg } 6446ea72052SmrgEOF 6456ea72052Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 6466ea72052Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 6476ea72052Smrg fi ;; 6486ea72052Smrg esac 6496ea72052Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 6506ea72052Smrg then 651168023feSmrg eval $set_cc_for_build 652168023feSmrg 653168023feSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 654168023feSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 655168023feSmrg # generating 64-bit code. GNU and HP use different nomenclature: 656168023feSmrg # 657168023feSmrg # $ CC_FOR_BUILD=cc ./config.guess 658168023feSmrg # => hppa2.0w-hp-hpux11.23 659168023feSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 660168023feSmrg # => hppa64-hp-hpux11.23 661168023feSmrg 662168023feSmrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 663168023feSmrg grep -q __LP64__ 6646ea72052Smrg then 6656ea72052Smrg HP_ARCH="hppa2.0w" 6666ea72052Smrg else 6676ea72052Smrg HP_ARCH="hppa64" 6686ea72052Smrg fi 6696ea72052Smrg fi 6706ea72052Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 671168023feSmrg exit ;; 6726ea72052Smrg ia64:HP-UX:*:*) 6736ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6746ea72052Smrg echo ia64-hp-hpux${HPUX_REV} 675168023feSmrg exit ;; 6766ea72052Smrg 3050*:HI-UX:*:*) 6776ea72052Smrg eval $set_cc_for_build 6786ea72052Smrg sed 's/^ //' << EOF >$dummy.c 6796ea72052Smrg #include <unistd.h> 6806ea72052Smrg int 6816ea72052Smrg main () 6826ea72052Smrg { 6836ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6846ea72052Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6856ea72052Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6866ea72052Smrg results, however. */ 6876ea72052Smrg if (CPU_IS_PA_RISC (cpu)) 6886ea72052Smrg { 6896ea72052Smrg switch (cpu) 6906ea72052Smrg { 6916ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6926ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6936ea72052Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6946ea72052Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 6956ea72052Smrg } 6966ea72052Smrg } 6976ea72052Smrg else if (CPU_IS_HP_MC68K (cpu)) 6986ea72052Smrg puts ("m68k-hitachi-hiuxwe2"); 6996ea72052Smrg else puts ("unknown-hitachi-hiuxwe2"); 7006ea72052Smrg exit (0); 7016ea72052Smrg } 7026ea72052SmrgEOF 703168023feSmrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 704168023feSmrg { echo "$SYSTEM_NAME"; exit; } 7056ea72052Smrg echo unknown-hitachi-hiuxwe2 706168023feSmrg exit ;; 7076ea72052Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 7086ea72052Smrg echo hppa1.1-hp-bsd 709168023feSmrg exit ;; 7106ea72052Smrg 9000/8??:4.3bsd:*:*) 7116ea72052Smrg echo hppa1.0-hp-bsd 712168023feSmrg exit ;; 7136ea72052Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 7146ea72052Smrg echo hppa1.0-hp-mpeix 715168023feSmrg exit ;; 7166ea72052Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 7176ea72052Smrg echo hppa1.1-hp-osf 718168023feSmrg exit ;; 7196ea72052Smrg hp8??:OSF1:*:*) 7206ea72052Smrg echo hppa1.0-hp-osf 721168023feSmrg exit ;; 7226ea72052Smrg i*86:OSF1:*:*) 7236ea72052Smrg if [ -x /usr/sbin/sysversion ] ; then 7246ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 7256ea72052Smrg else 7266ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1 7276ea72052Smrg fi 728168023feSmrg exit ;; 7296ea72052Smrg parisc*:Lites*:*:*) 7306ea72052Smrg echo hppa1.1-hp-lites 731168023feSmrg exit ;; 7326ea72052Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7336ea72052Smrg echo c1-convex-bsd 734168023feSmrg exit ;; 7356ea72052Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7366ea72052Smrg if getsysinfo -f scalar_acc 7376ea72052Smrg then echo c32-convex-bsd 7386ea72052Smrg else echo c2-convex-bsd 7396ea72052Smrg fi 740168023feSmrg exit ;; 7416ea72052Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 7426ea72052Smrg echo c34-convex-bsd 743168023feSmrg exit ;; 7446ea72052Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 7456ea72052Smrg echo c38-convex-bsd 746168023feSmrg exit ;; 7476ea72052Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 7486ea72052Smrg echo c4-convex-bsd 749168023feSmrg exit ;; 7506ea72052Smrg CRAY*Y-MP:*:*:*) 7516ea72052Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 752168023feSmrg exit ;; 7536ea72052Smrg CRAY*[A-Z]90:*:*:*) 7546ea72052Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 7556ea72052Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 7566ea72052Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 7576ea72052Smrg -e 's/\.[^.]*$/.X/' 758168023feSmrg exit ;; 7596ea72052Smrg CRAY*TS:*:*:*) 7606ea72052Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 761168023feSmrg exit ;; 7626ea72052Smrg CRAY*T3E:*:*:*) 7636ea72052Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 764168023feSmrg exit ;; 7656ea72052Smrg CRAY*SV1:*:*:*) 7666ea72052Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 767168023feSmrg exit ;; 7686ea72052Smrg *:UNICOS/mp:*:*) 769168023feSmrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 770168023feSmrg exit ;; 7716ea72052Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 7726ea72052Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 7736ea72052Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7746ea72052Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 7756ea72052Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 776168023feSmrg exit ;; 777168023feSmrg 5000:UNIX_System_V:4.*:*) 778168023feSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 779168023feSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 780168023feSmrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 781168023feSmrg exit ;; 7826ea72052Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7836ea72052Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 784168023feSmrg exit ;; 7856ea72052Smrg sparc*:BSD/OS:*:*) 7866ea72052Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 787168023feSmrg exit ;; 7886ea72052Smrg *:BSD/OS:*:*) 7896ea72052Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 790168023feSmrg exit ;; 791168023feSmrg *:FreeBSD:*:*) 792168023feSmrg case ${UNAME_MACHINE} in 793168023feSmrg pc98) 794168023feSmrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 795168023feSmrg amd64) 796168023feSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 797168023feSmrg *) 798168023feSmrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 799168023feSmrg esac 800168023feSmrg exit ;; 8016ea72052Smrg i*:CYGWIN*:*) 8026ea72052Smrg echo ${UNAME_MACHINE}-pc-cygwin 803168023feSmrg exit ;; 804168023feSmrg *:MINGW*:*) 8056ea72052Smrg echo ${UNAME_MACHINE}-pc-mingw32 806168023feSmrg exit ;; 807168023feSmrg i*:windows32*:*) 808168023feSmrg # uname -m includes "-pc" on this system. 809168023feSmrg echo ${UNAME_MACHINE}-mingw32 810168023feSmrg exit ;; 8116ea72052Smrg i*:PW*:*) 8126ea72052Smrg echo ${UNAME_MACHINE}-pc-pw32 813168023feSmrg exit ;; 814168023feSmrg *:Interix*:*) 815168023feSmrg case ${UNAME_MACHINE} in 816168023feSmrg x86) 817168023feSmrg echo i586-pc-interix${UNAME_RELEASE} 818168023feSmrg exit ;; 819168023feSmrg authenticamd | genuineintel | EM64T) 820168023feSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 821168023feSmrg exit ;; 822168023feSmrg IA64) 823168023feSmrg echo ia64-unknown-interix${UNAME_RELEASE} 824168023feSmrg exit ;; 825168023feSmrg esac ;; 8266ea72052Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 8276ea72052Smrg echo i${UNAME_MACHINE}-pc-mks 828168023feSmrg exit ;; 829168023feSmrg 8664:Windows_NT:*) 830168023feSmrg echo x86_64-pc-mks 831168023feSmrg exit ;; 8326ea72052Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 8336ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 8346ea72052Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 8356ea72052Smrg # UNAME_MACHINE based on the output of uname instead of i386? 8366ea72052Smrg echo i586-pc-interix 837168023feSmrg exit ;; 8386ea72052Smrg i*:UWIN*:*) 8396ea72052Smrg echo ${UNAME_MACHINE}-pc-uwin 840168023feSmrg exit ;; 841168023feSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 842168023feSmrg echo x86_64-unknown-cygwin 843168023feSmrg exit ;; 8446ea72052Smrg p*:CYGWIN*:*) 8456ea72052Smrg echo powerpcle-unknown-cygwin 846168023feSmrg exit ;; 8476ea72052Smrg prep*:SunOS:5.*:*) 8486ea72052Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 849168023feSmrg exit ;; 8506ea72052Smrg *:GNU:*:*) 851168023feSmrg # the GNU system 8526ea72052Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 853168023feSmrg exit ;; 854168023feSmrg *:GNU/*:*:*) 855168023feSmrg # other systems with GNU libc and userland 856168023feSmrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 857168023feSmrg exit ;; 8586ea72052Smrg i*86:Minix:*:*) 8596ea72052Smrg echo ${UNAME_MACHINE}-pc-minix 860168023feSmrg exit ;; 861168023feSmrg alpha:Linux:*:*) 862168023feSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 863168023feSmrg EV5) UNAME_MACHINE=alphaev5 ;; 864168023feSmrg EV56) UNAME_MACHINE=alphaev56 ;; 865168023feSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 866168023feSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 867168023feSmrg EV6) UNAME_MACHINE=alphaev6 ;; 868168023feSmrg EV67) UNAME_MACHINE=alphaev67 ;; 869168023feSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 870168023feSmrg esac 871168023feSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 872168023feSmrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 873168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 874168023feSmrg exit ;; 8756ea72052Smrg arm*:Linux:*:*) 876168023feSmrg eval $set_cc_for_build 877168023feSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 878168023feSmrg | grep -q __ARM_EABI__ 879168023feSmrg then 880168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 881168023feSmrg else 882168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnueabi 883168023feSmrg fi 884168023feSmrg exit ;; 885168023feSmrg avr32*:Linux:*:*) 8866ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 887168023feSmrg exit ;; 8886ea72052Smrg cris:Linux:*:*) 8896ea72052Smrg echo cris-axis-linux-gnu 890168023feSmrg exit ;; 891168023feSmrg crisv32:Linux:*:*) 892168023feSmrg echo crisv32-axis-linux-gnu 893168023feSmrg exit ;; 894168023feSmrg frv:Linux:*:*) 895168023feSmrg echo frv-unknown-linux-gnu 896168023feSmrg exit ;; 897168023feSmrg i*86:Linux:*:*) 898168023feSmrg LIBC=gnu 8996ea72052Smrg eval $set_cc_for_build 9006ea72052Smrg sed 's/^ //' << EOF >$dummy.c 901168023feSmrg #ifdef __dietlibc__ 902168023feSmrg LIBC=dietlibc 9036ea72052Smrg #endif 9046ea72052SmrgEOF 905168023feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 906168023feSmrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 907168023feSmrg exit ;; 908168023feSmrg ia64:Linux:*:*) 909168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 910168023feSmrg exit ;; 911168023feSmrg m32r*:Linux:*:*) 912168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 913168023feSmrg exit ;; 914168023feSmrg m68*:Linux:*:*) 915168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 916168023feSmrg exit ;; 917168023feSmrg mips:Linux:*:* | mips64:Linux:*:*) 9186ea72052Smrg eval $set_cc_for_build 9196ea72052Smrg sed 's/^ //' << EOF >$dummy.c 9206ea72052Smrg #undef CPU 921168023feSmrg #undef ${UNAME_MACHINE} 922168023feSmrg #undef ${UNAME_MACHINE}el 9236ea72052Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 924168023feSmrg CPU=${UNAME_MACHINE}el 9256ea72052Smrg #else 9266ea72052Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 927168023feSmrg CPU=${UNAME_MACHINE} 9286ea72052Smrg #else 9296ea72052Smrg CPU= 9306ea72052Smrg #endif 9316ea72052Smrg #endif 9326ea72052SmrgEOF 933168023feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 934168023feSmrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 9356ea72052Smrg ;; 936168023feSmrg or32:Linux:*:*) 937168023feSmrg echo or32-unknown-linux-gnu 938168023feSmrg exit ;; 939168023feSmrg padre:Linux:*:*) 940168023feSmrg echo sparc-unknown-linux-gnu 941168023feSmrg exit ;; 942168023feSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 943168023feSmrg echo hppa64-unknown-linux-gnu 944168023feSmrg exit ;; 9456ea72052Smrg parisc:Linux:*:* | hppa:Linux:*:*) 9466ea72052Smrg # Look for CPU level 9476ea72052Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 9486ea72052Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 9496ea72052Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 9506ea72052Smrg *) echo hppa-unknown-linux-gnu ;; 9516ea72052Smrg esac 952168023feSmrg exit ;; 953168023feSmrg ppc64:Linux:*:*) 954168023feSmrg echo powerpc64-unknown-linux-gnu 955168023feSmrg exit ;; 956168023feSmrg ppc:Linux:*:*) 957168023feSmrg echo powerpc-unknown-linux-gnu 958168023feSmrg exit ;; 9596ea72052Smrg s390:Linux:*:* | s390x:Linux:*:*) 960168023feSmrg echo ${UNAME_MACHINE}-ibm-linux 961168023feSmrg exit ;; 9626ea72052Smrg sh64*:Linux:*:*) 9636ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 964168023feSmrg exit ;; 9656ea72052Smrg sh*:Linux:*:*) 9666ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 967168023feSmrg exit ;; 9686ea72052Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 9696ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 970168023feSmrg exit ;; 97149e82cebSmrg tile*:Linux:*:*) 97249e82cebSmrg echo ${UNAME_MACHINE}-tilera-linux-gnu 97349e82cebSmrg exit ;; 974168023feSmrg vax:Linux:*:*) 975168023feSmrg echo ${UNAME_MACHINE}-dec-linux-gnu 976168023feSmrg exit ;; 9776ea72052Smrg x86_64:Linux:*:*) 978168023feSmrg echo x86_64-unknown-linux-gnu 979168023feSmrg exit ;; 980168023feSmrg xtensa*:Linux:*:*) 981168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 982168023feSmrg exit ;; 9836ea72052Smrg i*86:DYNIX/ptx:4*:*) 9846ea72052Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 9856ea72052Smrg # earlier versions are messed up and put the nodename in both 9866ea72052Smrg # sysname and nodename. 9876ea72052Smrg echo i386-sequent-sysv4 988168023feSmrg exit ;; 9896ea72052Smrg i*86:UNIX_SV:4.2MP:2.*) 9906ea72052Smrg # Unixware is an offshoot of SVR4, but it has its own version 9916ea72052Smrg # number series starting with 2... 9926ea72052Smrg # I am not positive that other SVR4 systems won't match this, 9936ea72052Smrg # I just have to hope. -- rms. 9946ea72052Smrg # Use sysv4.2uw... so that sysv4* matches it. 9956ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 996168023feSmrg exit ;; 9976ea72052Smrg i*86:OS/2:*:*) 9986ea72052Smrg # If we were able to find `uname', then EMX Unix compatibility 9996ea72052Smrg # is probably installed. 10006ea72052Smrg echo ${UNAME_MACHINE}-pc-os2-emx 1001168023feSmrg exit ;; 10026ea72052Smrg i*86:XTS-300:*:STOP) 10036ea72052Smrg echo ${UNAME_MACHINE}-unknown-stop 1004168023feSmrg exit ;; 10056ea72052Smrg i*86:atheos:*:*) 10066ea72052Smrg echo ${UNAME_MACHINE}-unknown-atheos 1007168023feSmrg exit ;; 1008168023feSmrg i*86:syllable:*:*) 1009168023feSmrg echo ${UNAME_MACHINE}-pc-syllable 1010168023feSmrg exit ;; 1011168023feSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 10126ea72052Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 1013168023feSmrg exit ;; 10146ea72052Smrg i*86:*DOS:*:*) 10156ea72052Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 1016168023feSmrg exit ;; 10176ea72052Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 10186ea72052Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 10196ea72052Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 10206ea72052Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 10216ea72052Smrg else 10226ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 10236ea72052Smrg fi 1024168023feSmrg exit ;; 1025168023feSmrg i*86:*:5:[678]*) 1026168023feSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 10276ea72052Smrg case `/bin/uname -X | grep "^Machine"` in 10286ea72052Smrg *486*) UNAME_MACHINE=i486 ;; 10296ea72052Smrg *Pentium) UNAME_MACHINE=i586 ;; 10306ea72052Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 10316ea72052Smrg esac 10326ea72052Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1033168023feSmrg exit ;; 10346ea72052Smrg i*86:*:3.2:*) 10356ea72052Smrg if test -f /usr/options/cb.name; then 10366ea72052Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 10376ea72052Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 10386ea72052Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 10396ea72052Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 10406ea72052Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 10416ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 10426ea72052Smrg && UNAME_MACHINE=i586 10436ea72052Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 10446ea72052Smrg && UNAME_MACHINE=i686 10456ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 10466ea72052Smrg && UNAME_MACHINE=i686 10476ea72052Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 10486ea72052Smrg else 10496ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv32 10506ea72052Smrg fi 1051168023feSmrg exit ;; 10526ea72052Smrg pc:*:*:*) 10536ea72052Smrg # Left here for compatibility: 10546ea72052Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1055168023feSmrg # the processor, so we play safe by assuming i586. 1056168023feSmrg # Note: whatever this is, it MUST be the same as what config.sub 1057168023feSmrg # prints for the "djgpp" host, or else GDB configury will decide that 1058168023feSmrg # this is a cross-build. 1059168023feSmrg echo i586-pc-msdosdjgpp 1060168023feSmrg exit ;; 10616ea72052Smrg Intel:Mach:3*:*) 10626ea72052Smrg echo i386-pc-mach3 1063168023feSmrg exit ;; 10646ea72052Smrg paragon:*:*:*) 10656ea72052Smrg echo i860-intel-osf1 1066168023feSmrg exit ;; 10676ea72052Smrg i860:*:4.*:*) # i860-SVR4 10686ea72052Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10696ea72052Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10706ea72052Smrg else # Add other i860-SVR4 vendors below as they are discovered. 10716ea72052Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10726ea72052Smrg fi 1073168023feSmrg exit ;; 10746ea72052Smrg mini*:CTIX:SYS*5:*) 10756ea72052Smrg # "miniframe" 10766ea72052Smrg echo m68010-convergent-sysv 1077168023feSmrg exit ;; 10786ea72052Smrg mc68k:UNIX:SYSTEM5:3.51m) 10796ea72052Smrg echo m68k-convergent-sysv 1080168023feSmrg exit ;; 10816ea72052Smrg M680?0:D-NIX:5.3:*) 10826ea72052Smrg echo m68k-diab-dnix 1083168023feSmrg exit ;; 1084168023feSmrg M68*:*:R3V[5678]*:*) 1085168023feSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1086168023feSmrg 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 10876ea72052Smrg OS_REL='' 10886ea72052Smrg test -r /etc/.relid \ 10896ea72052Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 10906ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1091168023feSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 10926ea72052Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1093168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 10946ea72052Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 10956ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1096168023feSmrg && { echo i486-ncr-sysv4; exit; } ;; 1097168023feSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1098168023feSmrg OS_REL='.3' 1099168023feSmrg test -r /etc/.relid \ 1100168023feSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1101168023feSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1102168023feSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1103168023feSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1104168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1105168023feSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1106168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 11076ea72052Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 11086ea72052Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 1109168023feSmrg exit ;; 11106ea72052Smrg mc68030:UNIX_System_V:4.*:*) 11116ea72052Smrg echo m68k-atari-sysv4 1112168023feSmrg exit ;; 11136ea72052Smrg TSUNAMI:LynxOS:2.*:*) 11146ea72052Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 1115168023feSmrg exit ;; 11166ea72052Smrg rs6000:LynxOS:2.*:*) 11176ea72052Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 1118168023feSmrg exit ;; 1119168023feSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 11206ea72052Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 1121168023feSmrg exit ;; 11226ea72052Smrg SM[BE]S:UNIX_SV:*:*) 11236ea72052Smrg echo mips-dde-sysv${UNAME_RELEASE} 1124168023feSmrg exit ;; 11256ea72052Smrg RM*:ReliantUNIX-*:*:*) 11266ea72052Smrg echo mips-sni-sysv4 1127168023feSmrg exit ;; 11286ea72052Smrg RM*:SINIX-*:*:*) 11296ea72052Smrg echo mips-sni-sysv4 1130168023feSmrg exit ;; 11316ea72052Smrg *:SINIX-*:*:*) 11326ea72052Smrg if uname -p 2>/dev/null >/dev/null ; then 11336ea72052Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 11346ea72052Smrg echo ${UNAME_MACHINE}-sni-sysv4 11356ea72052Smrg else 11366ea72052Smrg echo ns32k-sni-sysv 11376ea72052Smrg fi 1138168023feSmrg exit ;; 11396ea72052Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 11406ea72052Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 11416ea72052Smrg echo i586-unisys-sysv4 1142168023feSmrg exit ;; 11436ea72052Smrg *:UNIX_System_V:4*:FTX*) 11446ea72052Smrg # From Gerald Hewes <hewes@openmarket.com>. 11456ea72052Smrg # How about differentiating between stratus architectures? -djm 11466ea72052Smrg echo hppa1.1-stratus-sysv4 1147168023feSmrg exit ;; 11486ea72052Smrg *:*:*:FTX*) 11496ea72052Smrg # From seanf@swdc.stratus.com. 11506ea72052Smrg echo i860-stratus-sysv4 1151168023feSmrg exit ;; 1152168023feSmrg i*86:VOS:*:*) 1153168023feSmrg # From Paul.Green@stratus.com. 1154168023feSmrg echo ${UNAME_MACHINE}-stratus-vos 1155168023feSmrg exit ;; 11566ea72052Smrg *:VOS:*:*) 11576ea72052Smrg # From Paul.Green@stratus.com. 11586ea72052Smrg echo hppa1.1-stratus-vos 1159168023feSmrg exit ;; 11606ea72052Smrg mc68*:A/UX:*:*) 11616ea72052Smrg echo m68k-apple-aux${UNAME_RELEASE} 1162168023feSmrg exit ;; 11636ea72052Smrg news*:NEWS-OS:6*:*) 11646ea72052Smrg echo mips-sony-newsos6 1165168023feSmrg exit ;; 11666ea72052Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 11676ea72052Smrg if [ -d /usr/nec ]; then 11686ea72052Smrg echo mips-nec-sysv${UNAME_RELEASE} 11696ea72052Smrg else 11706ea72052Smrg echo mips-unknown-sysv${UNAME_RELEASE} 11716ea72052Smrg fi 1172168023feSmrg exit ;; 11736ea72052Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 11746ea72052Smrg echo powerpc-be-beos 1175168023feSmrg exit ;; 11766ea72052Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 11776ea72052Smrg echo powerpc-apple-beos 1178168023feSmrg exit ;; 11796ea72052Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 11806ea72052Smrg echo i586-pc-beos 1181168023feSmrg exit ;; 1182168023feSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1183168023feSmrg echo i586-pc-haiku 1184168023feSmrg exit ;; 11856ea72052Smrg SX-4:SUPER-UX:*:*) 11866ea72052Smrg echo sx4-nec-superux${UNAME_RELEASE} 1187168023feSmrg exit ;; 11886ea72052Smrg SX-5:SUPER-UX:*:*) 11896ea72052Smrg echo sx5-nec-superux${UNAME_RELEASE} 1190168023feSmrg exit ;; 11916ea72052Smrg SX-6:SUPER-UX:*:*) 11926ea72052Smrg echo sx6-nec-superux${UNAME_RELEASE} 1193168023feSmrg exit ;; 1194168023feSmrg SX-7:SUPER-UX:*:*) 1195168023feSmrg echo sx7-nec-superux${UNAME_RELEASE} 1196168023feSmrg exit ;; 1197168023feSmrg SX-8:SUPER-UX:*:*) 1198168023feSmrg echo sx8-nec-superux${UNAME_RELEASE} 1199168023feSmrg exit ;; 1200168023feSmrg SX-8R:SUPER-UX:*:*) 1201168023feSmrg echo sx8r-nec-superux${UNAME_RELEASE} 1202168023feSmrg exit ;; 12036ea72052Smrg Power*:Rhapsody:*:*) 12046ea72052Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 1205168023feSmrg exit ;; 12066ea72052Smrg *:Rhapsody:*:*) 12076ea72052Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1208168023feSmrg exit ;; 12096ea72052Smrg *:Darwin:*:*) 1210168023feSmrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1211168023feSmrg case $UNAME_PROCESSOR in 1212168023feSmrg i386) 1213168023feSmrg eval $set_cc_for_build 1214168023feSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 1215168023feSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1216168023feSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 1217168023feSmrg grep IS_64BIT_ARCH >/dev/null 1218168023feSmrg then 1219168023feSmrg UNAME_PROCESSOR="x86_64" 1220168023feSmrg fi 1221168023feSmrg fi ;; 1222168023feSmrg unknown) UNAME_PROCESSOR=powerpc ;; 12236ea72052Smrg esac 12246ea72052Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1225168023feSmrg exit ;; 12266ea72052Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 12276ea72052Smrg UNAME_PROCESSOR=`uname -p` 12286ea72052Smrg if test "$UNAME_PROCESSOR" = "x86"; then 12296ea72052Smrg UNAME_PROCESSOR=i386 12306ea72052Smrg UNAME_MACHINE=pc 12316ea72052Smrg fi 12326ea72052Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1233168023feSmrg exit ;; 12346ea72052Smrg *:QNX:*:4*) 12356ea72052Smrg echo i386-pc-qnx 1236168023feSmrg exit ;; 1237168023feSmrg NSE-?:NONSTOP_KERNEL:*:*) 1238168023feSmrg echo nse-tandem-nsk${UNAME_RELEASE} 1239168023feSmrg exit ;; 1240168023feSmrg NSR-?:NONSTOP_KERNEL:*:*) 12416ea72052Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 1242168023feSmrg exit ;; 12436ea72052Smrg *:NonStop-UX:*:*) 12446ea72052Smrg echo mips-compaq-nonstopux 1245168023feSmrg exit ;; 12466ea72052Smrg BS2000:POSIX*:*:*) 12476ea72052Smrg echo bs2000-siemens-sysv 1248168023feSmrg exit ;; 12496ea72052Smrg DS/*:UNIX_System_V:*:*) 12506ea72052Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1251168023feSmrg exit ;; 12526ea72052Smrg *:Plan9:*:*) 12536ea72052Smrg # "uname -m" is not consistent, so use $cputype instead. 386 12546ea72052Smrg # is converted to i386 for consistency with other x86 12556ea72052Smrg # operating systems. 12566ea72052Smrg if test "$cputype" = "386"; then 12576ea72052Smrg UNAME_MACHINE=i386 12586ea72052Smrg else 12596ea72052Smrg UNAME_MACHINE="$cputype" 12606ea72052Smrg fi 12616ea72052Smrg echo ${UNAME_MACHINE}-unknown-plan9 1262168023feSmrg exit ;; 12636ea72052Smrg *:TOPS-10:*:*) 12646ea72052Smrg echo pdp10-unknown-tops10 1265168023feSmrg exit ;; 12666ea72052Smrg *:TENEX:*:*) 12676ea72052Smrg echo pdp10-unknown-tenex 1268168023feSmrg exit ;; 12696ea72052Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 12706ea72052Smrg echo pdp10-dec-tops20 1271168023feSmrg exit ;; 12726ea72052Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 12736ea72052Smrg echo pdp10-xkl-tops20 1274168023feSmrg exit ;; 12756ea72052Smrg *:TOPS-20:*:*) 12766ea72052Smrg echo pdp10-unknown-tops20 1277168023feSmrg exit ;; 12786ea72052Smrg *:ITS:*:*) 12796ea72052Smrg echo pdp10-unknown-its 1280168023feSmrg exit ;; 12816ea72052Smrg SEI:*:*:SEIUX) 12826ea72052Smrg echo mips-sei-seiux${UNAME_RELEASE} 1283168023feSmrg exit ;; 1284168023feSmrg *:DragonFly:*:*) 1285168023feSmrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1286168023feSmrg exit ;; 1287168023feSmrg *:*VMS:*:*) 1288168023feSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1289168023feSmrg case "${UNAME_MACHINE}" in 1290168023feSmrg A*) echo alpha-dec-vms ; exit ;; 1291168023feSmrg I*) echo ia64-dec-vms ; exit ;; 1292168023feSmrg V*) echo vax-dec-vms ; exit ;; 1293168023feSmrg esac ;; 1294168023feSmrg *:XENIX:*:SysV) 1295168023feSmrg echo i386-pc-xenix 1296168023feSmrg exit ;; 1297168023feSmrg i*86:skyos:*:*) 1298168023feSmrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1299168023feSmrg exit ;; 1300168023feSmrg i*86:rdos:*:*) 1301168023feSmrg echo ${UNAME_MACHINE}-pc-rdos 1302168023feSmrg exit ;; 1303168023feSmrg i*86:AROS:*:*) 1304168023feSmrg echo ${UNAME_MACHINE}-pc-aros 1305168023feSmrg exit ;; 13066ea72052Smrgesac 13076ea72052Smrg 13086ea72052Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 13096ea72052Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 13106ea72052Smrg 13116ea72052Smrgeval $set_cc_for_build 13126ea72052Smrgcat >$dummy.c <<EOF 13136ea72052Smrg#ifdef _SEQUENT_ 13146ea72052Smrg# include <sys/types.h> 13156ea72052Smrg# include <sys/utsname.h> 13166ea72052Smrg#endif 13176ea72052Smrgmain () 13186ea72052Smrg{ 13196ea72052Smrg#if defined (sony) 13206ea72052Smrg#if defined (MIPSEB) 13216ea72052Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 13226ea72052Smrg I don't know.... */ 13236ea72052Smrg printf ("mips-sony-bsd\n"); exit (0); 13246ea72052Smrg#else 13256ea72052Smrg#include <sys/param.h> 13266ea72052Smrg printf ("m68k-sony-newsos%s\n", 13276ea72052Smrg#ifdef NEWSOS4 13286ea72052Smrg "4" 13296ea72052Smrg#else 13306ea72052Smrg "" 13316ea72052Smrg#endif 13326ea72052Smrg ); exit (0); 13336ea72052Smrg#endif 13346ea72052Smrg#endif 13356ea72052Smrg 13366ea72052Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 1337168023feSmrg printf ("arm-acorn-riscix\n"); exit (0); 13386ea72052Smrg#endif 13396ea72052Smrg 13406ea72052Smrg#if defined (hp300) && !defined (hpux) 13416ea72052Smrg printf ("m68k-hp-bsd\n"); exit (0); 13426ea72052Smrg#endif 13436ea72052Smrg 13446ea72052Smrg#if defined (NeXT) 13456ea72052Smrg#if !defined (__ARCHITECTURE__) 13466ea72052Smrg#define __ARCHITECTURE__ "m68k" 13476ea72052Smrg#endif 13486ea72052Smrg int version; 13496ea72052Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 13506ea72052Smrg if (version < 4) 13516ea72052Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 13526ea72052Smrg else 13536ea72052Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 13546ea72052Smrg exit (0); 13556ea72052Smrg#endif 13566ea72052Smrg 13576ea72052Smrg#if defined (MULTIMAX) || defined (n16) 13586ea72052Smrg#if defined (UMAXV) 13596ea72052Smrg printf ("ns32k-encore-sysv\n"); exit (0); 13606ea72052Smrg#else 13616ea72052Smrg#if defined (CMU) 13626ea72052Smrg printf ("ns32k-encore-mach\n"); exit (0); 13636ea72052Smrg#else 13646ea72052Smrg printf ("ns32k-encore-bsd\n"); exit (0); 13656ea72052Smrg#endif 13666ea72052Smrg#endif 13676ea72052Smrg#endif 13686ea72052Smrg 13696ea72052Smrg#if defined (__386BSD__) 13706ea72052Smrg printf ("i386-pc-bsd\n"); exit (0); 13716ea72052Smrg#endif 13726ea72052Smrg 13736ea72052Smrg#if defined (sequent) 13746ea72052Smrg#if defined (i386) 13756ea72052Smrg printf ("i386-sequent-dynix\n"); exit (0); 13766ea72052Smrg#endif 13776ea72052Smrg#if defined (ns32000) 13786ea72052Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 13796ea72052Smrg#endif 13806ea72052Smrg#endif 13816ea72052Smrg 13826ea72052Smrg#if defined (_SEQUENT_) 13836ea72052Smrg struct utsname un; 13846ea72052Smrg 13856ea72052Smrg uname(&un); 13866ea72052Smrg 13876ea72052Smrg if (strncmp(un.version, "V2", 2) == 0) { 13886ea72052Smrg printf ("i386-sequent-ptx2\n"); exit (0); 13896ea72052Smrg } 13906ea72052Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 13916ea72052Smrg printf ("i386-sequent-ptx1\n"); exit (0); 13926ea72052Smrg } 13936ea72052Smrg printf ("i386-sequent-ptx\n"); exit (0); 13946ea72052Smrg 13956ea72052Smrg#endif 13966ea72052Smrg 13976ea72052Smrg#if defined (vax) 13986ea72052Smrg# if !defined (ultrix) 13996ea72052Smrg# include <sys/param.h> 14006ea72052Smrg# if defined (BSD) 14016ea72052Smrg# if BSD == 43 14026ea72052Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 14036ea72052Smrg# else 14046ea72052Smrg# if BSD == 199006 14056ea72052Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 14066ea72052Smrg# else 14076ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 14086ea72052Smrg# endif 14096ea72052Smrg# endif 14106ea72052Smrg# else 14116ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 14126ea72052Smrg# endif 14136ea72052Smrg# else 14146ea72052Smrg printf ("vax-dec-ultrix\n"); exit (0); 14156ea72052Smrg# endif 14166ea72052Smrg#endif 14176ea72052Smrg 14186ea72052Smrg#if defined (alliant) && defined (i860) 14196ea72052Smrg printf ("i860-alliant-bsd\n"); exit (0); 14206ea72052Smrg#endif 14216ea72052Smrg 14226ea72052Smrg exit (1); 14236ea72052Smrg} 14246ea72052SmrgEOF 14256ea72052Smrg 1426168023feSmrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1427168023feSmrg { echo "$SYSTEM_NAME"; exit; } 14286ea72052Smrg 14296ea72052Smrg# Apollos put the system type in the environment. 14306ea72052Smrg 1431168023feSmrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 14326ea72052Smrg 14336ea72052Smrg# Convex versions that predate uname can use getsysinfo(1) 14346ea72052Smrg 14356ea72052Smrgif [ -x /usr/convex/getsysinfo ] 14366ea72052Smrgthen 14376ea72052Smrg case `getsysinfo -f cpu_type` in 14386ea72052Smrg c1*) 14396ea72052Smrg echo c1-convex-bsd 1440168023feSmrg exit ;; 14416ea72052Smrg c2*) 14426ea72052Smrg if getsysinfo -f scalar_acc 14436ea72052Smrg then echo c32-convex-bsd 14446ea72052Smrg else echo c2-convex-bsd 14456ea72052Smrg fi 1446168023feSmrg exit ;; 14476ea72052Smrg c34*) 14486ea72052Smrg echo c34-convex-bsd 1449168023feSmrg exit ;; 14506ea72052Smrg c38*) 14516ea72052Smrg echo c38-convex-bsd 1452168023feSmrg exit ;; 14536ea72052Smrg c4*) 14546ea72052Smrg echo c4-convex-bsd 1455168023feSmrg exit ;; 14566ea72052Smrg esac 14576ea72052Smrgfi 14586ea72052Smrg 14596ea72052Smrgcat >&2 <<EOF 14606ea72052Smrg$0: unable to guess system type 14616ea72052Smrg 14626ea72052SmrgThis script, last modified $timestamp, has failed to recognize 14636ea72052Smrgthe operating system you are using. It is advised that you 14646ea72052Smrgdownload the most up to date version of the config scripts from 14656ea72052Smrg 1466168023feSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1467168023feSmrgand 1468168023feSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 14696ea72052Smrg 14706ea72052SmrgIf the version you run ($0) is already up to date, please 14716ea72052Smrgsend the following data and any information you think might be 14726ea72052Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 14736ea72052Smrginformation to handle your system. 14746ea72052Smrg 14756ea72052Smrgconfig.guess timestamp = $timestamp 14766ea72052Smrg 14776ea72052Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 14786ea72052Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 14796ea72052Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 14806ea72052Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 14816ea72052Smrg 14826ea72052Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 14836ea72052Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 14846ea72052Smrg 14856ea72052Smrghostinfo = `(hostinfo) 2>/dev/null` 14866ea72052Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 14876ea72052Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 14886ea72052Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 14896ea72052Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 14906ea72052Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 14916ea72052Smrg 14926ea72052SmrgUNAME_MACHINE = ${UNAME_MACHINE} 14936ea72052SmrgUNAME_RELEASE = ${UNAME_RELEASE} 14946ea72052SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 14956ea72052SmrgUNAME_VERSION = ${UNAME_VERSION} 14966ea72052SmrgEOF 14976ea72052Smrg 14986ea72052Smrgexit 1 14996ea72052Smrg 15006ea72052Smrg# Local variables: 15016ea72052Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 15026ea72052Smrg# time-stamp-start: "timestamp='" 15036ea72052Smrg# time-stamp-format: "%:y-%02m-%02d" 15046ea72052Smrg# time-stamp-end: "'" 15056ea72052Smrg# End: 1506