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