config.guess revision 168023fe
16ea72052Smrg#! /bin/sh 26ea72052Smrg# Attempt to guess a canonical system name. 36ea72052Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4168023feSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 5168023feSmrg# Free Software Foundation, Inc. 66ea72052Smrg 7168023feSmrgtimestamp='2009-11-20' 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. 59168023feSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 60168023feSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 616ea72052Smrg 626ea72052SmrgThis is free software; see the source for copying conditions. There is NO 636ea72052Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 646ea72052Smrg 656ea72052Smrghelp=" 666ea72052SmrgTry \`$me --help' for more information." 676ea72052Smrg 686ea72052Smrg# Parse command line 696ea72052Smrgwhile test $# -gt 0 ; do 706ea72052Smrg case $1 in 716ea72052Smrg --time-stamp | --time* | -t ) 72168023feSmrg echo "$timestamp" ; exit ;; 736ea72052Smrg --version | -v ) 74168023feSmrg echo "$version" ; exit ;; 756ea72052Smrg --help | --h* | -h ) 76168023feSmrg echo "$usage"; exit ;; 776ea72052Smrg -- ) # Stop option processing 786ea72052Smrg shift; break ;; 796ea72052Smrg - ) # Use stdin as input. 806ea72052Smrg break ;; 816ea72052Smrg -* ) 826ea72052Smrg echo "$me: invalid option $1$help" >&2 836ea72052Smrg exit 1 ;; 846ea72052Smrg * ) 856ea72052Smrg break ;; 866ea72052Smrg esac 876ea72052Smrgdone 886ea72052Smrg 896ea72052Smrgif test $# != 0; then 906ea72052Smrg echo "$me: too many arguments$help" >&2 916ea72052Smrg exit 1 926ea72052Smrgfi 936ea72052Smrg 946ea72052Smrgtrap 'exit 1' 1 2 15 956ea72052Smrg 966ea72052Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 976ea72052Smrg# compiler to aid in system detection is discouraged as it requires 986ea72052Smrg# temporary files to be created and, as you can see below, it is a 996ea72052Smrg# headache to deal with in a portable fashion. 1006ea72052Smrg 1016ea72052Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1026ea72052Smrg# use `HOST_CC' if defined, but it is deprecated. 1036ea72052Smrg 1046ea72052Smrg# Portable tmp directory creation inspired by the Autoconf team. 1056ea72052Smrg 1066ea72052Smrgset_cc_for_build=' 1076ea72052Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1086ea72052Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 1096ea72052Smrg: ${TMPDIR=/tmp} ; 110168023feSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1116ea72052Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1126ea72052Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1136ea72052Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1146ea72052Smrgdummy=$tmp/dummy ; 1156ea72052Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1166ea72052Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 1176ea72052Smrg ,,) echo "int x;" > $dummy.c ; 1186ea72052Smrg for c in cc gcc c89 c99 ; do 1196ea72052Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 1206ea72052Smrg CC_FOR_BUILD="$c"; break ; 1216ea72052Smrg fi ; 1226ea72052Smrg done ; 1236ea72052Smrg if test x"$CC_FOR_BUILD" = x ; then 1246ea72052Smrg CC_FOR_BUILD=no_compiler_found ; 1256ea72052Smrg fi 1266ea72052Smrg ;; 1276ea72052Smrg ,,*) CC_FOR_BUILD=$CC ;; 1286ea72052Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 129168023feSmrgesac ; set_cc_for_build= ;' 1306ea72052Smrg 1316ea72052Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1326ea72052Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1336ea72052Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1346ea72052Smrg PATH=$PATH:/.attbin ; export PATH 1356ea72052Smrgfi 1366ea72052Smrg 1376ea72052SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1386ea72052SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1396ea72052SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1406ea72052SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1416ea72052Smrg 1426ea72052Smrg# Note: order is significant - the case branches are not exclusive. 1436ea72052Smrg 1446ea72052Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 1456ea72052Smrg *:NetBSD:*:*) 1466ea72052Smrg # NetBSD (nbsd) targets should (where applicable) match one or 1476ea72052Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 1486ea72052Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1496ea72052Smrg # switched to ELF, *-*-netbsd* would select the old 1506ea72052Smrg # object file format. This provides both forward 1516ea72052Smrg # compatibility and a consistent mechanism for selecting the 1526ea72052Smrg # object file format. 1536ea72052Smrg # 1546ea72052Smrg # Note: NetBSD doesn't particularly care about the vendor 1556ea72052Smrg # portion of the name. We always set it to "unknown". 1566ea72052Smrg sysctl="sysctl -n hw.machine_arch" 1576ea72052Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 1586ea72052Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 1596ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1606ea72052Smrg armeb) machine=armeb-unknown ;; 1616ea72052Smrg arm*) machine=arm-unknown ;; 1626ea72052Smrg sh3el) machine=shl-unknown ;; 1636ea72052Smrg sh3eb) machine=sh-unknown ;; 164168023feSmrg sh5el) machine=sh5le-unknown ;; 1656ea72052Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1666ea72052Smrg esac 1676ea72052Smrg # The Operating System including object format, if it has switched 1686ea72052Smrg # to ELF recently, or will in the future. 1696ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1706ea72052Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1716ea72052Smrg eval $set_cc_for_build 1726ea72052Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 173168023feSmrg | grep -q __ELF__ 1746ea72052Smrg then 1756ea72052Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1766ea72052Smrg # Return netbsd for either. FIX? 1776ea72052Smrg os=netbsd 1786ea72052Smrg else 1796ea72052Smrg os=netbsdelf 1806ea72052Smrg fi 1816ea72052Smrg ;; 1826ea72052Smrg *) 1836ea72052Smrg os=netbsd 1846ea72052Smrg ;; 1856ea72052Smrg esac 1866ea72052Smrg # The OS release 1876ea72052Smrg # Debian GNU/NetBSD machines have a different userland, and 1886ea72052Smrg # thus, need a distinct triplet. However, they do not need 1896ea72052Smrg # kernel version information, so it can be replaced with a 1906ea72052Smrg # suitable tag, in the style of linux-gnu. 1916ea72052Smrg case "${UNAME_VERSION}" in 1926ea72052Smrg Debian*) 1936ea72052Smrg release='-gnu' 1946ea72052Smrg ;; 1956ea72052Smrg *) 1966ea72052Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 1976ea72052Smrg ;; 1986ea72052Smrg esac 1996ea72052Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2006ea72052Smrg # contains redundant information, the shorter form: 2016ea72052Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2026ea72052Smrg echo "${machine}-${os}${release}" 203168023feSmrg exit ;; 2046ea72052Smrg *:OpenBSD:*:*) 205168023feSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 206168023feSmrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 207168023feSmrg exit ;; 208168023feSmrg *:ekkoBSD:*:*) 209168023feSmrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 210168023feSmrg exit ;; 211168023feSmrg *:SolidBSD:*:*) 212168023feSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 213168023feSmrg exit ;; 214168023feSmrg macppc:MirBSD:*:*) 215168023feSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 216168023feSmrg exit ;; 217168023feSmrg *:MirBSD:*:*) 218168023feSmrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 219168023feSmrg exit ;; 2206ea72052Smrg alpha:OSF1:*:*) 221168023feSmrg case $UNAME_RELEASE in 222168023feSmrg *4.0) 2236ea72052Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 224168023feSmrg ;; 225168023feSmrg *5.*) 226168023feSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 227168023feSmrg ;; 228168023feSmrg esac 2296ea72052Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2306ea72052Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2316ea72052Smrg # covers most systems running today. This code pipes the CPU 2326ea72052Smrg # types through head -n 1, so we only detect the type of CPU 0. 2336ea72052Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 2346ea72052Smrg case "$ALPHA_CPU_TYPE" in 2356ea72052Smrg "EV4 (21064)") 2366ea72052Smrg UNAME_MACHINE="alpha" ;; 2376ea72052Smrg "EV4.5 (21064)") 2386ea72052Smrg UNAME_MACHINE="alpha" ;; 2396ea72052Smrg "LCA4 (21066/21068)") 2406ea72052Smrg UNAME_MACHINE="alpha" ;; 2416ea72052Smrg "EV5 (21164)") 2426ea72052Smrg UNAME_MACHINE="alphaev5" ;; 2436ea72052Smrg "EV5.6 (21164A)") 2446ea72052Smrg UNAME_MACHINE="alphaev56" ;; 2456ea72052Smrg "EV5.6 (21164PC)") 2466ea72052Smrg UNAME_MACHINE="alphapca56" ;; 2476ea72052Smrg "EV5.7 (21164PC)") 2486ea72052Smrg UNAME_MACHINE="alphapca57" ;; 2496ea72052Smrg "EV6 (21264)") 2506ea72052Smrg UNAME_MACHINE="alphaev6" ;; 2516ea72052Smrg "EV6.7 (21264A)") 2526ea72052Smrg UNAME_MACHINE="alphaev67" ;; 2536ea72052Smrg "EV6.8CB (21264C)") 2546ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2556ea72052Smrg "EV6.8AL (21264B)") 2566ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2576ea72052Smrg "EV6.8CX (21264D)") 2586ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2596ea72052Smrg "EV6.9A (21264/EV69A)") 2606ea72052Smrg UNAME_MACHINE="alphaev69" ;; 2616ea72052Smrg "EV7 (21364)") 2626ea72052Smrg UNAME_MACHINE="alphaev7" ;; 2636ea72052Smrg "EV7.9 (21364A)") 2646ea72052Smrg UNAME_MACHINE="alphaev79" ;; 2656ea72052Smrg esac 266168023feSmrg # A Pn.n version is a patched version. 2676ea72052Smrg # A Vn.n version is a released version. 2686ea72052Smrg # A Tn.n version is a released field test version. 2696ea72052Smrg # A Xn.n version is an unreleased experimental baselevel. 2706ea72052Smrg # 1.2 uses "1.2" for uname -r. 271168023feSmrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 272168023feSmrg exit ;; 2736ea72052Smrg Alpha\ *:Windows_NT*:*) 2746ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 2756ea72052Smrg # Should we change UNAME_MACHINE based on the output of uname instead 2766ea72052Smrg # of the specific Alpha model? 2776ea72052Smrg echo alpha-pc-interix 278168023feSmrg exit ;; 2796ea72052Smrg 21064:Windows_NT:50:3) 2806ea72052Smrg echo alpha-dec-winnt3.5 281168023feSmrg exit ;; 2826ea72052Smrg Amiga*:UNIX_System_V:4.0:*) 2836ea72052Smrg echo m68k-unknown-sysv4 284168023feSmrg exit ;; 2856ea72052Smrg *:[Aa]miga[Oo][Ss]:*:*) 2866ea72052Smrg echo ${UNAME_MACHINE}-unknown-amigaos 287168023feSmrg exit ;; 2886ea72052Smrg *:[Mm]orph[Oo][Ss]:*:*) 2896ea72052Smrg echo ${UNAME_MACHINE}-unknown-morphos 290168023feSmrg exit ;; 2916ea72052Smrg *:OS/390:*:*) 2926ea72052Smrg echo i370-ibm-openedition 293168023feSmrg exit ;; 294168023feSmrg *:z/VM:*:*) 295168023feSmrg echo s390-ibm-zvmoe 296168023feSmrg exit ;; 297168023feSmrg *:OS400:*:*) 298168023feSmrg echo powerpc-ibm-os400 299168023feSmrg exit ;; 3006ea72052Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3016ea72052Smrg echo arm-acorn-riscix${UNAME_RELEASE} 302168023feSmrg exit ;; 303168023feSmrg arm:riscos:*:*|arm:RISCOS:*:*) 304168023feSmrg echo arm-unknown-riscos 305168023feSmrg exit ;; 3066ea72052Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3076ea72052Smrg echo hppa1.1-hitachi-hiuxmpp 308168023feSmrg exit ;; 3096ea72052Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3106ea72052Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 3116ea72052Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 3126ea72052Smrg echo pyramid-pyramid-sysv3 3136ea72052Smrg else 3146ea72052Smrg echo pyramid-pyramid-bsd 3156ea72052Smrg fi 316168023feSmrg exit ;; 3176ea72052Smrg NILE*:*:*:dcosx) 3186ea72052Smrg echo pyramid-pyramid-svr4 319168023feSmrg exit ;; 3206ea72052Smrg DRS?6000:unix:4.0:6*) 3216ea72052Smrg echo sparc-icl-nx6 322168023feSmrg exit ;; 323168023feSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 3246ea72052Smrg case `/usr/bin/uname -p` in 325168023feSmrg sparc) echo sparc-icl-nx7; exit ;; 3266ea72052Smrg esac ;; 327168023feSmrg s390x:SunOS:*:*) 328168023feSmrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 329168023feSmrg exit ;; 3306ea72052Smrg sun4H:SunOS:5.*:*) 3316ea72052Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 332168023feSmrg exit ;; 3336ea72052Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3346ea72052Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 335168023feSmrg exit ;; 336168023feSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 337168023feSmrg echo i386-pc-auroraux${UNAME_RELEASE} 338168023feSmrg exit ;; 339168023feSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 340168023feSmrg eval $set_cc_for_build 341168023feSmrg SUN_ARCH="i386" 342168023feSmrg # If there is a compiler, see if it is configured for 64-bit objects. 343168023feSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 344168023feSmrg # This test works for both compilers. 345168023feSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 346168023feSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 347168023feSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 348168023feSmrg grep IS_64BIT_ARCH >/dev/null 349168023feSmrg then 350168023feSmrg SUN_ARCH="x86_64" 351168023feSmrg fi 352168023feSmrg fi 353168023feSmrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 354168023feSmrg exit ;; 3556ea72052Smrg sun4*:SunOS:6*:*) 3566ea72052Smrg # According to config.sub, this is the proper way to canonicalize 3576ea72052Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3586ea72052Smrg # it's likely to be more like Solaris than SunOS4. 3596ea72052Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 360168023feSmrg exit ;; 3616ea72052Smrg sun4*:SunOS:*:*) 3626ea72052Smrg case "`/usr/bin/arch -k`" in 3636ea72052Smrg Series*|S4*) 3646ea72052Smrg UNAME_RELEASE=`uname -v` 3656ea72052Smrg ;; 3666ea72052Smrg esac 3676ea72052Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 3686ea72052Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 369168023feSmrg exit ;; 3706ea72052Smrg sun3*:SunOS:*:*) 3716ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 372168023feSmrg exit ;; 3736ea72052Smrg sun*:*:4.2BSD:*) 3746ea72052Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 3756ea72052Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 3766ea72052Smrg case "`/bin/arch`" in 3776ea72052Smrg sun3) 3786ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3796ea72052Smrg ;; 3806ea72052Smrg sun4) 3816ea72052Smrg echo sparc-sun-sunos${UNAME_RELEASE} 3826ea72052Smrg ;; 3836ea72052Smrg esac 384168023feSmrg exit ;; 3856ea72052Smrg aushp:SunOS:*:*) 3866ea72052Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 387168023feSmrg exit ;; 3886ea72052Smrg # The situation for MiNT is a little confusing. The machine name 3896ea72052Smrg # can be virtually everything (everything which is not 3906ea72052Smrg # "atarist" or "atariste" at least should have a processor 3916ea72052Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 3926ea72052Smrg # to the lowercase version "mint" (or "freemint"). Finally 3936ea72052Smrg # the system name "TOS" denotes a system which is actually not 3946ea72052Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 3956ea72052Smrg # be no problem. 3966ea72052Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 3976ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 398168023feSmrg exit ;; 3996ea72052Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4006ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 401168023feSmrg exit ;; 4026ea72052Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4036ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 404168023feSmrg exit ;; 4056ea72052Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4066ea72052Smrg echo m68k-milan-mint${UNAME_RELEASE} 407168023feSmrg exit ;; 4086ea72052Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4096ea72052Smrg echo m68k-hades-mint${UNAME_RELEASE} 410168023feSmrg exit ;; 4116ea72052Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4126ea72052Smrg echo m68k-unknown-mint${UNAME_RELEASE} 413168023feSmrg exit ;; 414168023feSmrg m68k:machten:*:*) 415168023feSmrg echo m68k-apple-machten${UNAME_RELEASE} 416168023feSmrg exit ;; 4176ea72052Smrg powerpc:machten:*:*) 4186ea72052Smrg echo powerpc-apple-machten${UNAME_RELEASE} 419168023feSmrg exit ;; 4206ea72052Smrg RISC*:Mach:*:*) 4216ea72052Smrg echo mips-dec-mach_bsd4.3 422168023feSmrg exit ;; 4236ea72052Smrg RISC*:ULTRIX:*:*) 4246ea72052Smrg echo mips-dec-ultrix${UNAME_RELEASE} 425168023feSmrg exit ;; 4266ea72052Smrg VAX*:ULTRIX*:*:*) 4276ea72052Smrg echo vax-dec-ultrix${UNAME_RELEASE} 428168023feSmrg exit ;; 4296ea72052Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4306ea72052Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 431168023feSmrg exit ;; 4326ea72052Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 4336ea72052Smrg eval $set_cc_for_build 4346ea72052Smrg sed 's/^ //' << EOF >$dummy.c 4356ea72052Smrg#ifdef __cplusplus 4366ea72052Smrg#include <stdio.h> /* for printf() prototype */ 4376ea72052Smrg int main (int argc, char *argv[]) { 4386ea72052Smrg#else 4396ea72052Smrg int main (argc, argv) int argc; char *argv[]; { 4406ea72052Smrg#endif 4416ea72052Smrg #if defined (host_mips) && defined (MIPSEB) 4426ea72052Smrg #if defined (SYSTYPE_SYSV) 4436ea72052Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 4446ea72052Smrg #endif 4456ea72052Smrg #if defined (SYSTYPE_SVR4) 4466ea72052Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4476ea72052Smrg #endif 4486ea72052Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4496ea72052Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4506ea72052Smrg #endif 4516ea72052Smrg #endif 4526ea72052Smrg exit (-1); 4536ea72052Smrg } 4546ea72052SmrgEOF 455168023feSmrg $CC_FOR_BUILD -o $dummy $dummy.c && 456168023feSmrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 457168023feSmrg SYSTEM_NAME=`$dummy $dummyarg` && 458168023feSmrg { echo "$SYSTEM_NAME"; exit; } 4596ea72052Smrg echo mips-mips-riscos${UNAME_RELEASE} 460168023feSmrg exit ;; 4616ea72052Smrg Motorola:PowerMAX_OS:*:*) 4626ea72052Smrg echo powerpc-motorola-powermax 463168023feSmrg exit ;; 4646ea72052Smrg Motorola:*:4.3:PL8-*) 4656ea72052Smrg echo powerpc-harris-powermax 466168023feSmrg exit ;; 4676ea72052Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 4686ea72052Smrg echo powerpc-harris-powermax 469168023feSmrg exit ;; 4706ea72052Smrg Night_Hawk:Power_UNIX:*:*) 4716ea72052Smrg echo powerpc-harris-powerunix 472168023feSmrg exit ;; 4736ea72052Smrg m88k:CX/UX:7*:*) 4746ea72052Smrg echo m88k-harris-cxux7 475168023feSmrg exit ;; 4766ea72052Smrg m88k:*:4*:R4*) 4776ea72052Smrg echo m88k-motorola-sysv4 478168023feSmrg exit ;; 4796ea72052Smrg m88k:*:3*:R3*) 4806ea72052Smrg echo m88k-motorola-sysv3 481168023feSmrg exit ;; 4826ea72052Smrg AViiON:dgux:*:*) 4836ea72052Smrg # DG/UX returns AViiON for all architectures 4846ea72052Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 4856ea72052Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 4866ea72052Smrg then 4876ea72052Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 4886ea72052Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 4896ea72052Smrg then 4906ea72052Smrg echo m88k-dg-dgux${UNAME_RELEASE} 4916ea72052Smrg else 4926ea72052Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 4936ea72052Smrg fi 4946ea72052Smrg else 4956ea72052Smrg echo i586-dg-dgux${UNAME_RELEASE} 4966ea72052Smrg fi 497168023feSmrg exit ;; 4986ea72052Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 4996ea72052Smrg echo m88k-dolphin-sysv3 500168023feSmrg exit ;; 5016ea72052Smrg M88*:*:R3*:*) 5026ea72052Smrg # Delta 88k system running SVR3 5036ea72052Smrg echo m88k-motorola-sysv3 504168023feSmrg exit ;; 5056ea72052Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 5066ea72052Smrg echo m88k-tektronix-sysv3 507168023feSmrg exit ;; 5086ea72052Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5096ea72052Smrg echo m68k-tektronix-bsd 510168023feSmrg exit ;; 5116ea72052Smrg *:IRIX*:*:*) 5126ea72052Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 513168023feSmrg exit ;; 5146ea72052Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 515168023feSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 516168023feSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 5176ea72052Smrg i*86:AIX:*:*) 5186ea72052Smrg echo i386-ibm-aix 519168023feSmrg exit ;; 5206ea72052Smrg ia64:AIX:*:*) 5216ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5226ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5236ea72052Smrg else 5246ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5256ea72052Smrg fi 5266ea72052Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 527168023feSmrg exit ;; 5286ea72052Smrg *:AIX:2:3) 5296ea72052Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 5306ea72052Smrg eval $set_cc_for_build 5316ea72052Smrg sed 's/^ //' << EOF >$dummy.c 5326ea72052Smrg #include <sys/systemcfg.h> 5336ea72052Smrg 5346ea72052Smrg main() 5356ea72052Smrg { 5366ea72052Smrg if (!__power_pc()) 5376ea72052Smrg exit(1); 5386ea72052Smrg puts("powerpc-ibm-aix3.2.5"); 5396ea72052Smrg exit(0); 5406ea72052Smrg } 5416ea72052SmrgEOF 542168023feSmrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 543168023feSmrg then 544168023feSmrg echo "$SYSTEM_NAME" 545168023feSmrg else 546168023feSmrg echo rs6000-ibm-aix3.2.5 547168023feSmrg fi 5486ea72052Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 5496ea72052Smrg echo rs6000-ibm-aix3.2.4 5506ea72052Smrg else 5516ea72052Smrg echo rs6000-ibm-aix3.2 5526ea72052Smrg fi 553168023feSmrg exit ;; 554168023feSmrg *:AIX:*:[456]) 5556ea72052Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 5566ea72052Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5576ea72052Smrg IBM_ARCH=rs6000 5586ea72052Smrg else 5596ea72052Smrg IBM_ARCH=powerpc 5606ea72052Smrg fi 5616ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5626ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5636ea72052Smrg else 5646ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5656ea72052Smrg fi 5666ea72052Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 567168023feSmrg exit ;; 5686ea72052Smrg *:AIX:*:*) 5696ea72052Smrg echo rs6000-ibm-aix 570168023feSmrg exit ;; 5716ea72052Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5726ea72052Smrg echo romp-ibm-bsd4.4 573168023feSmrg exit ;; 5746ea72052Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5756ea72052Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 576168023feSmrg exit ;; # report: romp-ibm BSD 4.3 5776ea72052Smrg *:BOSX:*:*) 5786ea72052Smrg echo rs6000-bull-bosx 579168023feSmrg exit ;; 5806ea72052Smrg DPX/2?00:B.O.S.:*:*) 5816ea72052Smrg echo m68k-bull-sysv3 582168023feSmrg exit ;; 5836ea72052Smrg 9000/[34]??:4.3bsd:1.*:*) 5846ea72052Smrg echo m68k-hp-bsd 585168023feSmrg exit ;; 5866ea72052Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 5876ea72052Smrg echo m68k-hp-bsd4.4 588168023feSmrg exit ;; 5896ea72052Smrg 9000/[34678]??:HP-UX:*:*) 5906ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 5916ea72052Smrg case "${UNAME_MACHINE}" in 5926ea72052Smrg 9000/31? ) HP_ARCH=m68000 ;; 5936ea72052Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 5946ea72052Smrg 9000/[678][0-9][0-9]) 5956ea72052Smrg if [ -x /usr/bin/getconf ]; then 5966ea72052Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 5976ea72052Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 5986ea72052Smrg case "${sc_cpu_version}" in 5996ea72052Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 6006ea72052Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 6016ea72052Smrg 532) # CPU_PA_RISC2_0 6026ea72052Smrg case "${sc_kernel_bits}" in 6036ea72052Smrg 32) HP_ARCH="hppa2.0n" ;; 6046ea72052Smrg 64) HP_ARCH="hppa2.0w" ;; 6056ea72052Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 6066ea72052Smrg esac ;; 6076ea72052Smrg esac 6086ea72052Smrg fi 6096ea72052Smrg if [ "${HP_ARCH}" = "" ]; then 6106ea72052Smrg eval $set_cc_for_build 6116ea72052Smrg sed 's/^ //' << EOF >$dummy.c 6126ea72052Smrg 6136ea72052Smrg #define _HPUX_SOURCE 6146ea72052Smrg #include <stdlib.h> 6156ea72052Smrg #include <unistd.h> 6166ea72052Smrg 6176ea72052Smrg int main () 6186ea72052Smrg { 6196ea72052Smrg #if defined(_SC_KERNEL_BITS) 6206ea72052Smrg long bits = sysconf(_SC_KERNEL_BITS); 6216ea72052Smrg #endif 6226ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6236ea72052Smrg 6246ea72052Smrg switch (cpu) 6256ea72052Smrg { 6266ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6276ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6286ea72052Smrg case CPU_PA_RISC2_0: 6296ea72052Smrg #if defined(_SC_KERNEL_BITS) 6306ea72052Smrg switch (bits) 6316ea72052Smrg { 6326ea72052Smrg case 64: puts ("hppa2.0w"); break; 6336ea72052Smrg case 32: puts ("hppa2.0n"); break; 6346ea72052Smrg default: puts ("hppa2.0"); break; 6356ea72052Smrg } break; 6366ea72052Smrg #else /* !defined(_SC_KERNEL_BITS) */ 6376ea72052Smrg puts ("hppa2.0"); break; 6386ea72052Smrg #endif 6396ea72052Smrg default: puts ("hppa1.0"); break; 6406ea72052Smrg } 6416ea72052Smrg exit (0); 6426ea72052Smrg } 6436ea72052SmrgEOF 6446ea72052Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 6456ea72052Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 6466ea72052Smrg fi ;; 6476ea72052Smrg esac 6486ea72052Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 6496ea72052Smrg then 650168023feSmrg eval $set_cc_for_build 651168023feSmrg 652168023feSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 653168023feSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 654168023feSmrg # generating 64-bit code. GNU and HP use different nomenclature: 655168023feSmrg # 656168023feSmrg # $ CC_FOR_BUILD=cc ./config.guess 657168023feSmrg # => hppa2.0w-hp-hpux11.23 658168023feSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 659168023feSmrg # => hppa64-hp-hpux11.23 660168023feSmrg 661168023feSmrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 662168023feSmrg grep -q __LP64__ 6636ea72052Smrg then 6646ea72052Smrg HP_ARCH="hppa2.0w" 6656ea72052Smrg else 6666ea72052Smrg HP_ARCH="hppa64" 6676ea72052Smrg fi 6686ea72052Smrg fi 6696ea72052Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 670168023feSmrg exit ;; 6716ea72052Smrg ia64:HP-UX:*:*) 6726ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6736ea72052Smrg echo ia64-hp-hpux${HPUX_REV} 674168023feSmrg exit ;; 6756ea72052Smrg 3050*:HI-UX:*:*) 6766ea72052Smrg eval $set_cc_for_build 6776ea72052Smrg sed 's/^ //' << EOF >$dummy.c 6786ea72052Smrg #include <unistd.h> 6796ea72052Smrg int 6806ea72052Smrg main () 6816ea72052Smrg { 6826ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6836ea72052Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6846ea72052Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6856ea72052Smrg results, however. */ 6866ea72052Smrg if (CPU_IS_PA_RISC (cpu)) 6876ea72052Smrg { 6886ea72052Smrg switch (cpu) 6896ea72052Smrg { 6906ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6916ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6926ea72052Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6936ea72052Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 6946ea72052Smrg } 6956ea72052Smrg } 6966ea72052Smrg else if (CPU_IS_HP_MC68K (cpu)) 6976ea72052Smrg puts ("m68k-hitachi-hiuxwe2"); 6986ea72052Smrg else puts ("unknown-hitachi-hiuxwe2"); 6996ea72052Smrg exit (0); 7006ea72052Smrg } 7016ea72052SmrgEOF 702168023feSmrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 703168023feSmrg { echo "$SYSTEM_NAME"; exit; } 7046ea72052Smrg echo unknown-hitachi-hiuxwe2 705168023feSmrg exit ;; 7066ea72052Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 7076ea72052Smrg echo hppa1.1-hp-bsd 708168023feSmrg exit ;; 7096ea72052Smrg 9000/8??:4.3bsd:*:*) 7106ea72052Smrg echo hppa1.0-hp-bsd 711168023feSmrg exit ;; 7126ea72052Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 7136ea72052Smrg echo hppa1.0-hp-mpeix 714168023feSmrg exit ;; 7156ea72052Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 7166ea72052Smrg echo hppa1.1-hp-osf 717168023feSmrg exit ;; 7186ea72052Smrg hp8??:OSF1:*:*) 7196ea72052Smrg echo hppa1.0-hp-osf 720168023feSmrg exit ;; 7216ea72052Smrg i*86:OSF1:*:*) 7226ea72052Smrg if [ -x /usr/sbin/sysversion ] ; then 7236ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 7246ea72052Smrg else 7256ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1 7266ea72052Smrg fi 727168023feSmrg exit ;; 7286ea72052Smrg parisc*:Lites*:*:*) 7296ea72052Smrg echo hppa1.1-hp-lites 730168023feSmrg exit ;; 7316ea72052Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7326ea72052Smrg echo c1-convex-bsd 733168023feSmrg exit ;; 7346ea72052Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7356ea72052Smrg if getsysinfo -f scalar_acc 7366ea72052Smrg then echo c32-convex-bsd 7376ea72052Smrg else echo c2-convex-bsd 7386ea72052Smrg fi 739168023feSmrg exit ;; 7406ea72052Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 7416ea72052Smrg echo c34-convex-bsd 742168023feSmrg exit ;; 7436ea72052Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 7446ea72052Smrg echo c38-convex-bsd 745168023feSmrg exit ;; 7466ea72052Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 7476ea72052Smrg echo c4-convex-bsd 748168023feSmrg exit ;; 7496ea72052Smrg CRAY*Y-MP:*:*:*) 7506ea72052Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 751168023feSmrg exit ;; 7526ea72052Smrg CRAY*[A-Z]90:*:*:*) 7536ea72052Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 7546ea72052Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 7556ea72052Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 7566ea72052Smrg -e 's/\.[^.]*$/.X/' 757168023feSmrg exit ;; 7586ea72052Smrg CRAY*TS:*:*:*) 7596ea72052Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 760168023feSmrg exit ;; 7616ea72052Smrg CRAY*T3E:*:*:*) 7626ea72052Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 763168023feSmrg exit ;; 7646ea72052Smrg CRAY*SV1:*:*:*) 7656ea72052Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 766168023feSmrg exit ;; 7676ea72052Smrg *:UNICOS/mp:*:*) 768168023feSmrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 769168023feSmrg exit ;; 7706ea72052Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 7716ea72052Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 7726ea72052Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7736ea72052Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 7746ea72052Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 775168023feSmrg exit ;; 776168023feSmrg 5000:UNIX_System_V:4.*:*) 777168023feSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 778168023feSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 779168023feSmrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 780168023feSmrg exit ;; 7816ea72052Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7826ea72052Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 783168023feSmrg exit ;; 7846ea72052Smrg sparc*:BSD/OS:*:*) 7856ea72052Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 786168023feSmrg exit ;; 7876ea72052Smrg *:BSD/OS:*:*) 7886ea72052Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 789168023feSmrg exit ;; 790168023feSmrg *:FreeBSD:*:*) 791168023feSmrg case ${UNAME_MACHINE} in 792168023feSmrg pc98) 793168023feSmrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 794168023feSmrg amd64) 795168023feSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 796168023feSmrg *) 797168023feSmrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 798168023feSmrg esac 799168023feSmrg exit ;; 8006ea72052Smrg i*:CYGWIN*:*) 8016ea72052Smrg echo ${UNAME_MACHINE}-pc-cygwin 802168023feSmrg exit ;; 803168023feSmrg *:MINGW*:*) 8046ea72052Smrg echo ${UNAME_MACHINE}-pc-mingw32 805168023feSmrg exit ;; 806168023feSmrg i*:windows32*:*) 807168023feSmrg # uname -m includes "-pc" on this system. 808168023feSmrg echo ${UNAME_MACHINE}-mingw32 809168023feSmrg exit ;; 8106ea72052Smrg i*:PW*:*) 8116ea72052Smrg echo ${UNAME_MACHINE}-pc-pw32 812168023feSmrg exit ;; 813168023feSmrg *:Interix*:*) 814168023feSmrg case ${UNAME_MACHINE} in 815168023feSmrg x86) 816168023feSmrg echo i586-pc-interix${UNAME_RELEASE} 817168023feSmrg exit ;; 818168023feSmrg authenticamd | genuineintel | EM64T) 819168023feSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 820168023feSmrg exit ;; 821168023feSmrg IA64) 822168023feSmrg echo ia64-unknown-interix${UNAME_RELEASE} 823168023feSmrg exit ;; 824168023feSmrg esac ;; 8256ea72052Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 8266ea72052Smrg echo i${UNAME_MACHINE}-pc-mks 827168023feSmrg exit ;; 828168023feSmrg 8664:Windows_NT:*) 829168023feSmrg echo x86_64-pc-mks 830168023feSmrg exit ;; 8316ea72052Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 8326ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 8336ea72052Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 8346ea72052Smrg # UNAME_MACHINE based on the output of uname instead of i386? 8356ea72052Smrg echo i586-pc-interix 836168023feSmrg exit ;; 8376ea72052Smrg i*:UWIN*:*) 8386ea72052Smrg echo ${UNAME_MACHINE}-pc-uwin 839168023feSmrg exit ;; 840168023feSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 841168023feSmrg echo x86_64-unknown-cygwin 842168023feSmrg exit ;; 8436ea72052Smrg p*:CYGWIN*:*) 8446ea72052Smrg echo powerpcle-unknown-cygwin 845168023feSmrg exit ;; 8466ea72052Smrg prep*:SunOS:5.*:*) 8476ea72052Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 848168023feSmrg exit ;; 8496ea72052Smrg *:GNU:*:*) 850168023feSmrg # the GNU system 8516ea72052Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 852168023feSmrg exit ;; 853168023feSmrg *:GNU/*:*:*) 854168023feSmrg # other systems with GNU libc and userland 855168023feSmrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 856168023feSmrg exit ;; 8576ea72052Smrg i*86:Minix:*:*) 8586ea72052Smrg echo ${UNAME_MACHINE}-pc-minix 859168023feSmrg exit ;; 860168023feSmrg alpha:Linux:*:*) 861168023feSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 862168023feSmrg EV5) UNAME_MACHINE=alphaev5 ;; 863168023feSmrg EV56) UNAME_MACHINE=alphaev56 ;; 864168023feSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 865168023feSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 866168023feSmrg EV6) UNAME_MACHINE=alphaev6 ;; 867168023feSmrg EV67) UNAME_MACHINE=alphaev67 ;; 868168023feSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 869168023feSmrg esac 870168023feSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 871168023feSmrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 872168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 873168023feSmrg exit ;; 8746ea72052Smrg arm*:Linux:*:*) 875168023feSmrg eval $set_cc_for_build 876168023feSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 877168023feSmrg | grep -q __ARM_EABI__ 878168023feSmrg then 879168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 880168023feSmrg else 881168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnueabi 882168023feSmrg fi 883168023feSmrg exit ;; 884168023feSmrg avr32*:Linux:*:*) 8856ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 886168023feSmrg exit ;; 8876ea72052Smrg cris:Linux:*:*) 8886ea72052Smrg echo cris-axis-linux-gnu 889168023feSmrg exit ;; 890168023feSmrg crisv32:Linux:*:*) 891168023feSmrg echo crisv32-axis-linux-gnu 892168023feSmrg exit ;; 893168023feSmrg frv:Linux:*:*) 894168023feSmrg echo frv-unknown-linux-gnu 895168023feSmrg exit ;; 896168023feSmrg i*86:Linux:*:*) 897168023feSmrg LIBC=gnu 8986ea72052Smrg eval $set_cc_for_build 8996ea72052Smrg sed 's/^ //' << EOF >$dummy.c 900168023feSmrg #ifdef __dietlibc__ 901168023feSmrg LIBC=dietlibc 9026ea72052Smrg #endif 9036ea72052SmrgEOF 904168023feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 905168023feSmrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 906168023feSmrg exit ;; 907168023feSmrg ia64:Linux:*:*) 908168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 909168023feSmrg exit ;; 910168023feSmrg m32r*:Linux:*:*) 911168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 912168023feSmrg exit ;; 913168023feSmrg m68*:Linux:*:*) 914168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 915168023feSmrg exit ;; 916168023feSmrg mips:Linux:*:* | mips64:Linux:*:*) 9176ea72052Smrg eval $set_cc_for_build 9186ea72052Smrg sed 's/^ //' << EOF >$dummy.c 9196ea72052Smrg #undef CPU 920168023feSmrg #undef ${UNAME_MACHINE} 921168023feSmrg #undef ${UNAME_MACHINE}el 9226ea72052Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 923168023feSmrg CPU=${UNAME_MACHINE}el 9246ea72052Smrg #else 9256ea72052Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 926168023feSmrg CPU=${UNAME_MACHINE} 9276ea72052Smrg #else 9286ea72052Smrg CPU= 9296ea72052Smrg #endif 9306ea72052Smrg #endif 9316ea72052SmrgEOF 932168023feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 933168023feSmrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 9346ea72052Smrg ;; 935168023feSmrg or32:Linux:*:*) 936168023feSmrg echo or32-unknown-linux-gnu 937168023feSmrg exit ;; 938168023feSmrg padre:Linux:*:*) 939168023feSmrg echo sparc-unknown-linux-gnu 940168023feSmrg exit ;; 941168023feSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 942168023feSmrg echo hppa64-unknown-linux-gnu 943168023feSmrg exit ;; 9446ea72052Smrg parisc:Linux:*:* | hppa:Linux:*:*) 9456ea72052Smrg # Look for CPU level 9466ea72052Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 9476ea72052Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 9486ea72052Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 9496ea72052Smrg *) echo hppa-unknown-linux-gnu ;; 9506ea72052Smrg esac 951168023feSmrg exit ;; 952168023feSmrg ppc64:Linux:*:*) 953168023feSmrg echo powerpc64-unknown-linux-gnu 954168023feSmrg exit ;; 955168023feSmrg ppc:Linux:*:*) 956168023feSmrg echo powerpc-unknown-linux-gnu 957168023feSmrg exit ;; 9586ea72052Smrg s390:Linux:*:* | s390x:Linux:*:*) 959168023feSmrg echo ${UNAME_MACHINE}-ibm-linux 960168023feSmrg exit ;; 9616ea72052Smrg sh64*:Linux:*:*) 9626ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 963168023feSmrg exit ;; 9646ea72052Smrg sh*:Linux:*:*) 9656ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 966168023feSmrg exit ;; 9676ea72052Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 9686ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 969168023feSmrg exit ;; 970168023feSmrg vax:Linux:*:*) 971168023feSmrg echo ${UNAME_MACHINE}-dec-linux-gnu 972168023feSmrg exit ;; 9736ea72052Smrg x86_64:Linux:*:*) 974168023feSmrg echo x86_64-unknown-linux-gnu 975168023feSmrg exit ;; 976168023feSmrg xtensa*:Linux:*:*) 977168023feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 978168023feSmrg exit ;; 9796ea72052Smrg i*86:DYNIX/ptx:4*:*) 9806ea72052Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 9816ea72052Smrg # earlier versions are messed up and put the nodename in both 9826ea72052Smrg # sysname and nodename. 9836ea72052Smrg echo i386-sequent-sysv4 984168023feSmrg exit ;; 9856ea72052Smrg i*86:UNIX_SV:4.2MP:2.*) 9866ea72052Smrg # Unixware is an offshoot of SVR4, but it has its own version 9876ea72052Smrg # number series starting with 2... 9886ea72052Smrg # I am not positive that other SVR4 systems won't match this, 9896ea72052Smrg # I just have to hope. -- rms. 9906ea72052Smrg # Use sysv4.2uw... so that sysv4* matches it. 9916ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 992168023feSmrg exit ;; 9936ea72052Smrg i*86:OS/2:*:*) 9946ea72052Smrg # If we were able to find `uname', then EMX Unix compatibility 9956ea72052Smrg # is probably installed. 9966ea72052Smrg echo ${UNAME_MACHINE}-pc-os2-emx 997168023feSmrg exit ;; 9986ea72052Smrg i*86:XTS-300:*:STOP) 9996ea72052Smrg echo ${UNAME_MACHINE}-unknown-stop 1000168023feSmrg exit ;; 10016ea72052Smrg i*86:atheos:*:*) 10026ea72052Smrg echo ${UNAME_MACHINE}-unknown-atheos 1003168023feSmrg exit ;; 1004168023feSmrg i*86:syllable:*:*) 1005168023feSmrg echo ${UNAME_MACHINE}-pc-syllable 1006168023feSmrg exit ;; 1007168023feSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 10086ea72052Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 1009168023feSmrg exit ;; 10106ea72052Smrg i*86:*DOS:*:*) 10116ea72052Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 1012168023feSmrg exit ;; 10136ea72052Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 10146ea72052Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 10156ea72052Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 10166ea72052Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 10176ea72052Smrg else 10186ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 10196ea72052Smrg fi 1020168023feSmrg exit ;; 1021168023feSmrg i*86:*:5:[678]*) 1022168023feSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 10236ea72052Smrg case `/bin/uname -X | grep "^Machine"` in 10246ea72052Smrg *486*) UNAME_MACHINE=i486 ;; 10256ea72052Smrg *Pentium) UNAME_MACHINE=i586 ;; 10266ea72052Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 10276ea72052Smrg esac 10286ea72052Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1029168023feSmrg exit ;; 10306ea72052Smrg i*86:*:3.2:*) 10316ea72052Smrg if test -f /usr/options/cb.name; then 10326ea72052Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 10336ea72052Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 10346ea72052Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 10356ea72052Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 10366ea72052Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 10376ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 10386ea72052Smrg && UNAME_MACHINE=i586 10396ea72052Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 10406ea72052Smrg && UNAME_MACHINE=i686 10416ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 10426ea72052Smrg && UNAME_MACHINE=i686 10436ea72052Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 10446ea72052Smrg else 10456ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv32 10466ea72052Smrg fi 1047168023feSmrg exit ;; 10486ea72052Smrg pc:*:*:*) 10496ea72052Smrg # Left here for compatibility: 10506ea72052Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1051168023feSmrg # the processor, so we play safe by assuming i586. 1052168023feSmrg # Note: whatever this is, it MUST be the same as what config.sub 1053168023feSmrg # prints for the "djgpp" host, or else GDB configury will decide that 1054168023feSmrg # this is a cross-build. 1055168023feSmrg echo i586-pc-msdosdjgpp 1056168023feSmrg exit ;; 10576ea72052Smrg Intel:Mach:3*:*) 10586ea72052Smrg echo i386-pc-mach3 1059168023feSmrg exit ;; 10606ea72052Smrg paragon:*:*:*) 10616ea72052Smrg echo i860-intel-osf1 1062168023feSmrg exit ;; 10636ea72052Smrg i860:*:4.*:*) # i860-SVR4 10646ea72052Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10656ea72052Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10666ea72052Smrg else # Add other i860-SVR4 vendors below as they are discovered. 10676ea72052Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10686ea72052Smrg fi 1069168023feSmrg exit ;; 10706ea72052Smrg mini*:CTIX:SYS*5:*) 10716ea72052Smrg # "miniframe" 10726ea72052Smrg echo m68010-convergent-sysv 1073168023feSmrg exit ;; 10746ea72052Smrg mc68k:UNIX:SYSTEM5:3.51m) 10756ea72052Smrg echo m68k-convergent-sysv 1076168023feSmrg exit ;; 10776ea72052Smrg M680?0:D-NIX:5.3:*) 10786ea72052Smrg echo m68k-diab-dnix 1079168023feSmrg exit ;; 1080168023feSmrg M68*:*:R3V[5678]*:*) 1081168023feSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1082168023feSmrg 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) 10836ea72052Smrg OS_REL='' 10846ea72052Smrg test -r /etc/.relid \ 10856ea72052Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 10866ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1087168023feSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 10886ea72052Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1089168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 10906ea72052Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 10916ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1092168023feSmrg && { echo i486-ncr-sysv4; exit; } ;; 1093168023feSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1094168023feSmrg OS_REL='.3' 1095168023feSmrg test -r /etc/.relid \ 1096168023feSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1097168023feSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1098168023feSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1099168023feSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1100168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1101168023feSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1102168023feSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 11036ea72052Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 11046ea72052Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 1105168023feSmrg exit ;; 11066ea72052Smrg mc68030:UNIX_System_V:4.*:*) 11076ea72052Smrg echo m68k-atari-sysv4 1108168023feSmrg exit ;; 11096ea72052Smrg TSUNAMI:LynxOS:2.*:*) 11106ea72052Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 1111168023feSmrg exit ;; 11126ea72052Smrg rs6000:LynxOS:2.*:*) 11136ea72052Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 1114168023feSmrg exit ;; 1115168023feSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 11166ea72052Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 1117168023feSmrg exit ;; 11186ea72052Smrg SM[BE]S:UNIX_SV:*:*) 11196ea72052Smrg echo mips-dde-sysv${UNAME_RELEASE} 1120168023feSmrg exit ;; 11216ea72052Smrg RM*:ReliantUNIX-*:*:*) 11226ea72052Smrg echo mips-sni-sysv4 1123168023feSmrg exit ;; 11246ea72052Smrg RM*:SINIX-*:*:*) 11256ea72052Smrg echo mips-sni-sysv4 1126168023feSmrg exit ;; 11276ea72052Smrg *:SINIX-*:*:*) 11286ea72052Smrg if uname -p 2>/dev/null >/dev/null ; then 11296ea72052Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 11306ea72052Smrg echo ${UNAME_MACHINE}-sni-sysv4 11316ea72052Smrg else 11326ea72052Smrg echo ns32k-sni-sysv 11336ea72052Smrg fi 1134168023feSmrg exit ;; 11356ea72052Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 11366ea72052Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 11376ea72052Smrg echo i586-unisys-sysv4 1138168023feSmrg exit ;; 11396ea72052Smrg *:UNIX_System_V:4*:FTX*) 11406ea72052Smrg # From Gerald Hewes <hewes@openmarket.com>. 11416ea72052Smrg # How about differentiating between stratus architectures? -djm 11426ea72052Smrg echo hppa1.1-stratus-sysv4 1143168023feSmrg exit ;; 11446ea72052Smrg *:*:*:FTX*) 11456ea72052Smrg # From seanf@swdc.stratus.com. 11466ea72052Smrg echo i860-stratus-sysv4 1147168023feSmrg exit ;; 1148168023feSmrg i*86:VOS:*:*) 1149168023feSmrg # From Paul.Green@stratus.com. 1150168023feSmrg echo ${UNAME_MACHINE}-stratus-vos 1151168023feSmrg exit ;; 11526ea72052Smrg *:VOS:*:*) 11536ea72052Smrg # From Paul.Green@stratus.com. 11546ea72052Smrg echo hppa1.1-stratus-vos 1155168023feSmrg exit ;; 11566ea72052Smrg mc68*:A/UX:*:*) 11576ea72052Smrg echo m68k-apple-aux${UNAME_RELEASE} 1158168023feSmrg exit ;; 11596ea72052Smrg news*:NEWS-OS:6*:*) 11606ea72052Smrg echo mips-sony-newsos6 1161168023feSmrg exit ;; 11626ea72052Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 11636ea72052Smrg if [ -d /usr/nec ]; then 11646ea72052Smrg echo mips-nec-sysv${UNAME_RELEASE} 11656ea72052Smrg else 11666ea72052Smrg echo mips-unknown-sysv${UNAME_RELEASE} 11676ea72052Smrg fi 1168168023feSmrg exit ;; 11696ea72052Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 11706ea72052Smrg echo powerpc-be-beos 1171168023feSmrg exit ;; 11726ea72052Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 11736ea72052Smrg echo powerpc-apple-beos 1174168023feSmrg exit ;; 11756ea72052Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 11766ea72052Smrg echo i586-pc-beos 1177168023feSmrg exit ;; 1178168023feSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1179168023feSmrg echo i586-pc-haiku 1180168023feSmrg exit ;; 11816ea72052Smrg SX-4:SUPER-UX:*:*) 11826ea72052Smrg echo sx4-nec-superux${UNAME_RELEASE} 1183168023feSmrg exit ;; 11846ea72052Smrg SX-5:SUPER-UX:*:*) 11856ea72052Smrg echo sx5-nec-superux${UNAME_RELEASE} 1186168023feSmrg exit ;; 11876ea72052Smrg SX-6:SUPER-UX:*:*) 11886ea72052Smrg echo sx6-nec-superux${UNAME_RELEASE} 1189168023feSmrg exit ;; 1190168023feSmrg SX-7:SUPER-UX:*:*) 1191168023feSmrg echo sx7-nec-superux${UNAME_RELEASE} 1192168023feSmrg exit ;; 1193168023feSmrg SX-8:SUPER-UX:*:*) 1194168023feSmrg echo sx8-nec-superux${UNAME_RELEASE} 1195168023feSmrg exit ;; 1196168023feSmrg SX-8R:SUPER-UX:*:*) 1197168023feSmrg echo sx8r-nec-superux${UNAME_RELEASE} 1198168023feSmrg exit ;; 11996ea72052Smrg Power*:Rhapsody:*:*) 12006ea72052Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 1201168023feSmrg exit ;; 12026ea72052Smrg *:Rhapsody:*:*) 12036ea72052Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1204168023feSmrg exit ;; 12056ea72052Smrg *:Darwin:*:*) 1206168023feSmrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1207168023feSmrg case $UNAME_PROCESSOR in 1208168023feSmrg i386) 1209168023feSmrg eval $set_cc_for_build 1210168023feSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 1211168023feSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1212168023feSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 1213168023feSmrg grep IS_64BIT_ARCH >/dev/null 1214168023feSmrg then 1215168023feSmrg UNAME_PROCESSOR="x86_64" 1216168023feSmrg fi 1217168023feSmrg fi ;; 1218168023feSmrg unknown) UNAME_PROCESSOR=powerpc ;; 12196ea72052Smrg esac 12206ea72052Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1221168023feSmrg exit ;; 12226ea72052Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 12236ea72052Smrg UNAME_PROCESSOR=`uname -p` 12246ea72052Smrg if test "$UNAME_PROCESSOR" = "x86"; then 12256ea72052Smrg UNAME_PROCESSOR=i386 12266ea72052Smrg UNAME_MACHINE=pc 12276ea72052Smrg fi 12286ea72052Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1229168023feSmrg exit ;; 12306ea72052Smrg *:QNX:*:4*) 12316ea72052Smrg echo i386-pc-qnx 1232168023feSmrg exit ;; 1233168023feSmrg NSE-?:NONSTOP_KERNEL:*:*) 1234168023feSmrg echo nse-tandem-nsk${UNAME_RELEASE} 1235168023feSmrg exit ;; 1236168023feSmrg NSR-?:NONSTOP_KERNEL:*:*) 12376ea72052Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 1238168023feSmrg exit ;; 12396ea72052Smrg *:NonStop-UX:*:*) 12406ea72052Smrg echo mips-compaq-nonstopux 1241168023feSmrg exit ;; 12426ea72052Smrg BS2000:POSIX*:*:*) 12436ea72052Smrg echo bs2000-siemens-sysv 1244168023feSmrg exit ;; 12456ea72052Smrg DS/*:UNIX_System_V:*:*) 12466ea72052Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1247168023feSmrg exit ;; 12486ea72052Smrg *:Plan9:*:*) 12496ea72052Smrg # "uname -m" is not consistent, so use $cputype instead. 386 12506ea72052Smrg # is converted to i386 for consistency with other x86 12516ea72052Smrg # operating systems. 12526ea72052Smrg if test "$cputype" = "386"; then 12536ea72052Smrg UNAME_MACHINE=i386 12546ea72052Smrg else 12556ea72052Smrg UNAME_MACHINE="$cputype" 12566ea72052Smrg fi 12576ea72052Smrg echo ${UNAME_MACHINE}-unknown-plan9 1258168023feSmrg exit ;; 12596ea72052Smrg *:TOPS-10:*:*) 12606ea72052Smrg echo pdp10-unknown-tops10 1261168023feSmrg exit ;; 12626ea72052Smrg *:TENEX:*:*) 12636ea72052Smrg echo pdp10-unknown-tenex 1264168023feSmrg exit ;; 12656ea72052Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 12666ea72052Smrg echo pdp10-dec-tops20 1267168023feSmrg exit ;; 12686ea72052Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 12696ea72052Smrg echo pdp10-xkl-tops20 1270168023feSmrg exit ;; 12716ea72052Smrg *:TOPS-20:*:*) 12726ea72052Smrg echo pdp10-unknown-tops20 1273168023feSmrg exit ;; 12746ea72052Smrg *:ITS:*:*) 12756ea72052Smrg echo pdp10-unknown-its 1276168023feSmrg exit ;; 12776ea72052Smrg SEI:*:*:SEIUX) 12786ea72052Smrg echo mips-sei-seiux${UNAME_RELEASE} 1279168023feSmrg exit ;; 1280168023feSmrg *:DragonFly:*:*) 1281168023feSmrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1282168023feSmrg exit ;; 1283168023feSmrg *:*VMS:*:*) 1284168023feSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1285168023feSmrg case "${UNAME_MACHINE}" in 1286168023feSmrg A*) echo alpha-dec-vms ; exit ;; 1287168023feSmrg I*) echo ia64-dec-vms ; exit ;; 1288168023feSmrg V*) echo vax-dec-vms ; exit ;; 1289168023feSmrg esac ;; 1290168023feSmrg *:XENIX:*:SysV) 1291168023feSmrg echo i386-pc-xenix 1292168023feSmrg exit ;; 1293168023feSmrg i*86:skyos:*:*) 1294168023feSmrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1295168023feSmrg exit ;; 1296168023feSmrg i*86:rdos:*:*) 1297168023feSmrg echo ${UNAME_MACHINE}-pc-rdos 1298168023feSmrg exit ;; 1299168023feSmrg i*86:AROS:*:*) 1300168023feSmrg echo ${UNAME_MACHINE}-pc-aros 1301168023feSmrg exit ;; 13026ea72052Smrgesac 13036ea72052Smrg 13046ea72052Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 13056ea72052Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 13066ea72052Smrg 13076ea72052Smrgeval $set_cc_for_build 13086ea72052Smrgcat >$dummy.c <<EOF 13096ea72052Smrg#ifdef _SEQUENT_ 13106ea72052Smrg# include <sys/types.h> 13116ea72052Smrg# include <sys/utsname.h> 13126ea72052Smrg#endif 13136ea72052Smrgmain () 13146ea72052Smrg{ 13156ea72052Smrg#if defined (sony) 13166ea72052Smrg#if defined (MIPSEB) 13176ea72052Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 13186ea72052Smrg I don't know.... */ 13196ea72052Smrg printf ("mips-sony-bsd\n"); exit (0); 13206ea72052Smrg#else 13216ea72052Smrg#include <sys/param.h> 13226ea72052Smrg printf ("m68k-sony-newsos%s\n", 13236ea72052Smrg#ifdef NEWSOS4 13246ea72052Smrg "4" 13256ea72052Smrg#else 13266ea72052Smrg "" 13276ea72052Smrg#endif 13286ea72052Smrg ); exit (0); 13296ea72052Smrg#endif 13306ea72052Smrg#endif 13316ea72052Smrg 13326ea72052Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 1333168023feSmrg printf ("arm-acorn-riscix\n"); exit (0); 13346ea72052Smrg#endif 13356ea72052Smrg 13366ea72052Smrg#if defined (hp300) && !defined (hpux) 13376ea72052Smrg printf ("m68k-hp-bsd\n"); exit (0); 13386ea72052Smrg#endif 13396ea72052Smrg 13406ea72052Smrg#if defined (NeXT) 13416ea72052Smrg#if !defined (__ARCHITECTURE__) 13426ea72052Smrg#define __ARCHITECTURE__ "m68k" 13436ea72052Smrg#endif 13446ea72052Smrg int version; 13456ea72052Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 13466ea72052Smrg if (version < 4) 13476ea72052Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 13486ea72052Smrg else 13496ea72052Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 13506ea72052Smrg exit (0); 13516ea72052Smrg#endif 13526ea72052Smrg 13536ea72052Smrg#if defined (MULTIMAX) || defined (n16) 13546ea72052Smrg#if defined (UMAXV) 13556ea72052Smrg printf ("ns32k-encore-sysv\n"); exit (0); 13566ea72052Smrg#else 13576ea72052Smrg#if defined (CMU) 13586ea72052Smrg printf ("ns32k-encore-mach\n"); exit (0); 13596ea72052Smrg#else 13606ea72052Smrg printf ("ns32k-encore-bsd\n"); exit (0); 13616ea72052Smrg#endif 13626ea72052Smrg#endif 13636ea72052Smrg#endif 13646ea72052Smrg 13656ea72052Smrg#if defined (__386BSD__) 13666ea72052Smrg printf ("i386-pc-bsd\n"); exit (0); 13676ea72052Smrg#endif 13686ea72052Smrg 13696ea72052Smrg#if defined (sequent) 13706ea72052Smrg#if defined (i386) 13716ea72052Smrg printf ("i386-sequent-dynix\n"); exit (0); 13726ea72052Smrg#endif 13736ea72052Smrg#if defined (ns32000) 13746ea72052Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 13756ea72052Smrg#endif 13766ea72052Smrg#endif 13776ea72052Smrg 13786ea72052Smrg#if defined (_SEQUENT_) 13796ea72052Smrg struct utsname un; 13806ea72052Smrg 13816ea72052Smrg uname(&un); 13826ea72052Smrg 13836ea72052Smrg if (strncmp(un.version, "V2", 2) == 0) { 13846ea72052Smrg printf ("i386-sequent-ptx2\n"); exit (0); 13856ea72052Smrg } 13866ea72052Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 13876ea72052Smrg printf ("i386-sequent-ptx1\n"); exit (0); 13886ea72052Smrg } 13896ea72052Smrg printf ("i386-sequent-ptx\n"); exit (0); 13906ea72052Smrg 13916ea72052Smrg#endif 13926ea72052Smrg 13936ea72052Smrg#if defined (vax) 13946ea72052Smrg# if !defined (ultrix) 13956ea72052Smrg# include <sys/param.h> 13966ea72052Smrg# if defined (BSD) 13976ea72052Smrg# if BSD == 43 13986ea72052Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 13996ea72052Smrg# else 14006ea72052Smrg# if BSD == 199006 14016ea72052Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 14026ea72052Smrg# else 14036ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 14046ea72052Smrg# endif 14056ea72052Smrg# endif 14066ea72052Smrg# else 14076ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 14086ea72052Smrg# endif 14096ea72052Smrg# else 14106ea72052Smrg printf ("vax-dec-ultrix\n"); exit (0); 14116ea72052Smrg# endif 14126ea72052Smrg#endif 14136ea72052Smrg 14146ea72052Smrg#if defined (alliant) && defined (i860) 14156ea72052Smrg printf ("i860-alliant-bsd\n"); exit (0); 14166ea72052Smrg#endif 14176ea72052Smrg 14186ea72052Smrg exit (1); 14196ea72052Smrg} 14206ea72052SmrgEOF 14216ea72052Smrg 1422168023feSmrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1423168023feSmrg { echo "$SYSTEM_NAME"; exit; } 14246ea72052Smrg 14256ea72052Smrg# Apollos put the system type in the environment. 14266ea72052Smrg 1427168023feSmrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 14286ea72052Smrg 14296ea72052Smrg# Convex versions that predate uname can use getsysinfo(1) 14306ea72052Smrg 14316ea72052Smrgif [ -x /usr/convex/getsysinfo ] 14326ea72052Smrgthen 14336ea72052Smrg case `getsysinfo -f cpu_type` in 14346ea72052Smrg c1*) 14356ea72052Smrg echo c1-convex-bsd 1436168023feSmrg exit ;; 14376ea72052Smrg c2*) 14386ea72052Smrg if getsysinfo -f scalar_acc 14396ea72052Smrg then echo c32-convex-bsd 14406ea72052Smrg else echo c2-convex-bsd 14416ea72052Smrg fi 1442168023feSmrg exit ;; 14436ea72052Smrg c34*) 14446ea72052Smrg echo c34-convex-bsd 1445168023feSmrg exit ;; 14466ea72052Smrg c38*) 14476ea72052Smrg echo c38-convex-bsd 1448168023feSmrg exit ;; 14496ea72052Smrg c4*) 14506ea72052Smrg echo c4-convex-bsd 1451168023feSmrg exit ;; 14526ea72052Smrg esac 14536ea72052Smrgfi 14546ea72052Smrg 14556ea72052Smrgcat >&2 <<EOF 14566ea72052Smrg$0: unable to guess system type 14576ea72052Smrg 14586ea72052SmrgThis script, last modified $timestamp, has failed to recognize 14596ea72052Smrgthe operating system you are using. It is advised that you 14606ea72052Smrgdownload the most up to date version of the config scripts from 14616ea72052Smrg 1462168023feSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1463168023feSmrgand 1464168023feSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 14656ea72052Smrg 14666ea72052SmrgIf the version you run ($0) is already up to date, please 14676ea72052Smrgsend the following data and any information you think might be 14686ea72052Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 14696ea72052Smrginformation to handle your system. 14706ea72052Smrg 14716ea72052Smrgconfig.guess timestamp = $timestamp 14726ea72052Smrg 14736ea72052Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 14746ea72052Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 14756ea72052Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 14766ea72052Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 14776ea72052Smrg 14786ea72052Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 14796ea72052Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 14806ea72052Smrg 14816ea72052Smrghostinfo = `(hostinfo) 2>/dev/null` 14826ea72052Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 14836ea72052Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 14846ea72052Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 14856ea72052Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 14866ea72052Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 14876ea72052Smrg 14886ea72052SmrgUNAME_MACHINE = ${UNAME_MACHINE} 14896ea72052SmrgUNAME_RELEASE = ${UNAME_RELEASE} 14906ea72052SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 14916ea72052SmrgUNAME_VERSION = ${UNAME_VERSION} 14926ea72052SmrgEOF 14936ea72052Smrg 14946ea72052Smrgexit 1 14956ea72052Smrg 14966ea72052Smrg# Local variables: 14976ea72052Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 14986ea72052Smrg# time-stamp-start: "timestamp='" 14996ea72052Smrg# time-stamp-format: "%:y-%02m-%02d" 15006ea72052Smrg# time-stamp-end: "'" 15016ea72052Smrg# End: 1502