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