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