config.guess revision 7dff02fe
1a850946eSmrg#! /bin/sh 2a850946eSmrg# Attempt to guess a canonical system name. 3a850946eSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 47dff02feSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 570f7c90cSmrg# Free Software Foundation, Inc. 6a850946eSmrg 77dff02feSmrgtimestamp='2009-11-20' 8a850946eSmrg 9a850946eSmrg# This file is free software; you can redistribute it and/or modify it 10a850946eSmrg# under the terms of the GNU General Public License as published by 11a850946eSmrg# the Free Software Foundation; either version 2 of the License, or 12a850946eSmrg# (at your option) any later version. 13a850946eSmrg# 14a850946eSmrg# This program is distributed in the hope that it will be useful, but 15a850946eSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16a850946eSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17a850946eSmrg# General Public License for more details. 18a850946eSmrg# 19a850946eSmrg# You should have received a copy of the GNU General Public License 20a850946eSmrg# along with this program; if not, write to the Free Software 2170f7c90cSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 2270f7c90cSmrg# 02110-1301, USA. 23a850946eSmrg# 24a850946eSmrg# As a special exception to the GNU General Public License, if you 25a850946eSmrg# distribute this file as part of a program that contains a 26a850946eSmrg# configuration script generated by Autoconf, you may include it under 27a850946eSmrg# the same distribution terms that you use for the rest of that program. 28a850946eSmrg 2970f7c90cSmrg 307dff02feSmrg# Originally written by Per Bothner. Please send patches (context 317dff02feSmrg# diff format) to <config-patches@gnu.org> and include a ChangeLog 327dff02feSmrg# entry. 33a850946eSmrg# 34a850946eSmrg# This script attempts to guess a canonical system name similar to 35a850946eSmrg# config.sub. If it succeeds, it prints the system name on stdout, and 36a850946eSmrg# exits with 0. Otherwise, it exits with 1. 37a850946eSmrg# 387dff02feSmrg# You can get the latest version of this script from: 397dff02feSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 40a850946eSmrg 41a850946eSmrgme=`echo "$0" | sed -e 's,.*/,,'` 42a850946eSmrg 43a850946eSmrgusage="\ 44a850946eSmrgUsage: $0 [OPTION] 45a850946eSmrg 46a850946eSmrgOutput the configuration name of the system \`$me' is run on. 47a850946eSmrg 48a850946eSmrgOperation modes: 49a850946eSmrg -h, --help print this help, then exit 50a850946eSmrg -t, --time-stamp print date of last modification, then exit 51a850946eSmrg -v, --version print version number, then exit 52a850946eSmrg 53a850946eSmrgReport bugs and patches to <config-patches@gnu.org>." 54a850946eSmrg 55a850946eSmrgversion="\ 56a850946eSmrgGNU config.guess ($timestamp) 57a850946eSmrg 58a850946eSmrgOriginally written by Per Bothner. 5970f7c90cSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 6070f7c90cSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 61a850946eSmrg 62a850946eSmrgThis is free software; see the source for copying conditions. There is NO 63a850946eSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 64a850946eSmrg 65a850946eSmrghelp=" 66a850946eSmrgTry \`$me --help' for more information." 67a850946eSmrg 68a850946eSmrg# Parse command line 69a850946eSmrgwhile test $# -gt 0 ; do 70a850946eSmrg case $1 in 71a850946eSmrg --time-stamp | --time* | -t ) 7270f7c90cSmrg echo "$timestamp" ; exit ;; 73a850946eSmrg --version | -v ) 7470f7c90cSmrg echo "$version" ; exit ;; 75a850946eSmrg --help | --h* | -h ) 7670f7c90cSmrg echo "$usage"; exit ;; 77a850946eSmrg -- ) # Stop option processing 78a850946eSmrg shift; break ;; 79a850946eSmrg - ) # Use stdin as input. 80a850946eSmrg break ;; 81a850946eSmrg -* ) 82a850946eSmrg echo "$me: invalid option $1$help" >&2 83a850946eSmrg exit 1 ;; 84a850946eSmrg * ) 85a850946eSmrg break ;; 86a850946eSmrg esac 87a850946eSmrgdone 88a850946eSmrg 89a850946eSmrgif test $# != 0; then 90a850946eSmrg echo "$me: too many arguments$help" >&2 91a850946eSmrg exit 1 92a850946eSmrgfi 93a850946eSmrg 94a850946eSmrgtrap 'exit 1' 1 2 15 95a850946eSmrg 96a850946eSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 97a850946eSmrg# compiler to aid in system detection is discouraged as it requires 98a850946eSmrg# temporary files to be created and, as you can see below, it is a 99a850946eSmrg# headache to deal with in a portable fashion. 100a850946eSmrg 101a850946eSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 102a850946eSmrg# use `HOST_CC' if defined, but it is deprecated. 103a850946eSmrg 104a850946eSmrg# Portable tmp directory creation inspired by the Autoconf team. 105a850946eSmrg 106a850946eSmrgset_cc_for_build=' 107a850946eSmrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108a850946eSmrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 109a850946eSmrg: ${TMPDIR=/tmp} ; 11070f7c90cSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 111a850946eSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 112a850946eSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 113a850946eSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 114a850946eSmrgdummy=$tmp/dummy ; 115a850946eSmrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116a850946eSmrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 117a850946eSmrg ,,) echo "int x;" > $dummy.c ; 118a850946eSmrg for c in cc gcc c89 c99 ; do 119a850946eSmrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 120a850946eSmrg CC_FOR_BUILD="$c"; break ; 121a850946eSmrg fi ; 122a850946eSmrg done ; 123a850946eSmrg if test x"$CC_FOR_BUILD" = x ; then 124a850946eSmrg CC_FOR_BUILD=no_compiler_found ; 125a850946eSmrg fi 126a850946eSmrg ;; 127a850946eSmrg ,,*) CC_FOR_BUILD=$CC ;; 128a850946eSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 12970f7c90cSmrgesac ; set_cc_for_build= ;' 130a850946eSmrg 131a850946eSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 132a850946eSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 133a850946eSmrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 134a850946eSmrg PATH=$PATH:/.attbin ; export PATH 135a850946eSmrgfi 136a850946eSmrg 137a850946eSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 138a850946eSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139a850946eSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 140a850946eSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 141a850946eSmrg 142a850946eSmrg# Note: order is significant - the case branches are not exclusive. 143a850946eSmrg 144a850946eSmrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 145a850946eSmrg *:NetBSD:*:*) 146a850946eSmrg # NetBSD (nbsd) targets should (where applicable) match one or 147a850946eSmrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 148a850946eSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 149a850946eSmrg # switched to ELF, *-*-netbsd* would select the old 150a850946eSmrg # object file format. This provides both forward 151a850946eSmrg # compatibility and a consistent mechanism for selecting the 152a850946eSmrg # object file format. 153a850946eSmrg # 154a850946eSmrg # Note: NetBSD doesn't particularly care about the vendor 155a850946eSmrg # portion of the name. We always set it to "unknown". 156a850946eSmrg sysctl="sysctl -n hw.machine_arch" 157a850946eSmrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 158a850946eSmrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 159a850946eSmrg case "${UNAME_MACHINE_ARCH}" in 160a850946eSmrg armeb) machine=armeb-unknown ;; 161a850946eSmrg arm*) machine=arm-unknown ;; 162a850946eSmrg sh3el) machine=shl-unknown ;; 163a850946eSmrg sh3eb) machine=sh-unknown ;; 16470f7c90cSmrg sh5el) machine=sh5le-unknown ;; 165a850946eSmrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 166a850946eSmrg esac 167a850946eSmrg # The Operating System including object format, if it has switched 168a850946eSmrg # to ELF recently, or will in the future. 169a850946eSmrg case "${UNAME_MACHINE_ARCH}" in 170a850946eSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 171a850946eSmrg eval $set_cc_for_build 172a850946eSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1737dff02feSmrg | grep -q __ELF__ 174a850946eSmrg then 175a850946eSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 176a850946eSmrg # Return netbsd for either. FIX? 177a850946eSmrg os=netbsd 178a850946eSmrg else 179a850946eSmrg os=netbsdelf 180a850946eSmrg fi 181a850946eSmrg ;; 182a850946eSmrg *) 183a850946eSmrg os=netbsd 184a850946eSmrg ;; 185a850946eSmrg esac 186a850946eSmrg # The OS release 187a850946eSmrg # Debian GNU/NetBSD machines have a different userland, and 188a850946eSmrg # thus, need a distinct triplet. However, they do not need 189a850946eSmrg # kernel version information, so it can be replaced with a 190a850946eSmrg # suitable tag, in the style of linux-gnu. 191a850946eSmrg case "${UNAME_VERSION}" in 192a850946eSmrg Debian*) 193a850946eSmrg release='-gnu' 194a850946eSmrg ;; 195a850946eSmrg *) 196a850946eSmrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 197a850946eSmrg ;; 198a850946eSmrg esac 199a850946eSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 200a850946eSmrg # contains redundant information, the shorter form: 201a850946eSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 202a850946eSmrg echo "${machine}-${os}${release}" 20370f7c90cSmrg exit ;; 204a850946eSmrg *:OpenBSD:*:*) 20570f7c90cSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 20670f7c90cSmrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 20770f7c90cSmrg exit ;; 20870f7c90cSmrg *:ekkoBSD:*:*) 20970f7c90cSmrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 21070f7c90cSmrg exit ;; 21170f7c90cSmrg *:SolidBSD:*:*) 21270f7c90cSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 21370f7c90cSmrg exit ;; 21470f7c90cSmrg macppc:MirBSD:*:*) 21570f7c90cSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 21670f7c90cSmrg exit ;; 21770f7c90cSmrg *:MirBSD:*:*) 21870f7c90cSmrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 21970f7c90cSmrg exit ;; 220a850946eSmrg alpha:OSF1:*:*) 22170f7c90cSmrg case $UNAME_RELEASE in 22270f7c90cSmrg *4.0) 223a850946eSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 22470f7c90cSmrg ;; 22570f7c90cSmrg *5.*) 22670f7c90cSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 22770f7c90cSmrg ;; 22870f7c90cSmrg esac 229a850946eSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 230a850946eSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 231a850946eSmrg # covers most systems running today. This code pipes the CPU 232a850946eSmrg # types through head -n 1, so we only detect the type of CPU 0. 233a850946eSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 234a850946eSmrg case "$ALPHA_CPU_TYPE" in 235a850946eSmrg "EV4 (21064)") 236a850946eSmrg UNAME_MACHINE="alpha" ;; 237a850946eSmrg "EV4.5 (21064)") 238a850946eSmrg UNAME_MACHINE="alpha" ;; 239a850946eSmrg "LCA4 (21066/21068)") 240a850946eSmrg UNAME_MACHINE="alpha" ;; 241a850946eSmrg "EV5 (21164)") 242a850946eSmrg UNAME_MACHINE="alphaev5" ;; 243a850946eSmrg "EV5.6 (21164A)") 244a850946eSmrg UNAME_MACHINE="alphaev56" ;; 245a850946eSmrg "EV5.6 (21164PC)") 246a850946eSmrg UNAME_MACHINE="alphapca56" ;; 247a850946eSmrg "EV5.7 (21164PC)") 248a850946eSmrg UNAME_MACHINE="alphapca57" ;; 249a850946eSmrg "EV6 (21264)") 250a850946eSmrg UNAME_MACHINE="alphaev6" ;; 251a850946eSmrg "EV6.7 (21264A)") 252a850946eSmrg UNAME_MACHINE="alphaev67" ;; 253a850946eSmrg "EV6.8CB (21264C)") 254a850946eSmrg UNAME_MACHINE="alphaev68" ;; 255a850946eSmrg "EV6.8AL (21264B)") 256a850946eSmrg UNAME_MACHINE="alphaev68" ;; 257a850946eSmrg "EV6.8CX (21264D)") 258a850946eSmrg UNAME_MACHINE="alphaev68" ;; 259a850946eSmrg "EV6.9A (21264/EV69A)") 260a850946eSmrg UNAME_MACHINE="alphaev69" ;; 261a850946eSmrg "EV7 (21364)") 262a850946eSmrg UNAME_MACHINE="alphaev7" ;; 263a850946eSmrg "EV7.9 (21364A)") 264a850946eSmrg UNAME_MACHINE="alphaev79" ;; 265a850946eSmrg esac 26670f7c90cSmrg # A Pn.n version is a patched version. 267a850946eSmrg # A Vn.n version is a released version. 268a850946eSmrg # A Tn.n version is a released field test version. 269a850946eSmrg # A Xn.n version is an unreleased experimental baselevel. 270a850946eSmrg # 1.2 uses "1.2" for uname -r. 27170f7c90cSmrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 27270f7c90cSmrg exit ;; 273a850946eSmrg Alpha\ *:Windows_NT*:*) 274a850946eSmrg # How do we know it's Interix rather than the generic POSIX subsystem? 275a850946eSmrg # Should we change UNAME_MACHINE based on the output of uname instead 276a850946eSmrg # of the specific Alpha model? 277a850946eSmrg echo alpha-pc-interix 27870f7c90cSmrg exit ;; 279a850946eSmrg 21064:Windows_NT:50:3) 280a850946eSmrg echo alpha-dec-winnt3.5 28170f7c90cSmrg exit ;; 282a850946eSmrg Amiga*:UNIX_System_V:4.0:*) 283a850946eSmrg echo m68k-unknown-sysv4 28470f7c90cSmrg exit ;; 285a850946eSmrg *:[Aa]miga[Oo][Ss]:*:*) 286a850946eSmrg echo ${UNAME_MACHINE}-unknown-amigaos 28770f7c90cSmrg exit ;; 288a850946eSmrg *:[Mm]orph[Oo][Ss]:*:*) 289a850946eSmrg echo ${UNAME_MACHINE}-unknown-morphos 29070f7c90cSmrg exit ;; 291a850946eSmrg *:OS/390:*:*) 292a850946eSmrg echo i370-ibm-openedition 29370f7c90cSmrg exit ;; 29470f7c90cSmrg *:z/VM:*:*) 29570f7c90cSmrg echo s390-ibm-zvmoe 29670f7c90cSmrg exit ;; 29770f7c90cSmrg *:OS400:*:*) 29870f7c90cSmrg echo powerpc-ibm-os400 29970f7c90cSmrg exit ;; 300a850946eSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 301a850946eSmrg echo arm-acorn-riscix${UNAME_RELEASE} 30270f7c90cSmrg exit ;; 30370f7c90cSmrg arm:riscos:*:*|arm:RISCOS:*:*) 30470f7c90cSmrg echo arm-unknown-riscos 30570f7c90cSmrg exit ;; 306a850946eSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 307a850946eSmrg echo hppa1.1-hitachi-hiuxmpp 30870f7c90cSmrg exit ;; 309a850946eSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 310a850946eSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 311a850946eSmrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 312a850946eSmrg echo pyramid-pyramid-sysv3 313a850946eSmrg else 314a850946eSmrg echo pyramid-pyramid-bsd 315a850946eSmrg fi 31670f7c90cSmrg exit ;; 317a850946eSmrg NILE*:*:*:dcosx) 318a850946eSmrg echo pyramid-pyramid-svr4 31970f7c90cSmrg exit ;; 320a850946eSmrg DRS?6000:unix:4.0:6*) 321a850946eSmrg echo sparc-icl-nx6 32270f7c90cSmrg exit ;; 32370f7c90cSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 324a850946eSmrg case `/usr/bin/uname -p` in 32570f7c90cSmrg sparc) echo sparc-icl-nx7; exit ;; 326a850946eSmrg esac ;; 32770f7c90cSmrg s390x:SunOS:*:*) 32870f7c90cSmrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 32970f7c90cSmrg exit ;; 330a850946eSmrg sun4H:SunOS:5.*:*) 331a850946eSmrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 33270f7c90cSmrg exit ;; 333a850946eSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 334a850946eSmrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 33570f7c90cSmrg exit ;; 3367dff02feSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 3377dff02feSmrg echo i386-pc-auroraux${UNAME_RELEASE} 3387dff02feSmrg exit ;; 33970f7c90cSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 34070f7c90cSmrg eval $set_cc_for_build 34170f7c90cSmrg SUN_ARCH="i386" 34270f7c90cSmrg # If there is a compiler, see if it is configured for 64-bit objects. 34370f7c90cSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 34470f7c90cSmrg # This test works for both compilers. 34570f7c90cSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 34670f7c90cSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 34770f7c90cSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 34870f7c90cSmrg grep IS_64BIT_ARCH >/dev/null 34970f7c90cSmrg then 35070f7c90cSmrg SUN_ARCH="x86_64" 35170f7c90cSmrg fi 35270f7c90cSmrg fi 35370f7c90cSmrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 35470f7c90cSmrg exit ;; 355a850946eSmrg sun4*:SunOS:6*:*) 356a850946eSmrg # According to config.sub, this is the proper way to canonicalize 357a850946eSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 358a850946eSmrg # it's likely to be more like Solaris than SunOS4. 359a850946eSmrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 36070f7c90cSmrg exit ;; 361a850946eSmrg sun4*:SunOS:*:*) 362a850946eSmrg case "`/usr/bin/arch -k`" in 363a850946eSmrg Series*|S4*) 364a850946eSmrg UNAME_RELEASE=`uname -v` 365a850946eSmrg ;; 366a850946eSmrg esac 367a850946eSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 368a850946eSmrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 36970f7c90cSmrg exit ;; 370a850946eSmrg sun3*:SunOS:*:*) 371a850946eSmrg echo m68k-sun-sunos${UNAME_RELEASE} 37270f7c90cSmrg exit ;; 373a850946eSmrg sun*:*:4.2BSD:*) 374a850946eSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 375a850946eSmrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 376a850946eSmrg case "`/bin/arch`" in 377a850946eSmrg sun3) 378a850946eSmrg echo m68k-sun-sunos${UNAME_RELEASE} 379a850946eSmrg ;; 380a850946eSmrg sun4) 381a850946eSmrg echo sparc-sun-sunos${UNAME_RELEASE} 382a850946eSmrg ;; 383a850946eSmrg esac 38470f7c90cSmrg exit ;; 385a850946eSmrg aushp:SunOS:*:*) 386a850946eSmrg echo sparc-auspex-sunos${UNAME_RELEASE} 38770f7c90cSmrg exit ;; 388a850946eSmrg # The situation for MiNT is a little confusing. The machine name 389a850946eSmrg # can be virtually everything (everything which is not 390a850946eSmrg # "atarist" or "atariste" at least should have a processor 391a850946eSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 392a850946eSmrg # to the lowercase version "mint" (or "freemint"). Finally 393a850946eSmrg # the system name "TOS" denotes a system which is actually not 394a850946eSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 395a850946eSmrg # be no problem. 396a850946eSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 397a850946eSmrg echo m68k-atari-mint${UNAME_RELEASE} 39870f7c90cSmrg exit ;; 399a850946eSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 400a850946eSmrg echo m68k-atari-mint${UNAME_RELEASE} 40170f7c90cSmrg exit ;; 402a850946eSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 403a850946eSmrg echo m68k-atari-mint${UNAME_RELEASE} 40470f7c90cSmrg exit ;; 405a850946eSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 406a850946eSmrg echo m68k-milan-mint${UNAME_RELEASE} 40770f7c90cSmrg exit ;; 408a850946eSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 409a850946eSmrg echo m68k-hades-mint${UNAME_RELEASE} 41070f7c90cSmrg exit ;; 411a850946eSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 412a850946eSmrg echo m68k-unknown-mint${UNAME_RELEASE} 41370f7c90cSmrg exit ;; 41470f7c90cSmrg m68k:machten:*:*) 41570f7c90cSmrg echo m68k-apple-machten${UNAME_RELEASE} 41670f7c90cSmrg exit ;; 417a850946eSmrg powerpc:machten:*:*) 418a850946eSmrg echo powerpc-apple-machten${UNAME_RELEASE} 41970f7c90cSmrg exit ;; 420a850946eSmrg RISC*:Mach:*:*) 421a850946eSmrg echo mips-dec-mach_bsd4.3 42270f7c90cSmrg exit ;; 423a850946eSmrg RISC*:ULTRIX:*:*) 424a850946eSmrg echo mips-dec-ultrix${UNAME_RELEASE} 42570f7c90cSmrg exit ;; 426a850946eSmrg VAX*:ULTRIX*:*:*) 427a850946eSmrg echo vax-dec-ultrix${UNAME_RELEASE} 42870f7c90cSmrg exit ;; 429a850946eSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 430a850946eSmrg echo clipper-intergraph-clix${UNAME_RELEASE} 43170f7c90cSmrg exit ;; 432a850946eSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 433a850946eSmrg eval $set_cc_for_build 434a850946eSmrg sed 's/^ //' << EOF >$dummy.c 435a850946eSmrg#ifdef __cplusplus 436a850946eSmrg#include <stdio.h> /* for printf() prototype */ 437a850946eSmrg int main (int argc, char *argv[]) { 438a850946eSmrg#else 439a850946eSmrg int main (argc, argv) int argc; char *argv[]; { 440a850946eSmrg#endif 441a850946eSmrg #if defined (host_mips) && defined (MIPSEB) 442a850946eSmrg #if defined (SYSTYPE_SYSV) 443a850946eSmrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 444a850946eSmrg #endif 445a850946eSmrg #if defined (SYSTYPE_SVR4) 446a850946eSmrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 447a850946eSmrg #endif 448a850946eSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 449a850946eSmrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 450a850946eSmrg #endif 451a850946eSmrg #endif 452a850946eSmrg exit (-1); 453a850946eSmrg } 454a850946eSmrgEOF 45570f7c90cSmrg $CC_FOR_BUILD -o $dummy $dummy.c && 45670f7c90cSmrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 45770f7c90cSmrg SYSTEM_NAME=`$dummy $dummyarg` && 45870f7c90cSmrg { echo "$SYSTEM_NAME"; exit; } 459a850946eSmrg echo mips-mips-riscos${UNAME_RELEASE} 46070f7c90cSmrg exit ;; 461a850946eSmrg Motorola:PowerMAX_OS:*:*) 462a850946eSmrg echo powerpc-motorola-powermax 46370f7c90cSmrg exit ;; 464a850946eSmrg Motorola:*:4.3:PL8-*) 465a850946eSmrg echo powerpc-harris-powermax 46670f7c90cSmrg exit ;; 467a850946eSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 468a850946eSmrg echo powerpc-harris-powermax 46970f7c90cSmrg exit ;; 470a850946eSmrg Night_Hawk:Power_UNIX:*:*) 471a850946eSmrg echo powerpc-harris-powerunix 47270f7c90cSmrg exit ;; 473a850946eSmrg m88k:CX/UX:7*:*) 474a850946eSmrg echo m88k-harris-cxux7 47570f7c90cSmrg exit ;; 476a850946eSmrg m88k:*:4*:R4*) 477a850946eSmrg echo m88k-motorola-sysv4 47870f7c90cSmrg exit ;; 479a850946eSmrg m88k:*:3*:R3*) 480a850946eSmrg echo m88k-motorola-sysv3 48170f7c90cSmrg exit ;; 482a850946eSmrg AViiON:dgux:*:*) 483a850946eSmrg # DG/UX returns AViiON for all architectures 484a850946eSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 485a850946eSmrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 486a850946eSmrg then 487a850946eSmrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 488a850946eSmrg [ ${TARGET_BINARY_INTERFACE}x = x ] 489a850946eSmrg then 490a850946eSmrg echo m88k-dg-dgux${UNAME_RELEASE} 491a850946eSmrg else 492a850946eSmrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 493a850946eSmrg fi 494a850946eSmrg else 495a850946eSmrg echo i586-dg-dgux${UNAME_RELEASE} 496a850946eSmrg fi 49770f7c90cSmrg exit ;; 498a850946eSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 499a850946eSmrg echo m88k-dolphin-sysv3 50070f7c90cSmrg exit ;; 501a850946eSmrg M88*:*:R3*:*) 502a850946eSmrg # Delta 88k system running SVR3 503a850946eSmrg echo m88k-motorola-sysv3 50470f7c90cSmrg exit ;; 505a850946eSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 506a850946eSmrg echo m88k-tektronix-sysv3 50770f7c90cSmrg exit ;; 508a850946eSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 509a850946eSmrg echo m68k-tektronix-bsd 51070f7c90cSmrg exit ;; 511a850946eSmrg *:IRIX*:*:*) 512a850946eSmrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 51370f7c90cSmrg exit ;; 514a850946eSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 51570f7c90cSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 51670f7c90cSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 517a850946eSmrg i*86:AIX:*:*) 518a850946eSmrg echo i386-ibm-aix 51970f7c90cSmrg exit ;; 520a850946eSmrg ia64:AIX:*:*) 521a850946eSmrg if [ -x /usr/bin/oslevel ] ; then 522a850946eSmrg IBM_REV=`/usr/bin/oslevel` 523a850946eSmrg else 524a850946eSmrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 525a850946eSmrg fi 526a850946eSmrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 52770f7c90cSmrg exit ;; 528a850946eSmrg *:AIX:2:3) 529a850946eSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 530a850946eSmrg eval $set_cc_for_build 531a850946eSmrg sed 's/^ //' << EOF >$dummy.c 532a850946eSmrg #include <sys/systemcfg.h> 533a850946eSmrg 534a850946eSmrg main() 535a850946eSmrg { 536a850946eSmrg if (!__power_pc()) 537a850946eSmrg exit(1); 538a850946eSmrg puts("powerpc-ibm-aix3.2.5"); 539a850946eSmrg exit(0); 540a850946eSmrg } 541a850946eSmrgEOF 54270f7c90cSmrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 54370f7c90cSmrg then 54470f7c90cSmrg echo "$SYSTEM_NAME" 54570f7c90cSmrg else 54670f7c90cSmrg echo rs6000-ibm-aix3.2.5 54770f7c90cSmrg fi 548a850946eSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 549a850946eSmrg echo rs6000-ibm-aix3.2.4 550a850946eSmrg else 551a850946eSmrg echo rs6000-ibm-aix3.2 552a850946eSmrg fi 55370f7c90cSmrg exit ;; 55470f7c90cSmrg *:AIX:*:[456]) 555a850946eSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 556a850946eSmrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 557a850946eSmrg IBM_ARCH=rs6000 558a850946eSmrg else 559a850946eSmrg IBM_ARCH=powerpc 560a850946eSmrg fi 561a850946eSmrg if [ -x /usr/bin/oslevel ] ; then 562a850946eSmrg IBM_REV=`/usr/bin/oslevel` 563a850946eSmrg else 564a850946eSmrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 565a850946eSmrg fi 566a850946eSmrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 56770f7c90cSmrg exit ;; 568a850946eSmrg *:AIX:*:*) 569a850946eSmrg echo rs6000-ibm-aix 57070f7c90cSmrg exit ;; 571a850946eSmrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 572a850946eSmrg echo romp-ibm-bsd4.4 57370f7c90cSmrg exit ;; 574a850946eSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 575a850946eSmrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 57670f7c90cSmrg exit ;; # report: romp-ibm BSD 4.3 577a850946eSmrg *:BOSX:*:*) 578a850946eSmrg echo rs6000-bull-bosx 57970f7c90cSmrg exit ;; 580a850946eSmrg DPX/2?00:B.O.S.:*:*) 581a850946eSmrg echo m68k-bull-sysv3 58270f7c90cSmrg exit ;; 583a850946eSmrg 9000/[34]??:4.3bsd:1.*:*) 584a850946eSmrg echo m68k-hp-bsd 58570f7c90cSmrg exit ;; 586a850946eSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 587a850946eSmrg echo m68k-hp-bsd4.4 58870f7c90cSmrg exit ;; 589a850946eSmrg 9000/[34678]??:HP-UX:*:*) 590a850946eSmrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 591a850946eSmrg case "${UNAME_MACHINE}" in 592a850946eSmrg 9000/31? ) HP_ARCH=m68000 ;; 593a850946eSmrg 9000/[34]?? ) HP_ARCH=m68k ;; 594a850946eSmrg 9000/[678][0-9][0-9]) 595a850946eSmrg if [ -x /usr/bin/getconf ]; then 596a850946eSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 597a850946eSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 598a850946eSmrg case "${sc_cpu_version}" in 599a850946eSmrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 600a850946eSmrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 601a850946eSmrg 532) # CPU_PA_RISC2_0 602a850946eSmrg case "${sc_kernel_bits}" in 603a850946eSmrg 32) HP_ARCH="hppa2.0n" ;; 604a850946eSmrg 64) HP_ARCH="hppa2.0w" ;; 605a850946eSmrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 606a850946eSmrg esac ;; 607a850946eSmrg esac 608a850946eSmrg fi 609a850946eSmrg if [ "${HP_ARCH}" = "" ]; then 610a850946eSmrg eval $set_cc_for_build 611a850946eSmrg sed 's/^ //' << EOF >$dummy.c 612a850946eSmrg 613a850946eSmrg #define _HPUX_SOURCE 614a850946eSmrg #include <stdlib.h> 615a850946eSmrg #include <unistd.h> 616a850946eSmrg 617a850946eSmrg int main () 618a850946eSmrg { 619a850946eSmrg #if defined(_SC_KERNEL_BITS) 620a850946eSmrg long bits = sysconf(_SC_KERNEL_BITS); 621a850946eSmrg #endif 622a850946eSmrg long cpu = sysconf (_SC_CPU_VERSION); 623a850946eSmrg 624a850946eSmrg switch (cpu) 625a850946eSmrg { 626a850946eSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 627a850946eSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 628a850946eSmrg case CPU_PA_RISC2_0: 629a850946eSmrg #if defined(_SC_KERNEL_BITS) 630a850946eSmrg switch (bits) 631a850946eSmrg { 632a850946eSmrg case 64: puts ("hppa2.0w"); break; 633a850946eSmrg case 32: puts ("hppa2.0n"); break; 634a850946eSmrg default: puts ("hppa2.0"); break; 635a850946eSmrg } break; 636a850946eSmrg #else /* !defined(_SC_KERNEL_BITS) */ 637a850946eSmrg puts ("hppa2.0"); break; 638a850946eSmrg #endif 639a850946eSmrg default: puts ("hppa1.0"); break; 640a850946eSmrg } 641a850946eSmrg exit (0); 642a850946eSmrg } 643a850946eSmrgEOF 644a850946eSmrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 645a850946eSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 646a850946eSmrg fi ;; 647a850946eSmrg esac 648a850946eSmrg if [ ${HP_ARCH} = "hppa2.0w" ] 649a850946eSmrg then 65070f7c90cSmrg eval $set_cc_for_build 65170f7c90cSmrg 65270f7c90cSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 65370f7c90cSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 65470f7c90cSmrg # generating 64-bit code. GNU and HP use different nomenclature: 65570f7c90cSmrg # 65670f7c90cSmrg # $ CC_FOR_BUILD=cc ./config.guess 65770f7c90cSmrg # => hppa2.0w-hp-hpux11.23 65870f7c90cSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 65970f7c90cSmrg # => hppa64-hp-hpux11.23 66070f7c90cSmrg 66170f7c90cSmrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 6627dff02feSmrg grep -q __LP64__ 663a850946eSmrg then 664a850946eSmrg HP_ARCH="hppa2.0w" 665a850946eSmrg else 666a850946eSmrg HP_ARCH="hppa64" 667a850946eSmrg fi 668a850946eSmrg fi 669a850946eSmrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 67070f7c90cSmrg exit ;; 671a850946eSmrg ia64:HP-UX:*:*) 672a850946eSmrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 673a850946eSmrg echo ia64-hp-hpux${HPUX_REV} 67470f7c90cSmrg exit ;; 675a850946eSmrg 3050*:HI-UX:*:*) 676a850946eSmrg eval $set_cc_for_build 677a850946eSmrg sed 's/^ //' << EOF >$dummy.c 678a850946eSmrg #include <unistd.h> 679a850946eSmrg int 680a850946eSmrg main () 681a850946eSmrg { 682a850946eSmrg long cpu = sysconf (_SC_CPU_VERSION); 683a850946eSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 684a850946eSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 685a850946eSmrg results, however. */ 686a850946eSmrg if (CPU_IS_PA_RISC (cpu)) 687a850946eSmrg { 688a850946eSmrg switch (cpu) 689a850946eSmrg { 690a850946eSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 691a850946eSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 692a850946eSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 693a850946eSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 694a850946eSmrg } 695a850946eSmrg } 696a850946eSmrg else if (CPU_IS_HP_MC68K (cpu)) 697a850946eSmrg puts ("m68k-hitachi-hiuxwe2"); 698a850946eSmrg else puts ("unknown-hitachi-hiuxwe2"); 699a850946eSmrg exit (0); 700a850946eSmrg } 701a850946eSmrgEOF 70270f7c90cSmrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 70370f7c90cSmrg { echo "$SYSTEM_NAME"; exit; } 704a850946eSmrg echo unknown-hitachi-hiuxwe2 70570f7c90cSmrg exit ;; 706a850946eSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 707a850946eSmrg echo hppa1.1-hp-bsd 70870f7c90cSmrg exit ;; 709a850946eSmrg 9000/8??:4.3bsd:*:*) 710a850946eSmrg echo hppa1.0-hp-bsd 71170f7c90cSmrg exit ;; 712a850946eSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 713a850946eSmrg echo hppa1.0-hp-mpeix 71470f7c90cSmrg exit ;; 715a850946eSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 716a850946eSmrg echo hppa1.1-hp-osf 71770f7c90cSmrg exit ;; 718a850946eSmrg hp8??:OSF1:*:*) 719a850946eSmrg echo hppa1.0-hp-osf 72070f7c90cSmrg exit ;; 721a850946eSmrg i*86:OSF1:*:*) 722a850946eSmrg if [ -x /usr/sbin/sysversion ] ; then 723a850946eSmrg echo ${UNAME_MACHINE}-unknown-osf1mk 724a850946eSmrg else 725a850946eSmrg echo ${UNAME_MACHINE}-unknown-osf1 726a850946eSmrg fi 72770f7c90cSmrg exit ;; 728a850946eSmrg parisc*:Lites*:*:*) 729a850946eSmrg echo hppa1.1-hp-lites 73070f7c90cSmrg exit ;; 731a850946eSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 732a850946eSmrg echo c1-convex-bsd 73370f7c90cSmrg exit ;; 734a850946eSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 735a850946eSmrg if getsysinfo -f scalar_acc 736a850946eSmrg then echo c32-convex-bsd 737a850946eSmrg else echo c2-convex-bsd 738a850946eSmrg fi 73970f7c90cSmrg exit ;; 740a850946eSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 741a850946eSmrg echo c34-convex-bsd 74270f7c90cSmrg exit ;; 743a850946eSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 744a850946eSmrg echo c38-convex-bsd 74570f7c90cSmrg exit ;; 746a850946eSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 747a850946eSmrg echo c4-convex-bsd 74870f7c90cSmrg exit ;; 749a850946eSmrg CRAY*Y-MP:*:*:*) 750a850946eSmrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 75170f7c90cSmrg exit ;; 752a850946eSmrg CRAY*[A-Z]90:*:*:*) 753a850946eSmrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 754a850946eSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 755a850946eSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 756a850946eSmrg -e 's/\.[^.]*$/.X/' 75770f7c90cSmrg exit ;; 758a850946eSmrg CRAY*TS:*:*:*) 759a850946eSmrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 76070f7c90cSmrg exit ;; 761a850946eSmrg CRAY*T3E:*:*:*) 762a850946eSmrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 76370f7c90cSmrg exit ;; 764a850946eSmrg CRAY*SV1:*:*:*) 765a850946eSmrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 76670f7c90cSmrg exit ;; 767a850946eSmrg *:UNICOS/mp:*:*) 76870f7c90cSmrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 76970f7c90cSmrg exit ;; 770a850946eSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 771a850946eSmrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 772a850946eSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 773a850946eSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 774a850946eSmrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 77570f7c90cSmrg exit ;; 77670f7c90cSmrg 5000:UNIX_System_V:4.*:*) 77770f7c90cSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 77870f7c90cSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 77970f7c90cSmrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 78070f7c90cSmrg exit ;; 781a850946eSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 782a850946eSmrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 78370f7c90cSmrg exit ;; 784a850946eSmrg sparc*:BSD/OS:*:*) 785a850946eSmrg echo sparc-unknown-bsdi${UNAME_RELEASE} 78670f7c90cSmrg exit ;; 787a850946eSmrg *:BSD/OS:*:*) 788a850946eSmrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 78970f7c90cSmrg exit ;; 79070f7c90cSmrg *:FreeBSD:*:*) 79170f7c90cSmrg case ${UNAME_MACHINE} in 79270f7c90cSmrg pc98) 79370f7c90cSmrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 79470f7c90cSmrg amd64) 79570f7c90cSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 79670f7c90cSmrg *) 79770f7c90cSmrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 79870f7c90cSmrg esac 79970f7c90cSmrg exit ;; 800a850946eSmrg i*:CYGWIN*:*) 801a850946eSmrg echo ${UNAME_MACHINE}-pc-cygwin 80270f7c90cSmrg exit ;; 80370f7c90cSmrg *:MINGW*:*) 804a850946eSmrg echo ${UNAME_MACHINE}-pc-mingw32 80570f7c90cSmrg exit ;; 80670f7c90cSmrg i*:windows32*:*) 80770f7c90cSmrg # uname -m includes "-pc" on this system. 80870f7c90cSmrg echo ${UNAME_MACHINE}-mingw32 80970f7c90cSmrg exit ;; 810a850946eSmrg i*:PW*:*) 811a850946eSmrg echo ${UNAME_MACHINE}-pc-pw32 81270f7c90cSmrg exit ;; 8137dff02feSmrg *:Interix*:*) 81470f7c90cSmrg case ${UNAME_MACHINE} in 81570f7c90cSmrg x86) 81670f7c90cSmrg echo i586-pc-interix${UNAME_RELEASE} 81770f7c90cSmrg exit ;; 8187dff02feSmrg authenticamd | genuineintel | EM64T) 81970f7c90cSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 82070f7c90cSmrg exit ;; 82170f7c90cSmrg IA64) 82270f7c90cSmrg echo ia64-unknown-interix${UNAME_RELEASE} 82370f7c90cSmrg exit ;; 82470f7c90cSmrg esac ;; 825a850946eSmrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 826a850946eSmrg echo i${UNAME_MACHINE}-pc-mks 82770f7c90cSmrg exit ;; 8287dff02feSmrg 8664:Windows_NT:*) 8297dff02feSmrg echo x86_64-pc-mks 8307dff02feSmrg exit ;; 831a850946eSmrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 832a850946eSmrg # How do we know it's Interix rather than the generic POSIX subsystem? 833a850946eSmrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 834a850946eSmrg # UNAME_MACHINE based on the output of uname instead of i386? 835a850946eSmrg echo i586-pc-interix 83670f7c90cSmrg exit ;; 837a850946eSmrg i*:UWIN*:*) 838a850946eSmrg echo ${UNAME_MACHINE}-pc-uwin 83970f7c90cSmrg exit ;; 84070f7c90cSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 84170f7c90cSmrg echo x86_64-unknown-cygwin 84270f7c90cSmrg exit ;; 843a850946eSmrg p*:CYGWIN*:*) 844a850946eSmrg echo powerpcle-unknown-cygwin 84570f7c90cSmrg exit ;; 846a850946eSmrg prep*:SunOS:5.*:*) 847a850946eSmrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 84870f7c90cSmrg exit ;; 849a850946eSmrg *:GNU:*:*) 85070f7c90cSmrg # the GNU system 851a850946eSmrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 85270f7c90cSmrg exit ;; 85370f7c90cSmrg *:GNU/*:*:*) 85470f7c90cSmrg # other systems with GNU libc and userland 85570f7c90cSmrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 85670f7c90cSmrg exit ;; 857a850946eSmrg i*86:Minix:*:*) 858a850946eSmrg echo ${UNAME_MACHINE}-pc-minix 85970f7c90cSmrg exit ;; 8607dff02feSmrg alpha:Linux:*:*) 8617dff02feSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 8627dff02feSmrg EV5) UNAME_MACHINE=alphaev5 ;; 8637dff02feSmrg EV56) UNAME_MACHINE=alphaev56 ;; 8647dff02feSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 8657dff02feSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 8667dff02feSmrg EV6) UNAME_MACHINE=alphaev6 ;; 8677dff02feSmrg EV67) UNAME_MACHINE=alphaev67 ;; 8687dff02feSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 8697dff02feSmrg esac 8707dff02feSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 8717dff02feSmrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 8727dff02feSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 8737dff02feSmrg exit ;; 874a850946eSmrg arm*:Linux:*:*) 87570f7c90cSmrg eval $set_cc_for_build 87670f7c90cSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 87770f7c90cSmrg | grep -q __ARM_EABI__ 87870f7c90cSmrg then 87970f7c90cSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 88070f7c90cSmrg else 88170f7c90cSmrg echo ${UNAME_MACHINE}-unknown-linux-gnueabi 88270f7c90cSmrg fi 88370f7c90cSmrg exit ;; 88470f7c90cSmrg avr32*:Linux:*:*) 885a850946eSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 88670f7c90cSmrg exit ;; 887a850946eSmrg cris:Linux:*:*) 888a850946eSmrg echo cris-axis-linux-gnu 88970f7c90cSmrg exit ;; 89070f7c90cSmrg crisv32:Linux:*:*) 89170f7c90cSmrg echo crisv32-axis-linux-gnu 89270f7c90cSmrg exit ;; 89370f7c90cSmrg frv:Linux:*:*) 89470f7c90cSmrg echo frv-unknown-linux-gnu 89570f7c90cSmrg exit ;; 8967dff02feSmrg i*86:Linux:*:*) 8977dff02feSmrg LIBC=gnu 8987dff02feSmrg eval $set_cc_for_build 8997dff02feSmrg sed 's/^ //' << EOF >$dummy.c 9007dff02feSmrg #ifdef __dietlibc__ 9017dff02feSmrg LIBC=dietlibc 9027dff02feSmrg #endif 9037dff02feSmrgEOF 9047dff02feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` 9057dff02feSmrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 9067dff02feSmrg exit ;; 907a850946eSmrg ia64:Linux:*:*) 90870f7c90cSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 90970f7c90cSmrg exit ;; 91070f7c90cSmrg m32r*:Linux:*:*) 91170f7c90cSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 91270f7c90cSmrg exit ;; 913a850946eSmrg m68*:Linux:*:*) 914a850946eSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 91570f7c90cSmrg exit ;; 9167dff02feSmrg mips:Linux:*:* | mips64:Linux:*:*) 917a850946eSmrg eval $set_cc_for_build 918a850946eSmrg sed 's/^ //' << EOF >$dummy.c 919a850946eSmrg #undef CPU 9207dff02feSmrg #undef ${UNAME_MACHINE} 9217dff02feSmrg #undef ${UNAME_MACHINE}el 922a850946eSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 9237dff02feSmrg CPU=${UNAME_MACHINE}el 924a850946eSmrg #else 925a850946eSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 9267dff02feSmrg CPU=${UNAME_MACHINE} 927a850946eSmrg #else 928a850946eSmrg CPU= 929a850946eSmrg #endif 930a850946eSmrg #endif 931a850946eSmrgEOF 9327dff02feSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 93370f7c90cSmrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 934a850946eSmrg ;; 93570f7c90cSmrg or32:Linux:*:*) 93670f7c90cSmrg echo or32-unknown-linux-gnu 93770f7c90cSmrg exit ;; 93870f7c90cSmrg padre:Linux:*:*) 93970f7c90cSmrg echo sparc-unknown-linux-gnu 94070f7c90cSmrg exit ;; 9417dff02feSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 9427dff02feSmrg echo hppa64-unknown-linux-gnu 9437dff02feSmrg exit ;; 944a850946eSmrg parisc:Linux:*:* | hppa:Linux:*:*) 945a850946eSmrg # Look for CPU level 946a850946eSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 947a850946eSmrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 948a850946eSmrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 949a850946eSmrg *) echo hppa-unknown-linux-gnu ;; 950a850946eSmrg esac 95170f7c90cSmrg exit ;; 9527dff02feSmrg ppc64:Linux:*:*) 9537dff02feSmrg echo powerpc64-unknown-linux-gnu 9547dff02feSmrg exit ;; 9557dff02feSmrg ppc:Linux:*:*) 9567dff02feSmrg echo powerpc-unknown-linux-gnu 95770f7c90cSmrg exit ;; 958a850946eSmrg s390:Linux:*:* | s390x:Linux:*:*) 95970f7c90cSmrg echo ${UNAME_MACHINE}-ibm-linux 96070f7c90cSmrg exit ;; 961a850946eSmrg sh64*:Linux:*:*) 962a850946eSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 96370f7c90cSmrg exit ;; 964a850946eSmrg sh*:Linux:*:*) 965a850946eSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 96670f7c90cSmrg exit ;; 967a850946eSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 968a850946eSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 96970f7c90cSmrg exit ;; 97070f7c90cSmrg vax:Linux:*:*) 97170f7c90cSmrg echo ${UNAME_MACHINE}-dec-linux-gnu 97270f7c90cSmrg exit ;; 973a850946eSmrg x86_64:Linux:*:*) 97470f7c90cSmrg echo x86_64-unknown-linux-gnu 97570f7c90cSmrg exit ;; 97670f7c90cSmrg xtensa*:Linux:*:*) 97770f7c90cSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 97870f7c90cSmrg exit ;; 979a850946eSmrg i*86:DYNIX/ptx:4*:*) 980a850946eSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 981a850946eSmrg # earlier versions are messed up and put the nodename in both 982a850946eSmrg # sysname and nodename. 983a850946eSmrg echo i386-sequent-sysv4 98470f7c90cSmrg exit ;; 985a850946eSmrg i*86:UNIX_SV:4.2MP:2.*) 986a850946eSmrg # Unixware is an offshoot of SVR4, but it has its own version 987a850946eSmrg # number series starting with 2... 988a850946eSmrg # I am not positive that other SVR4 systems won't match this, 989a850946eSmrg # I just have to hope. -- rms. 990a850946eSmrg # Use sysv4.2uw... so that sysv4* matches it. 991a850946eSmrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 99270f7c90cSmrg exit ;; 993a850946eSmrg i*86:OS/2:*:*) 994a850946eSmrg # If we were able to find `uname', then EMX Unix compatibility 995a850946eSmrg # is probably installed. 996a850946eSmrg echo ${UNAME_MACHINE}-pc-os2-emx 99770f7c90cSmrg exit ;; 998a850946eSmrg i*86:XTS-300:*:STOP) 999a850946eSmrg echo ${UNAME_MACHINE}-unknown-stop 100070f7c90cSmrg exit ;; 1001a850946eSmrg i*86:atheos:*:*) 1002a850946eSmrg echo ${UNAME_MACHINE}-unknown-atheos 100370f7c90cSmrg exit ;; 100470f7c90cSmrg i*86:syllable:*:*) 100570f7c90cSmrg echo ${UNAME_MACHINE}-pc-syllable 100670f7c90cSmrg exit ;; 10077dff02feSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1008a850946eSmrg echo i386-unknown-lynxos${UNAME_RELEASE} 100970f7c90cSmrg exit ;; 1010a850946eSmrg i*86:*DOS:*:*) 1011a850946eSmrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 101270f7c90cSmrg exit ;; 1013a850946eSmrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1014a850946eSmrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1015a850946eSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1016a850946eSmrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1017a850946eSmrg else 1018a850946eSmrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1019a850946eSmrg fi 102070f7c90cSmrg exit ;; 102170f7c90cSmrg i*86:*:5:[678]*) 102270f7c90cSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1023a850946eSmrg case `/bin/uname -X | grep "^Machine"` in 1024a850946eSmrg *486*) UNAME_MACHINE=i486 ;; 1025a850946eSmrg *Pentium) UNAME_MACHINE=i586 ;; 1026a850946eSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1027a850946eSmrg esac 1028a850946eSmrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 102970f7c90cSmrg exit ;; 1030a850946eSmrg i*86:*:3.2:*) 1031a850946eSmrg if test -f /usr/options/cb.name; then 1032a850946eSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1033a850946eSmrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1034a850946eSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1035a850946eSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1036a850946eSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1037a850946eSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1038a850946eSmrg && UNAME_MACHINE=i586 1039a850946eSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1040a850946eSmrg && UNAME_MACHINE=i686 1041a850946eSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1042a850946eSmrg && UNAME_MACHINE=i686 1043a850946eSmrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1044a850946eSmrg else 1045a850946eSmrg echo ${UNAME_MACHINE}-pc-sysv32 1046a850946eSmrg fi 104770f7c90cSmrg exit ;; 1048a850946eSmrg pc:*:*:*) 1049a850946eSmrg # Left here for compatibility: 1050a850946eSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 105170f7c90cSmrg # the processor, so we play safe by assuming i586. 105270f7c90cSmrg # Note: whatever this is, it MUST be the same as what config.sub 105370f7c90cSmrg # prints for the "djgpp" host, or else GDB configury will decide that 105470f7c90cSmrg # this is a cross-build. 105570f7c90cSmrg echo i586-pc-msdosdjgpp 105670f7c90cSmrg exit ;; 1057a850946eSmrg Intel:Mach:3*:*) 1058a850946eSmrg echo i386-pc-mach3 105970f7c90cSmrg exit ;; 1060a850946eSmrg paragon:*:*:*) 1061a850946eSmrg echo i860-intel-osf1 106270f7c90cSmrg exit ;; 1063a850946eSmrg i860:*:4.*:*) # i860-SVR4 1064a850946eSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1065a850946eSmrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1066a850946eSmrg else # Add other i860-SVR4 vendors below as they are discovered. 1067a850946eSmrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1068a850946eSmrg fi 106970f7c90cSmrg exit ;; 1070a850946eSmrg mini*:CTIX:SYS*5:*) 1071a850946eSmrg # "miniframe" 1072a850946eSmrg echo m68010-convergent-sysv 107370f7c90cSmrg exit ;; 1074a850946eSmrg mc68k:UNIX:SYSTEM5:3.51m) 1075a850946eSmrg echo m68k-convergent-sysv 107670f7c90cSmrg exit ;; 1077a850946eSmrg M680?0:D-NIX:5.3:*) 1078a850946eSmrg echo m68k-diab-dnix 107970f7c90cSmrg exit ;; 108070f7c90cSmrg M68*:*:R3V[5678]*:*) 108170f7c90cSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 108270f7c90cSmrg 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) 1083a850946eSmrg OS_REL='' 1084a850946eSmrg test -r /etc/.relid \ 1085a850946eSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1086a850946eSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 108770f7c90cSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1088a850946eSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 108970f7c90cSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1090a850946eSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1091a850946eSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 109270f7c90cSmrg && { echo i486-ncr-sysv4; exit; } ;; 109370f7c90cSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 109470f7c90cSmrg OS_REL='.3' 109570f7c90cSmrg test -r /etc/.relid \ 109670f7c90cSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 109770f7c90cSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 109870f7c90cSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 109970f7c90cSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 110070f7c90cSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 110170f7c90cSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 110270f7c90cSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1103a850946eSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1104a850946eSmrg echo m68k-unknown-lynxos${UNAME_RELEASE} 110570f7c90cSmrg exit ;; 1106a850946eSmrg mc68030:UNIX_System_V:4.*:*) 1107a850946eSmrg echo m68k-atari-sysv4 110870f7c90cSmrg exit ;; 1109a850946eSmrg TSUNAMI:LynxOS:2.*:*) 1110a850946eSmrg echo sparc-unknown-lynxos${UNAME_RELEASE} 111170f7c90cSmrg exit ;; 1112a850946eSmrg rs6000:LynxOS:2.*:*) 1113a850946eSmrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 111470f7c90cSmrg exit ;; 11157dff02feSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1116a850946eSmrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 111770f7c90cSmrg exit ;; 1118a850946eSmrg SM[BE]S:UNIX_SV:*:*) 1119a850946eSmrg echo mips-dde-sysv${UNAME_RELEASE} 112070f7c90cSmrg exit ;; 1121a850946eSmrg RM*:ReliantUNIX-*:*:*) 1122a850946eSmrg echo mips-sni-sysv4 112370f7c90cSmrg exit ;; 1124a850946eSmrg RM*:SINIX-*:*:*) 1125a850946eSmrg echo mips-sni-sysv4 112670f7c90cSmrg exit ;; 1127a850946eSmrg *:SINIX-*:*:*) 1128a850946eSmrg if uname -p 2>/dev/null >/dev/null ; then 1129a850946eSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1130a850946eSmrg echo ${UNAME_MACHINE}-sni-sysv4 1131a850946eSmrg else 1132a850946eSmrg echo ns32k-sni-sysv 1133a850946eSmrg fi 113470f7c90cSmrg exit ;; 1135a850946eSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1136a850946eSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1137a850946eSmrg echo i586-unisys-sysv4 113870f7c90cSmrg exit ;; 1139a850946eSmrg *:UNIX_System_V:4*:FTX*) 1140a850946eSmrg # From Gerald Hewes <hewes@openmarket.com>. 1141a850946eSmrg # How about differentiating between stratus architectures? -djm 1142a850946eSmrg echo hppa1.1-stratus-sysv4 114370f7c90cSmrg exit ;; 1144a850946eSmrg *:*:*:FTX*) 1145a850946eSmrg # From seanf@swdc.stratus.com. 1146a850946eSmrg echo i860-stratus-sysv4 114770f7c90cSmrg exit ;; 114870f7c90cSmrg i*86:VOS:*:*) 114970f7c90cSmrg # From Paul.Green@stratus.com. 115070f7c90cSmrg echo ${UNAME_MACHINE}-stratus-vos 115170f7c90cSmrg exit ;; 1152a850946eSmrg *:VOS:*:*) 1153a850946eSmrg # From Paul.Green@stratus.com. 1154a850946eSmrg echo hppa1.1-stratus-vos 115570f7c90cSmrg exit ;; 1156a850946eSmrg mc68*:A/UX:*:*) 1157a850946eSmrg echo m68k-apple-aux${UNAME_RELEASE} 115870f7c90cSmrg exit ;; 1159a850946eSmrg news*:NEWS-OS:6*:*) 1160a850946eSmrg echo mips-sony-newsos6 116170f7c90cSmrg exit ;; 1162a850946eSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1163a850946eSmrg if [ -d /usr/nec ]; then 1164a850946eSmrg echo mips-nec-sysv${UNAME_RELEASE} 1165a850946eSmrg else 1166a850946eSmrg echo mips-unknown-sysv${UNAME_RELEASE} 1167a850946eSmrg fi 116870f7c90cSmrg exit ;; 1169a850946eSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1170a850946eSmrg echo powerpc-be-beos 117170f7c90cSmrg exit ;; 1172a850946eSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1173a850946eSmrg echo powerpc-apple-beos 117470f7c90cSmrg exit ;; 1175a850946eSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1176a850946eSmrg echo i586-pc-beos 117770f7c90cSmrg exit ;; 117870f7c90cSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 117970f7c90cSmrg echo i586-pc-haiku 118070f7c90cSmrg exit ;; 1181a850946eSmrg SX-4:SUPER-UX:*:*) 1182a850946eSmrg echo sx4-nec-superux${UNAME_RELEASE} 118370f7c90cSmrg exit ;; 1184a850946eSmrg SX-5:SUPER-UX:*:*) 1185a850946eSmrg echo sx5-nec-superux${UNAME_RELEASE} 118670f7c90cSmrg exit ;; 1187a850946eSmrg SX-6:SUPER-UX:*:*) 1188a850946eSmrg echo sx6-nec-superux${UNAME_RELEASE} 118970f7c90cSmrg exit ;; 119070f7c90cSmrg SX-7:SUPER-UX:*:*) 119170f7c90cSmrg echo sx7-nec-superux${UNAME_RELEASE} 119270f7c90cSmrg exit ;; 119370f7c90cSmrg SX-8:SUPER-UX:*:*) 119470f7c90cSmrg echo sx8-nec-superux${UNAME_RELEASE} 119570f7c90cSmrg exit ;; 119670f7c90cSmrg SX-8R:SUPER-UX:*:*) 119770f7c90cSmrg echo sx8r-nec-superux${UNAME_RELEASE} 119870f7c90cSmrg exit ;; 1199a850946eSmrg Power*:Rhapsody:*:*) 1200a850946eSmrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 120170f7c90cSmrg exit ;; 1202a850946eSmrg *:Rhapsody:*:*) 1203a850946eSmrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 120470f7c90cSmrg exit ;; 1205a850946eSmrg *:Darwin:*:*) 120670f7c90cSmrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 120770f7c90cSmrg case $UNAME_PROCESSOR in 12087dff02feSmrg i386) 12097dff02feSmrg eval $set_cc_for_build 12107dff02feSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 12117dff02feSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 12127dff02feSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 12137dff02feSmrg grep IS_64BIT_ARCH >/dev/null 12147dff02feSmrg then 12157dff02feSmrg UNAME_PROCESSOR="x86_64" 12167dff02feSmrg fi 12177dff02feSmrg fi ;; 121870f7c90cSmrg unknown) UNAME_PROCESSOR=powerpc ;; 1219a850946eSmrg esac 1220a850946eSmrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 122170f7c90cSmrg exit ;; 1222a850946eSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1223a850946eSmrg UNAME_PROCESSOR=`uname -p` 1224a850946eSmrg if test "$UNAME_PROCESSOR" = "x86"; then 1225a850946eSmrg UNAME_PROCESSOR=i386 1226a850946eSmrg UNAME_MACHINE=pc 1227a850946eSmrg fi 1228a850946eSmrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 122970f7c90cSmrg exit ;; 1230a850946eSmrg *:QNX:*:4*) 1231a850946eSmrg echo i386-pc-qnx 123270f7c90cSmrg exit ;; 123370f7c90cSmrg NSE-?:NONSTOP_KERNEL:*:*) 123470f7c90cSmrg echo nse-tandem-nsk${UNAME_RELEASE} 123570f7c90cSmrg exit ;; 123670f7c90cSmrg NSR-?:NONSTOP_KERNEL:*:*) 1237a850946eSmrg echo nsr-tandem-nsk${UNAME_RELEASE} 123870f7c90cSmrg exit ;; 1239a850946eSmrg *:NonStop-UX:*:*) 1240a850946eSmrg echo mips-compaq-nonstopux 124170f7c90cSmrg exit ;; 1242a850946eSmrg BS2000:POSIX*:*:*) 1243a850946eSmrg echo bs2000-siemens-sysv 124470f7c90cSmrg exit ;; 1245a850946eSmrg DS/*:UNIX_System_V:*:*) 1246a850946eSmrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 124770f7c90cSmrg exit ;; 1248a850946eSmrg *:Plan9:*:*) 1249a850946eSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1250a850946eSmrg # is converted to i386 for consistency with other x86 1251a850946eSmrg # operating systems. 1252a850946eSmrg if test "$cputype" = "386"; then 1253a850946eSmrg UNAME_MACHINE=i386 1254a850946eSmrg else 1255a850946eSmrg UNAME_MACHINE="$cputype" 1256a850946eSmrg fi 1257a850946eSmrg echo ${UNAME_MACHINE}-unknown-plan9 125870f7c90cSmrg exit ;; 1259a850946eSmrg *:TOPS-10:*:*) 1260a850946eSmrg echo pdp10-unknown-tops10 126170f7c90cSmrg exit ;; 1262a850946eSmrg *:TENEX:*:*) 1263a850946eSmrg echo pdp10-unknown-tenex 126470f7c90cSmrg exit ;; 1265a850946eSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1266a850946eSmrg echo pdp10-dec-tops20 126770f7c90cSmrg exit ;; 1268a850946eSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1269a850946eSmrg echo pdp10-xkl-tops20 127070f7c90cSmrg exit ;; 1271a850946eSmrg *:TOPS-20:*:*) 1272a850946eSmrg echo pdp10-unknown-tops20 127370f7c90cSmrg exit ;; 1274a850946eSmrg *:ITS:*:*) 1275a850946eSmrg echo pdp10-unknown-its 127670f7c90cSmrg exit ;; 1277a850946eSmrg SEI:*:*:SEIUX) 1278a850946eSmrg echo mips-sei-seiux${UNAME_RELEASE} 127970f7c90cSmrg exit ;; 128070f7c90cSmrg *:DragonFly:*:*) 128170f7c90cSmrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 128270f7c90cSmrg exit ;; 128370f7c90cSmrg *:*VMS:*:*) 128470f7c90cSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 128570f7c90cSmrg case "${UNAME_MACHINE}" in 128670f7c90cSmrg A*) echo alpha-dec-vms ; exit ;; 128770f7c90cSmrg I*) echo ia64-dec-vms ; exit ;; 128870f7c90cSmrg V*) echo vax-dec-vms ; exit ;; 128970f7c90cSmrg esac ;; 129070f7c90cSmrg *:XENIX:*:SysV) 129170f7c90cSmrg echo i386-pc-xenix 129270f7c90cSmrg exit ;; 129370f7c90cSmrg i*86:skyos:*:*) 129470f7c90cSmrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 129570f7c90cSmrg exit ;; 129670f7c90cSmrg i*86:rdos:*:*) 129770f7c90cSmrg echo ${UNAME_MACHINE}-pc-rdos 129870f7c90cSmrg exit ;; 129970f7c90cSmrg i*86:AROS:*:*) 130070f7c90cSmrg echo ${UNAME_MACHINE}-pc-aros 130170f7c90cSmrg exit ;; 1302a850946eSmrgesac 1303a850946eSmrg 1304a850946eSmrg#echo '(No uname command or uname output not recognized.)' 1>&2 1305a850946eSmrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1306a850946eSmrg 1307a850946eSmrgeval $set_cc_for_build 1308a850946eSmrgcat >$dummy.c <<EOF 1309a850946eSmrg#ifdef _SEQUENT_ 1310a850946eSmrg# include <sys/types.h> 1311a850946eSmrg# include <sys/utsname.h> 1312a850946eSmrg#endif 1313a850946eSmrgmain () 1314a850946eSmrg{ 1315a850946eSmrg#if defined (sony) 1316a850946eSmrg#if defined (MIPSEB) 1317a850946eSmrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1318a850946eSmrg I don't know.... */ 1319a850946eSmrg printf ("mips-sony-bsd\n"); exit (0); 1320a850946eSmrg#else 1321a850946eSmrg#include <sys/param.h> 1322a850946eSmrg printf ("m68k-sony-newsos%s\n", 1323a850946eSmrg#ifdef NEWSOS4 1324a850946eSmrg "4" 1325a850946eSmrg#else 1326a850946eSmrg "" 1327a850946eSmrg#endif 1328a850946eSmrg ); exit (0); 1329a850946eSmrg#endif 1330a850946eSmrg#endif 1331a850946eSmrg 1332a850946eSmrg#if defined (__arm) && defined (__acorn) && defined (__unix) 133370f7c90cSmrg printf ("arm-acorn-riscix\n"); exit (0); 1334a850946eSmrg#endif 1335a850946eSmrg 1336a850946eSmrg#if defined (hp300) && !defined (hpux) 1337a850946eSmrg printf ("m68k-hp-bsd\n"); exit (0); 1338a850946eSmrg#endif 1339a850946eSmrg 1340a850946eSmrg#if defined (NeXT) 1341a850946eSmrg#if !defined (__ARCHITECTURE__) 1342a850946eSmrg#define __ARCHITECTURE__ "m68k" 1343a850946eSmrg#endif 1344a850946eSmrg int version; 1345a850946eSmrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1346a850946eSmrg if (version < 4) 1347a850946eSmrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1348a850946eSmrg else 1349a850946eSmrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1350a850946eSmrg exit (0); 1351a850946eSmrg#endif 1352a850946eSmrg 1353a850946eSmrg#if defined (MULTIMAX) || defined (n16) 1354a850946eSmrg#if defined (UMAXV) 1355a850946eSmrg printf ("ns32k-encore-sysv\n"); exit (0); 1356a850946eSmrg#else 1357a850946eSmrg#if defined (CMU) 1358a850946eSmrg printf ("ns32k-encore-mach\n"); exit (0); 1359a850946eSmrg#else 1360a850946eSmrg printf ("ns32k-encore-bsd\n"); exit (0); 1361a850946eSmrg#endif 1362a850946eSmrg#endif 1363a850946eSmrg#endif 1364a850946eSmrg 1365a850946eSmrg#if defined (__386BSD__) 1366a850946eSmrg printf ("i386-pc-bsd\n"); exit (0); 1367a850946eSmrg#endif 1368a850946eSmrg 1369a850946eSmrg#if defined (sequent) 1370a850946eSmrg#if defined (i386) 1371a850946eSmrg printf ("i386-sequent-dynix\n"); exit (0); 1372a850946eSmrg#endif 1373a850946eSmrg#if defined (ns32000) 1374a850946eSmrg printf ("ns32k-sequent-dynix\n"); exit (0); 1375a850946eSmrg#endif 1376a850946eSmrg#endif 1377a850946eSmrg 1378a850946eSmrg#if defined (_SEQUENT_) 1379a850946eSmrg struct utsname un; 1380a850946eSmrg 1381a850946eSmrg uname(&un); 1382a850946eSmrg 1383a850946eSmrg if (strncmp(un.version, "V2", 2) == 0) { 1384a850946eSmrg printf ("i386-sequent-ptx2\n"); exit (0); 1385a850946eSmrg } 1386a850946eSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1387a850946eSmrg printf ("i386-sequent-ptx1\n"); exit (0); 1388a850946eSmrg } 1389a850946eSmrg printf ("i386-sequent-ptx\n"); exit (0); 1390a850946eSmrg 1391a850946eSmrg#endif 1392a850946eSmrg 1393a850946eSmrg#if defined (vax) 1394a850946eSmrg# if !defined (ultrix) 1395a850946eSmrg# include <sys/param.h> 1396a850946eSmrg# if defined (BSD) 1397a850946eSmrg# if BSD == 43 1398a850946eSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 1399a850946eSmrg# else 1400a850946eSmrg# if BSD == 199006 1401a850946eSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1402a850946eSmrg# else 1403a850946eSmrg printf ("vax-dec-bsd\n"); exit (0); 1404a850946eSmrg# endif 1405a850946eSmrg# endif 1406a850946eSmrg# else 1407a850946eSmrg printf ("vax-dec-bsd\n"); exit (0); 1408a850946eSmrg# endif 1409a850946eSmrg# else 1410a850946eSmrg printf ("vax-dec-ultrix\n"); exit (0); 1411a850946eSmrg# endif 1412a850946eSmrg#endif 1413a850946eSmrg 1414a850946eSmrg#if defined (alliant) && defined (i860) 1415a850946eSmrg printf ("i860-alliant-bsd\n"); exit (0); 1416a850946eSmrg#endif 1417a850946eSmrg 1418a850946eSmrg exit (1); 1419a850946eSmrg} 1420a850946eSmrgEOF 1421a850946eSmrg 142270f7c90cSmrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 142370f7c90cSmrg { echo "$SYSTEM_NAME"; exit; } 1424a850946eSmrg 1425a850946eSmrg# Apollos put the system type in the environment. 1426a850946eSmrg 142770f7c90cSmrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1428a850946eSmrg 1429a850946eSmrg# Convex versions that predate uname can use getsysinfo(1) 1430a850946eSmrg 1431a850946eSmrgif [ -x /usr/convex/getsysinfo ] 1432a850946eSmrgthen 1433a850946eSmrg case `getsysinfo -f cpu_type` in 1434a850946eSmrg c1*) 1435a850946eSmrg echo c1-convex-bsd 143670f7c90cSmrg exit ;; 1437a850946eSmrg c2*) 1438a850946eSmrg if getsysinfo -f scalar_acc 1439a850946eSmrg then echo c32-convex-bsd 1440a850946eSmrg else echo c2-convex-bsd 1441a850946eSmrg fi 144270f7c90cSmrg exit ;; 1443a850946eSmrg c34*) 1444a850946eSmrg echo c34-convex-bsd 144570f7c90cSmrg exit ;; 1446a850946eSmrg c38*) 1447a850946eSmrg echo c38-convex-bsd 144870f7c90cSmrg exit ;; 1449a850946eSmrg c4*) 1450a850946eSmrg echo c4-convex-bsd 145170f7c90cSmrg exit ;; 1452a850946eSmrg esac 1453a850946eSmrgfi 1454a850946eSmrg 1455a850946eSmrgcat >&2 <<EOF 1456a850946eSmrg$0: unable to guess system type 1457a850946eSmrg 1458a850946eSmrgThis script, last modified $timestamp, has failed to recognize 1459a850946eSmrgthe operating system you are using. It is advised that you 1460a850946eSmrgdownload the most up to date version of the config scripts from 1461a850946eSmrg 146270f7c90cSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 146370f7c90cSmrgand 146470f7c90cSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 1465a850946eSmrg 1466a850946eSmrgIf the version you run ($0) is already up to date, please 1467a850946eSmrgsend the following data and any information you think might be 1468a850946eSmrgpertinent to <config-patches@gnu.org> in order to provide the needed 1469a850946eSmrginformation to handle your system. 1470a850946eSmrg 1471a850946eSmrgconfig.guess timestamp = $timestamp 1472a850946eSmrg 1473a850946eSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1474a850946eSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1475a850946eSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1476a850946eSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1477a850946eSmrg 1478a850946eSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1479a850946eSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1480a850946eSmrg 1481a850946eSmrghostinfo = `(hostinfo) 2>/dev/null` 1482a850946eSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1483a850946eSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1484a850946eSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1485a850946eSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1486a850946eSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1487a850946eSmrg 1488a850946eSmrgUNAME_MACHINE = ${UNAME_MACHINE} 1489a850946eSmrgUNAME_RELEASE = ${UNAME_RELEASE} 1490a850946eSmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 1491a850946eSmrgUNAME_VERSION = ${UNAME_VERSION} 1492a850946eSmrgEOF 1493a850946eSmrg 1494a850946eSmrgexit 1 1495a850946eSmrg 1496a850946eSmrg# Local variables: 1497a850946eSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1498a850946eSmrg# time-stamp-start: "timestamp='" 1499a850946eSmrg# time-stamp-format: "%:y-%02m-%02d" 1500a850946eSmrg# time-stamp-end: "'" 1501a850946eSmrg# End: 1502