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