config.guess revision 4f9ac78a
1d1333322Smrg#! /bin/sh 2d1333322Smrg# Attempt to guess a canonical system name. 3d1333322Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 44f9ac78aSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5d1333322Smrg# Free Software Foundation, Inc. 6d1333322Smrg 74f9ac78aSmrgtimestamp='2010-08-21' 8d1333322Smrg 9d1333322Smrg# This file is free software; you can redistribute it and/or modify it 10d1333322Smrg# under the terms of the GNU General Public License as published by 11d1333322Smrg# the Free Software Foundation; either version 2 of the License, or 12d1333322Smrg# (at your option) any later version. 13d1333322Smrg# 14d1333322Smrg# This program is distributed in the hope that it will be useful, but 15d1333322Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16d1333322Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17d1333322Smrg# General Public License for more details. 18d1333322Smrg# 19d1333322Smrg# You should have received a copy of the GNU General Public License 20d1333322Smrg# along with this program; if not, write to the Free Software 21d1333322Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22d1333322Smrg# 02110-1301, USA. 23d1333322Smrg# 24d1333322Smrg# As a special exception to the GNU General Public License, if you 25d1333322Smrg# distribute this file as part of a program that contains a 26d1333322Smrg# configuration script generated by Autoconf, you may include it under 27d1333322Smrg# the same distribution terms that you use for the rest of that program. 28d1333322Smrg 29d1333322Smrg 304f9ac78aSmrg# Originally written by Per Bothner. Please send patches (context 314f9ac78aSmrg# diff format) to <config-patches@gnu.org> and include a ChangeLog 324f9ac78aSmrg# entry. 33d1333322Smrg# 34d1333322Smrg# This script attempts to guess a canonical system name similar to 35d1333322Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 36d1333322Smrg# exits with 0. Otherwise, it exits with 1. 37d1333322Smrg# 384f9ac78aSmrg# You can get the latest version of this script from: 394f9ac78aSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 40d1333322Smrg 41d1333322Smrgme=`echo "$0" | sed -e 's,.*/,,'` 42d1333322Smrg 43d1333322Smrgusage="\ 44d1333322SmrgUsage: $0 [OPTION] 45d1333322Smrg 46d1333322SmrgOutput the configuration name of the system \`$me' is run on. 47d1333322Smrg 48d1333322SmrgOperation modes: 49d1333322Smrg -h, --help print this help, then exit 50d1333322Smrg -t, --time-stamp print date of last modification, then exit 51d1333322Smrg -v, --version print version number, then exit 52d1333322Smrg 53d1333322SmrgReport bugs and patches to <config-patches@gnu.org>." 54d1333322Smrg 55d1333322Smrgversion="\ 56d1333322SmrgGNU config.guess ($timestamp) 57d1333322Smrg 58d1333322SmrgOriginally written by Per Bothner. 594f9ac78aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 604f9ac78aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 614f9ac78aSmrgSoftware Foundation, Inc. 62d1333322Smrg 63d1333322SmrgThis is free software; see the source for copying conditions. There is NO 64d1333322Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 65d1333322Smrg 66d1333322Smrghelp=" 67d1333322SmrgTry \`$me --help' for more information." 68d1333322Smrg 69d1333322Smrg# Parse command line 70d1333322Smrgwhile test $# -gt 0 ; do 71d1333322Smrg case $1 in 72d1333322Smrg --time-stamp | --time* | -t ) 73d1333322Smrg echo "$timestamp" ; exit ;; 74d1333322Smrg --version | -v ) 75d1333322Smrg echo "$version" ; exit ;; 76d1333322Smrg --help | --h* | -h ) 77d1333322Smrg echo "$usage"; exit ;; 78d1333322Smrg -- ) # Stop option processing 79d1333322Smrg shift; break ;; 80d1333322Smrg - ) # Use stdin as input. 81d1333322Smrg break ;; 82d1333322Smrg -* ) 83d1333322Smrg echo "$me: invalid option $1$help" >&2 84d1333322Smrg exit 1 ;; 85d1333322Smrg * ) 86d1333322Smrg break ;; 87d1333322Smrg esac 88d1333322Smrgdone 89d1333322Smrg 90d1333322Smrgif test $# != 0; then 91d1333322Smrg echo "$me: too many arguments$help" >&2 92d1333322Smrg exit 1 93d1333322Smrgfi 94d1333322Smrg 954f9ac78aSmrgtrap 'exit 1' HUP INT TERM 96d1333322Smrg 97d1333322Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 98d1333322Smrg# compiler to aid in system detection is discouraged as it requires 99d1333322Smrg# temporary files to be created and, as you can see below, it is a 100d1333322Smrg# headache to deal with in a portable fashion. 101d1333322Smrg 102d1333322Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 103d1333322Smrg# use `HOST_CC' if defined, but it is deprecated. 104d1333322Smrg 105d1333322Smrg# Portable tmp directory creation inspired by the Autoconf team. 106d1333322Smrg 107d1333322Smrgset_cc_for_build=' 108d1333322Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1094f9ac78aSmrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; 110d1333322Smrg: ${TMPDIR=/tmp} ; 111d1333322Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 112d1333322Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 113d1333322Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 114d1333322Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 115d1333322Smrgdummy=$tmp/dummy ; 116d1333322Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 117d1333322Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 118d1333322Smrg ,,) echo "int x;" > $dummy.c ; 119d1333322Smrg for c in cc gcc c89 c99 ; do 120d1333322Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 121d1333322Smrg CC_FOR_BUILD="$c"; break ; 122d1333322Smrg fi ; 123d1333322Smrg done ; 124d1333322Smrg if test x"$CC_FOR_BUILD" = x ; then 125d1333322Smrg CC_FOR_BUILD=no_compiler_found ; 126d1333322Smrg fi 127d1333322Smrg ;; 128d1333322Smrg ,,*) CC_FOR_BUILD=$CC ;; 129d1333322Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 130d1333322Smrgesac ; set_cc_for_build= ;' 131d1333322Smrg 132d1333322Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 133d1333322Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 134d1333322Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 135d1333322Smrg PATH=$PATH:/.attbin ; export PATH 136d1333322Smrgfi 137d1333322Smrg 138d1333322SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 139d1333322SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 140d1333322SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 141d1333322SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 142d1333322Smrg 143d1333322Smrg# Note: order is significant - the case branches are not exclusive. 144d1333322Smrg 145d1333322Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 146d1333322Smrg *:NetBSD:*:*) 147d1333322Smrg # NetBSD (nbsd) targets should (where applicable) match one or 148d1333322Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 149d1333322Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 150d1333322Smrg # switched to ELF, *-*-netbsd* would select the old 151d1333322Smrg # object file format. This provides both forward 152d1333322Smrg # compatibility and a consistent mechanism for selecting the 153d1333322Smrg # object file format. 154d1333322Smrg # 155d1333322Smrg # Note: NetBSD doesn't particularly care about the vendor 156d1333322Smrg # portion of the name. We always set it to "unknown". 157d1333322Smrg sysctl="sysctl -n hw.machine_arch" 158d1333322Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 159d1333322Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 160d1333322Smrg case "${UNAME_MACHINE_ARCH}" in 161d1333322Smrg armeb) machine=armeb-unknown ;; 162d1333322Smrg arm*) machine=arm-unknown ;; 163d1333322Smrg sh3el) machine=shl-unknown ;; 164d1333322Smrg sh3eb) machine=sh-unknown ;; 165d1333322Smrg sh5el) machine=sh5le-unknown ;; 166d1333322Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 167d1333322Smrg esac 168d1333322Smrg # The Operating System including object format, if it has switched 169d1333322Smrg # to ELF recently, or will in the future. 170d1333322Smrg case "${UNAME_MACHINE_ARCH}" in 171d1333322Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 172d1333322Smrg eval $set_cc_for_build 173d1333322Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1744f9ac78aSmrg | grep -q __ELF__ 175d1333322Smrg then 176d1333322Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 177d1333322Smrg # Return netbsd for either. FIX? 178d1333322Smrg os=netbsd 179d1333322Smrg else 180d1333322Smrg os=netbsdelf 181d1333322Smrg fi 182d1333322Smrg ;; 183d1333322Smrg *) 184d1333322Smrg os=netbsd 185d1333322Smrg ;; 186d1333322Smrg esac 187d1333322Smrg # The OS release 188d1333322Smrg # Debian GNU/NetBSD machines have a different userland, and 189d1333322Smrg # thus, need a distinct triplet. However, they do not need 190d1333322Smrg # kernel version information, so it can be replaced with a 191d1333322Smrg # suitable tag, in the style of linux-gnu. 192d1333322Smrg case "${UNAME_VERSION}" in 193d1333322Smrg Debian*) 194d1333322Smrg release='-gnu' 195d1333322Smrg ;; 196d1333322Smrg *) 197d1333322Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 198d1333322Smrg ;; 199d1333322Smrg esac 200d1333322Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 201d1333322Smrg # contains redundant information, the shorter form: 202d1333322Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 203d1333322Smrg echo "${machine}-${os}${release}" 204d1333322Smrg exit ;; 205d1333322Smrg *:OpenBSD:*:*) 206d1333322Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 207d1333322Smrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 208d1333322Smrg exit ;; 209d1333322Smrg *:ekkoBSD:*:*) 210d1333322Smrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 211d1333322Smrg exit ;; 212d1333322Smrg *:SolidBSD:*:*) 213d1333322Smrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 214d1333322Smrg exit ;; 215d1333322Smrg macppc:MirBSD:*:*) 216d1333322Smrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 217d1333322Smrg exit ;; 218d1333322Smrg *:MirBSD:*:*) 219d1333322Smrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 220d1333322Smrg exit ;; 221d1333322Smrg alpha:OSF1:*:*) 222d1333322Smrg case $UNAME_RELEASE in 223d1333322Smrg *4.0) 224d1333322Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 225d1333322Smrg ;; 226d1333322Smrg *5.*) 227d1333322Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 228d1333322Smrg ;; 229d1333322Smrg esac 230d1333322Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 231d1333322Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 232d1333322Smrg # covers most systems running today. This code pipes the CPU 233d1333322Smrg # types through head -n 1, so we only detect the type of CPU 0. 234d1333322Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 235d1333322Smrg case "$ALPHA_CPU_TYPE" in 236d1333322Smrg "EV4 (21064)") 237d1333322Smrg UNAME_MACHINE="alpha" ;; 238d1333322Smrg "EV4.5 (21064)") 239d1333322Smrg UNAME_MACHINE="alpha" ;; 240d1333322Smrg "LCA4 (21066/21068)") 241d1333322Smrg UNAME_MACHINE="alpha" ;; 242d1333322Smrg "EV5 (21164)") 243d1333322Smrg UNAME_MACHINE="alphaev5" ;; 244d1333322Smrg "EV5.6 (21164A)") 245d1333322Smrg UNAME_MACHINE="alphaev56" ;; 246d1333322Smrg "EV5.6 (21164PC)") 247d1333322Smrg UNAME_MACHINE="alphapca56" ;; 248d1333322Smrg "EV5.7 (21164PC)") 249d1333322Smrg UNAME_MACHINE="alphapca57" ;; 250d1333322Smrg "EV6 (21264)") 251d1333322Smrg UNAME_MACHINE="alphaev6" ;; 252d1333322Smrg "EV6.7 (21264A)") 253d1333322Smrg UNAME_MACHINE="alphaev67" ;; 254d1333322Smrg "EV6.8CB (21264C)") 255d1333322Smrg UNAME_MACHINE="alphaev68" ;; 256d1333322Smrg "EV6.8AL (21264B)") 257d1333322Smrg UNAME_MACHINE="alphaev68" ;; 258d1333322Smrg "EV6.8CX (21264D)") 259d1333322Smrg UNAME_MACHINE="alphaev68" ;; 260d1333322Smrg "EV6.9A (21264/EV69A)") 261d1333322Smrg UNAME_MACHINE="alphaev69" ;; 262d1333322Smrg "EV7 (21364)") 263d1333322Smrg UNAME_MACHINE="alphaev7" ;; 264d1333322Smrg "EV7.9 (21364A)") 265d1333322Smrg UNAME_MACHINE="alphaev79" ;; 266d1333322Smrg esac 267d1333322Smrg # A Pn.n version is a patched version. 268d1333322Smrg # A Vn.n version is a released version. 269d1333322Smrg # A Tn.n version is a released field test version. 270d1333322Smrg # A Xn.n version is an unreleased experimental baselevel. 271d1333322Smrg # 1.2 uses "1.2" for uname -r. 272d1333322Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 273d1333322Smrg exit ;; 274d1333322Smrg Alpha\ *:Windows_NT*:*) 275d1333322Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 276d1333322Smrg # Should we change UNAME_MACHINE based on the output of uname instead 277d1333322Smrg # of the specific Alpha model? 278d1333322Smrg echo alpha-pc-interix 279d1333322Smrg exit ;; 280d1333322Smrg 21064:Windows_NT:50:3) 281d1333322Smrg echo alpha-dec-winnt3.5 282d1333322Smrg exit ;; 283d1333322Smrg Amiga*:UNIX_System_V:4.0:*) 284d1333322Smrg echo m68k-unknown-sysv4 285d1333322Smrg exit ;; 286d1333322Smrg *:[Aa]miga[Oo][Ss]:*:*) 287d1333322Smrg echo ${UNAME_MACHINE}-unknown-amigaos 288d1333322Smrg exit ;; 289d1333322Smrg *:[Mm]orph[Oo][Ss]:*:*) 290d1333322Smrg echo ${UNAME_MACHINE}-unknown-morphos 291d1333322Smrg exit ;; 292d1333322Smrg *:OS/390:*:*) 293d1333322Smrg echo i370-ibm-openedition 294d1333322Smrg exit ;; 295d1333322Smrg *:z/VM:*:*) 296d1333322Smrg echo s390-ibm-zvmoe 297d1333322Smrg exit ;; 298d1333322Smrg *:OS400:*:*) 299d1333322Smrg echo powerpc-ibm-os400 300d1333322Smrg exit ;; 301d1333322Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 302d1333322Smrg echo arm-acorn-riscix${UNAME_RELEASE} 303d1333322Smrg exit ;; 304d1333322Smrg arm:riscos:*:*|arm:RISCOS:*:*) 305d1333322Smrg echo arm-unknown-riscos 306d1333322Smrg exit ;; 307d1333322Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 308d1333322Smrg echo hppa1.1-hitachi-hiuxmpp 309d1333322Smrg exit ;; 310d1333322Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 311d1333322Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 312d1333322Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 313d1333322Smrg echo pyramid-pyramid-sysv3 314d1333322Smrg else 315d1333322Smrg echo pyramid-pyramid-bsd 316d1333322Smrg fi 317d1333322Smrg exit ;; 318d1333322Smrg NILE*:*:*:dcosx) 319d1333322Smrg echo pyramid-pyramid-svr4 320d1333322Smrg exit ;; 321d1333322Smrg DRS?6000:unix:4.0:6*) 322d1333322Smrg echo sparc-icl-nx6 323d1333322Smrg exit ;; 324d1333322Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 325d1333322Smrg case `/usr/bin/uname -p` in 326d1333322Smrg sparc) echo sparc-icl-nx7; exit ;; 327d1333322Smrg esac ;; 3284f9ac78aSmrg s390x:SunOS:*:*) 3294f9ac78aSmrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3304f9ac78aSmrg exit ;; 331d1333322Smrg sun4H:SunOS:5.*:*) 332d1333322Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 333d1333322Smrg exit ;; 334d1333322Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 335d1333322Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 336d1333322Smrg exit ;; 3374f9ac78aSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 3384f9ac78aSmrg echo i386-pc-auroraux${UNAME_RELEASE} 3394f9ac78aSmrg exit ;; 340d1333322Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 3414f9ac78aSmrg eval $set_cc_for_build 3424f9ac78aSmrg SUN_ARCH="i386" 3434f9ac78aSmrg # If there is a compiler, see if it is configured for 64-bit objects. 3444f9ac78aSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 3454f9ac78aSmrg # This test works for both compilers. 3464f9ac78aSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 3474f9ac78aSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 3484f9ac78aSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 3494f9ac78aSmrg grep IS_64BIT_ARCH >/dev/null 3504f9ac78aSmrg then 3514f9ac78aSmrg SUN_ARCH="x86_64" 3524f9ac78aSmrg fi 3534f9ac78aSmrg fi 3544f9ac78aSmrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 355d1333322Smrg exit ;; 356d1333322Smrg sun4*:SunOS:6*:*) 357d1333322Smrg # According to config.sub, this is the proper way to canonicalize 358d1333322Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 359d1333322Smrg # it's likely to be more like Solaris than SunOS4. 360d1333322Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 361d1333322Smrg exit ;; 362d1333322Smrg sun4*:SunOS:*:*) 363d1333322Smrg case "`/usr/bin/arch -k`" in 364d1333322Smrg Series*|S4*) 365d1333322Smrg UNAME_RELEASE=`uname -v` 366d1333322Smrg ;; 367d1333322Smrg esac 368d1333322Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 369d1333322Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 370d1333322Smrg exit ;; 371d1333322Smrg sun3*:SunOS:*:*) 372d1333322Smrg echo m68k-sun-sunos${UNAME_RELEASE} 373d1333322Smrg exit ;; 374d1333322Smrg sun*:*:4.2BSD:*) 375d1333322Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 376d1333322Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 377d1333322Smrg case "`/bin/arch`" in 378d1333322Smrg sun3) 379d1333322Smrg echo m68k-sun-sunos${UNAME_RELEASE} 380d1333322Smrg ;; 381d1333322Smrg sun4) 382d1333322Smrg echo sparc-sun-sunos${UNAME_RELEASE} 383d1333322Smrg ;; 384d1333322Smrg esac 385d1333322Smrg exit ;; 386d1333322Smrg aushp:SunOS:*:*) 387d1333322Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 388d1333322Smrg exit ;; 389d1333322Smrg # The situation for MiNT is a little confusing. The machine name 390d1333322Smrg # can be virtually everything (everything which is not 391d1333322Smrg # "atarist" or "atariste" at least should have a processor 392d1333322Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 393d1333322Smrg # to the lowercase version "mint" (or "freemint"). Finally 394d1333322Smrg # the system name "TOS" denotes a system which is actually not 395d1333322Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 396d1333322Smrg # be no problem. 397d1333322Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 398d1333322Smrg echo m68k-atari-mint${UNAME_RELEASE} 399d1333322Smrg exit ;; 400d1333322Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 401d1333322Smrg echo m68k-atari-mint${UNAME_RELEASE} 402d1333322Smrg exit ;; 403d1333322Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 404d1333322Smrg echo m68k-atari-mint${UNAME_RELEASE} 405d1333322Smrg exit ;; 406d1333322Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 407d1333322Smrg echo m68k-milan-mint${UNAME_RELEASE} 408d1333322Smrg exit ;; 409d1333322Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 410d1333322Smrg echo m68k-hades-mint${UNAME_RELEASE} 411d1333322Smrg exit ;; 412d1333322Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 413d1333322Smrg echo m68k-unknown-mint${UNAME_RELEASE} 414d1333322Smrg exit ;; 415d1333322Smrg m68k:machten:*:*) 416d1333322Smrg echo m68k-apple-machten${UNAME_RELEASE} 417d1333322Smrg exit ;; 418d1333322Smrg powerpc:machten:*:*) 419d1333322Smrg echo powerpc-apple-machten${UNAME_RELEASE} 420d1333322Smrg exit ;; 421d1333322Smrg RISC*:Mach:*:*) 422d1333322Smrg echo mips-dec-mach_bsd4.3 423d1333322Smrg exit ;; 424d1333322Smrg RISC*:ULTRIX:*:*) 425d1333322Smrg echo mips-dec-ultrix${UNAME_RELEASE} 426d1333322Smrg exit ;; 427d1333322Smrg VAX*:ULTRIX*:*:*) 428d1333322Smrg echo vax-dec-ultrix${UNAME_RELEASE} 429d1333322Smrg exit ;; 430d1333322Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 431d1333322Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 432d1333322Smrg exit ;; 433d1333322Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 434d1333322Smrg eval $set_cc_for_build 435d1333322Smrg sed 's/^ //' << EOF >$dummy.c 436d1333322Smrg#ifdef __cplusplus 437d1333322Smrg#include <stdio.h> /* for printf() prototype */ 438d1333322Smrg int main (int argc, char *argv[]) { 439d1333322Smrg#else 440d1333322Smrg int main (argc, argv) int argc; char *argv[]; { 441d1333322Smrg#endif 442d1333322Smrg #if defined (host_mips) && defined (MIPSEB) 443d1333322Smrg #if defined (SYSTYPE_SYSV) 444d1333322Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 445d1333322Smrg #endif 446d1333322Smrg #if defined (SYSTYPE_SVR4) 447d1333322Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 448d1333322Smrg #endif 449d1333322Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 450d1333322Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 451d1333322Smrg #endif 452d1333322Smrg #endif 453d1333322Smrg exit (-1); 454d1333322Smrg } 455d1333322SmrgEOF 456d1333322Smrg $CC_FOR_BUILD -o $dummy $dummy.c && 457d1333322Smrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 458d1333322Smrg SYSTEM_NAME=`$dummy $dummyarg` && 459d1333322Smrg { echo "$SYSTEM_NAME"; exit; } 460d1333322Smrg echo mips-mips-riscos${UNAME_RELEASE} 461d1333322Smrg exit ;; 462d1333322Smrg Motorola:PowerMAX_OS:*:*) 463d1333322Smrg echo powerpc-motorola-powermax 464d1333322Smrg exit ;; 465d1333322Smrg Motorola:*:4.3:PL8-*) 466d1333322Smrg echo powerpc-harris-powermax 467d1333322Smrg exit ;; 468d1333322Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 469d1333322Smrg echo powerpc-harris-powermax 470d1333322Smrg exit ;; 471d1333322Smrg Night_Hawk:Power_UNIX:*:*) 472d1333322Smrg echo powerpc-harris-powerunix 473d1333322Smrg exit ;; 474d1333322Smrg m88k:CX/UX:7*:*) 475d1333322Smrg echo m88k-harris-cxux7 476d1333322Smrg exit ;; 477d1333322Smrg m88k:*:4*:R4*) 478d1333322Smrg echo m88k-motorola-sysv4 479d1333322Smrg exit ;; 480d1333322Smrg m88k:*:3*:R3*) 481d1333322Smrg echo m88k-motorola-sysv3 482d1333322Smrg exit ;; 483d1333322Smrg AViiON:dgux:*:*) 484d1333322Smrg # DG/UX returns AViiON for all architectures 485d1333322Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 486d1333322Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 487d1333322Smrg then 488d1333322Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 489d1333322Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 490d1333322Smrg then 491d1333322Smrg echo m88k-dg-dgux${UNAME_RELEASE} 492d1333322Smrg else 493d1333322Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 494d1333322Smrg fi 495d1333322Smrg else 496d1333322Smrg echo i586-dg-dgux${UNAME_RELEASE} 497d1333322Smrg fi 498d1333322Smrg exit ;; 499d1333322Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 500d1333322Smrg echo m88k-dolphin-sysv3 501d1333322Smrg exit ;; 502d1333322Smrg M88*:*:R3*:*) 503d1333322Smrg # Delta 88k system running SVR3 504d1333322Smrg echo m88k-motorola-sysv3 505d1333322Smrg exit ;; 506d1333322Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 507d1333322Smrg echo m88k-tektronix-sysv3 508d1333322Smrg exit ;; 509d1333322Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 510d1333322Smrg echo m68k-tektronix-bsd 511d1333322Smrg exit ;; 512d1333322Smrg *:IRIX*:*:*) 513d1333322Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 514d1333322Smrg exit ;; 515d1333322Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 516d1333322Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 517d1333322Smrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 518d1333322Smrg i*86:AIX:*:*) 519d1333322Smrg echo i386-ibm-aix 520d1333322Smrg exit ;; 521d1333322Smrg ia64:AIX:*:*) 522d1333322Smrg if [ -x /usr/bin/oslevel ] ; then 523d1333322Smrg IBM_REV=`/usr/bin/oslevel` 524d1333322Smrg else 525d1333322Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 526d1333322Smrg fi 527d1333322Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 528d1333322Smrg exit ;; 529d1333322Smrg *:AIX:2:3) 530d1333322Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 531d1333322Smrg eval $set_cc_for_build 532d1333322Smrg sed 's/^ //' << EOF >$dummy.c 533d1333322Smrg #include <sys/systemcfg.h> 534d1333322Smrg 535d1333322Smrg main() 536d1333322Smrg { 537d1333322Smrg if (!__power_pc()) 538d1333322Smrg exit(1); 539d1333322Smrg puts("powerpc-ibm-aix3.2.5"); 540d1333322Smrg exit(0); 541d1333322Smrg } 542d1333322SmrgEOF 543d1333322Smrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 544d1333322Smrg then 545d1333322Smrg echo "$SYSTEM_NAME" 546d1333322Smrg else 547d1333322Smrg echo rs6000-ibm-aix3.2.5 548d1333322Smrg fi 549d1333322Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 550d1333322Smrg echo rs6000-ibm-aix3.2.4 551d1333322Smrg else 552d1333322Smrg echo rs6000-ibm-aix3.2 553d1333322Smrg fi 554d1333322Smrg exit ;; 5554f9ac78aSmrg *:AIX:*:[4567]) 556d1333322Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 557d1333322Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 558d1333322Smrg IBM_ARCH=rs6000 559d1333322Smrg else 560d1333322Smrg IBM_ARCH=powerpc 561d1333322Smrg fi 562d1333322Smrg if [ -x /usr/bin/oslevel ] ; then 563d1333322Smrg IBM_REV=`/usr/bin/oslevel` 564d1333322Smrg else 565d1333322Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 566d1333322Smrg fi 567d1333322Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 568d1333322Smrg exit ;; 569d1333322Smrg *:AIX:*:*) 570d1333322Smrg echo rs6000-ibm-aix 571d1333322Smrg exit ;; 572d1333322Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 573d1333322Smrg echo romp-ibm-bsd4.4 574d1333322Smrg exit ;; 575d1333322Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 576d1333322Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 577d1333322Smrg exit ;; # report: romp-ibm BSD 4.3 578d1333322Smrg *:BOSX:*:*) 579d1333322Smrg echo rs6000-bull-bosx 580d1333322Smrg exit ;; 581d1333322Smrg DPX/2?00:B.O.S.:*:*) 582d1333322Smrg echo m68k-bull-sysv3 583d1333322Smrg exit ;; 584d1333322Smrg 9000/[34]??:4.3bsd:1.*:*) 585d1333322Smrg echo m68k-hp-bsd 586d1333322Smrg exit ;; 587d1333322Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 588d1333322Smrg echo m68k-hp-bsd4.4 589d1333322Smrg exit ;; 590d1333322Smrg 9000/[34678]??:HP-UX:*:*) 591d1333322Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 592d1333322Smrg case "${UNAME_MACHINE}" in 593d1333322Smrg 9000/31? ) HP_ARCH=m68000 ;; 594d1333322Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 595d1333322Smrg 9000/[678][0-9][0-9]) 596d1333322Smrg if [ -x /usr/bin/getconf ]; then 597d1333322Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 598d1333322Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 599d1333322Smrg case "${sc_cpu_version}" in 600d1333322Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 601d1333322Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 602d1333322Smrg 532) # CPU_PA_RISC2_0 603d1333322Smrg case "${sc_kernel_bits}" in 604d1333322Smrg 32) HP_ARCH="hppa2.0n" ;; 605d1333322Smrg 64) HP_ARCH="hppa2.0w" ;; 606d1333322Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 607d1333322Smrg esac ;; 608d1333322Smrg esac 609d1333322Smrg fi 610d1333322Smrg if [ "${HP_ARCH}" = "" ]; then 611d1333322Smrg eval $set_cc_for_build 612d1333322Smrg sed 's/^ //' << EOF >$dummy.c 613d1333322Smrg 614d1333322Smrg #define _HPUX_SOURCE 615d1333322Smrg #include <stdlib.h> 616d1333322Smrg #include <unistd.h> 617d1333322Smrg 618d1333322Smrg int main () 619d1333322Smrg { 620d1333322Smrg #if defined(_SC_KERNEL_BITS) 621d1333322Smrg long bits = sysconf(_SC_KERNEL_BITS); 622d1333322Smrg #endif 623d1333322Smrg long cpu = sysconf (_SC_CPU_VERSION); 624d1333322Smrg 625d1333322Smrg switch (cpu) 626d1333322Smrg { 627d1333322Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 628d1333322Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 629d1333322Smrg case CPU_PA_RISC2_0: 630d1333322Smrg #if defined(_SC_KERNEL_BITS) 631d1333322Smrg switch (bits) 632d1333322Smrg { 633d1333322Smrg case 64: puts ("hppa2.0w"); break; 634d1333322Smrg case 32: puts ("hppa2.0n"); break; 635d1333322Smrg default: puts ("hppa2.0"); break; 636d1333322Smrg } break; 637d1333322Smrg #else /* !defined(_SC_KERNEL_BITS) */ 638d1333322Smrg puts ("hppa2.0"); break; 639d1333322Smrg #endif 640d1333322Smrg default: puts ("hppa1.0"); break; 641d1333322Smrg } 642d1333322Smrg exit (0); 643d1333322Smrg } 644d1333322SmrgEOF 645d1333322Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 646d1333322Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 647d1333322Smrg fi ;; 648d1333322Smrg esac 649d1333322Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 650d1333322Smrg then 651d1333322Smrg eval $set_cc_for_build 652d1333322Smrg 653d1333322Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 654d1333322Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 655d1333322Smrg # generating 64-bit code. GNU and HP use different nomenclature: 656d1333322Smrg # 657d1333322Smrg # $ CC_FOR_BUILD=cc ./config.guess 658d1333322Smrg # => hppa2.0w-hp-hpux11.23 659d1333322Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 660d1333322Smrg # => hppa64-hp-hpux11.23 661d1333322Smrg 662d1333322Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 6634f9ac78aSmrg grep -q __LP64__ 664d1333322Smrg then 665d1333322Smrg HP_ARCH="hppa2.0w" 666d1333322Smrg else 667d1333322Smrg HP_ARCH="hppa64" 668d1333322Smrg fi 669d1333322Smrg fi 670d1333322Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 671d1333322Smrg exit ;; 672d1333322Smrg ia64:HP-UX:*:*) 673d1333322Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 674d1333322Smrg echo ia64-hp-hpux${HPUX_REV} 675d1333322Smrg exit ;; 676d1333322Smrg 3050*:HI-UX:*:*) 677d1333322Smrg eval $set_cc_for_build 678d1333322Smrg sed 's/^ //' << EOF >$dummy.c 679d1333322Smrg #include <unistd.h> 680d1333322Smrg int 681d1333322Smrg main () 682d1333322Smrg { 683d1333322Smrg long cpu = sysconf (_SC_CPU_VERSION); 684d1333322Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 685d1333322Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 686d1333322Smrg results, however. */ 687d1333322Smrg if (CPU_IS_PA_RISC (cpu)) 688d1333322Smrg { 689d1333322Smrg switch (cpu) 690d1333322Smrg { 691d1333322Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 692d1333322Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 693d1333322Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 694d1333322Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 695d1333322Smrg } 696d1333322Smrg } 697d1333322Smrg else if (CPU_IS_HP_MC68K (cpu)) 698d1333322Smrg puts ("m68k-hitachi-hiuxwe2"); 699d1333322Smrg else puts ("unknown-hitachi-hiuxwe2"); 700d1333322Smrg exit (0); 701d1333322Smrg } 702d1333322SmrgEOF 703d1333322Smrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 704d1333322Smrg { echo "$SYSTEM_NAME"; exit; } 705d1333322Smrg echo unknown-hitachi-hiuxwe2 706d1333322Smrg exit ;; 707d1333322Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 708d1333322Smrg echo hppa1.1-hp-bsd 709d1333322Smrg exit ;; 710d1333322Smrg 9000/8??:4.3bsd:*:*) 711d1333322Smrg echo hppa1.0-hp-bsd 712d1333322Smrg exit ;; 713d1333322Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 714d1333322Smrg echo hppa1.0-hp-mpeix 715d1333322Smrg exit ;; 716d1333322Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 717d1333322Smrg echo hppa1.1-hp-osf 718d1333322Smrg exit ;; 719d1333322Smrg hp8??:OSF1:*:*) 720d1333322Smrg echo hppa1.0-hp-osf 721d1333322Smrg exit ;; 722d1333322Smrg i*86:OSF1:*:*) 723d1333322Smrg if [ -x /usr/sbin/sysversion ] ; then 724d1333322Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 725d1333322Smrg else 726d1333322Smrg echo ${UNAME_MACHINE}-unknown-osf1 727d1333322Smrg fi 728d1333322Smrg exit ;; 729d1333322Smrg parisc*:Lites*:*:*) 730d1333322Smrg echo hppa1.1-hp-lites 731d1333322Smrg exit ;; 732d1333322Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 733d1333322Smrg echo c1-convex-bsd 734d1333322Smrg exit ;; 735d1333322Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 736d1333322Smrg if getsysinfo -f scalar_acc 737d1333322Smrg then echo c32-convex-bsd 738d1333322Smrg else echo c2-convex-bsd 739d1333322Smrg fi 740d1333322Smrg exit ;; 741d1333322Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 742d1333322Smrg echo c34-convex-bsd 743d1333322Smrg exit ;; 744d1333322Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 745d1333322Smrg echo c38-convex-bsd 746d1333322Smrg exit ;; 747d1333322Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 748d1333322Smrg echo c4-convex-bsd 749d1333322Smrg exit ;; 750d1333322Smrg CRAY*Y-MP:*:*:*) 751d1333322Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 752d1333322Smrg exit ;; 753d1333322Smrg CRAY*[A-Z]90:*:*:*) 754d1333322Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 755d1333322Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 756d1333322Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 757d1333322Smrg -e 's/\.[^.]*$/.X/' 758d1333322Smrg exit ;; 759d1333322Smrg CRAY*TS:*:*:*) 760d1333322Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 761d1333322Smrg exit ;; 762d1333322Smrg CRAY*T3E:*:*:*) 763d1333322Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 764d1333322Smrg exit ;; 765d1333322Smrg CRAY*SV1:*:*:*) 766d1333322Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 767d1333322Smrg exit ;; 768d1333322Smrg *:UNICOS/mp:*:*) 769d1333322Smrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 770d1333322Smrg exit ;; 771d1333322Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 772d1333322Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 773d1333322Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 774d1333322Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 775d1333322Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 776d1333322Smrg exit ;; 777d1333322Smrg 5000:UNIX_System_V:4.*:*) 778d1333322Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 779d1333322Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 780d1333322Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 781d1333322Smrg exit ;; 782d1333322Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 783d1333322Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 784d1333322Smrg exit ;; 785d1333322Smrg sparc*:BSD/OS:*:*) 786d1333322Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 787d1333322Smrg exit ;; 788d1333322Smrg *:BSD/OS:*:*) 789d1333322Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 790d1333322Smrg exit ;; 791d1333322Smrg *:FreeBSD:*:*) 792d1333322Smrg case ${UNAME_MACHINE} in 793d1333322Smrg pc98) 794d1333322Smrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 795d1333322Smrg amd64) 796d1333322Smrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 797d1333322Smrg *) 798d1333322Smrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 799d1333322Smrg esac 800d1333322Smrg exit ;; 801d1333322Smrg i*:CYGWIN*:*) 802d1333322Smrg echo ${UNAME_MACHINE}-pc-cygwin 803d1333322Smrg exit ;; 804d1333322Smrg *:MINGW*:*) 805d1333322Smrg echo ${UNAME_MACHINE}-pc-mingw32 806d1333322Smrg exit ;; 807d1333322Smrg i*:windows32*:*) 808d1333322Smrg # uname -m includes "-pc" on this system. 809d1333322Smrg echo ${UNAME_MACHINE}-mingw32 810d1333322Smrg exit ;; 811d1333322Smrg i*:PW*:*) 812d1333322Smrg echo ${UNAME_MACHINE}-pc-pw32 813d1333322Smrg exit ;; 8144f9ac78aSmrg *:Interix*:*) 815d1333322Smrg case ${UNAME_MACHINE} in 816d1333322Smrg x86) 817d1333322Smrg echo i586-pc-interix${UNAME_RELEASE} 818d1333322Smrg exit ;; 8194f9ac78aSmrg authenticamd | genuineintel | EM64T) 820d1333322Smrg echo x86_64-unknown-interix${UNAME_RELEASE} 821d1333322Smrg exit ;; 822d1333322Smrg IA64) 823d1333322Smrg echo ia64-unknown-interix${UNAME_RELEASE} 824d1333322Smrg exit ;; 825d1333322Smrg esac ;; 826d1333322Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 827d1333322Smrg echo i${UNAME_MACHINE}-pc-mks 828d1333322Smrg exit ;; 8294f9ac78aSmrg 8664:Windows_NT:*) 8304f9ac78aSmrg echo x86_64-pc-mks 8314f9ac78aSmrg exit ;; 832d1333322Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 833d1333322Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 834d1333322Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 835d1333322Smrg # UNAME_MACHINE based on the output of uname instead of i386? 836d1333322Smrg echo i586-pc-interix 837d1333322Smrg exit ;; 838d1333322Smrg i*:UWIN*:*) 839d1333322Smrg echo ${UNAME_MACHINE}-pc-uwin 840d1333322Smrg exit ;; 841d1333322Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 842d1333322Smrg echo x86_64-unknown-cygwin 843d1333322Smrg exit ;; 844d1333322Smrg p*:CYGWIN*:*) 845d1333322Smrg echo powerpcle-unknown-cygwin 846d1333322Smrg exit ;; 847d1333322Smrg prep*:SunOS:5.*:*) 848d1333322Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 849d1333322Smrg exit ;; 850d1333322Smrg *:GNU:*:*) 851d1333322Smrg # the GNU system 852d1333322Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 853d1333322Smrg exit ;; 854d1333322Smrg *:GNU/*:*:*) 855d1333322Smrg # other systems with GNU libc and userland 856d1333322Smrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 857d1333322Smrg exit ;; 858d1333322Smrg i*86:Minix:*:*) 859d1333322Smrg echo ${UNAME_MACHINE}-pc-minix 860d1333322Smrg exit ;; 8614f9ac78aSmrg alpha:Linux:*:*) 8624f9ac78aSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 8634f9ac78aSmrg EV5) UNAME_MACHINE=alphaev5 ;; 8644f9ac78aSmrg EV56) UNAME_MACHINE=alphaev56 ;; 8654f9ac78aSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 8664f9ac78aSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 8674f9ac78aSmrg EV6) UNAME_MACHINE=alphaev6 ;; 8684f9ac78aSmrg EV67) UNAME_MACHINE=alphaev67 ;; 8694f9ac78aSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 8704f9ac78aSmrg esac 8714f9ac78aSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 8724f9ac78aSmrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 8734f9ac78aSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 8744f9ac78aSmrg exit ;; 875d1333322Smrg arm*:Linux:*:*) 876d1333322Smrg eval $set_cc_for_build 877d1333322Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 878d1333322Smrg | grep -q __ARM_EABI__ 879d1333322Smrg then 880d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 881d1333322Smrg else 882d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnueabi 883d1333322Smrg fi 884d1333322Smrg exit ;; 885d1333322Smrg avr32*:Linux:*:*) 886d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 887d1333322Smrg exit ;; 888d1333322Smrg cris:Linux:*:*) 889d1333322Smrg echo cris-axis-linux-gnu 890d1333322Smrg exit ;; 891d1333322Smrg crisv32:Linux:*:*) 892d1333322Smrg echo crisv32-axis-linux-gnu 893d1333322Smrg exit ;; 894d1333322Smrg frv:Linux:*:*) 895d1333322Smrg echo frv-unknown-linux-gnu 896d1333322Smrg exit ;; 8974f9ac78aSmrg i*86:Linux:*:*) 8984f9ac78aSmrg LIBC=gnu 8994f9ac78aSmrg eval $set_cc_for_build 9004f9ac78aSmrg sed 's/^ //' << EOF >$dummy.c 9014f9ac78aSmrg #ifdef __dietlibc__ 9024f9ac78aSmrg LIBC=dietlibc 9034f9ac78aSmrg #endif 9044f9ac78aSmrgEOF 9054f9ac78aSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 9064f9ac78aSmrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 9074f9ac78aSmrg exit ;; 908d1333322Smrg ia64:Linux:*:*) 909d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 910d1333322Smrg exit ;; 911d1333322Smrg m32r*:Linux:*:*) 912d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 913d1333322Smrg exit ;; 914d1333322Smrg m68*:Linux:*:*) 915d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 916d1333322Smrg exit ;; 9174f9ac78aSmrg mips:Linux:*:* | mips64:Linux:*:*) 918d1333322Smrg eval $set_cc_for_build 919d1333322Smrg sed 's/^ //' << EOF >$dummy.c 920d1333322Smrg #undef CPU 9214f9ac78aSmrg #undef ${UNAME_MACHINE} 9224f9ac78aSmrg #undef ${UNAME_MACHINE}el 923d1333322Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 9244f9ac78aSmrg CPU=${UNAME_MACHINE}el 925d1333322Smrg #else 926d1333322Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 9274f9ac78aSmrg CPU=${UNAME_MACHINE} 928d1333322Smrg #else 929d1333322Smrg CPU= 930d1333322Smrg #endif 931d1333322Smrg #endif 932d1333322SmrgEOF 9334f9ac78aSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 934d1333322Smrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 935d1333322Smrg ;; 936d1333322Smrg or32:Linux:*:*) 937d1333322Smrg echo or32-unknown-linux-gnu 938d1333322Smrg exit ;; 9394f9ac78aSmrg padre:Linux:*:*) 9404f9ac78aSmrg echo sparc-unknown-linux-gnu 941d1333322Smrg exit ;; 9424f9ac78aSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 9434f9ac78aSmrg echo hppa64-unknown-linux-gnu 944d1333322Smrg exit ;; 945d1333322Smrg parisc:Linux:*:* | hppa:Linux:*:*) 946d1333322Smrg # Look for CPU level 947d1333322Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 948d1333322Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 949d1333322Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 950d1333322Smrg *) echo hppa-unknown-linux-gnu ;; 951d1333322Smrg esac 952d1333322Smrg exit ;; 9534f9ac78aSmrg ppc64:Linux:*:*) 9544f9ac78aSmrg echo powerpc64-unknown-linux-gnu 9554f9ac78aSmrg exit ;; 9564f9ac78aSmrg ppc:Linux:*:*) 9574f9ac78aSmrg echo powerpc-unknown-linux-gnu 958d1333322Smrg exit ;; 959d1333322Smrg s390:Linux:*:* | s390x:Linux:*:*) 960d1333322Smrg echo ${UNAME_MACHINE}-ibm-linux 961d1333322Smrg exit ;; 962d1333322Smrg sh64*:Linux:*:*) 963d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 964d1333322Smrg exit ;; 965d1333322Smrg sh*:Linux:*:*) 966d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 967d1333322Smrg exit ;; 968d1333322Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 969d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 970d1333322Smrg exit ;; 9714f9ac78aSmrg tile*:Linux:*:*) 9724f9ac78aSmrg echo ${UNAME_MACHINE}-tilera-linux-gnu 9734f9ac78aSmrg exit ;; 974d1333322Smrg vax:Linux:*:*) 975d1333322Smrg echo ${UNAME_MACHINE}-dec-linux-gnu 976d1333322Smrg exit ;; 977d1333322Smrg x86_64:Linux:*:*) 978d1333322Smrg echo x86_64-unknown-linux-gnu 979d1333322Smrg exit ;; 980d1333322Smrg xtensa*:Linux:*:*) 981d1333322Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 982d1333322Smrg exit ;; 983d1333322Smrg i*86:DYNIX/ptx:4*:*) 984d1333322Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 985d1333322Smrg # earlier versions are messed up and put the nodename in both 986d1333322Smrg # sysname and nodename. 987d1333322Smrg echo i386-sequent-sysv4 988d1333322Smrg exit ;; 989d1333322Smrg i*86:UNIX_SV:4.2MP:2.*) 990d1333322Smrg # Unixware is an offshoot of SVR4, but it has its own version 991d1333322Smrg # number series starting with 2... 992d1333322Smrg # I am not positive that other SVR4 systems won't match this, 993d1333322Smrg # I just have to hope. -- rms. 994d1333322Smrg # Use sysv4.2uw... so that sysv4* matches it. 995d1333322Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 996d1333322Smrg exit ;; 997d1333322Smrg i*86:OS/2:*:*) 998d1333322Smrg # If we were able to find `uname', then EMX Unix compatibility 999d1333322Smrg # is probably installed. 1000d1333322Smrg echo ${UNAME_MACHINE}-pc-os2-emx 1001d1333322Smrg exit ;; 1002d1333322Smrg i*86:XTS-300:*:STOP) 1003d1333322Smrg echo ${UNAME_MACHINE}-unknown-stop 1004d1333322Smrg exit ;; 1005d1333322Smrg i*86:atheos:*:*) 1006d1333322Smrg echo ${UNAME_MACHINE}-unknown-atheos 1007d1333322Smrg exit ;; 1008d1333322Smrg i*86:syllable:*:*) 1009d1333322Smrg echo ${UNAME_MACHINE}-pc-syllable 1010d1333322Smrg exit ;; 10114f9ac78aSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1012d1333322Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 1013d1333322Smrg exit ;; 1014d1333322Smrg i*86:*DOS:*:*) 1015d1333322Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 1016d1333322Smrg exit ;; 1017d1333322Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1018d1333322Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1019d1333322Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1020d1333322Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1021d1333322Smrg else 1022d1333322Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1023d1333322Smrg fi 1024d1333322Smrg exit ;; 1025d1333322Smrg i*86:*:5:[678]*) 1026d1333322Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1027d1333322Smrg case `/bin/uname -X | grep "^Machine"` in 1028d1333322Smrg *486*) UNAME_MACHINE=i486 ;; 1029d1333322Smrg *Pentium) UNAME_MACHINE=i586 ;; 1030d1333322Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1031d1333322Smrg esac 1032d1333322Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1033d1333322Smrg exit ;; 1034d1333322Smrg i*86:*:3.2:*) 1035d1333322Smrg if test -f /usr/options/cb.name; then 1036d1333322Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1037d1333322Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1038d1333322Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1039d1333322Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1040d1333322Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1041d1333322Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1042d1333322Smrg && UNAME_MACHINE=i586 1043d1333322Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1044d1333322Smrg && UNAME_MACHINE=i686 1045d1333322Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1046d1333322Smrg && UNAME_MACHINE=i686 1047d1333322Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1048d1333322Smrg else 1049d1333322Smrg echo ${UNAME_MACHINE}-pc-sysv32 1050d1333322Smrg fi 1051d1333322Smrg exit ;; 1052d1333322Smrg pc:*:*:*) 1053d1333322Smrg # Left here for compatibility: 1054d1333322Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 10554f9ac78aSmrg # the processor, so we play safe by assuming i586. 10564f9ac78aSmrg # Note: whatever this is, it MUST be the same as what config.sub 10574f9ac78aSmrg # prints for the "djgpp" host, or else GDB configury will decide that 10584f9ac78aSmrg # this is a cross-build. 10594f9ac78aSmrg echo i586-pc-msdosdjgpp 1060d1333322Smrg exit ;; 1061d1333322Smrg Intel:Mach:3*:*) 1062d1333322Smrg echo i386-pc-mach3 1063d1333322Smrg exit ;; 1064d1333322Smrg paragon:*:*:*) 1065d1333322Smrg echo i860-intel-osf1 1066d1333322Smrg exit ;; 1067d1333322Smrg i860:*:4.*:*) # i860-SVR4 1068d1333322Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1069d1333322Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1070d1333322Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1071d1333322Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1072d1333322Smrg fi 1073d1333322Smrg exit ;; 1074d1333322Smrg mini*:CTIX:SYS*5:*) 1075d1333322Smrg # "miniframe" 1076d1333322Smrg echo m68010-convergent-sysv 1077d1333322Smrg exit ;; 1078d1333322Smrg mc68k:UNIX:SYSTEM5:3.51m) 1079d1333322Smrg echo m68k-convergent-sysv 1080d1333322Smrg exit ;; 1081d1333322Smrg M680?0:D-NIX:5.3:*) 1082d1333322Smrg echo m68k-diab-dnix 1083d1333322Smrg exit ;; 1084d1333322Smrg M68*:*:R3V[5678]*:*) 1085d1333322Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1086d1333322Smrg 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) 1087d1333322Smrg OS_REL='' 1088d1333322Smrg test -r /etc/.relid \ 1089d1333322Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1090d1333322Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1091d1333322Smrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1092d1333322Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1093d1333322Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1094d1333322Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1095d1333322Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1096d1333322Smrg && { echo i486-ncr-sysv4; exit; } ;; 10974f9ac78aSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 10984f9ac78aSmrg OS_REL='.3' 10994f9ac78aSmrg test -r /etc/.relid \ 11004f9ac78aSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 11014f9ac78aSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 11024f9ac78aSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 11034f9ac78aSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 11044f9ac78aSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 11054f9ac78aSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 11064f9ac78aSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1107d1333322Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1108d1333322Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 1109d1333322Smrg exit ;; 1110d1333322Smrg mc68030:UNIX_System_V:4.*:*) 1111d1333322Smrg echo m68k-atari-sysv4 1112d1333322Smrg exit ;; 1113d1333322Smrg TSUNAMI:LynxOS:2.*:*) 1114d1333322Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 1115d1333322Smrg exit ;; 1116d1333322Smrg rs6000:LynxOS:2.*:*) 1117d1333322Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 1118d1333322Smrg exit ;; 11194f9ac78aSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1120d1333322Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 1121d1333322Smrg exit ;; 1122d1333322Smrg SM[BE]S:UNIX_SV:*:*) 1123d1333322Smrg echo mips-dde-sysv${UNAME_RELEASE} 1124d1333322Smrg exit ;; 1125d1333322Smrg RM*:ReliantUNIX-*:*:*) 1126d1333322Smrg echo mips-sni-sysv4 1127d1333322Smrg exit ;; 1128d1333322Smrg RM*:SINIX-*:*:*) 1129d1333322Smrg echo mips-sni-sysv4 1130d1333322Smrg exit ;; 1131d1333322Smrg *:SINIX-*:*:*) 1132d1333322Smrg if uname -p 2>/dev/null >/dev/null ; then 1133d1333322Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1134d1333322Smrg echo ${UNAME_MACHINE}-sni-sysv4 1135d1333322Smrg else 1136d1333322Smrg echo ns32k-sni-sysv 1137d1333322Smrg fi 1138d1333322Smrg exit ;; 1139d1333322Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1140d1333322Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1141d1333322Smrg echo i586-unisys-sysv4 1142d1333322Smrg exit ;; 1143d1333322Smrg *:UNIX_System_V:4*:FTX*) 1144d1333322Smrg # From Gerald Hewes <hewes@openmarket.com>. 1145d1333322Smrg # How about differentiating between stratus architectures? -djm 1146d1333322Smrg echo hppa1.1-stratus-sysv4 1147d1333322Smrg exit ;; 1148d1333322Smrg *:*:*:FTX*) 1149d1333322Smrg # From seanf@swdc.stratus.com. 1150d1333322Smrg echo i860-stratus-sysv4 1151d1333322Smrg exit ;; 1152d1333322Smrg i*86:VOS:*:*) 1153d1333322Smrg # From Paul.Green@stratus.com. 1154d1333322Smrg echo ${UNAME_MACHINE}-stratus-vos 1155d1333322Smrg exit ;; 1156d1333322Smrg *:VOS:*:*) 1157d1333322Smrg # From Paul.Green@stratus.com. 1158d1333322Smrg echo hppa1.1-stratus-vos 1159d1333322Smrg exit ;; 1160d1333322Smrg mc68*:A/UX:*:*) 1161d1333322Smrg echo m68k-apple-aux${UNAME_RELEASE} 1162d1333322Smrg exit ;; 1163d1333322Smrg news*:NEWS-OS:6*:*) 1164d1333322Smrg echo mips-sony-newsos6 1165d1333322Smrg exit ;; 1166d1333322Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1167d1333322Smrg if [ -d /usr/nec ]; then 1168d1333322Smrg echo mips-nec-sysv${UNAME_RELEASE} 1169d1333322Smrg else 1170d1333322Smrg echo mips-unknown-sysv${UNAME_RELEASE} 1171d1333322Smrg fi 1172d1333322Smrg exit ;; 1173d1333322Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1174d1333322Smrg echo powerpc-be-beos 1175d1333322Smrg exit ;; 1176d1333322Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1177d1333322Smrg echo powerpc-apple-beos 1178d1333322Smrg exit ;; 1179d1333322Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1180d1333322Smrg echo i586-pc-beos 1181d1333322Smrg exit ;; 11824f9ac78aSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 11834f9ac78aSmrg echo i586-pc-haiku 11844f9ac78aSmrg exit ;; 1185d1333322Smrg SX-4:SUPER-UX:*:*) 1186d1333322Smrg echo sx4-nec-superux${UNAME_RELEASE} 1187d1333322Smrg exit ;; 1188d1333322Smrg SX-5:SUPER-UX:*:*) 1189d1333322Smrg echo sx5-nec-superux${UNAME_RELEASE} 1190d1333322Smrg exit ;; 1191d1333322Smrg SX-6:SUPER-UX:*:*) 1192d1333322Smrg echo sx6-nec-superux${UNAME_RELEASE} 1193d1333322Smrg exit ;; 1194d1333322Smrg SX-7:SUPER-UX:*:*) 1195d1333322Smrg echo sx7-nec-superux${UNAME_RELEASE} 1196d1333322Smrg exit ;; 1197d1333322Smrg SX-8:SUPER-UX:*:*) 1198d1333322Smrg echo sx8-nec-superux${UNAME_RELEASE} 1199d1333322Smrg exit ;; 1200d1333322Smrg SX-8R:SUPER-UX:*:*) 1201d1333322Smrg echo sx8r-nec-superux${UNAME_RELEASE} 1202d1333322Smrg exit ;; 1203d1333322Smrg Power*:Rhapsody:*:*) 1204d1333322Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 1205d1333322Smrg exit ;; 1206d1333322Smrg *:Rhapsody:*:*) 1207d1333322Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1208d1333322Smrg exit ;; 1209d1333322Smrg *:Darwin:*:*) 1210d1333322Smrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1211d1333322Smrg case $UNAME_PROCESSOR in 12124f9ac78aSmrg i386) 12134f9ac78aSmrg eval $set_cc_for_build 12144f9ac78aSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 12154f9ac78aSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 12164f9ac78aSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 12174f9ac78aSmrg grep IS_64BIT_ARCH >/dev/null 12184f9ac78aSmrg then 12194f9ac78aSmrg UNAME_PROCESSOR="x86_64" 12204f9ac78aSmrg fi 12214f9ac78aSmrg fi ;; 1222d1333322Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1223d1333322Smrg esac 1224d1333322Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1225d1333322Smrg exit ;; 1226d1333322Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1227d1333322Smrg UNAME_PROCESSOR=`uname -p` 1228d1333322Smrg if test "$UNAME_PROCESSOR" = "x86"; then 1229d1333322Smrg UNAME_PROCESSOR=i386 1230d1333322Smrg UNAME_MACHINE=pc 1231d1333322Smrg fi 1232d1333322Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1233d1333322Smrg exit ;; 1234d1333322Smrg *:QNX:*:4*) 1235d1333322Smrg echo i386-pc-qnx 1236d1333322Smrg exit ;; 1237d1333322Smrg NSE-?:NONSTOP_KERNEL:*:*) 1238d1333322Smrg echo nse-tandem-nsk${UNAME_RELEASE} 1239d1333322Smrg exit ;; 1240d1333322Smrg NSR-?:NONSTOP_KERNEL:*:*) 1241d1333322Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 1242d1333322Smrg exit ;; 1243d1333322Smrg *:NonStop-UX:*:*) 1244d1333322Smrg echo mips-compaq-nonstopux 1245d1333322Smrg exit ;; 1246d1333322Smrg BS2000:POSIX*:*:*) 1247d1333322Smrg echo bs2000-siemens-sysv 1248d1333322Smrg exit ;; 1249d1333322Smrg DS/*:UNIX_System_V:*:*) 1250d1333322Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1251d1333322Smrg exit ;; 1252d1333322Smrg *:Plan9:*:*) 1253d1333322Smrg # "uname -m" is not consistent, so use $cputype instead. 386 1254d1333322Smrg # is converted to i386 for consistency with other x86 1255d1333322Smrg # operating systems. 1256d1333322Smrg if test "$cputype" = "386"; then 1257d1333322Smrg UNAME_MACHINE=i386 1258d1333322Smrg else 1259d1333322Smrg UNAME_MACHINE="$cputype" 1260d1333322Smrg fi 1261d1333322Smrg echo ${UNAME_MACHINE}-unknown-plan9 1262d1333322Smrg exit ;; 1263d1333322Smrg *:TOPS-10:*:*) 1264d1333322Smrg echo pdp10-unknown-tops10 1265d1333322Smrg exit ;; 1266d1333322Smrg *:TENEX:*:*) 1267d1333322Smrg echo pdp10-unknown-tenex 1268d1333322Smrg exit ;; 1269d1333322Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1270d1333322Smrg echo pdp10-dec-tops20 1271d1333322Smrg exit ;; 1272d1333322Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1273d1333322Smrg echo pdp10-xkl-tops20 1274d1333322Smrg exit ;; 1275d1333322Smrg *:TOPS-20:*:*) 1276d1333322Smrg echo pdp10-unknown-tops20 1277d1333322Smrg exit ;; 1278d1333322Smrg *:ITS:*:*) 1279d1333322Smrg echo pdp10-unknown-its 1280d1333322Smrg exit ;; 1281d1333322Smrg SEI:*:*:SEIUX) 1282d1333322Smrg echo mips-sei-seiux${UNAME_RELEASE} 1283d1333322Smrg exit ;; 1284d1333322Smrg *:DragonFly:*:*) 1285d1333322Smrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1286d1333322Smrg exit ;; 1287d1333322Smrg *:*VMS:*:*) 1288d1333322Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1289d1333322Smrg case "${UNAME_MACHINE}" in 1290d1333322Smrg A*) echo alpha-dec-vms ; exit ;; 1291d1333322Smrg I*) echo ia64-dec-vms ; exit ;; 1292d1333322Smrg V*) echo vax-dec-vms ; exit ;; 1293d1333322Smrg esac ;; 1294d1333322Smrg *:XENIX:*:SysV) 1295d1333322Smrg echo i386-pc-xenix 1296d1333322Smrg exit ;; 1297d1333322Smrg i*86:skyos:*:*) 1298d1333322Smrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1299d1333322Smrg exit ;; 1300d1333322Smrg i*86:rdos:*:*) 1301d1333322Smrg echo ${UNAME_MACHINE}-pc-rdos 1302d1333322Smrg exit ;; 13034f9ac78aSmrg i*86:AROS:*:*) 13044f9ac78aSmrg echo ${UNAME_MACHINE}-pc-aros 13054f9ac78aSmrg exit ;; 1306d1333322Smrgesac 1307d1333322Smrg 1308d1333322Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 1309d1333322Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1310d1333322Smrg 1311d1333322Smrgeval $set_cc_for_build 1312d1333322Smrgcat >$dummy.c <<EOF 1313d1333322Smrg#ifdef _SEQUENT_ 1314d1333322Smrg# include <sys/types.h> 1315d1333322Smrg# include <sys/utsname.h> 1316d1333322Smrg#endif 1317d1333322Smrgmain () 1318d1333322Smrg{ 1319d1333322Smrg#if defined (sony) 1320d1333322Smrg#if defined (MIPSEB) 1321d1333322Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1322d1333322Smrg I don't know.... */ 1323d1333322Smrg printf ("mips-sony-bsd\n"); exit (0); 1324d1333322Smrg#else 1325d1333322Smrg#include <sys/param.h> 1326d1333322Smrg printf ("m68k-sony-newsos%s\n", 1327d1333322Smrg#ifdef NEWSOS4 1328d1333322Smrg "4" 1329d1333322Smrg#else 1330d1333322Smrg "" 1331d1333322Smrg#endif 1332d1333322Smrg ); exit (0); 1333d1333322Smrg#endif 1334d1333322Smrg#endif 1335d1333322Smrg 1336d1333322Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 1337d1333322Smrg printf ("arm-acorn-riscix\n"); exit (0); 1338d1333322Smrg#endif 1339d1333322Smrg 1340d1333322Smrg#if defined (hp300) && !defined (hpux) 1341d1333322Smrg printf ("m68k-hp-bsd\n"); exit (0); 1342d1333322Smrg#endif 1343d1333322Smrg 1344d1333322Smrg#if defined (NeXT) 1345d1333322Smrg#if !defined (__ARCHITECTURE__) 1346d1333322Smrg#define __ARCHITECTURE__ "m68k" 1347d1333322Smrg#endif 1348d1333322Smrg int version; 1349d1333322Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1350d1333322Smrg if (version < 4) 1351d1333322Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1352d1333322Smrg else 1353d1333322Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1354d1333322Smrg exit (0); 1355d1333322Smrg#endif 1356d1333322Smrg 1357d1333322Smrg#if defined (MULTIMAX) || defined (n16) 1358d1333322Smrg#if defined (UMAXV) 1359d1333322Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1360d1333322Smrg#else 1361d1333322Smrg#if defined (CMU) 1362d1333322Smrg printf ("ns32k-encore-mach\n"); exit (0); 1363d1333322Smrg#else 1364d1333322Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1365d1333322Smrg#endif 1366d1333322Smrg#endif 1367d1333322Smrg#endif 1368d1333322Smrg 1369d1333322Smrg#if defined (__386BSD__) 1370d1333322Smrg printf ("i386-pc-bsd\n"); exit (0); 1371d1333322Smrg#endif 1372d1333322Smrg 1373d1333322Smrg#if defined (sequent) 1374d1333322Smrg#if defined (i386) 1375d1333322Smrg printf ("i386-sequent-dynix\n"); exit (0); 1376d1333322Smrg#endif 1377d1333322Smrg#if defined (ns32000) 1378d1333322Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1379d1333322Smrg#endif 1380d1333322Smrg#endif 1381d1333322Smrg 1382d1333322Smrg#if defined (_SEQUENT_) 1383d1333322Smrg struct utsname un; 1384d1333322Smrg 1385d1333322Smrg uname(&un); 1386d1333322Smrg 1387d1333322Smrg if (strncmp(un.version, "V2", 2) == 0) { 1388d1333322Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1389d1333322Smrg } 1390d1333322Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1391d1333322Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1392d1333322Smrg } 1393d1333322Smrg printf ("i386-sequent-ptx\n"); exit (0); 1394d1333322Smrg 1395d1333322Smrg#endif 1396d1333322Smrg 1397d1333322Smrg#if defined (vax) 1398d1333322Smrg# if !defined (ultrix) 1399d1333322Smrg# include <sys/param.h> 1400d1333322Smrg# if defined (BSD) 1401d1333322Smrg# if BSD == 43 1402d1333322Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1403d1333322Smrg# else 1404d1333322Smrg# if BSD == 199006 1405d1333322Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1406d1333322Smrg# else 1407d1333322Smrg printf ("vax-dec-bsd\n"); exit (0); 1408d1333322Smrg# endif 1409d1333322Smrg# endif 1410d1333322Smrg# else 1411d1333322Smrg printf ("vax-dec-bsd\n"); exit (0); 1412d1333322Smrg# endif 1413d1333322Smrg# else 1414d1333322Smrg printf ("vax-dec-ultrix\n"); exit (0); 1415d1333322Smrg# endif 1416d1333322Smrg#endif 1417d1333322Smrg 1418d1333322Smrg#if defined (alliant) && defined (i860) 1419d1333322Smrg printf ("i860-alliant-bsd\n"); exit (0); 1420d1333322Smrg#endif 1421d1333322Smrg 1422d1333322Smrg exit (1); 1423d1333322Smrg} 1424d1333322SmrgEOF 1425d1333322Smrg 1426d1333322Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1427d1333322Smrg { echo "$SYSTEM_NAME"; exit; } 1428d1333322Smrg 1429d1333322Smrg# Apollos put the system type in the environment. 1430d1333322Smrg 1431d1333322Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1432d1333322Smrg 1433d1333322Smrg# Convex versions that predate uname can use getsysinfo(1) 1434d1333322Smrg 1435d1333322Smrgif [ -x /usr/convex/getsysinfo ] 1436d1333322Smrgthen 1437d1333322Smrg case `getsysinfo -f cpu_type` in 1438d1333322Smrg c1*) 1439d1333322Smrg echo c1-convex-bsd 1440d1333322Smrg exit ;; 1441d1333322Smrg c2*) 1442d1333322Smrg if getsysinfo -f scalar_acc 1443d1333322Smrg then echo c32-convex-bsd 1444d1333322Smrg else echo c2-convex-bsd 1445d1333322Smrg fi 1446d1333322Smrg exit ;; 1447d1333322Smrg c34*) 1448d1333322Smrg echo c34-convex-bsd 1449d1333322Smrg exit ;; 1450d1333322Smrg c38*) 1451d1333322Smrg echo c38-convex-bsd 1452d1333322Smrg exit ;; 1453d1333322Smrg c4*) 1454d1333322Smrg echo c4-convex-bsd 1455d1333322Smrg exit ;; 1456d1333322Smrg esac 1457d1333322Smrgfi 1458d1333322Smrg 1459d1333322Smrgcat >&2 <<EOF 1460d1333322Smrg$0: unable to guess system type 1461d1333322Smrg 1462d1333322SmrgThis script, last modified $timestamp, has failed to recognize 1463d1333322Smrgthe operating system you are using. It is advised that you 1464d1333322Smrgdownload the most up to date version of the config scripts from 1465d1333322Smrg 14664f9ac78aSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 1467d1333322Smrgand 14684f9ac78aSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 1469d1333322Smrg 1470d1333322SmrgIf the version you run ($0) is already up to date, please 1471d1333322Smrgsend the following data and any information you think might be 1472d1333322Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 1473d1333322Smrginformation to handle your system. 1474d1333322Smrg 1475d1333322Smrgconfig.guess timestamp = $timestamp 1476d1333322Smrg 1477d1333322Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1478d1333322Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1479d1333322Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1480d1333322Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1481d1333322Smrg 1482d1333322Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1483d1333322Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1484d1333322Smrg 1485d1333322Smrghostinfo = `(hostinfo) 2>/dev/null` 1486d1333322Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 1487d1333322Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1488d1333322Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 1489d1333322Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1490d1333322Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1491d1333322Smrg 1492d1333322SmrgUNAME_MACHINE = ${UNAME_MACHINE} 1493d1333322SmrgUNAME_RELEASE = ${UNAME_RELEASE} 1494d1333322SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 1495d1333322SmrgUNAME_VERSION = ${UNAME_VERSION} 1496d1333322SmrgEOF 1497d1333322Smrg 1498d1333322Smrgexit 1 1499d1333322Smrg 1500d1333322Smrg# Local variables: 1501d1333322Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1502d1333322Smrg# time-stamp-start: "timestamp='" 1503d1333322Smrg# time-stamp-format: "%:y-%02m-%02d" 1504d1333322Smrg# time-stamp-end: "'" 1505d1333322Smrg# End: 1506