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