155682Smarkm#! /bin/sh 255682Smarkm# Attempt to guess a canonical system name. 3102644Snectar# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4178825Sdfr# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 5178825Sdfr# Inc. 672445Sassar 7178825Sdfrtimestamp='2006-07-02' 872445Sassar 955682Smarkm# This file is free software; you can redistribute it and/or modify it 1055682Smarkm# under the terms of the GNU General Public License as published by 1155682Smarkm# the Free Software Foundation; either version 2 of the License, or 1255682Smarkm# (at your option) any later version. 1355682Smarkm# 1455682Smarkm# This program is distributed in the hope that it will be useful, but 1555682Smarkm# WITHOUT ANY WARRANTY; without even the implied warranty of 1655682Smarkm# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1755682Smarkm# General Public License for more details. 1855682Smarkm# 1955682Smarkm# You should have received a copy of the GNU General Public License 2055682Smarkm# along with this program; if not, write to the Free Software 21178825Sdfr# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22178825Sdfr# 02110-1301, USA. 2355682Smarkm# 2455682Smarkm# As a special exception to the GNU General Public License, if you 2555682Smarkm# distribute this file as part of a program that contains a 2655682Smarkm# configuration script generated by Autoconf, you may include it under 2755682Smarkm# the same distribution terms that you use for the rest of that program. 2855682Smarkm 29178825Sdfr 30102644Snectar# Originally written by Per Bothner <per@bothner.com>. 31102644Snectar# Please send patches to <config-patches@gnu.org>. Submit a context 32102644Snectar# diff and a properly formatted ChangeLog entry. 3355682Smarkm# 3455682Smarkm# This script attempts to guess a canonical system name similar to 3555682Smarkm# config.sub. If it succeeds, it prints the system name on stdout, and 3655682Smarkm# exits with 0. Otherwise, it exits with 1. 3755682Smarkm# 3855682Smarkm# The plan is that this can be called by configure scripts if you 3990926Snectar# don't specify an explicit build system type. 4055682Smarkm 4172445Sassarme=`echo "$0" | sed -e 's,.*/,,'` 4272445Sassar 4372445Sassarusage="\ 4472445SassarUsage: $0 [OPTION] 4572445Sassar 4690926SnectarOutput the configuration name of the system \`$me' is run on. 4772445Sassar 4872445SassarOperation modes: 4990926Snectar -h, --help print this help, then exit 5090926Snectar -t, --time-stamp print date of last modification, then exit 5190926Snectar -v, --version print version number, then exit 5272445Sassar 5390926SnectarReport bugs and patches to <config-patches@gnu.org>." 5490926Snectar 5590926Snectarversion="\ 5690926SnectarGNU config.guess ($timestamp) 5790926Snectar 5890926SnectarOriginally written by Per Bothner. 59178825SdfrCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 6090926SnectarFree Software Foundation, Inc. 6190926Snectar 6290926SnectarThis is free software; see the source for copying conditions. There is NO 6390926Snectarwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 6490926Snectar 6572445Sassarhelp=" 6672445SassarTry \`$me --help' for more information." 6772445Sassar 6872445Sassar# Parse command line 6972445Sassarwhile test $# -gt 0 ; do 7090926Snectar case $1 in 7190926Snectar --time-stamp | --time* | -t ) 72178825Sdfr echo "$timestamp" ; exit ;; 7390926Snectar --version | -v ) 74178825Sdfr echo "$version" ; exit ;; 7572445Sassar --help | --h* | -h ) 76178825Sdfr echo "$usage"; exit ;; 7772445Sassar -- ) # Stop option processing 7872445Sassar shift; break ;; 7972445Sassar - ) # Use stdin as input. 8072445Sassar break ;; 8172445Sassar -* ) 8290926Snectar echo "$me: invalid option $1$help" >&2 8372445Sassar exit 1 ;; 8472445Sassar * ) 8572445Sassar break ;; 8672445Sassar esac 8772445Sassardone 8872445Sassar 8972445Sassarif test $# != 0; then 9072445Sassar echo "$me: too many arguments$help" >&2 9172445Sassar exit 1 9272445Sassarfi 9372445Sassar 94127808Snectartrap 'exit 1' 1 2 15 9572445Sassar 96127808Snectar# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 97127808Snectar# compiler to aid in system detection is discouraged as it requires 98127808Snectar# temporary files to be created and, as you can see below, it is a 99127808Snectar# headache to deal with in a portable fashion. 10072445Sassar 10190926Snectar# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 10290926Snectar# use `HOST_CC' if defined, but it is deprecated. 10390926Snectar 104127808Snectar# Portable tmp directory creation inspired by the Autoconf team. 105127808Snectar 106127808Snectarset_cc_for_build=' 107127808Snectartrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108127808Snectartrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 109127808Snectar: ${TMPDIR=/tmp} ; 110178825Sdfr { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 111127808Snectar { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 112127808Snectar { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 113127808Snectar { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 114127808Snectardummy=$tmp/dummy ; 115127808Snectartmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116127808Snectarcase $CC_FOR_BUILD,$HOST_CC,$CC in 117127808Snectar ,,) echo "int x;" > $dummy.c ; 118102644Snectar for c in cc gcc c89 c99 ; do 119127808Snectar if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 12090926Snectar CC_FOR_BUILD="$c"; break ; 12190926Snectar fi ; 12290926Snectar done ; 12390926Snectar if test x"$CC_FOR_BUILD" = x ; then 12490926Snectar CC_FOR_BUILD=no_compiler_found ; 12590926Snectar fi 12690926Snectar ;; 12790926Snectar ,,*) CC_FOR_BUILD=$CC ;; 12890926Snectar ,*,*) CC_FOR_BUILD=$HOST_CC ;; 129178825Sdfresac ; set_cc_for_build= ;' 13090926Snectar 13155682Smarkm# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 13290926Snectar# (ghazi@noc.rutgers.edu 1994-08-24) 13355682Smarkmif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 13455682Smarkm PATH=$PATH:/.attbin ; export PATH 13555682Smarkmfi 13655682Smarkm 13755682SmarkmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 13855682SmarkmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139102644SnectarUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 14055682SmarkmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 14155682Smarkm 14255682Smarkm# Note: order is significant - the case branches are not exclusive. 14355682Smarkm 14455682Smarkmcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 14572445Sassar *:NetBSD:*:*) 146102644Snectar # NetBSD (nbsd) targets should (where applicable) match one or 14772445Sassar # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 14872445Sassar # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 14972445Sassar # switched to ELF, *-*-netbsd* would select the old 15072445Sassar # object file format. This provides both forward 15172445Sassar # compatibility and a consistent mechanism for selecting the 15272445Sassar # object file format. 153102644Snectar # 154102644Snectar # Note: NetBSD doesn't particularly care about the vendor 155102644Snectar # portion of the name. We always set it to "unknown". 156102644Snectar sysctl="sysctl -n hw.machine_arch" 157102644Snectar UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 158102644Snectar /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 159102644Snectar case "${UNAME_MACHINE_ARCH}" in 160127808Snectar armeb) machine=armeb-unknown ;; 161102644Snectar arm*) machine=arm-unknown ;; 162102644Snectar sh3el) machine=shl-unknown ;; 163102644Snectar sh3eb) machine=sh-unknown ;; 164102644Snectar *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 16572445Sassar esac 16690926Snectar # The Operating System including object format, if it has switched 16790926Snectar # to ELF recently, or will in the future. 168102644Snectar case "${UNAME_MACHINE_ARCH}" in 169102644Snectar arm*|i386|m68k|ns32k|sh3*|sparc|vax) 17090926Snectar eval $set_cc_for_build 17190926Snectar if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 17290926Snectar | grep __ELF__ >/dev/null 17390926Snectar then 17490926Snectar # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 17590926Snectar # Return netbsd for either. FIX? 17690926Snectar os=netbsd 17790926Snectar else 17890926Snectar os=netbsdelf 17990926Snectar fi 18090926Snectar ;; 18190926Snectar *) 18290926Snectar os=netbsd 18390926Snectar ;; 18490926Snectar esac 18572445Sassar # The OS release 186127808Snectar # Debian GNU/NetBSD machines have a different userland, and 187127808Snectar # thus, need a distinct triplet. However, they do not need 188127808Snectar # kernel version information, so it can be replaced with a 189127808Snectar # suitable tag, in the style of linux-gnu. 190127808Snectar case "${UNAME_VERSION}" in 191127808Snectar Debian*) 192127808Snectar release='-gnu' 193127808Snectar ;; 194127808Snectar *) 195127808Snectar release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 196127808Snectar ;; 197127808Snectar esac 19872445Sassar # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 19972445Sassar # contains redundant information, the shorter form: 20072445Sassar # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 20172445Sassar echo "${machine}-${os}${release}" 202178825Sdfr exit ;; 203102644Snectar *:OpenBSD:*:*) 204178825Sdfr UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 205178825Sdfr echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 206178825Sdfr exit ;; 207142403Snectar *:ekkoBSD:*:*) 208142403Snectar echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 209178825Sdfr exit ;; 210178825Sdfr *:SolidBSD:*:*) 211178825Sdfr echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 212178825Sdfr exit ;; 213142403Snectar macppc:MirBSD:*:*) 214178825Sdfr echo powerpc-unknown-mirbsd${UNAME_RELEASE} 215178825Sdfr exit ;; 216142403Snectar *:MirBSD:*:*) 217142403Snectar echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 218178825Sdfr exit ;; 21955682Smarkm alpha:OSF1:*:*) 220142403Snectar case $UNAME_RELEASE in 221142403Snectar *4.0) 22255682Smarkm UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 223142403Snectar ;; 224142403Snectar *5.*) 225142403Snectar UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 226142403Snectar ;; 227142403Snectar esac 228127808Snectar # According to Compaq, /usr/sbin/psrinfo has been available on 229127808Snectar # OSF/1 and Tru64 systems produced since 1995. I hope that 230127808Snectar # covers most systems running today. This code pipes the CPU 231127808Snectar # types through head -n 1, so we only detect the type of CPU 0. 232127808Snectar ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 233127808Snectar case "$ALPHA_CPU_TYPE" in 234127808Snectar "EV4 (21064)") 235127808Snectar UNAME_MACHINE="alpha" ;; 236127808Snectar "EV4.5 (21064)") 237127808Snectar UNAME_MACHINE="alpha" ;; 238127808Snectar "LCA4 (21066/21068)") 239127808Snectar UNAME_MACHINE="alpha" ;; 240127808Snectar "EV5 (21164)") 241127808Snectar UNAME_MACHINE="alphaev5" ;; 242127808Snectar "EV5.6 (21164A)") 243127808Snectar UNAME_MACHINE="alphaev56" ;; 244127808Snectar "EV5.6 (21164PC)") 245127808Snectar UNAME_MACHINE="alphapca56" ;; 246127808Snectar "EV5.7 (21164PC)") 247127808Snectar UNAME_MACHINE="alphapca57" ;; 248127808Snectar "EV6 (21264)") 249127808Snectar UNAME_MACHINE="alphaev6" ;; 250127808Snectar "EV6.7 (21264A)") 251127808Snectar UNAME_MACHINE="alphaev67" ;; 252127808Snectar "EV6.8CB (21264C)") 253127808Snectar UNAME_MACHINE="alphaev68" ;; 254127808Snectar "EV6.8AL (21264B)") 255127808Snectar UNAME_MACHINE="alphaev68" ;; 256127808Snectar "EV6.8CX (21264D)") 257127808Snectar UNAME_MACHINE="alphaev68" ;; 258127808Snectar "EV6.9A (21264/EV69A)") 259127808Snectar UNAME_MACHINE="alphaev69" ;; 260127808Snectar "EV7 (21364)") 261127808Snectar UNAME_MACHINE="alphaev7" ;; 262127808Snectar "EV7.9 (21364A)") 263127808Snectar UNAME_MACHINE="alphaev79" ;; 264127808Snectar esac 265142403Snectar # A Pn.n version is a patched version. 26655682Smarkm # A Vn.n version is a released version. 26755682Smarkm # A Tn.n version is a released field test version. 26855682Smarkm # A Xn.n version is an unreleased experimental baselevel. 26955682Smarkm # 1.2 uses "1.2" for uname -r. 270142403Snectar echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 271178825Sdfr exit ;; 27272445Sassar Alpha\ *:Windows_NT*:*) 27372445Sassar # How do we know it's Interix rather than the generic POSIX subsystem? 27472445Sassar # Should we change UNAME_MACHINE based on the output of uname instead 27572445Sassar # of the specific Alpha model? 27672445Sassar echo alpha-pc-interix 277178825Sdfr exit ;; 27855682Smarkm 21064:Windows_NT:50:3) 27955682Smarkm echo alpha-dec-winnt3.5 280178825Sdfr exit ;; 28155682Smarkm Amiga*:UNIX_System_V:4.0:*) 28272445Sassar echo m68k-unknown-sysv4 283178825Sdfr exit ;; 28455682Smarkm *:[Aa]miga[Oo][Ss]:*:*) 28555682Smarkm echo ${UNAME_MACHINE}-unknown-amigaos 286178825Sdfr exit ;; 287102644Snectar *:[Mm]orph[Oo][Ss]:*:*) 288102644Snectar echo ${UNAME_MACHINE}-unknown-morphos 289178825Sdfr exit ;; 29072445Sassar *:OS/390:*:*) 29172445Sassar echo i370-ibm-openedition 292178825Sdfr exit ;; 293178825Sdfr *:z/VM:*:*) 294178825Sdfr echo s390-ibm-zvmoe 295178825Sdfr exit ;; 296142403Snectar *:OS400:*:*) 297142403Snectar echo powerpc-ibm-os400 298178825Sdfr exit ;; 29955682Smarkm arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 30055682Smarkm echo arm-acorn-riscix${UNAME_RELEASE} 301178825Sdfr exit ;; 302178825Sdfr arm:riscos:*:*|arm:RISCOS:*:*) 303178825Sdfr echo arm-unknown-riscos 304178825Sdfr exit ;; 30590926Snectar SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 30655682Smarkm echo hppa1.1-hitachi-hiuxmpp 307178825Sdfr exit ;; 30872445Sassar Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 30955682Smarkm # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 31055682Smarkm if test "`(/bin/universe) 2>/dev/null`" = att ; then 31155682Smarkm echo pyramid-pyramid-sysv3 31255682Smarkm else 31355682Smarkm echo pyramid-pyramid-bsd 31455682Smarkm fi 315178825Sdfr exit ;; 31672445Sassar NILE*:*:*:dcosx) 31755682Smarkm echo pyramid-pyramid-svr4 318178825Sdfr exit ;; 319127808Snectar DRS?6000:unix:4.0:6*) 320127808Snectar echo sparc-icl-nx6 321178825Sdfr exit ;; 322178825Sdfr DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 323127808Snectar case `/usr/bin/uname -p` in 324178825Sdfr sparc) echo sparc-icl-nx7; exit ;; 325127808Snectar esac ;; 32655682Smarkm sun4H:SunOS:5.*:*) 32755682Smarkm echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 328178825Sdfr exit ;; 32955682Smarkm sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 33055682Smarkm echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 331178825Sdfr exit ;; 33255682Smarkm i86pc:SunOS:5.*:*) 33355682Smarkm echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 334178825Sdfr exit ;; 33555682Smarkm sun4*:SunOS:6*:*) 33655682Smarkm # According to config.sub, this is the proper way to canonicalize 33755682Smarkm # SunOS6. Hard to guess exactly what SunOS6 will be like, but 33855682Smarkm # it's likely to be more like Solaris than SunOS4. 33955682Smarkm echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 340178825Sdfr exit ;; 34155682Smarkm sun4*:SunOS:*:*) 34255682Smarkm case "`/usr/bin/arch -k`" in 34355682Smarkm Series*|S4*) 34455682Smarkm UNAME_RELEASE=`uname -v` 34555682Smarkm ;; 34655682Smarkm esac 34755682Smarkm # Japanese Language versions have a version number like `4.1.3-JL'. 34855682Smarkm echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 349178825Sdfr exit ;; 35055682Smarkm sun3*:SunOS:*:*) 35155682Smarkm echo m68k-sun-sunos${UNAME_RELEASE} 352178825Sdfr exit ;; 35355682Smarkm sun*:*:4.2BSD:*) 354102644Snectar UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 35555682Smarkm test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 35655682Smarkm case "`/bin/arch`" in 35755682Smarkm sun3) 35855682Smarkm echo m68k-sun-sunos${UNAME_RELEASE} 35955682Smarkm ;; 36055682Smarkm sun4) 36155682Smarkm echo sparc-sun-sunos${UNAME_RELEASE} 36255682Smarkm ;; 36355682Smarkm esac 364178825Sdfr exit ;; 36555682Smarkm aushp:SunOS:*:*) 36655682Smarkm echo sparc-auspex-sunos${UNAME_RELEASE} 367178825Sdfr exit ;; 36872445Sassar # The situation for MiNT is a little confusing. The machine name 36972445Sassar # can be virtually everything (everything which is not 370102644Snectar # "atarist" or "atariste" at least should have a processor 37172445Sassar # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 37272445Sassar # to the lowercase version "mint" (or "freemint"). Finally 37372445Sassar # the system name "TOS" denotes a system which is actually not 37472445Sassar # MiNT. But MiNT is downward compatible to TOS, so this should 37572445Sassar # be no problem. 37672445Sassar atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 37772445Sassar echo m68k-atari-mint${UNAME_RELEASE} 378178825Sdfr exit ;; 37972445Sassar atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 38072445Sassar echo m68k-atari-mint${UNAME_RELEASE} 381178825Sdfr exit ;; 38272445Sassar *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 38372445Sassar echo m68k-atari-mint${UNAME_RELEASE} 384178825Sdfr exit ;; 38572445Sassar milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 38672445Sassar echo m68k-milan-mint${UNAME_RELEASE} 387178825Sdfr exit ;; 38872445Sassar hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 38972445Sassar echo m68k-hades-mint${UNAME_RELEASE} 390178825Sdfr exit ;; 39172445Sassar *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 39272445Sassar echo m68k-unknown-mint${UNAME_RELEASE} 393178825Sdfr exit ;; 394142403Snectar m68k:machten:*:*) 395142403Snectar echo m68k-apple-machten${UNAME_RELEASE} 396178825Sdfr exit ;; 39755682Smarkm powerpc:machten:*:*) 39855682Smarkm echo powerpc-apple-machten${UNAME_RELEASE} 399178825Sdfr exit ;; 40055682Smarkm RISC*:Mach:*:*) 40155682Smarkm echo mips-dec-mach_bsd4.3 402178825Sdfr exit ;; 40355682Smarkm RISC*:ULTRIX:*:*) 40455682Smarkm echo mips-dec-ultrix${UNAME_RELEASE} 405178825Sdfr exit ;; 40655682Smarkm VAX*:ULTRIX*:*:*) 40755682Smarkm echo vax-dec-ultrix${UNAME_RELEASE} 408178825Sdfr exit ;; 40972445Sassar 2020:CLIX:*:* | 2430:CLIX:*:*) 41055682Smarkm echo clipper-intergraph-clix${UNAME_RELEASE} 411178825Sdfr exit ;; 41255682Smarkm mips:*:*:UMIPS | mips:*:*:RISCos) 41390926Snectar eval $set_cc_for_build 41455682Smarkm sed 's/^ //' << EOF >$dummy.c 41572445Sassar#ifdef __cplusplus 41672445Sassar#include <stdio.h> /* for printf() prototype */ 41772445Sassar int main (int argc, char *argv[]) { 41872445Sassar#else 41972445Sassar int main (argc, argv) int argc; char *argv[]; { 42072445Sassar#endif 42155682Smarkm #if defined (host_mips) && defined (MIPSEB) 42255682Smarkm #if defined (SYSTYPE_SYSV) 42355682Smarkm printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 42455682Smarkm #endif 42555682Smarkm #if defined (SYSTYPE_SVR4) 42655682Smarkm printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 42755682Smarkm #endif 42855682Smarkm #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 42955682Smarkm printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 43055682Smarkm #endif 43155682Smarkm #endif 43255682Smarkm exit (-1); 43355682Smarkm } 43455682SmarkmEOF 435178825Sdfr $CC_FOR_BUILD -o $dummy $dummy.c && 436178825Sdfr dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 437178825Sdfr SYSTEM_NAME=`$dummy $dummyarg` && 438178825Sdfr { echo "$SYSTEM_NAME"; exit; } 43955682Smarkm echo mips-mips-riscos${UNAME_RELEASE} 440178825Sdfr exit ;; 44190926Snectar Motorola:PowerMAX_OS:*:*) 44290926Snectar echo powerpc-motorola-powermax 443178825Sdfr exit ;; 444127808Snectar Motorola:*:4.3:PL8-*) 445127808Snectar echo powerpc-harris-powermax 446178825Sdfr exit ;; 447127808Snectar Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 448127808Snectar echo powerpc-harris-powermax 449178825Sdfr exit ;; 45055682Smarkm Night_Hawk:Power_UNIX:*:*) 45155682Smarkm echo powerpc-harris-powerunix 452178825Sdfr exit ;; 45355682Smarkm m88k:CX/UX:7*:*) 45455682Smarkm echo m88k-harris-cxux7 455178825Sdfr exit ;; 45655682Smarkm m88k:*:4*:R4*) 45755682Smarkm echo m88k-motorola-sysv4 458178825Sdfr exit ;; 45955682Smarkm m88k:*:3*:R3*) 46055682Smarkm echo m88k-motorola-sysv3 461178825Sdfr exit ;; 46255682Smarkm AViiON:dgux:*:*) 46355682Smarkm # DG/UX returns AViiON for all architectures 46455682Smarkm UNAME_PROCESSOR=`/usr/bin/uname -p` 465102644Snectar if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 46672445Sassar then 46772445Sassar if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 46872445Sassar [ ${TARGET_BINARY_INTERFACE}x = x ] 46972445Sassar then 47055682Smarkm echo m88k-dg-dgux${UNAME_RELEASE} 47172445Sassar else 47272445Sassar echo m88k-dg-dguxbcs${UNAME_RELEASE} 47372445Sassar fi 47455682Smarkm else 47572445Sassar echo i586-dg-dgux${UNAME_RELEASE} 47655682Smarkm fi 477178825Sdfr exit ;; 47855682Smarkm M88*:DolphinOS:*:*) # DolphinOS (SVR3) 47955682Smarkm echo m88k-dolphin-sysv3 480178825Sdfr exit ;; 48155682Smarkm M88*:*:R3*:*) 48255682Smarkm # Delta 88k system running SVR3 48355682Smarkm echo m88k-motorola-sysv3 484178825Sdfr exit ;; 48555682Smarkm XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 48655682Smarkm echo m88k-tektronix-sysv3 487178825Sdfr exit ;; 48855682Smarkm Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 48955682Smarkm echo m68k-tektronix-bsd 490178825Sdfr exit ;; 49155682Smarkm *:IRIX*:*:*) 49255682Smarkm echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 493178825Sdfr exit ;; 49455682Smarkm ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 495178825Sdfr echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 496178825Sdfr exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 49790926Snectar i*86:AIX:*:*) 49855682Smarkm echo i386-ibm-aix 499178825Sdfr exit ;; 50090926Snectar ia64:AIX:*:*) 50190926Snectar if [ -x /usr/bin/oslevel ] ; then 50290926Snectar IBM_REV=`/usr/bin/oslevel` 50390926Snectar else 50490926Snectar IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 50590926Snectar fi 50690926Snectar echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 507178825Sdfr exit ;; 50855682Smarkm *:AIX:2:3) 50955682Smarkm if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 51090926Snectar eval $set_cc_for_build 51155682Smarkm sed 's/^ //' << EOF >$dummy.c 51255682Smarkm #include <sys/systemcfg.h> 51355682Smarkm 51455682Smarkm main() 51555682Smarkm { 51655682Smarkm if (!__power_pc()) 51755682Smarkm exit(1); 51855682Smarkm puts("powerpc-ibm-aix3.2.5"); 51955682Smarkm exit(0); 52055682Smarkm } 52155682SmarkmEOF 522178825Sdfr if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 523178825Sdfr then 524178825Sdfr echo "$SYSTEM_NAME" 525178825Sdfr else 526178825Sdfr echo rs6000-ibm-aix3.2.5 527178825Sdfr fi 52855682Smarkm elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 52955682Smarkm echo rs6000-ibm-aix3.2.4 53055682Smarkm else 53155682Smarkm echo rs6000-ibm-aix3.2 53255682Smarkm fi 533178825Sdfr exit ;; 53490926Snectar *:AIX:*:[45]) 535102644Snectar IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 53690926Snectar if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 53755682Smarkm IBM_ARCH=rs6000 53855682Smarkm else 53955682Smarkm IBM_ARCH=powerpc 54055682Smarkm fi 54155682Smarkm if [ -x /usr/bin/oslevel ] ; then 54255682Smarkm IBM_REV=`/usr/bin/oslevel` 54355682Smarkm else 54490926Snectar IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 54555682Smarkm fi 54655682Smarkm echo ${IBM_ARCH}-ibm-aix${IBM_REV} 547178825Sdfr exit ;; 54855682Smarkm *:AIX:*:*) 54955682Smarkm echo rs6000-ibm-aix 550178825Sdfr exit ;; 55155682Smarkm ibmrt:4.4BSD:*|romp-ibm:BSD:*) 55255682Smarkm echo romp-ibm-bsd4.4 553178825Sdfr exit ;; 55472445Sassar ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 55555682Smarkm echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 556178825Sdfr exit ;; # report: romp-ibm BSD 4.3 55755682Smarkm *:BOSX:*:*) 55855682Smarkm echo rs6000-bull-bosx 559178825Sdfr exit ;; 56055682Smarkm DPX/2?00:B.O.S.:*:*) 56155682Smarkm echo m68k-bull-sysv3 562178825Sdfr exit ;; 56355682Smarkm 9000/[34]??:4.3bsd:1.*:*) 56455682Smarkm echo m68k-hp-bsd 565178825Sdfr exit ;; 56655682Smarkm hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 56755682Smarkm echo m68k-hp-bsd4.4 568178825Sdfr exit ;; 56955682Smarkm 9000/[34678]??:HP-UX:*:*) 57090926Snectar HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 57155682Smarkm case "${UNAME_MACHINE}" in 57255682Smarkm 9000/31? ) HP_ARCH=m68000 ;; 57355682Smarkm 9000/[34]?? ) HP_ARCH=m68k ;; 57472445Sassar 9000/[678][0-9][0-9]) 575102644Snectar if [ -x /usr/bin/getconf ]; then 576102644Snectar sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 57790926Snectar sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 57890926Snectar case "${sc_cpu_version}" in 57990926Snectar 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 58090926Snectar 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 58190926Snectar 532) # CPU_PA_RISC2_0 58290926Snectar case "${sc_kernel_bits}" in 58390926Snectar 32) HP_ARCH="hppa2.0n" ;; 58490926Snectar 64) HP_ARCH="hppa2.0w" ;; 585102644Snectar '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 58690926Snectar esac ;; 58790926Snectar esac 588102644Snectar fi 589102644Snectar if [ "${HP_ARCH}" = "" ]; then 590102644Snectar eval $set_cc_for_build 591102644Snectar sed 's/^ //' << EOF >$dummy.c 59272445Sassar 59372445Sassar #define _HPUX_SOURCE 59455682Smarkm #include <stdlib.h> 59555682Smarkm #include <unistd.h> 59672445Sassar 59755682Smarkm int main () 59855682Smarkm { 59955682Smarkm #if defined(_SC_KERNEL_BITS) 60055682Smarkm long bits = sysconf(_SC_KERNEL_BITS); 60172445Sassar #endif 60255682Smarkm long cpu = sysconf (_SC_CPU_VERSION); 60372445Sassar 60472445Sassar switch (cpu) 60555682Smarkm { 60655682Smarkm case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 60755682Smarkm case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 60872445Sassar case CPU_PA_RISC2_0: 60955682Smarkm #if defined(_SC_KERNEL_BITS) 61072445Sassar switch (bits) 61155682Smarkm { 61255682Smarkm case 64: puts ("hppa2.0w"); break; 61355682Smarkm case 32: puts ("hppa2.0n"); break; 61455682Smarkm default: puts ("hppa2.0"); break; 61555682Smarkm } break; 61655682Smarkm #else /* !defined(_SC_KERNEL_BITS) */ 61755682Smarkm puts ("hppa2.0"); break; 61872445Sassar #endif 61955682Smarkm default: puts ("hppa1.0"); break; 62055682Smarkm } 62155682Smarkm exit (0); 62255682Smarkm } 62355682SmarkmEOF 624127808Snectar (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 625127808Snectar test -z "$HP_ARCH" && HP_ARCH=hppa 626102644Snectar fi ;; 62755682Smarkm esac 628127808Snectar if [ ${HP_ARCH} = "hppa2.0w" ] 629127808Snectar then 630178825Sdfr eval $set_cc_for_build 631178825Sdfr 632178825Sdfr # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 633178825Sdfr # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 634178825Sdfr # generating 64-bit code. GNU and HP use different nomenclature: 635178825Sdfr # 636178825Sdfr # $ CC_FOR_BUILD=cc ./config.guess 637178825Sdfr # => hppa2.0w-hp-hpux11.23 638178825Sdfr # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 639178825Sdfr # => hppa64-hp-hpux11.23 640178825Sdfr 641178825Sdfr if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 642178825Sdfr grep __LP64__ >/dev/null 643127808Snectar then 644127808Snectar HP_ARCH="hppa2.0w" 645127808Snectar else 646127808Snectar HP_ARCH="hppa64" 647127808Snectar fi 648127808Snectar fi 64955682Smarkm echo ${HP_ARCH}-hp-hpux${HPUX_REV} 650178825Sdfr exit ;; 65190926Snectar ia64:HP-UX:*:*) 65290926Snectar HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 65390926Snectar echo ia64-hp-hpux${HPUX_REV} 654178825Sdfr exit ;; 65555682Smarkm 3050*:HI-UX:*:*) 65690926Snectar eval $set_cc_for_build 65755682Smarkm sed 's/^ //' << EOF >$dummy.c 65855682Smarkm #include <unistd.h> 65955682Smarkm int 66055682Smarkm main () 66155682Smarkm { 66255682Smarkm long cpu = sysconf (_SC_CPU_VERSION); 66355682Smarkm /* The order matters, because CPU_IS_HP_MC68K erroneously returns 66455682Smarkm true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 66555682Smarkm results, however. */ 66655682Smarkm if (CPU_IS_PA_RISC (cpu)) 66755682Smarkm { 66855682Smarkm switch (cpu) 66955682Smarkm { 67055682Smarkm case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 67155682Smarkm case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 67255682Smarkm case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 67355682Smarkm default: puts ("hppa-hitachi-hiuxwe2"); break; 67455682Smarkm } 67555682Smarkm } 67655682Smarkm else if (CPU_IS_HP_MC68K (cpu)) 67755682Smarkm puts ("m68k-hitachi-hiuxwe2"); 67855682Smarkm else puts ("unknown-hitachi-hiuxwe2"); 67955682Smarkm exit (0); 68055682Smarkm } 68155682SmarkmEOF 682178825Sdfr $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 683178825Sdfr { echo "$SYSTEM_NAME"; exit; } 68455682Smarkm echo unknown-hitachi-hiuxwe2 685178825Sdfr exit ;; 68655682Smarkm 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 68755682Smarkm echo hppa1.1-hp-bsd 688178825Sdfr exit ;; 68955682Smarkm 9000/8??:4.3bsd:*:*) 69055682Smarkm echo hppa1.0-hp-bsd 691178825Sdfr exit ;; 69290926Snectar *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 69372445Sassar echo hppa1.0-hp-mpeix 694178825Sdfr exit ;; 69555682Smarkm hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 69655682Smarkm echo hppa1.1-hp-osf 697178825Sdfr exit ;; 69855682Smarkm hp8??:OSF1:*:*) 69955682Smarkm echo hppa1.0-hp-osf 700178825Sdfr exit ;; 70190926Snectar i*86:OSF1:*:*) 70255682Smarkm if [ -x /usr/sbin/sysversion ] ; then 70355682Smarkm echo ${UNAME_MACHINE}-unknown-osf1mk 70455682Smarkm else 70555682Smarkm echo ${UNAME_MACHINE}-unknown-osf1 70655682Smarkm fi 707178825Sdfr exit ;; 70855682Smarkm parisc*:Lites*:*:*) 70955682Smarkm echo hppa1.1-hp-lites 710178825Sdfr exit ;; 71155682Smarkm C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 71255682Smarkm echo c1-convex-bsd 713178825Sdfr exit ;; 71455682Smarkm C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 71555682Smarkm if getsysinfo -f scalar_acc 71655682Smarkm then echo c32-convex-bsd 71755682Smarkm else echo c2-convex-bsd 71855682Smarkm fi 719178825Sdfr exit ;; 72055682Smarkm C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 72155682Smarkm echo c34-convex-bsd 722178825Sdfr exit ;; 72355682Smarkm C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 72455682Smarkm echo c38-convex-bsd 725178825Sdfr exit ;; 72655682Smarkm C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 72755682Smarkm echo c4-convex-bsd 728178825Sdfr exit ;; 72955682Smarkm CRAY*Y-MP:*:*:*) 73090926Snectar echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 731178825Sdfr exit ;; 73255682Smarkm CRAY*[A-Z]90:*:*:*) 73355682Smarkm echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 73455682Smarkm | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 73590926Snectar -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 73690926Snectar -e 's/\.[^.]*$/.X/' 737178825Sdfr exit ;; 73855682Smarkm CRAY*TS:*:*:*) 73972445Sassar echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 740178825Sdfr exit ;; 74190926Snectar CRAY*T3E:*:*:*) 74290926Snectar echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 743178825Sdfr exit ;; 74472445Sassar CRAY*SV1:*:*:*) 745102644Snectar echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 746178825Sdfr exit ;; 747127808Snectar *:UNICOS/mp:*:*) 748178825Sdfr echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 749178825Sdfr exit ;; 75090926Snectar F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 75190926Snectar FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 75272445Sassar FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 75355682Smarkm FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 75490926Snectar echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 755178825Sdfr exit ;; 756142403Snectar 5000:UNIX_System_V:4.*:*) 757142403Snectar FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 758142403Snectar FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 759142403Snectar echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 760178825Sdfr exit ;; 76190926Snectar i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 76272445Sassar echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 763178825Sdfr exit ;; 76455682Smarkm sparc*:BSD/OS:*:*) 76555682Smarkm echo sparc-unknown-bsdi${UNAME_RELEASE} 766178825Sdfr exit ;; 76755682Smarkm *:BSD/OS:*:*) 76855682Smarkm echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 769178825Sdfr exit ;; 770142403Snectar *:FreeBSD:*:*) 771178825Sdfr case ${UNAME_MACHINE} in 772178825Sdfr pc98) 773178825Sdfr echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 774178825Sdfr amd64) 775178825Sdfr echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 776178825Sdfr *) 777178825Sdfr echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 778178825Sdfr esac 779178825Sdfr exit ;; 78055682Smarkm i*:CYGWIN*:*) 78155682Smarkm echo ${UNAME_MACHINE}-pc-cygwin 782178825Sdfr exit ;; 78355682Smarkm i*:MINGW*:*) 78455682Smarkm echo ${UNAME_MACHINE}-pc-mingw32 785178825Sdfr exit ;; 786178825Sdfr i*:windows32*:*) 787178825Sdfr # uname -m includes "-pc" on this system. 788178825Sdfr echo ${UNAME_MACHINE}-mingw32 789178825Sdfr exit ;; 79072445Sassar i*:PW*:*) 79172445Sassar echo ${UNAME_MACHINE}-pc-pw32 792178825Sdfr exit ;; 793178825Sdfr x86:Interix*:[3456]*) 794178825Sdfr echo i586-pc-interix${UNAME_RELEASE} 795178825Sdfr exit ;; 796178825Sdfr EM64T:Interix*:[3456]*) 797178825Sdfr echo x86_64-unknown-interix${UNAME_RELEASE} 798178825Sdfr exit ;; 799127808Snectar [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 800127808Snectar echo i${UNAME_MACHINE}-pc-mks 801178825Sdfr exit ;; 80272445Sassar i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 80372445Sassar # How do we know it's Interix rather than the generic POSIX subsystem? 80472445Sassar # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 80572445Sassar # UNAME_MACHINE based on the output of uname instead of i386? 806127808Snectar echo i586-pc-interix 807178825Sdfr exit ;; 80872445Sassar i*:UWIN*:*) 80972445Sassar echo ${UNAME_MACHINE}-pc-uwin 810178825Sdfr exit ;; 811178825Sdfr amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 812178825Sdfr echo x86_64-unknown-cygwin 813178825Sdfr exit ;; 81455682Smarkm p*:CYGWIN*:*) 81555682Smarkm echo powerpcle-unknown-cygwin 816178825Sdfr exit ;; 81755682Smarkm prep*:SunOS:5.*:*) 81855682Smarkm echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 819178825Sdfr exit ;; 82055682Smarkm *:GNU:*:*) 821142403Snectar # the GNU system 82255682Smarkm echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 823178825Sdfr exit ;; 824142403Snectar *:GNU/*:*:*) 825142403Snectar # other systems with GNU libc and userland 826142403Snectar echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 827178825Sdfr exit ;; 82872445Sassar i*86:Minix:*:*) 82972445Sassar echo ${UNAME_MACHINE}-pc-minix 830178825Sdfr exit ;; 83190926Snectar arm*:Linux:*:*) 83290926Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 833178825Sdfr exit ;; 834178825Sdfr avr32*:Linux:*:*) 835178825Sdfr echo ${UNAME_MACHINE}-unknown-linux-gnu 836178825Sdfr exit ;; 837127808Snectar cris:Linux:*:*) 838127808Snectar echo cris-axis-linux-gnu 839178825Sdfr exit ;; 840178825Sdfr crisv32:Linux:*:*) 841178825Sdfr echo crisv32-axis-linux-gnu 842178825Sdfr exit ;; 843178825Sdfr frv:Linux:*:*) 844178825Sdfr echo frv-unknown-linux-gnu 845178825Sdfr exit ;; 84690926Snectar ia64:Linux:*:*) 847102644Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 848178825Sdfr exit ;; 849178825Sdfr m32r*:Linux:*:*) 850178825Sdfr echo ${UNAME_MACHINE}-unknown-linux-gnu 851178825Sdfr exit ;; 85290926Snectar m68*:Linux:*:*) 85390926Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 854178825Sdfr exit ;; 85590926Snectar mips:Linux:*:*) 856102644Snectar eval $set_cc_for_build 857102644Snectar sed 's/^ //' << EOF >$dummy.c 858102644Snectar #undef CPU 859102644Snectar #undef mips 860102644Snectar #undef mipsel 861102644Snectar #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 862102644Snectar CPU=mipsel 863102644Snectar #else 864102644Snectar #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 865102644Snectar CPU=mips 866102644Snectar #else 867102644Snectar CPU= 868102644Snectar #endif 869102644Snectar #endif 870102644SnectarEOF 871178825Sdfr eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 872178825Sdfr /^CPU/{ 873178825Sdfr s: ::g 874178825Sdfr p 875178825Sdfr }'`" 876178825Sdfr test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 87790926Snectar ;; 878127808Snectar mips64:Linux:*:*) 879127808Snectar eval $set_cc_for_build 880127808Snectar sed 's/^ //' << EOF >$dummy.c 881127808Snectar #undef CPU 882127808Snectar #undef mips64 883127808Snectar #undef mips64el 884127808Snectar #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 885127808Snectar CPU=mips64el 886127808Snectar #else 887127808Snectar #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 888127808Snectar CPU=mips64 889127808Snectar #else 890127808Snectar CPU= 891127808Snectar #endif 892127808Snectar #endif 893127808SnectarEOF 894178825Sdfr eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 895178825Sdfr /^CPU/{ 896178825Sdfr s: ::g 897178825Sdfr p 898178825Sdfr }'`" 899178825Sdfr test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 900127808Snectar ;; 901178825Sdfr or32:Linux:*:*) 902178825Sdfr echo or32-unknown-linux-gnu 903178825Sdfr exit ;; 90490926Snectar ppc:Linux:*:*) 90590926Snectar echo powerpc-unknown-linux-gnu 906178825Sdfr exit ;; 90790926Snectar ppc64:Linux:*:*) 90890926Snectar echo powerpc64-unknown-linux-gnu 909178825Sdfr exit ;; 91090926Snectar alpha:Linux:*:*) 91190926Snectar case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 91290926Snectar EV5) UNAME_MACHINE=alphaev5 ;; 91390926Snectar EV56) UNAME_MACHINE=alphaev56 ;; 91490926Snectar PCA56) UNAME_MACHINE=alphapca56 ;; 91590926Snectar PCA57) UNAME_MACHINE=alphapca56 ;; 91690926Snectar EV6) UNAME_MACHINE=alphaev6 ;; 91790926Snectar EV67) UNAME_MACHINE=alphaev67 ;; 91890926Snectar EV68*) UNAME_MACHINE=alphaev68 ;; 91990926Snectar esac 92090926Snectar objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 92190926Snectar if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 92290926Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 923178825Sdfr exit ;; 92490926Snectar parisc:Linux:*:* | hppa:Linux:*:*) 92590926Snectar # Look for CPU level 92690926Snectar case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 92790926Snectar PA7*) echo hppa1.1-unknown-linux-gnu ;; 92890926Snectar PA8*) echo hppa2.0-unknown-linux-gnu ;; 92990926Snectar *) echo hppa-unknown-linux-gnu ;; 93090926Snectar esac 931178825Sdfr exit ;; 93290926Snectar parisc64:Linux:*:* | hppa64:Linux:*:*) 93390926Snectar echo hppa64-unknown-linux-gnu 934178825Sdfr exit ;; 93590926Snectar s390:Linux:*:* | s390x:Linux:*:*) 93690926Snectar echo ${UNAME_MACHINE}-ibm-linux 937178825Sdfr exit ;; 938127808Snectar sh64*:Linux:*:*) 939127808Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 940178825Sdfr exit ;; 94190926Snectar sh*:Linux:*:*) 94290926Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 943178825Sdfr exit ;; 94490926Snectar sparc:Linux:*:* | sparc64:Linux:*:*) 94590926Snectar echo ${UNAME_MACHINE}-unknown-linux-gnu 946178825Sdfr exit ;; 947178825Sdfr vax:Linux:*:*) 948178825Sdfr echo ${UNAME_MACHINE}-dec-linux-gnu 949178825Sdfr exit ;; 95090926Snectar x86_64:Linux:*:*) 95190926Snectar echo x86_64-unknown-linux-gnu 952178825Sdfr exit ;; 95390926Snectar i*86:Linux:*:*) 95455682Smarkm # The BFD linker knows what the default object file format is, so 95572445Sassar # first see if it will tell us. cd to the root directory to prevent 95672445Sassar # problems with other programs or directories called `ld' in the path. 957102644Snectar # Set LC_ALL=C to ensure ld outputs messages in English. 958102644Snectar ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 95990926Snectar | sed -ne '/supported targets:/!d 96055682Smarkm s/[ ][ ]*/ /g 96190926Snectar s/.*supported targets: *// 96255682Smarkm s/ .*// 96355682Smarkm p'` 96490926Snectar case "$ld_supported_targets" in 96590926Snectar elf32-i386) 96690926Snectar TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 96772445Sassar ;; 96890926Snectar a.out-i386-linux) 96972445Sassar echo "${UNAME_MACHINE}-pc-linux-gnuaout" 970178825Sdfr exit ;; 97190926Snectar coff-i386) 97272445Sassar echo "${UNAME_MACHINE}-pc-linux-gnucoff" 973178825Sdfr exit ;; 97490926Snectar "") 97590926Snectar # Either a pre-BFD a.out linker (linux-gnuoldld) or 97690926Snectar # one that does not give us useful --help. 97790926Snectar echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 978178825Sdfr exit ;; 97955682Smarkm esac 98090926Snectar # Determine whether the default compiler is a.out or elf 98190926Snectar eval $set_cc_for_build 982102644Snectar sed 's/^ //' << EOF >$dummy.c 983102644Snectar #include <features.h> 984102644Snectar #ifdef __ELF__ 985102644Snectar # ifdef __GLIBC__ 986102644Snectar # if __GLIBC__ >= 2 987102644Snectar LIBC=gnu 988102644Snectar # else 989102644Snectar LIBC=gnulibc1 990102644Snectar # endif 991102644Snectar # else 992102644Snectar LIBC=gnulibc1 993102644Snectar # endif 994102644Snectar #else 995178825Sdfr #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) 996102644Snectar LIBC=gnu 997102644Snectar #else 998102644Snectar LIBC=gnuaout 999102644Snectar #endif 1000102644Snectar #endif 1001127808Snectar #ifdef __dietlibc__ 1002127808Snectar LIBC=dietlibc 1003127808Snectar #endif 100455682SmarkmEOF 1005178825Sdfr eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 1006178825Sdfr /^LIBC/{ 1007178825Sdfr s: ::g 1008178825Sdfr p 1009178825Sdfr }'`" 1010178825Sdfr test x"${LIBC}" != x && { 1011178825Sdfr echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1012178825Sdfr exit 1013178825Sdfr } 1014178825Sdfr test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 101590926Snectar ;; 101690926Snectar i*86:DYNIX/ptx:4*:*) 101790926Snectar # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 101890926Snectar # earlier versions are messed up and put the nodename in both 101990926Snectar # sysname and nodename. 102055682Smarkm echo i386-sequent-sysv4 1021178825Sdfr exit ;; 102290926Snectar i*86:UNIX_SV:4.2MP:2.*) 102355682Smarkm # Unixware is an offshoot of SVR4, but it has its own version 102455682Smarkm # number series starting with 2... 102555682Smarkm # I am not positive that other SVR4 systems won't match this, 102655682Smarkm # I just have to hope. -- rms. 102755682Smarkm # Use sysv4.2uw... so that sysv4* matches it. 102855682Smarkm echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1029178825Sdfr exit ;; 1030127808Snectar i*86:OS/2:*:*) 1031127808Snectar # If we were able to find `uname', then EMX Unix compatibility 1032127808Snectar # is probably installed. 1033127808Snectar echo ${UNAME_MACHINE}-pc-os2-emx 1034178825Sdfr exit ;; 1035127808Snectar i*86:XTS-300:*:STOP) 1036127808Snectar echo ${UNAME_MACHINE}-unknown-stop 1037178825Sdfr exit ;; 1038127808Snectar i*86:atheos:*:*) 1039127808Snectar echo ${UNAME_MACHINE}-unknown-atheos 1040178825Sdfr exit ;; 1041178825Sdfr i*86:syllable:*:*) 1042142403Snectar echo ${UNAME_MACHINE}-pc-syllable 1043178825Sdfr exit ;; 1044127808Snectar i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1045127808Snectar echo i386-unknown-lynxos${UNAME_RELEASE} 1046178825Sdfr exit ;; 1047127808Snectar i*86:*DOS:*:*) 1048127808Snectar echo ${UNAME_MACHINE}-pc-msdosdjgpp 1049178825Sdfr exit ;; 105090926Snectar i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 105172445Sassar UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 105255682Smarkm if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 105372445Sassar echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 105455682Smarkm else 105572445Sassar echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 105655682Smarkm fi 1057178825Sdfr exit ;; 1058178825Sdfr i*86:*:5:[678]*) 1059178825Sdfr # UnixWare 7.x, OpenUNIX and OpenServer 6. 106090926Snectar case `/bin/uname -X | grep "^Machine"` in 106190926Snectar *486*) UNAME_MACHINE=i486 ;; 106290926Snectar *Pentium) UNAME_MACHINE=i586 ;; 106390926Snectar *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 106490926Snectar esac 106590926Snectar echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1066178825Sdfr exit ;; 106790926Snectar i*86:*:3.2:*) 106855682Smarkm if test -f /usr/options/cb.name; then 106955682Smarkm UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 107055682Smarkm echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 107155682Smarkm elif /bin/uname -X 2>/dev/null >/dev/null ; then 1072127808Snectar UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1073127808Snectar (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1074127808Snectar (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 107555682Smarkm && UNAME_MACHINE=i586 1076127808Snectar (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 107772445Sassar && UNAME_MACHINE=i686 1078127808Snectar (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 107972445Sassar && UNAME_MACHINE=i686 108055682Smarkm echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 108155682Smarkm else 108255682Smarkm echo ${UNAME_MACHINE}-pc-sysv32 108355682Smarkm fi 1084178825Sdfr exit ;; 108555682Smarkm pc:*:*:*) 108672445Sassar # Left here for compatibility: 108755682Smarkm # uname -m prints for DJGPP always 'pc', but it prints nothing about 108855682Smarkm # the processor, so we play safe by assuming i386. 108955682Smarkm echo i386-pc-msdosdjgpp 1090178825Sdfr exit ;; 109155682Smarkm Intel:Mach:3*:*) 109255682Smarkm echo i386-pc-mach3 1093178825Sdfr exit ;; 109455682Smarkm paragon:*:*:*) 109555682Smarkm echo i860-intel-osf1 1096178825Sdfr exit ;; 109755682Smarkm i860:*:4.*:*) # i860-SVR4 109855682Smarkm if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 109955682Smarkm echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 110055682Smarkm else # Add other i860-SVR4 vendors below as they are discovered. 110155682Smarkm echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 110255682Smarkm fi 1103178825Sdfr exit ;; 110455682Smarkm mini*:CTIX:SYS*5:*) 110555682Smarkm # "miniframe" 110655682Smarkm echo m68010-convergent-sysv 1107178825Sdfr exit ;; 1108127808Snectar mc68k:UNIX:SYSTEM5:3.51m) 1109127808Snectar echo m68k-convergent-sysv 1110178825Sdfr exit ;; 1111127808Snectar M680?0:D-NIX:5.3:*) 1112127808Snectar echo m68k-diab-dnix 1113178825Sdfr exit ;; 1114178825Sdfr M68*:*:R3V[5678]*:*) 1115178825Sdfr test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1116178825Sdfr 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) 111755682Smarkm OS_REL='' 111855682Smarkm test -r /etc/.relid \ 111955682Smarkm && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 112055682Smarkm /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1121178825Sdfr && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 112255682Smarkm /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1123178825Sdfr && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 112455682Smarkm 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 112555682Smarkm /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1126178825Sdfr && { echo i486-ncr-sysv4; exit; } ;; 112790926Snectar m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 112855682Smarkm echo m68k-unknown-lynxos${UNAME_RELEASE} 1129178825Sdfr exit ;; 113055682Smarkm mc68030:UNIX_System_V:4.*:*) 113155682Smarkm echo m68k-atari-sysv4 1132178825Sdfr exit ;; 113355682Smarkm TSUNAMI:LynxOS:2.*:*) 113455682Smarkm echo sparc-unknown-lynxos${UNAME_RELEASE} 1135178825Sdfr exit ;; 113690926Snectar rs6000:LynxOS:2.*:*) 113755682Smarkm echo rs6000-unknown-lynxos${UNAME_RELEASE} 1138178825Sdfr exit ;; 113990926Snectar PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 114090926Snectar echo powerpc-unknown-lynxos${UNAME_RELEASE} 1141178825Sdfr exit ;; 114255682Smarkm SM[BE]S:UNIX_SV:*:*) 114355682Smarkm echo mips-dde-sysv${UNAME_RELEASE} 1144178825Sdfr exit ;; 114572445Sassar RM*:ReliantUNIX-*:*:*) 114672445Sassar echo mips-sni-sysv4 1147178825Sdfr exit ;; 114855682Smarkm RM*:SINIX-*:*:*) 114955682Smarkm echo mips-sni-sysv4 1150178825Sdfr exit ;; 115155682Smarkm *:SINIX-*:*:*) 115255682Smarkm if uname -p 2>/dev/null >/dev/null ; then 115355682Smarkm UNAME_MACHINE=`(uname -p) 2>/dev/null` 115455682Smarkm echo ${UNAME_MACHINE}-sni-sysv4 115555682Smarkm else 115655682Smarkm echo ns32k-sni-sysv 115755682Smarkm fi 1158178825Sdfr exit ;; 115990926Snectar PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 116090926Snectar # says <Richard.M.Bartel@ccMail.Census.GOV> 116155682Smarkm echo i586-unisys-sysv4 1162178825Sdfr exit ;; 116355682Smarkm *:UNIX_System_V:4*:FTX*) 116455682Smarkm # From Gerald Hewes <hewes@openmarket.com>. 116555682Smarkm # How about differentiating between stratus architectures? -djm 116655682Smarkm echo hppa1.1-stratus-sysv4 1167178825Sdfr exit ;; 116855682Smarkm *:*:*:FTX*) 116955682Smarkm # From seanf@swdc.stratus.com. 117055682Smarkm echo i860-stratus-sysv4 1171178825Sdfr exit ;; 1172178825Sdfr i*86:VOS:*:*) 1173178825Sdfr # From Paul.Green@stratus.com. 1174178825Sdfr echo ${UNAME_MACHINE}-stratus-vos 1175178825Sdfr exit ;; 117690926Snectar *:VOS:*:*) 117790926Snectar # From Paul.Green@stratus.com. 117890926Snectar echo hppa1.1-stratus-vos 1179178825Sdfr exit ;; 118055682Smarkm mc68*:A/UX:*:*) 118155682Smarkm echo m68k-apple-aux${UNAME_RELEASE} 1182178825Sdfr exit ;; 118372445Sassar news*:NEWS-OS:6*:*) 118455682Smarkm echo mips-sony-newsos6 1185178825Sdfr exit ;; 118672445Sassar R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 118755682Smarkm if [ -d /usr/nec ]; then 118855682Smarkm echo mips-nec-sysv${UNAME_RELEASE} 118955682Smarkm else 119055682Smarkm echo mips-unknown-sysv${UNAME_RELEASE} 119155682Smarkm fi 1192178825Sdfr exit ;; 119355682Smarkm BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 119455682Smarkm echo powerpc-be-beos 1195178825Sdfr exit ;; 119655682Smarkm BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 119755682Smarkm echo powerpc-apple-beos 1198178825Sdfr exit ;; 119955682Smarkm BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 120055682Smarkm echo i586-pc-beos 1201178825Sdfr exit ;; 120255682Smarkm SX-4:SUPER-UX:*:*) 120355682Smarkm echo sx4-nec-superux${UNAME_RELEASE} 1204178825Sdfr exit ;; 120555682Smarkm SX-5:SUPER-UX:*:*) 120655682Smarkm echo sx5-nec-superux${UNAME_RELEASE} 1207178825Sdfr exit ;; 1208127808Snectar SX-6:SUPER-UX:*:*) 1209127808Snectar echo sx6-nec-superux${UNAME_RELEASE} 1210178825Sdfr exit ;; 121155682Smarkm Power*:Rhapsody:*:*) 121255682Smarkm echo powerpc-apple-rhapsody${UNAME_RELEASE} 1213178825Sdfr exit ;; 121455682Smarkm *:Rhapsody:*:*) 121555682Smarkm echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1216178825Sdfr exit ;; 121772445Sassar *:Darwin:*:*) 1218178825Sdfr UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1219178825Sdfr case $UNAME_PROCESSOR in 1220178825Sdfr unknown) UNAME_PROCESSOR=powerpc ;; 1221127808Snectar esac 1222127808Snectar echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1223178825Sdfr exit ;; 122472445Sassar *:procnto*:*:* | *:QNX:[0123456789]*:*) 1225102644Snectar UNAME_PROCESSOR=`uname -p` 1226102644Snectar if test "$UNAME_PROCESSOR" = "x86"; then 1227102644Snectar UNAME_PROCESSOR=i386 122872445Sassar UNAME_MACHINE=pc 122972445Sassar fi 1230102644Snectar echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1231178825Sdfr exit ;; 123272445Sassar *:QNX:*:4*) 123372445Sassar echo i386-pc-qnx 1234178825Sdfr exit ;; 1235178825Sdfr NSE-?:NONSTOP_KERNEL:*:*) 1236178825Sdfr echo nse-tandem-nsk${UNAME_RELEASE} 1237178825Sdfr exit ;; 1238142403Snectar NSR-?:NONSTOP_KERNEL:*:*) 123972445Sassar echo nsr-tandem-nsk${UNAME_RELEASE} 1240178825Sdfr exit ;; 124190926Snectar *:NonStop-UX:*:*) 124290926Snectar echo mips-compaq-nonstopux 1243178825Sdfr exit ;; 124472445Sassar BS2000:POSIX*:*:*) 124572445Sassar echo bs2000-siemens-sysv 1246178825Sdfr exit ;; 124772445Sassar DS/*:UNIX_System_V:*:*) 124872445Sassar echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1249178825Sdfr exit ;; 125072445Sassar *:Plan9:*:*) 125172445Sassar # "uname -m" is not consistent, so use $cputype instead. 386 125272445Sassar # is converted to i386 for consistency with other x86 125372445Sassar # operating systems. 125472445Sassar if test "$cputype" = "386"; then 125572445Sassar UNAME_MACHINE=i386 125672445Sassar else 125772445Sassar UNAME_MACHINE="$cputype" 125872445Sassar fi 125972445Sassar echo ${UNAME_MACHINE}-unknown-plan9 1260178825Sdfr exit ;; 126190926Snectar *:TOPS-10:*:*) 126290926Snectar echo pdp10-unknown-tops10 1263178825Sdfr exit ;; 126490926Snectar *:TENEX:*:*) 126590926Snectar echo pdp10-unknown-tenex 1266178825Sdfr exit ;; 126790926Snectar KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 126890926Snectar echo pdp10-dec-tops20 1269178825Sdfr exit ;; 127090926Snectar XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 127190926Snectar echo pdp10-xkl-tops20 1272178825Sdfr exit ;; 127390926Snectar *:TOPS-20:*:*) 127490926Snectar echo pdp10-unknown-tops20 1275178825Sdfr exit ;; 127690926Snectar *:ITS:*:*) 127790926Snectar echo pdp10-unknown-its 1278178825Sdfr exit ;; 1279127808Snectar SEI:*:*:SEIUX) 1280127808Snectar echo mips-sei-seiux${UNAME_RELEASE} 1281178825Sdfr exit ;; 1282142403Snectar *:DragonFly:*:*) 1283142403Snectar echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1284178825Sdfr exit ;; 1285178825Sdfr *:*VMS:*:*) 1286178825Sdfr UNAME_MACHINE=`(uname -p) 2>/dev/null` 1287178825Sdfr case "${UNAME_MACHINE}" in 1288178825Sdfr A*) echo alpha-dec-vms ; exit ;; 1289178825Sdfr I*) echo ia64-dec-vms ; exit ;; 1290178825Sdfr V*) echo vax-dec-vms ; exit ;; 1291178825Sdfr esac ;; 1292178825Sdfr *:XENIX:*:SysV) 1293178825Sdfr echo i386-pc-xenix 1294178825Sdfr exit ;; 1295178825Sdfr i*86:skyos:*:*) 1296178825Sdfr echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1297178825Sdfr exit ;; 1298178825Sdfr i*86:rdos:*:*) 1299178825Sdfr echo ${UNAME_MACHINE}-pc-rdos 1300178825Sdfr exit ;; 130155682Smarkmesac 130255682Smarkm 130355682Smarkm#echo '(No uname command or uname output not recognized.)' 1>&2 130455682Smarkm#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 130555682Smarkm 130690926Snectareval $set_cc_for_build 130755682Smarkmcat >$dummy.c <<EOF 130855682Smarkm#ifdef _SEQUENT_ 130955682Smarkm# include <sys/types.h> 131055682Smarkm# include <sys/utsname.h> 131155682Smarkm#endif 131255682Smarkmmain () 131355682Smarkm{ 131455682Smarkm#if defined (sony) 131555682Smarkm#if defined (MIPSEB) 131655682Smarkm /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 131755682Smarkm I don't know.... */ 131855682Smarkm printf ("mips-sony-bsd\n"); exit (0); 131955682Smarkm#else 132055682Smarkm#include <sys/param.h> 132155682Smarkm printf ("m68k-sony-newsos%s\n", 132255682Smarkm#ifdef NEWSOS4 132355682Smarkm "4" 132455682Smarkm#else 132555682Smarkm "" 132655682Smarkm#endif 132755682Smarkm ); exit (0); 132855682Smarkm#endif 132955682Smarkm#endif 133055682Smarkm 133155682Smarkm#if defined (__arm) && defined (__acorn) && defined (__unix) 1332178825Sdfr printf ("arm-acorn-riscix\n"); exit (0); 133355682Smarkm#endif 133455682Smarkm 133555682Smarkm#if defined (hp300) && !defined (hpux) 133655682Smarkm printf ("m68k-hp-bsd\n"); exit (0); 133755682Smarkm#endif 133855682Smarkm 133955682Smarkm#if defined (NeXT) 134055682Smarkm#if !defined (__ARCHITECTURE__) 134155682Smarkm#define __ARCHITECTURE__ "m68k" 134255682Smarkm#endif 134355682Smarkm int version; 134455682Smarkm version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 134555682Smarkm if (version < 4) 134655682Smarkm printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 134755682Smarkm else 134855682Smarkm printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 134955682Smarkm exit (0); 135055682Smarkm#endif 135155682Smarkm 135255682Smarkm#if defined (MULTIMAX) || defined (n16) 135355682Smarkm#if defined (UMAXV) 135455682Smarkm printf ("ns32k-encore-sysv\n"); exit (0); 135555682Smarkm#else 135655682Smarkm#if defined (CMU) 135755682Smarkm printf ("ns32k-encore-mach\n"); exit (0); 135855682Smarkm#else 135955682Smarkm printf ("ns32k-encore-bsd\n"); exit (0); 136055682Smarkm#endif 136155682Smarkm#endif 136255682Smarkm#endif 136355682Smarkm 136455682Smarkm#if defined (__386BSD__) 136555682Smarkm printf ("i386-pc-bsd\n"); exit (0); 136655682Smarkm#endif 136755682Smarkm 136855682Smarkm#if defined (sequent) 136955682Smarkm#if defined (i386) 137055682Smarkm printf ("i386-sequent-dynix\n"); exit (0); 137155682Smarkm#endif 137255682Smarkm#if defined (ns32000) 137355682Smarkm printf ("ns32k-sequent-dynix\n"); exit (0); 137455682Smarkm#endif 137555682Smarkm#endif 137655682Smarkm 137755682Smarkm#if defined (_SEQUENT_) 137855682Smarkm struct utsname un; 137955682Smarkm 138055682Smarkm uname(&un); 138155682Smarkm 138255682Smarkm if (strncmp(un.version, "V2", 2) == 0) { 138355682Smarkm printf ("i386-sequent-ptx2\n"); exit (0); 138455682Smarkm } 138555682Smarkm if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 138655682Smarkm printf ("i386-sequent-ptx1\n"); exit (0); 138755682Smarkm } 138855682Smarkm printf ("i386-sequent-ptx\n"); exit (0); 138955682Smarkm 139055682Smarkm#endif 139155682Smarkm 139255682Smarkm#if defined (vax) 139390926Snectar# if !defined (ultrix) 139490926Snectar# include <sys/param.h> 139590926Snectar# if defined (BSD) 139690926Snectar# if BSD == 43 139790926Snectar printf ("vax-dec-bsd4.3\n"); exit (0); 139890926Snectar# else 139990926Snectar# if BSD == 199006 140090926Snectar printf ("vax-dec-bsd4.3reno\n"); exit (0); 140190926Snectar# else 140290926Snectar printf ("vax-dec-bsd\n"); exit (0); 140390926Snectar# endif 140490926Snectar# endif 140590926Snectar# else 140690926Snectar printf ("vax-dec-bsd\n"); exit (0); 140790926Snectar# endif 140890926Snectar# else 140990926Snectar printf ("vax-dec-ultrix\n"); exit (0); 141090926Snectar# endif 141155682Smarkm#endif 141255682Smarkm 141355682Smarkm#if defined (alliant) && defined (i860) 141455682Smarkm printf ("i860-alliant-bsd\n"); exit (0); 141555682Smarkm#endif 141655682Smarkm 141755682Smarkm exit (1); 141855682Smarkm} 141955682SmarkmEOF 142055682Smarkm 1421178825Sdfr$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1422178825Sdfr { echo "$SYSTEM_NAME"; exit; } 142355682Smarkm 142455682Smarkm# Apollos put the system type in the environment. 142555682Smarkm 1426178825Sdfrtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 142755682Smarkm 142855682Smarkm# Convex versions that predate uname can use getsysinfo(1) 142955682Smarkm 143055682Smarkmif [ -x /usr/convex/getsysinfo ] 143155682Smarkmthen 143255682Smarkm case `getsysinfo -f cpu_type` in 143355682Smarkm c1*) 143455682Smarkm echo c1-convex-bsd 1435178825Sdfr exit ;; 143655682Smarkm c2*) 143755682Smarkm if getsysinfo -f scalar_acc 143855682Smarkm then echo c32-convex-bsd 143955682Smarkm else echo c2-convex-bsd 144055682Smarkm fi 1441178825Sdfr exit ;; 144255682Smarkm c34*) 144355682Smarkm echo c34-convex-bsd 1444178825Sdfr exit ;; 144555682Smarkm c38*) 144655682Smarkm echo c38-convex-bsd 1447178825Sdfr exit ;; 144855682Smarkm c4*) 144955682Smarkm echo c4-convex-bsd 1450178825Sdfr exit ;; 145155682Smarkm esac 145255682Smarkmfi 145355682Smarkm 145472445Sassarcat >&2 <<EOF 145572445Sassar$0: unable to guess system type 145655682Smarkm 145790926SnectarThis script, last modified $timestamp, has failed to recognize 145890926Snectarthe operating system you are using. It is advised that you 145990926Snectardownload the most up to date version of the config scripts from 146072445Sassar 1461178825Sdfr http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1462178825Sdfrand 1463178825Sdfr http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 146472445Sassar 146572445SassarIf the version you run ($0) is already up to date, please 146672445Sassarsend the following data and any information you think might be 146772445Sassarpertinent to <config-patches@gnu.org> in order to provide the needed 146872445Sassarinformation to handle your system. 146972445Sassar 147090926Snectarconfig.guess timestamp = $timestamp 147172445Sassar 147272445Sassaruname -m = `(uname -m) 2>/dev/null || echo unknown` 147372445Sassaruname -r = `(uname -r) 2>/dev/null || echo unknown` 147472445Sassaruname -s = `(uname -s) 2>/dev/null || echo unknown` 147572445Sassaruname -v = `(uname -v) 2>/dev/null || echo unknown` 147672445Sassar 147772445Sassar/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 147872445Sassar/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 147972445Sassar 148072445Sassarhostinfo = `(hostinfo) 2>/dev/null` 148172445Sassar/bin/universe = `(/bin/universe) 2>/dev/null` 148272445Sassar/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 148372445Sassar/bin/arch = `(/bin/arch) 2>/dev/null` 148472445Sassar/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 148572445Sassar/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 148672445Sassar 148772445SassarUNAME_MACHINE = ${UNAME_MACHINE} 148872445SassarUNAME_RELEASE = ${UNAME_RELEASE} 148972445SassarUNAME_SYSTEM = ${UNAME_SYSTEM} 149072445SassarUNAME_VERSION = ${UNAME_VERSION} 149172445SassarEOF 149272445Sassar 149355682Smarkmexit 1 149472445Sassar 149572445Sassar# Local variables: 149672445Sassar# eval: (add-hook 'write-file-hooks 'time-stamp) 149790926Snectar# time-stamp-start: "timestamp='" 149872445Sassar# time-stamp-format: "%:y-%02m-%02d" 149972445Sassar# time-stamp-end: "'" 150072445Sassar# End: 1501