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