1706f2543Smrg#! /bin/sh 2706f2543Smrg# Attempt to guess a canonical system name. 3706f2543Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4706f2543Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 5706f2543Smrg# Inc. 6706f2543Smrg 7706f2543Smrgtimestamp='2006-07-02' 8706f2543Smrg 9706f2543Smrg# This file is free software; you can redistribute it and/or modify it 10706f2543Smrg# under the terms of the GNU General Public License as published by 11706f2543Smrg# the Free Software Foundation; either version 2 of the License, or 12706f2543Smrg# (at your option) any later version. 13706f2543Smrg# 14706f2543Smrg# This program is distributed in the hope that it will be useful, but 15706f2543Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16706f2543Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17706f2543Smrg# General Public License for more details. 18706f2543Smrg# 19706f2543Smrg# You should have received a copy of the GNU General Public License 20706f2543Smrg# along with this program; if not, write to the Free Software 21706f2543Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22706f2543Smrg# 02110-1301, USA. 23706f2543Smrg# 24706f2543Smrg# As a special exception to the GNU General Public License, if you 25706f2543Smrg# distribute this file as part of a program that contains a 26706f2543Smrg# configuration script generated by Autoconf, you may include it under 27706f2543Smrg# the same distribution terms that you use for the rest of that program. 28706f2543Smrg 29706f2543Smrg 30706f2543Smrg# Originally written by Per Bothner <per@bothner.com>. 31706f2543Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 32706f2543Smrg# diff and a properly formatted ChangeLog entry. 33706f2543Smrg# 34706f2543Smrg# This script attempts to guess a canonical system name similar to 35706f2543Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 36706f2543Smrg# exits with 0. Otherwise, it exits with 1. 37706f2543Smrg# 38706f2543Smrg# The plan is that this can be called by configure scripts if you 39706f2543Smrg# don't specify an explicit build system type. 40706f2543Smrg 41706f2543Smrgme=`echo "$0" | sed -e 's,.*/,,'` 42706f2543Smrg 43706f2543Smrgusage="\ 44706f2543SmrgUsage: $0 [OPTION] 45706f2543Smrg 46706f2543SmrgOutput the configuration name of the system \`$me' is run on. 47706f2543Smrg 48706f2543SmrgOperation modes: 49706f2543Smrg -h, --help print this help, then exit 50706f2543Smrg -t, --time-stamp print date of last modification, then exit 51706f2543Smrg -v, --version print version number, then exit 52706f2543Smrg 53706f2543SmrgReport bugs and patches to <config-patches@gnu.org>." 54706f2543Smrg 55706f2543Smrgversion="\ 56706f2543SmrgGNU config.guess ($timestamp) 57706f2543Smrg 58706f2543SmrgOriginally written by Per Bothner. 59706f2543SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 60706f2543SmrgFree Software Foundation, Inc. 61706f2543Smrg 62706f2543SmrgThis is free software; see the source for copying conditions. There is NO 63706f2543Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 64706f2543Smrg 65706f2543Smrghelp=" 66706f2543SmrgTry \`$me --help' for more information." 67706f2543Smrg 68706f2543Smrg# Parse command line 69706f2543Smrgwhile test $# -gt 0 ; do 70706f2543Smrg case $1 in 71706f2543Smrg --time-stamp | --time* | -t ) 72706f2543Smrg echo "$timestamp" ; exit ;; 73706f2543Smrg --version | -v ) 74706f2543Smrg echo "$version" ; exit ;; 75706f2543Smrg --help | --h* | -h ) 76706f2543Smrg echo "$usage"; exit ;; 77706f2543Smrg -- ) # Stop option processing 78706f2543Smrg shift; break ;; 79706f2543Smrg - ) # Use stdin as input. 80706f2543Smrg break ;; 81706f2543Smrg -* ) 82706f2543Smrg echo "$me: invalid option $1$help" >&2 83706f2543Smrg exit 1 ;; 84706f2543Smrg * ) 85706f2543Smrg break ;; 86706f2543Smrg esac 87706f2543Smrgdone 88706f2543Smrg 89706f2543Smrgif test $# != 0; then 90706f2543Smrg echo "$me: too many arguments$help" >&2 91706f2543Smrg exit 1 92706f2543Smrgfi 93706f2543Smrg 94706f2543Smrgtrap 'exit 1' 1 2 15 95706f2543Smrg 96706f2543Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 97706f2543Smrg# compiler to aid in system detection is discouraged as it requires 98706f2543Smrg# temporary files to be created and, as you can see below, it is a 99706f2543Smrg# headache to deal with in a portable fashion. 100706f2543Smrg 101706f2543Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 102706f2543Smrg# use `HOST_CC' if defined, but it is deprecated. 103706f2543Smrg 104706f2543Smrg# Portable tmp directory creation inspired by the Autoconf team. 105706f2543Smrg 106706f2543Smrgset_cc_for_build=' 107706f2543Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108706f2543Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 109706f2543Smrg: ${TMPDIR=/tmp} ; 110706f2543Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 111706f2543Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 112706f2543Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 113706f2543Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 114706f2543Smrgdummy=$tmp/dummy ; 115706f2543Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116706f2543Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 117706f2543Smrg ,,) echo "int x;" > $dummy.c ; 118706f2543Smrg for c in cc gcc c89 c99 ; do 119706f2543Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 120706f2543Smrg CC_FOR_BUILD="$c"; break ; 121706f2543Smrg fi ; 122706f2543Smrg done ; 123706f2543Smrg if test x"$CC_FOR_BUILD" = x ; then 124706f2543Smrg CC_FOR_BUILD=no_compiler_found ; 125706f2543Smrg fi 126706f2543Smrg ;; 127706f2543Smrg ,,*) CC_FOR_BUILD=$CC ;; 128706f2543Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 129706f2543Smrgesac ; set_cc_for_build= ;' 130706f2543Smrg 131706f2543Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 132706f2543Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 133706f2543Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 134706f2543Smrg PATH=$PATH:/.attbin ; export PATH 135706f2543Smrgfi 136706f2543Smrg 137706f2543SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 138706f2543SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139706f2543SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 140706f2543SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 141706f2543Smrg 142706f2543Smrg# Note: order is significant - the case branches are not exclusive. 143706f2543Smrg 144706f2543Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 145706f2543Smrg *:NetBSD:*:*) 146706f2543Smrg # NetBSD (nbsd) targets should (where applicable) match one or 147706f2543Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 148706f2543Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 149706f2543Smrg # switched to ELF, *-*-netbsd* would select the old 150706f2543Smrg # object file format. This provides both forward 151706f2543Smrg # compatibility and a consistent mechanism for selecting the 152706f2543Smrg # object file format. 153706f2543Smrg # 154706f2543Smrg # Note: NetBSD doesn't particularly care about the vendor 155706f2543Smrg # portion of the name. We always set it to "unknown". 156706f2543Smrg sysctl="sysctl -n hw.machine_arch" 157706f2543Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 158706f2543Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 159706f2543Smrg case "${UNAME_MACHINE_ARCH}" in 160706f2543Smrg armeb) machine=armeb-unknown ;; 161706f2543Smrg arm*) machine=arm-unknown ;; 162706f2543Smrg sh3el) machine=shl-unknown ;; 163706f2543Smrg sh3eb) machine=sh-unknown ;; 164706f2543Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 165706f2543Smrg esac 166706f2543Smrg # The Operating System including object format, if it has switched 167706f2543Smrg # to ELF recently, or will in the future. 168706f2543Smrg case "${UNAME_MACHINE_ARCH}" in 169706f2543Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 170706f2543Smrg eval $set_cc_for_build 171706f2543Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 172706f2543Smrg | grep __ELF__ >/dev/null 173706f2543Smrg then 174706f2543Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 175706f2543Smrg # Return netbsd for either. FIX? 176706f2543Smrg os=netbsd 177706f2543Smrg else 178706f2543Smrg os=netbsdelf 179706f2543Smrg fi 180706f2543Smrg ;; 181706f2543Smrg *) 182706f2543Smrg os=netbsd 183706f2543Smrg ;; 184706f2543Smrg esac 185706f2543Smrg # The OS release 186706f2543Smrg # Debian GNU/NetBSD machines have a different userland, and 187706f2543Smrg # thus, need a distinct triplet. However, they do not need 188706f2543Smrg # kernel version information, so it can be replaced with a 189706f2543Smrg # suitable tag, in the style of linux-gnu. 190706f2543Smrg case "${UNAME_VERSION}" in 191706f2543Smrg Debian*) 192706f2543Smrg release='-gnu' 193706f2543Smrg ;; 194706f2543Smrg *) 195706f2543Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 196706f2543Smrg ;; 197706f2543Smrg esac 198706f2543Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 199706f2543Smrg # contains redundant information, the shorter form: 200706f2543Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 201706f2543Smrg echo "${machine}-${os}${release}" 202706f2543Smrg exit ;; 203706f2543Smrg *:OpenBSD:*:*) 204706f2543Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 205706f2543Smrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 206706f2543Smrg exit ;; 207706f2543Smrg *:ekkoBSD:*:*) 208706f2543Smrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 209706f2543Smrg exit ;; 210706f2543Smrg *:SolidBSD:*:*) 211706f2543Smrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 212706f2543Smrg exit ;; 213706f2543Smrg macppc:MirBSD:*:*) 214706f2543Smrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 215706f2543Smrg exit ;; 216706f2543Smrg *:MirBSD:*:*) 217706f2543Smrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 218706f2543Smrg exit ;; 219706f2543Smrg alpha:OSF1:*:*) 220706f2543Smrg case $UNAME_RELEASE in 221706f2543Smrg *4.0) 222706f2543Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 223706f2543Smrg ;; 224706f2543Smrg *5.*) 225706f2543Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 226706f2543Smrg ;; 227706f2543Smrg esac 228706f2543Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 229706f2543Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 230706f2543Smrg # covers most systems running today. This code pipes the CPU 231706f2543Smrg # types through head -n 1, so we only detect the type of CPU 0. 232706f2543Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 233706f2543Smrg case "$ALPHA_CPU_TYPE" in 234706f2543Smrg "EV4 (21064)") 235706f2543Smrg UNAME_MACHINE="alpha" ;; 236706f2543Smrg "EV4.5 (21064)") 237706f2543Smrg UNAME_MACHINE="alpha" ;; 238706f2543Smrg "LCA4 (21066/21068)") 239706f2543Smrg UNAME_MACHINE="alpha" ;; 240706f2543Smrg "EV5 (21164)") 241706f2543Smrg UNAME_MACHINE="alphaev5" ;; 242706f2543Smrg "EV5.6 (21164A)") 243706f2543Smrg UNAME_MACHINE="alphaev56" ;; 244706f2543Smrg "EV5.6 (21164PC)") 245706f2543Smrg UNAME_MACHINE="alphapca56" ;; 246706f2543Smrg "EV5.7 (21164PC)") 247706f2543Smrg UNAME_MACHINE="alphapca57" ;; 248706f2543Smrg "EV6 (21264)") 249706f2543Smrg UNAME_MACHINE="alphaev6" ;; 250706f2543Smrg "EV6.7 (21264A)") 251706f2543Smrg UNAME_MACHINE="alphaev67" ;; 252706f2543Smrg "EV6.8CB (21264C)") 253706f2543Smrg UNAME_MACHINE="alphaev68" ;; 254706f2543Smrg "EV6.8AL (21264B)") 255706f2543Smrg UNAME_MACHINE="alphaev68" ;; 256706f2543Smrg "EV6.8CX (21264D)") 257706f2543Smrg UNAME_MACHINE="alphaev68" ;; 258706f2543Smrg "EV6.9A (21264/EV69A)") 259706f2543Smrg UNAME_MACHINE="alphaev69" ;; 260706f2543Smrg "EV7 (21364)") 261706f2543Smrg UNAME_MACHINE="alphaev7" ;; 262706f2543Smrg "EV7.9 (21364A)") 263706f2543Smrg UNAME_MACHINE="alphaev79" ;; 264706f2543Smrg esac 265706f2543Smrg # A Pn.n version is a patched version. 266706f2543Smrg # A Vn.n version is a released version. 267706f2543Smrg # A Tn.n version is a released field test version. 268706f2543Smrg # A Xn.n version is an unreleased experimental baselevel. 269706f2543Smrg # 1.2 uses "1.2" for uname -r. 270706f2543Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 271706f2543Smrg exit ;; 272706f2543Smrg Alpha\ *:Windows_NT*:*) 273706f2543Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 274706f2543Smrg # Should we change UNAME_MACHINE based on the output of uname instead 275706f2543Smrg # of the specific Alpha model? 276706f2543Smrg echo alpha-pc-interix 277706f2543Smrg exit ;; 278706f2543Smrg 21064:Windows_NT:50:3) 279706f2543Smrg echo alpha-dec-winnt3.5 280706f2543Smrg exit ;; 281706f2543Smrg Amiga*:UNIX_System_V:4.0:*) 282706f2543Smrg echo m68k-unknown-sysv4 283706f2543Smrg exit ;; 284706f2543Smrg *:[Aa]miga[Oo][Ss]:*:*) 285706f2543Smrg echo ${UNAME_MACHINE}-unknown-amigaos 286706f2543Smrg exit ;; 287706f2543Smrg *:[Mm]orph[Oo][Ss]:*:*) 288706f2543Smrg echo ${UNAME_MACHINE}-unknown-morphos 289706f2543Smrg exit ;; 290706f2543Smrg *:OS/390:*:*) 291706f2543Smrg echo i370-ibm-openedition 292706f2543Smrg exit ;; 293706f2543Smrg *:z/VM:*:*) 294706f2543Smrg echo s390-ibm-zvmoe 295706f2543Smrg exit ;; 296706f2543Smrg *:OS400:*:*) 297706f2543Smrg echo powerpc-ibm-os400 298706f2543Smrg exit ;; 299706f2543Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 300706f2543Smrg echo arm-acorn-riscix${UNAME_RELEASE} 301706f2543Smrg exit ;; 302706f2543Smrg arm:riscos:*:*|arm:RISCOS:*:*) 303706f2543Smrg echo arm-unknown-riscos 304706f2543Smrg exit ;; 305706f2543Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 306706f2543Smrg echo hppa1.1-hitachi-hiuxmpp 307706f2543Smrg exit ;; 308706f2543Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 309706f2543Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 310706f2543Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 311706f2543Smrg echo pyramid-pyramid-sysv3 312706f2543Smrg else 313706f2543Smrg echo pyramid-pyramid-bsd 314706f2543Smrg fi 315706f2543Smrg exit ;; 316706f2543Smrg NILE*:*:*:dcosx) 317706f2543Smrg echo pyramid-pyramid-svr4 318706f2543Smrg exit ;; 319706f2543Smrg DRS?6000:unix:4.0:6*) 320706f2543Smrg echo sparc-icl-nx6 321706f2543Smrg exit ;; 322706f2543Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 323706f2543Smrg case `/usr/bin/uname -p` in 324706f2543Smrg sparc) echo sparc-icl-nx7; exit ;; 325706f2543Smrg esac ;; 326706f2543Smrg sun4H:SunOS:5.*:*) 327706f2543Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 328706f2543Smrg exit ;; 329706f2543Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 330706f2543Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 331706f2543Smrg exit ;; 332706f2543Smrg i86pc:SunOS:5.*:*) 333706f2543Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 334706f2543Smrg exit ;; 335706f2543Smrg sun4*:SunOS:6*:*) 336706f2543Smrg # According to config.sub, this is the proper way to canonicalize 337706f2543Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 338706f2543Smrg # it's likely to be more like Solaris than SunOS4. 339706f2543Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 340706f2543Smrg exit ;; 341706f2543Smrg sun4*:SunOS:*:*) 342706f2543Smrg case "`/usr/bin/arch -k`" in 343706f2543Smrg Series*|S4*) 344706f2543Smrg UNAME_RELEASE=`uname -v` 345706f2543Smrg ;; 346706f2543Smrg esac 347706f2543Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 348706f2543Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 349706f2543Smrg exit ;; 350706f2543Smrg sun3*:SunOS:*:*) 351706f2543Smrg echo m68k-sun-sunos${UNAME_RELEASE} 352706f2543Smrg exit ;; 353706f2543Smrg sun*:*:4.2BSD:*) 354706f2543Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 355706f2543Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 356706f2543Smrg case "`/bin/arch`" in 357706f2543Smrg sun3) 358706f2543Smrg echo m68k-sun-sunos${UNAME_RELEASE} 359706f2543Smrg ;; 360706f2543Smrg sun4) 361706f2543Smrg echo sparc-sun-sunos${UNAME_RELEASE} 362706f2543Smrg ;; 363706f2543Smrg esac 364706f2543Smrg exit ;; 365706f2543Smrg aushp:SunOS:*:*) 366706f2543Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 367706f2543Smrg exit ;; 368706f2543Smrg # The situation for MiNT is a little confusing. The machine name 369706f2543Smrg # can be virtually everything (everything which is not 370706f2543Smrg # "atarist" or "atariste" at least should have a processor 371706f2543Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 372706f2543Smrg # to the lowercase version "mint" (or "freemint"). Finally 373706f2543Smrg # the system name "TOS" denotes a system which is actually not 374706f2543Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 375706f2543Smrg # be no problem. 376706f2543Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 377706f2543Smrg echo m68k-atari-mint${UNAME_RELEASE} 378706f2543Smrg exit ;; 379706f2543Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 380706f2543Smrg echo m68k-atari-mint${UNAME_RELEASE} 381706f2543Smrg exit ;; 382706f2543Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 383706f2543Smrg echo m68k-atari-mint${UNAME_RELEASE} 384706f2543Smrg exit ;; 385706f2543Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 386706f2543Smrg echo m68k-milan-mint${UNAME_RELEASE} 387706f2543Smrg exit ;; 388706f2543Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 389706f2543Smrg echo m68k-hades-mint${UNAME_RELEASE} 390706f2543Smrg exit ;; 391706f2543Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 392706f2543Smrg echo m68k-unknown-mint${UNAME_RELEASE} 393706f2543Smrg exit ;; 394706f2543Smrg m68k:machten:*:*) 395706f2543Smrg echo m68k-apple-machten${UNAME_RELEASE} 396706f2543Smrg exit ;; 397706f2543Smrg powerpc:machten:*:*) 398706f2543Smrg echo powerpc-apple-machten${UNAME_RELEASE} 399706f2543Smrg exit ;; 400706f2543Smrg RISC*:Mach:*:*) 401706f2543Smrg echo mips-dec-mach_bsd4.3 402706f2543Smrg exit ;; 403706f2543Smrg RISC*:ULTRIX:*:*) 404706f2543Smrg echo mips-dec-ultrix${UNAME_RELEASE} 405706f2543Smrg exit ;; 406706f2543Smrg VAX*:ULTRIX*:*:*) 407706f2543Smrg echo vax-dec-ultrix${UNAME_RELEASE} 408706f2543Smrg exit ;; 409706f2543Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 410706f2543Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 411706f2543Smrg exit ;; 412706f2543Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 413706f2543Smrg eval $set_cc_for_build 414706f2543Smrg sed 's/^ //' << EOF >$dummy.c 415706f2543Smrg#ifdef __cplusplus 416706f2543Smrg#include <stdio.h> /* for printf() prototype */ 417706f2543Smrg int main (int argc, char *argv[]) { 418706f2543Smrg#else 419706f2543Smrg int main (argc, argv) int argc; char *argv[]; { 420706f2543Smrg#endif 421706f2543Smrg #if defined (host_mips) && defined (MIPSEB) 422706f2543Smrg #if defined (SYSTYPE_SYSV) 423706f2543Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 424706f2543Smrg #endif 425706f2543Smrg #if defined (SYSTYPE_SVR4) 426706f2543Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 427706f2543Smrg #endif 428706f2543Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 429706f2543Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 430706f2543Smrg #endif 431706f2543Smrg #endif 432706f2543Smrg exit (-1); 433706f2543Smrg } 434706f2543SmrgEOF 435706f2543Smrg $CC_FOR_BUILD -o $dummy $dummy.c && 436706f2543Smrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 437706f2543Smrg SYSTEM_NAME=`$dummy $dummyarg` && 438706f2543Smrg { echo "$SYSTEM_NAME"; exit; } 439706f2543Smrg echo mips-mips-riscos${UNAME_RELEASE} 440706f2543Smrg exit ;; 441706f2543Smrg Motorola:PowerMAX_OS:*:*) 442706f2543Smrg echo powerpc-motorola-powermax 443706f2543Smrg exit ;; 444706f2543Smrg Motorola:*:4.3:PL8-*) 445706f2543Smrg echo powerpc-harris-powermax 446706f2543Smrg exit ;; 447706f2543Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 448706f2543Smrg echo powerpc-harris-powermax 449706f2543Smrg exit ;; 450706f2543Smrg Night_Hawk:Power_UNIX:*:*) 451706f2543Smrg echo powerpc-harris-powerunix 452706f2543Smrg exit ;; 453706f2543Smrg m88k:CX/UX:7*:*) 454706f2543Smrg echo m88k-harris-cxux7 455706f2543Smrg exit ;; 456706f2543Smrg m88k:*:4*:R4*) 457706f2543Smrg echo m88k-motorola-sysv4 458706f2543Smrg exit ;; 459706f2543Smrg m88k:*:3*:R3*) 460706f2543Smrg echo m88k-motorola-sysv3 461706f2543Smrg exit ;; 462706f2543Smrg AViiON:dgux:*:*) 463706f2543Smrg # DG/UX returns AViiON for all architectures 464706f2543Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 465706f2543Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 466706f2543Smrg then 467706f2543Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 468706f2543Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 469706f2543Smrg then 470706f2543Smrg echo m88k-dg-dgux${UNAME_RELEASE} 471706f2543Smrg else 472706f2543Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 473706f2543Smrg fi 474706f2543Smrg else 475706f2543Smrg echo i586-dg-dgux${UNAME_RELEASE} 476706f2543Smrg fi 477706f2543Smrg exit ;; 478706f2543Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 479706f2543Smrg echo m88k-dolphin-sysv3 480706f2543Smrg exit ;; 481706f2543Smrg M88*:*:R3*:*) 482706f2543Smrg # Delta 88k system running SVR3 483706f2543Smrg echo m88k-motorola-sysv3 484706f2543Smrg exit ;; 485706f2543Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 486706f2543Smrg echo m88k-tektronix-sysv3 487706f2543Smrg exit ;; 488706f2543Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 489706f2543Smrg echo m68k-tektronix-bsd 490706f2543Smrg exit ;; 491706f2543Smrg *:IRIX*:*:*) 492706f2543Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 493706f2543Smrg exit ;; 494706f2543Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 495706f2543Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 496706f2543Smrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 497706f2543Smrg i*86:AIX:*:*) 498706f2543Smrg echo i386-ibm-aix 499706f2543Smrg exit ;; 500706f2543Smrg ia64:AIX:*:*) 501706f2543Smrg if [ -x /usr/bin/oslevel ] ; then 502706f2543Smrg IBM_REV=`/usr/bin/oslevel` 503706f2543Smrg else 504706f2543Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 505706f2543Smrg fi 506706f2543Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 507706f2543Smrg exit ;; 508706f2543Smrg *:AIX:2:3) 509706f2543Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 510706f2543Smrg eval $set_cc_for_build 511706f2543Smrg sed 's/^ //' << EOF >$dummy.c 512706f2543Smrg #include <sys/systemcfg.h> 513706f2543Smrg 514706f2543Smrg main() 515706f2543Smrg { 516706f2543Smrg if (!__power_pc()) 517706f2543Smrg exit(1); 518706f2543Smrg puts("powerpc-ibm-aix3.2.5"); 519706f2543Smrg exit(0); 520706f2543Smrg } 521706f2543SmrgEOF 522706f2543Smrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 523706f2543Smrg then 524706f2543Smrg echo "$SYSTEM_NAME" 525706f2543Smrg else 526706f2543Smrg echo rs6000-ibm-aix3.2.5 527706f2543Smrg fi 528706f2543Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 529706f2543Smrg echo rs6000-ibm-aix3.2.4 530706f2543Smrg else 531706f2543Smrg echo rs6000-ibm-aix3.2 532706f2543Smrg fi 533706f2543Smrg exit ;; 534706f2543Smrg *:AIX:*:[45]) 535706f2543Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 536706f2543Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 537706f2543Smrg IBM_ARCH=rs6000 538706f2543Smrg else 539706f2543Smrg IBM_ARCH=powerpc 540706f2543Smrg fi 541706f2543Smrg if [ -x /usr/bin/oslevel ] ; then 542706f2543Smrg IBM_REV=`/usr/bin/oslevel` 543706f2543Smrg else 544706f2543Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 545706f2543Smrg fi 546706f2543Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 547706f2543Smrg exit ;; 548706f2543Smrg *:AIX:*:*) 549706f2543Smrg echo rs6000-ibm-aix 550706f2543Smrg exit ;; 551706f2543Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 552706f2543Smrg echo romp-ibm-bsd4.4 553706f2543Smrg exit ;; 554706f2543Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 555706f2543Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 556706f2543Smrg exit ;; # report: romp-ibm BSD 4.3 557706f2543Smrg *:BOSX:*:*) 558706f2543Smrg echo rs6000-bull-bosx 559706f2543Smrg exit ;; 560706f2543Smrg DPX/2?00:B.O.S.:*:*) 561706f2543Smrg echo m68k-bull-sysv3 562706f2543Smrg exit ;; 563706f2543Smrg 9000/[34]??:4.3bsd:1.*:*) 564706f2543Smrg echo m68k-hp-bsd 565706f2543Smrg exit ;; 566706f2543Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 567706f2543Smrg echo m68k-hp-bsd4.4 568706f2543Smrg exit ;; 569706f2543Smrg 9000/[34678]??:HP-UX:*:*) 570706f2543Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 571706f2543Smrg case "${UNAME_MACHINE}" in 572706f2543Smrg 9000/31? ) HP_ARCH=m68000 ;; 573706f2543Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 574706f2543Smrg 9000/[678][0-9][0-9]) 575706f2543Smrg if [ -x /usr/bin/getconf ]; then 576706f2543Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 577706f2543Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 578706f2543Smrg case "${sc_cpu_version}" in 579706f2543Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 580706f2543Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 581706f2543Smrg 532) # CPU_PA_RISC2_0 582706f2543Smrg case "${sc_kernel_bits}" in 583706f2543Smrg 32) HP_ARCH="hppa2.0n" ;; 584706f2543Smrg 64) HP_ARCH="hppa2.0w" ;; 585706f2543Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 586706f2543Smrg esac ;; 587706f2543Smrg esac 588706f2543Smrg fi 589706f2543Smrg if [ "${HP_ARCH}" = "" ]; then 590706f2543Smrg eval $set_cc_for_build 591706f2543Smrg sed 's/^ //' << EOF >$dummy.c 592706f2543Smrg 593706f2543Smrg #define _HPUX_SOURCE 594706f2543Smrg #include <stdlib.h> 595706f2543Smrg #include <unistd.h> 596706f2543Smrg 597706f2543Smrg int main () 598706f2543Smrg { 599706f2543Smrg #if defined(_SC_KERNEL_BITS) 600706f2543Smrg long bits = sysconf(_SC_KERNEL_BITS); 601706f2543Smrg #endif 602706f2543Smrg long cpu = sysconf (_SC_CPU_VERSION); 603706f2543Smrg 604706f2543Smrg switch (cpu) 605706f2543Smrg { 606706f2543Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 607706f2543Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 608706f2543Smrg case CPU_PA_RISC2_0: 609706f2543Smrg #if defined(_SC_KERNEL_BITS) 610706f2543Smrg switch (bits) 611706f2543Smrg { 612706f2543Smrg case 64: puts ("hppa2.0w"); break; 613706f2543Smrg case 32: puts ("hppa2.0n"); break; 614706f2543Smrg default: puts ("hppa2.0"); break; 615706f2543Smrg } break; 616706f2543Smrg #else /* !defined(_SC_KERNEL_BITS) */ 617706f2543Smrg puts ("hppa2.0"); break; 618706f2543Smrg #endif 619706f2543Smrg default: puts ("hppa1.0"); break; 620706f2543Smrg } 621706f2543Smrg exit (0); 622706f2543Smrg } 623706f2543SmrgEOF 624706f2543Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 625706f2543Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 626706f2543Smrg fi ;; 627706f2543Smrg esac 628706f2543Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 629706f2543Smrg then 630706f2543Smrg eval $set_cc_for_build 631706f2543Smrg 632706f2543Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 633706f2543Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 634706f2543Smrg # generating 64-bit code. GNU and HP use different nomenclature: 635706f2543Smrg # 636706f2543Smrg # $ CC_FOR_BUILD=cc ./config.guess 637706f2543Smrg # => hppa2.0w-hp-hpux11.23 638706f2543Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 639706f2543Smrg # => hppa64-hp-hpux11.23 640706f2543Smrg 641706f2543Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 642706f2543Smrg grep __LP64__ >/dev/null 643706f2543Smrg then 644706f2543Smrg HP_ARCH="hppa2.0w" 645706f2543Smrg else 646706f2543Smrg HP_ARCH="hppa64" 647706f2543Smrg fi 648706f2543Smrg fi 649706f2543Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 650706f2543Smrg exit ;; 651706f2543Smrg ia64:HP-UX:*:*) 652706f2543Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 653706f2543Smrg echo ia64-hp-hpux${HPUX_REV} 654706f2543Smrg exit ;; 655706f2543Smrg 3050*:HI-UX:*:*) 656706f2543Smrg eval $set_cc_for_build 657706f2543Smrg sed 's/^ //' << EOF >$dummy.c 658706f2543Smrg #include <unistd.h> 659706f2543Smrg int 660706f2543Smrg main () 661706f2543Smrg { 662706f2543Smrg long cpu = sysconf (_SC_CPU_VERSION); 663706f2543Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 664706f2543Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 665706f2543Smrg results, however. */ 666706f2543Smrg if (CPU_IS_PA_RISC (cpu)) 667706f2543Smrg { 668706f2543Smrg switch (cpu) 669706f2543Smrg { 670706f2543Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 671706f2543Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 672706f2543Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 673706f2543Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 674706f2543Smrg } 675706f2543Smrg } 676706f2543Smrg else if (CPU_IS_HP_MC68K (cpu)) 677706f2543Smrg puts ("m68k-hitachi-hiuxwe2"); 678706f2543Smrg else puts ("unknown-hitachi-hiuxwe2"); 679706f2543Smrg exit (0); 680706f2543Smrg } 681706f2543SmrgEOF 682706f2543Smrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 683706f2543Smrg { echo "$SYSTEM_NAME"; exit; } 684706f2543Smrg echo unknown-hitachi-hiuxwe2 685706f2543Smrg exit ;; 686706f2543Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 687706f2543Smrg echo hppa1.1-hp-bsd 688706f2543Smrg exit ;; 689706f2543Smrg 9000/8??:4.3bsd:*:*) 690706f2543Smrg echo hppa1.0-hp-bsd 691706f2543Smrg exit ;; 692706f2543Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 693706f2543Smrg echo hppa1.0-hp-mpeix 694706f2543Smrg exit ;; 695706f2543Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 696706f2543Smrg echo hppa1.1-hp-osf 697706f2543Smrg exit ;; 698706f2543Smrg hp8??:OSF1:*:*) 699706f2543Smrg echo hppa1.0-hp-osf 700706f2543Smrg exit ;; 701706f2543Smrg i*86:OSF1:*:*) 702706f2543Smrg if [ -x /usr/sbin/sysversion ] ; then 703706f2543Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 704706f2543Smrg else 705706f2543Smrg echo ${UNAME_MACHINE}-unknown-osf1 706706f2543Smrg fi 707706f2543Smrg exit ;; 708706f2543Smrg parisc*:Lites*:*:*) 709706f2543Smrg echo hppa1.1-hp-lites 710706f2543Smrg exit ;; 711706f2543Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 712706f2543Smrg echo c1-convex-bsd 713706f2543Smrg exit ;; 714706f2543Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 715706f2543Smrg if getsysinfo -f scalar_acc 716706f2543Smrg then echo c32-convex-bsd 717706f2543Smrg else echo c2-convex-bsd 718706f2543Smrg fi 719706f2543Smrg exit ;; 720706f2543Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 721706f2543Smrg echo c34-convex-bsd 722706f2543Smrg exit ;; 723706f2543Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 724706f2543Smrg echo c38-convex-bsd 725706f2543Smrg exit ;; 726706f2543Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 727706f2543Smrg echo c4-convex-bsd 728706f2543Smrg exit ;; 729706f2543Smrg CRAY*Y-MP:*:*:*) 730706f2543Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 731706f2543Smrg exit ;; 732706f2543Smrg CRAY*[A-Z]90:*:*:*) 733706f2543Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 734706f2543Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 735706f2543Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 736706f2543Smrg -e 's/\.[^.]*$/.X/' 737706f2543Smrg exit ;; 738706f2543Smrg CRAY*TS:*:*:*) 739706f2543Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 740706f2543Smrg exit ;; 741706f2543Smrg CRAY*T3E:*:*:*) 742706f2543Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 743706f2543Smrg exit ;; 744706f2543Smrg CRAY*SV1:*:*:*) 745706f2543Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 746706f2543Smrg exit ;; 747706f2543Smrg *:UNICOS/mp:*:*) 748706f2543Smrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 749706f2543Smrg exit ;; 750706f2543Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 751706f2543Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 752706f2543Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 753706f2543Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 754706f2543Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 755706f2543Smrg exit ;; 756706f2543Smrg 5000:UNIX_System_V:4.*:*) 757706f2543Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 758706f2543Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 759706f2543Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 760706f2543Smrg exit ;; 761706f2543Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 762706f2543Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 763706f2543Smrg exit ;; 764706f2543Smrg sparc*:BSD/OS:*:*) 765706f2543Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 766706f2543Smrg exit ;; 767706f2543Smrg *:BSD/OS:*:*) 768706f2543Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 769706f2543Smrg exit ;; 770706f2543Smrg *:FreeBSD:*:*) 771706f2543Smrg case ${UNAME_MACHINE} in 772706f2543Smrg pc98) 773706f2543Smrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 774706f2543Smrg amd64) 775706f2543Smrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 776706f2543Smrg *) 777706f2543Smrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 778706f2543Smrg esac 779706f2543Smrg exit ;; 780706f2543Smrg i*:CYGWIN*:*) 781706f2543Smrg echo ${UNAME_MACHINE}-pc-cygwin 782706f2543Smrg exit ;; 783706f2543Smrg i*:MINGW*:*) 784706f2543Smrg echo ${UNAME_MACHINE}-pc-mingw32 785706f2543Smrg exit ;; 786706f2543Smrg i*:windows32*:*) 787706f2543Smrg # uname -m includes "-pc" on this system. 788706f2543Smrg echo ${UNAME_MACHINE}-mingw32 789706f2543Smrg exit ;; 790706f2543Smrg i*:PW*:*) 791706f2543Smrg echo ${UNAME_MACHINE}-pc-pw32 792706f2543Smrg exit ;; 793706f2543Smrg x86:Interix*:[3456]*) 794706f2543Smrg echo i586-pc-interix${UNAME_RELEASE} 795706f2543Smrg exit ;; 796706f2543Smrg EM64T:Interix*:[3456]*) 797706f2543Smrg echo x86_64-unknown-interix${UNAME_RELEASE} 798706f2543Smrg exit ;; 799706f2543Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 800706f2543Smrg echo i${UNAME_MACHINE}-pc-mks 801706f2543Smrg exit ;; 802706f2543Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 803706f2543Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 804706f2543Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 805706f2543Smrg # UNAME_MACHINE based on the output of uname instead of i386? 806706f2543Smrg echo i586-pc-interix 807706f2543Smrg exit ;; 808706f2543Smrg i*:UWIN*:*) 809706f2543Smrg echo ${UNAME_MACHINE}-pc-uwin 810706f2543Smrg exit ;; 811706f2543Smrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 812706f2543Smrg echo x86_64-unknown-cygwin 813706f2543Smrg exit ;; 814706f2543Smrg p*:CYGWIN*:*) 815706f2543Smrg echo powerpcle-unknown-cygwin 816706f2543Smrg exit ;; 817706f2543Smrg prep*:SunOS:5.*:*) 818706f2543Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 819706f2543Smrg exit ;; 820706f2543Smrg *:GNU:*:*) 821706f2543Smrg # the GNU system 822706f2543Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 823706f2543Smrg exit ;; 824706f2543Smrg *:GNU/*:*:*) 825706f2543Smrg # other systems with GNU libc and userland 826706f2543Smrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 827706f2543Smrg exit ;; 828706f2543Smrg i*86:Minix:*:*) 829706f2543Smrg echo ${UNAME_MACHINE}-pc-minix 830706f2543Smrg exit ;; 831706f2543Smrg arm*:Linux:*:*) 832706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 833706f2543Smrg exit ;; 834706f2543Smrg avr32*:Linux:*:*) 835706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 836706f2543Smrg exit ;; 837706f2543Smrg cris:Linux:*:*) 838706f2543Smrg echo cris-axis-linux-gnu 839706f2543Smrg exit ;; 840706f2543Smrg crisv32:Linux:*:*) 841706f2543Smrg echo crisv32-axis-linux-gnu 842706f2543Smrg exit ;; 843706f2543Smrg frv:Linux:*:*) 844706f2543Smrg echo frv-unknown-linux-gnu 845706f2543Smrg exit ;; 846706f2543Smrg ia64:Linux:*:*) 847706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 848706f2543Smrg exit ;; 849706f2543Smrg m32r*:Linux:*:*) 850706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 851706f2543Smrg exit ;; 852706f2543Smrg m68*:Linux:*:*) 853706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 854706f2543Smrg exit ;; 855706f2543Smrg mips:Linux:*:*) 856706f2543Smrg eval $set_cc_for_build 857706f2543Smrg sed 's/^ //' << EOF >$dummy.c 858706f2543Smrg #undef CPU 859706f2543Smrg #undef mips 860706f2543Smrg #undef mipsel 861706f2543Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 862706f2543Smrg CPU=mipsel 863706f2543Smrg #else 864706f2543Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 865706f2543Smrg CPU=mips 866706f2543Smrg #else 867706f2543Smrg CPU= 868706f2543Smrg #endif 869706f2543Smrg #endif 870706f2543SmrgEOF 871706f2543Smrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 872706f2543Smrg /^CPU/{ 873706f2543Smrg s: ::g 874706f2543Smrg p 875706f2543Smrg }'`" 876706f2543Smrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 877706f2543Smrg ;; 878706f2543Smrg mips64:Linux:*:*) 879706f2543Smrg eval $set_cc_for_build 880706f2543Smrg sed 's/^ //' << EOF >$dummy.c 881706f2543Smrg #undef CPU 882706f2543Smrg #undef mips64 883706f2543Smrg #undef mips64el 884706f2543Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 885706f2543Smrg CPU=mips64el 886706f2543Smrg #else 887706f2543Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 888706f2543Smrg CPU=mips64 889706f2543Smrg #else 890706f2543Smrg CPU= 891706f2543Smrg #endif 892706f2543Smrg #endif 893706f2543SmrgEOF 894706f2543Smrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 895706f2543Smrg /^CPU/{ 896706f2543Smrg s: ::g 897706f2543Smrg p 898706f2543Smrg }'`" 899706f2543Smrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 900706f2543Smrg ;; 901706f2543Smrg or32:Linux:*:*) 902706f2543Smrg echo or32-unknown-linux-gnu 903706f2543Smrg exit ;; 904706f2543Smrg ppc:Linux:*:*) 905706f2543Smrg echo powerpc-unknown-linux-gnu 906706f2543Smrg exit ;; 907706f2543Smrg ppc64:Linux:*:*) 908706f2543Smrg echo powerpc64-unknown-linux-gnu 909706f2543Smrg exit ;; 910706f2543Smrg alpha:Linux:*:*) 911706f2543Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 912706f2543Smrg EV5) UNAME_MACHINE=alphaev5 ;; 913706f2543Smrg EV56) UNAME_MACHINE=alphaev56 ;; 914706f2543Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 915706f2543Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 916706f2543Smrg EV6) UNAME_MACHINE=alphaev6 ;; 917706f2543Smrg EV67) UNAME_MACHINE=alphaev67 ;; 918706f2543Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 919706f2543Smrg esac 920706f2543Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 921706f2543Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 922706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 923706f2543Smrg exit ;; 924706f2543Smrg parisc:Linux:*:* | hppa:Linux:*:*) 925706f2543Smrg # Look for CPU level 926706f2543Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 927706f2543Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 928706f2543Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 929706f2543Smrg *) echo hppa-unknown-linux-gnu ;; 930706f2543Smrg esac 931706f2543Smrg exit ;; 932706f2543Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 933706f2543Smrg echo hppa64-unknown-linux-gnu 934706f2543Smrg exit ;; 935706f2543Smrg s390:Linux:*:* | s390x:Linux:*:*) 936706f2543Smrg echo ${UNAME_MACHINE}-ibm-linux 937706f2543Smrg exit ;; 938706f2543Smrg sh64*:Linux:*:*) 939706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 940706f2543Smrg exit ;; 941706f2543Smrg sh*:Linux:*:*) 942706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 943706f2543Smrg exit ;; 944706f2543Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 945706f2543Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 946706f2543Smrg exit ;; 947706f2543Smrg vax:Linux:*:*) 948706f2543Smrg echo ${UNAME_MACHINE}-dec-linux-gnu 949706f2543Smrg exit ;; 950706f2543Smrg x86_64:Linux:*:*) 951706f2543Smrg echo x86_64-unknown-linux-gnu 952706f2543Smrg exit ;; 953706f2543Smrg i*86:Linux:*:*) 954706f2543Smrg # The BFD linker knows what the default object file format is, so 955706f2543Smrg # first see if it will tell us. cd to the root directory to prevent 956706f2543Smrg # problems with other programs or directories called `ld' in the path. 957706f2543Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 958706f2543Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 959706f2543Smrg | sed -ne '/supported targets:/!d 960706f2543Smrg s/[ ][ ]*/ /g 961706f2543Smrg s/.*supported targets: *// 962706f2543Smrg s/ .*// 963706f2543Smrg p'` 964706f2543Smrg case "$ld_supported_targets" in 965706f2543Smrg elf32-i386) 966706f2543Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 967706f2543Smrg ;; 968706f2543Smrg a.out-i386-linux) 969706f2543Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 970706f2543Smrg exit ;; 971706f2543Smrg coff-i386) 972706f2543Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 973706f2543Smrg exit ;; 974706f2543Smrg "") 975706f2543Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 976706f2543Smrg # one that does not give us useful --help. 977706f2543Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 978706f2543Smrg exit ;; 979706f2543Smrg esac 980706f2543Smrg # Determine whether the default compiler is a.out or elf 981706f2543Smrg eval $set_cc_for_build 982706f2543Smrg sed 's/^ //' << EOF >$dummy.c 983706f2543Smrg #include <features.h> 984706f2543Smrg #ifdef __ELF__ 985706f2543Smrg # ifdef __GLIBC__ 986706f2543Smrg # if __GLIBC__ >= 2 987706f2543Smrg LIBC=gnu 988706f2543Smrg # else 989706f2543Smrg LIBC=gnulibc1 990706f2543Smrg # endif 991706f2543Smrg # else 992706f2543Smrg LIBC=gnulibc1 993706f2543Smrg # endif 994706f2543Smrg #else 995706f2543Smrg #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) 996706f2543Smrg LIBC=gnu 997706f2543Smrg #else 998706f2543Smrg LIBC=gnuaout 999706f2543Smrg #endif 1000706f2543Smrg #endif 1001706f2543Smrg #ifdef __dietlibc__ 1002706f2543Smrg LIBC=dietlibc 1003706f2543Smrg #endif 1004706f2543SmrgEOF 1005706f2543Smrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 1006706f2543Smrg /^LIBC/{ 1007706f2543Smrg s: ::g 1008706f2543Smrg p 1009706f2543Smrg }'`" 1010706f2543Smrg test x"${LIBC}" != x && { 1011706f2543Smrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1012706f2543Smrg exit 1013706f2543Smrg } 1014706f2543Smrg test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 1015706f2543Smrg ;; 1016706f2543Smrg i*86:DYNIX/ptx:4*:*) 1017706f2543Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1018706f2543Smrg # earlier versions are messed up and put the nodename in both 1019706f2543Smrg # sysname and nodename. 1020706f2543Smrg echo i386-sequent-sysv4 1021706f2543Smrg exit ;; 1022706f2543Smrg i*86:UNIX_SV:4.2MP:2.*) 1023706f2543Smrg # Unixware is an offshoot of SVR4, but it has its own version 1024706f2543Smrg # number series starting with 2... 1025706f2543Smrg # I am not positive that other SVR4 systems won't match this, 1026706f2543Smrg # I just have to hope. -- rms. 1027706f2543Smrg # Use sysv4.2uw... so that sysv4* matches it. 1028706f2543Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1029706f2543Smrg exit ;; 1030706f2543Smrg i*86:OS/2:*:*) 1031706f2543Smrg # If we were able to find `uname', then EMX Unix compatibility 1032706f2543Smrg # is probably installed. 1033706f2543Smrg echo ${UNAME_MACHINE}-pc-os2-emx 1034706f2543Smrg exit ;; 1035706f2543Smrg i*86:XTS-300:*:STOP) 1036706f2543Smrg echo ${UNAME_MACHINE}-unknown-stop 1037706f2543Smrg exit ;; 1038706f2543Smrg i*86:atheos:*:*) 1039706f2543Smrg echo ${UNAME_MACHINE}-unknown-atheos 1040706f2543Smrg exit ;; 1041706f2543Smrg i*86:syllable:*:*) 1042706f2543Smrg echo ${UNAME_MACHINE}-pc-syllable 1043706f2543Smrg exit ;; 1044706f2543Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1045706f2543Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 1046706f2543Smrg exit ;; 1047706f2543Smrg i*86:*DOS:*:*) 1048706f2543Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 1049706f2543Smrg exit ;; 1050706f2543Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1051706f2543Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1052706f2543Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1053706f2543Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1054706f2543Smrg else 1055706f2543Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1056706f2543Smrg fi 1057706f2543Smrg exit ;; 1058706f2543Smrg i*86:*:5:[678]*) 1059706f2543Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1060706f2543Smrg case `/bin/uname -X | grep "^Machine"` in 1061706f2543Smrg *486*) UNAME_MACHINE=i486 ;; 1062706f2543Smrg *Pentium) UNAME_MACHINE=i586 ;; 1063706f2543Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1064706f2543Smrg esac 1065706f2543Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1066706f2543Smrg exit ;; 1067706f2543Smrg i*86:*:3.2:*) 1068706f2543Smrg if test -f /usr/options/cb.name; then 1069706f2543Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1070706f2543Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1071706f2543Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1072706f2543Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1073706f2543Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1074706f2543Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1075706f2543Smrg && UNAME_MACHINE=i586 1076706f2543Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1077706f2543Smrg && UNAME_MACHINE=i686 1078706f2543Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1079706f2543Smrg && UNAME_MACHINE=i686 1080706f2543Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1081706f2543Smrg else 1082706f2543Smrg echo ${UNAME_MACHINE}-pc-sysv32 1083706f2543Smrg fi 1084706f2543Smrg exit ;; 1085706f2543Smrg pc:*:*:*) 1086706f2543Smrg # Left here for compatibility: 1087706f2543Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1088706f2543Smrg # the processor, so we play safe by assuming i386. 1089706f2543Smrg echo i386-pc-msdosdjgpp 1090706f2543Smrg exit ;; 1091706f2543Smrg Intel:Mach:3*:*) 1092706f2543Smrg echo i386-pc-mach3 1093706f2543Smrg exit ;; 1094706f2543Smrg paragon:*:*:*) 1095706f2543Smrg echo i860-intel-osf1 1096706f2543Smrg exit ;; 1097706f2543Smrg i860:*:4.*:*) # i860-SVR4 1098706f2543Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1099706f2543Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1100706f2543Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1101706f2543Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1102706f2543Smrg fi 1103706f2543Smrg exit ;; 1104706f2543Smrg mini*:CTIX:SYS*5:*) 1105706f2543Smrg # "miniframe" 1106706f2543Smrg echo m68010-convergent-sysv 1107706f2543Smrg exit ;; 1108706f2543Smrg mc68k:UNIX:SYSTEM5:3.51m) 1109706f2543Smrg echo m68k-convergent-sysv 1110706f2543Smrg exit ;; 1111706f2543Smrg M680?0:D-NIX:5.3:*) 1112706f2543Smrg echo m68k-diab-dnix 1113706f2543Smrg exit ;; 1114706f2543Smrg M68*:*:R3V[5678]*:*) 1115706f2543Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1116706f2543Smrg 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) 1117706f2543Smrg OS_REL='' 1118706f2543Smrg test -r /etc/.relid \ 1119706f2543Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1120706f2543Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1121706f2543Smrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1122706f2543Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1123706f2543Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1124706f2543Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1125706f2543Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1126706f2543Smrg && { echo i486-ncr-sysv4; exit; } ;; 1127706f2543Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1128706f2543Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 1129706f2543Smrg exit ;; 1130706f2543Smrg mc68030:UNIX_System_V:4.*:*) 1131706f2543Smrg echo m68k-atari-sysv4 1132706f2543Smrg exit ;; 1133706f2543Smrg TSUNAMI:LynxOS:2.*:*) 1134706f2543Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 1135706f2543Smrg exit ;; 1136706f2543Smrg rs6000:LynxOS:2.*:*) 1137706f2543Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 1138706f2543Smrg exit ;; 1139706f2543Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1140706f2543Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 1141706f2543Smrg exit ;; 1142706f2543Smrg SM[BE]S:UNIX_SV:*:*) 1143706f2543Smrg echo mips-dde-sysv${UNAME_RELEASE} 1144706f2543Smrg exit ;; 1145706f2543Smrg RM*:ReliantUNIX-*:*:*) 1146706f2543Smrg echo mips-sni-sysv4 1147706f2543Smrg exit ;; 1148706f2543Smrg RM*:SINIX-*:*:*) 1149706f2543Smrg echo mips-sni-sysv4 1150706f2543Smrg exit ;; 1151706f2543Smrg *:SINIX-*:*:*) 1152706f2543Smrg if uname -p 2>/dev/null >/dev/null ; then 1153706f2543Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1154706f2543Smrg echo ${UNAME_MACHINE}-sni-sysv4 1155706f2543Smrg else 1156706f2543Smrg echo ns32k-sni-sysv 1157706f2543Smrg fi 1158706f2543Smrg exit ;; 1159706f2543Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1160706f2543Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1161706f2543Smrg echo i586-unisys-sysv4 1162706f2543Smrg exit ;; 1163706f2543Smrg *:UNIX_System_V:4*:FTX*) 1164706f2543Smrg # From Gerald Hewes <hewes@openmarket.com>. 1165706f2543Smrg # How about differentiating between stratus architectures? -djm 1166706f2543Smrg echo hppa1.1-stratus-sysv4 1167706f2543Smrg exit ;; 1168706f2543Smrg *:*:*:FTX*) 1169706f2543Smrg # From seanf@swdc.stratus.com. 1170706f2543Smrg echo i860-stratus-sysv4 1171706f2543Smrg exit ;; 1172706f2543Smrg i*86:VOS:*:*) 1173706f2543Smrg # From Paul.Green@stratus.com. 1174706f2543Smrg echo ${UNAME_MACHINE}-stratus-vos 1175706f2543Smrg exit ;; 1176706f2543Smrg *:VOS:*:*) 1177706f2543Smrg # From Paul.Green@stratus.com. 1178706f2543Smrg echo hppa1.1-stratus-vos 1179706f2543Smrg exit ;; 1180706f2543Smrg mc68*:A/UX:*:*) 1181706f2543Smrg echo m68k-apple-aux${UNAME_RELEASE} 1182706f2543Smrg exit ;; 1183706f2543Smrg news*:NEWS-OS:6*:*) 1184706f2543Smrg echo mips-sony-newsos6 1185706f2543Smrg exit ;; 1186706f2543Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1187706f2543Smrg if [ -d /usr/nec ]; then 1188706f2543Smrg echo mips-nec-sysv${UNAME_RELEASE} 1189706f2543Smrg else 1190706f2543Smrg echo mips-unknown-sysv${UNAME_RELEASE} 1191706f2543Smrg fi 1192706f2543Smrg exit ;; 1193706f2543Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1194706f2543Smrg echo powerpc-be-beos 1195706f2543Smrg exit ;; 1196706f2543Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1197706f2543Smrg echo powerpc-apple-beos 1198706f2543Smrg exit ;; 1199706f2543Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1200706f2543Smrg echo i586-pc-beos 1201706f2543Smrg exit ;; 1202706f2543Smrg SX-4:SUPER-UX:*:*) 1203706f2543Smrg echo sx4-nec-superux${UNAME_RELEASE} 1204706f2543Smrg exit ;; 1205706f2543Smrg SX-5:SUPER-UX:*:*) 1206706f2543Smrg echo sx5-nec-superux${UNAME_RELEASE} 1207706f2543Smrg exit ;; 1208706f2543Smrg SX-6:SUPER-UX:*:*) 1209706f2543Smrg echo sx6-nec-superux${UNAME_RELEASE} 1210706f2543Smrg exit ;; 1211706f2543Smrg Power*:Rhapsody:*:*) 1212706f2543Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 1213706f2543Smrg exit ;; 1214706f2543Smrg *:Rhapsody:*:*) 1215706f2543Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1216706f2543Smrg exit ;; 1217706f2543Smrg *:Darwin:*:*) 1218706f2543Smrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1219706f2543Smrg case $UNAME_PROCESSOR in 1220706f2543Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1221706f2543Smrg esac 1222706f2543Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1223706f2543Smrg exit ;; 1224706f2543Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1225706f2543Smrg UNAME_PROCESSOR=`uname -p` 1226706f2543Smrg if test "$UNAME_PROCESSOR" = "x86"; then 1227706f2543Smrg UNAME_PROCESSOR=i386 1228706f2543Smrg UNAME_MACHINE=pc 1229706f2543Smrg fi 1230706f2543Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1231706f2543Smrg exit ;; 1232706f2543Smrg *:QNX:*:4*) 1233706f2543Smrg echo i386-pc-qnx 1234706f2543Smrg exit ;; 1235706f2543Smrg NSE-?:NONSTOP_KERNEL:*:*) 1236706f2543Smrg echo nse-tandem-nsk${UNAME_RELEASE} 1237706f2543Smrg exit ;; 1238706f2543Smrg NSR-?:NONSTOP_KERNEL:*:*) 1239706f2543Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 1240706f2543Smrg exit ;; 1241706f2543Smrg *:NonStop-UX:*:*) 1242706f2543Smrg echo mips-compaq-nonstopux 1243706f2543Smrg exit ;; 1244706f2543Smrg BS2000:POSIX*:*:*) 1245706f2543Smrg echo bs2000-siemens-sysv 1246706f2543Smrg exit ;; 1247706f2543Smrg DS/*:UNIX_System_V:*:*) 1248706f2543Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1249706f2543Smrg exit ;; 1250706f2543Smrg *:Plan9:*:*) 1251706f2543Smrg # "uname -m" is not consistent, so use $cputype instead. 386 1252706f2543Smrg # is converted to i386 for consistency with other x86 1253706f2543Smrg # operating systems. 1254706f2543Smrg if test "$cputype" = "386"; then 1255706f2543Smrg UNAME_MACHINE=i386 1256706f2543Smrg else 1257706f2543Smrg UNAME_MACHINE="$cputype" 1258706f2543Smrg fi 1259706f2543Smrg echo ${UNAME_MACHINE}-unknown-plan9 1260706f2543Smrg exit ;; 1261706f2543Smrg *:TOPS-10:*:*) 1262706f2543Smrg echo pdp10-unknown-tops10 1263706f2543Smrg exit ;; 1264706f2543Smrg *:TENEX:*:*) 1265706f2543Smrg echo pdp10-unknown-tenex 1266706f2543Smrg exit ;; 1267706f2543Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1268706f2543Smrg echo pdp10-dec-tops20 1269706f2543Smrg exit ;; 1270706f2543Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1271706f2543Smrg echo pdp10-xkl-tops20 1272706f2543Smrg exit ;; 1273706f2543Smrg *:TOPS-20:*:*) 1274706f2543Smrg echo pdp10-unknown-tops20 1275706f2543Smrg exit ;; 1276706f2543Smrg *:ITS:*:*) 1277706f2543Smrg echo pdp10-unknown-its 1278706f2543Smrg exit ;; 1279706f2543Smrg SEI:*:*:SEIUX) 1280706f2543Smrg echo mips-sei-seiux${UNAME_RELEASE} 1281706f2543Smrg exit ;; 1282706f2543Smrg *:DragonFly:*:*) 1283706f2543Smrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1284706f2543Smrg exit ;; 1285706f2543Smrg *:*VMS:*:*) 1286706f2543Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1287706f2543Smrg case "${UNAME_MACHINE}" in 1288706f2543Smrg A*) echo alpha-dec-vms ; exit ;; 1289706f2543Smrg I*) echo ia64-dec-vms ; exit ;; 1290706f2543Smrg V*) echo vax-dec-vms ; exit ;; 1291706f2543Smrg esac ;; 1292706f2543Smrg *:XENIX:*:SysV) 1293706f2543Smrg echo i386-pc-xenix 1294706f2543Smrg exit ;; 1295706f2543Smrg i*86:skyos:*:*) 1296706f2543Smrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1297706f2543Smrg exit ;; 1298706f2543Smrg i*86:rdos:*:*) 1299706f2543Smrg echo ${UNAME_MACHINE}-pc-rdos 1300706f2543Smrg exit ;; 1301706f2543Smrgesac 1302706f2543Smrg 1303706f2543Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 1304706f2543Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1305706f2543Smrg 1306706f2543Smrgeval $set_cc_for_build 1307706f2543Smrgcat >$dummy.c <<EOF 1308706f2543Smrg#ifdef _SEQUENT_ 1309706f2543Smrg# include <sys/types.h> 1310706f2543Smrg# include <sys/utsname.h> 1311706f2543Smrg#endif 1312706f2543Smrgmain () 1313706f2543Smrg{ 1314706f2543Smrg#if defined (sony) 1315706f2543Smrg#if defined (MIPSEB) 1316706f2543Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1317706f2543Smrg I don't know.... */ 1318706f2543Smrg printf ("mips-sony-bsd\n"); exit (0); 1319706f2543Smrg#else 1320706f2543Smrg#include <sys/param.h> 1321706f2543Smrg printf ("m68k-sony-newsos%s\n", 1322706f2543Smrg#ifdef NEWSOS4 1323706f2543Smrg "4" 1324706f2543Smrg#else 1325706f2543Smrg "" 1326706f2543Smrg#endif 1327706f2543Smrg ); exit (0); 1328706f2543Smrg#endif 1329706f2543Smrg#endif 1330706f2543Smrg 1331706f2543Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 1332706f2543Smrg printf ("arm-acorn-riscix\n"); exit (0); 1333706f2543Smrg#endif 1334706f2543Smrg 1335706f2543Smrg#if defined (hp300) && !defined (hpux) 1336706f2543Smrg printf ("m68k-hp-bsd\n"); exit (0); 1337706f2543Smrg#endif 1338706f2543Smrg 1339706f2543Smrg#if defined (NeXT) 1340706f2543Smrg#if !defined (__ARCHITECTURE__) 1341706f2543Smrg#define __ARCHITECTURE__ "m68k" 1342706f2543Smrg#endif 1343706f2543Smrg int version; 1344706f2543Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1345706f2543Smrg if (version < 4) 1346706f2543Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1347706f2543Smrg else 1348706f2543Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1349706f2543Smrg exit (0); 1350706f2543Smrg#endif 1351706f2543Smrg 1352706f2543Smrg#if defined (MULTIMAX) || defined (n16) 1353706f2543Smrg#if defined (UMAXV) 1354706f2543Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1355706f2543Smrg#else 1356706f2543Smrg#if defined (CMU) 1357706f2543Smrg printf ("ns32k-encore-mach\n"); exit (0); 1358706f2543Smrg#else 1359706f2543Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1360706f2543Smrg#endif 1361706f2543Smrg#endif 1362706f2543Smrg#endif 1363706f2543Smrg 1364706f2543Smrg#if defined (__386BSD__) 1365706f2543Smrg printf ("i386-pc-bsd\n"); exit (0); 1366706f2543Smrg#endif 1367706f2543Smrg 1368706f2543Smrg#if defined (sequent) 1369706f2543Smrg#if defined (i386) 1370706f2543Smrg printf ("i386-sequent-dynix\n"); exit (0); 1371706f2543Smrg#endif 1372706f2543Smrg#if defined (ns32000) 1373706f2543Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1374706f2543Smrg#endif 1375706f2543Smrg#endif 1376706f2543Smrg 1377706f2543Smrg#if defined (_SEQUENT_) 1378706f2543Smrg struct utsname un; 1379706f2543Smrg 1380706f2543Smrg uname(&un); 1381706f2543Smrg 1382706f2543Smrg if (strncmp(un.version, "V2", 2) == 0) { 1383706f2543Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1384706f2543Smrg } 1385706f2543Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1386706f2543Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1387706f2543Smrg } 1388706f2543Smrg printf ("i386-sequent-ptx\n"); exit (0); 1389706f2543Smrg 1390706f2543Smrg#endif 1391706f2543Smrg 1392706f2543Smrg#if defined (vax) 1393706f2543Smrg# if !defined (ultrix) 1394706f2543Smrg# include <sys/param.h> 1395706f2543Smrg# if defined (BSD) 1396706f2543Smrg# if BSD == 43 1397706f2543Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1398706f2543Smrg# else 1399706f2543Smrg# if BSD == 199006 1400706f2543Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1401706f2543Smrg# else 1402706f2543Smrg printf ("vax-dec-bsd\n"); exit (0); 1403706f2543Smrg# endif 1404706f2543Smrg# endif 1405706f2543Smrg# else 1406706f2543Smrg printf ("vax-dec-bsd\n"); exit (0); 1407706f2543Smrg# endif 1408706f2543Smrg# else 1409706f2543Smrg printf ("vax-dec-ultrix\n"); exit (0); 1410706f2543Smrg# endif 1411706f2543Smrg#endif 1412706f2543Smrg 1413706f2543Smrg#if defined (alliant) && defined (i860) 1414706f2543Smrg printf ("i860-alliant-bsd\n"); exit (0); 1415706f2543Smrg#endif 1416706f2543Smrg 1417706f2543Smrg exit (1); 1418706f2543Smrg} 1419706f2543SmrgEOF 1420706f2543Smrg 1421706f2543Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1422706f2543Smrg { echo "$SYSTEM_NAME"; exit; } 1423706f2543Smrg 1424706f2543Smrg# Apollos put the system type in the environment. 1425706f2543Smrg 1426706f2543Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1427706f2543Smrg 1428706f2543Smrg# Convex versions that predate uname can use getsysinfo(1) 1429706f2543Smrg 1430706f2543Smrgif [ -x /usr/convex/getsysinfo ] 1431706f2543Smrgthen 1432706f2543Smrg case `getsysinfo -f cpu_type` in 1433706f2543Smrg c1*) 1434706f2543Smrg echo c1-convex-bsd 1435706f2543Smrg exit ;; 1436706f2543Smrg c2*) 1437706f2543Smrg if getsysinfo -f scalar_acc 1438706f2543Smrg then echo c32-convex-bsd 1439706f2543Smrg else echo c2-convex-bsd 1440706f2543Smrg fi 1441706f2543Smrg exit ;; 1442706f2543Smrg c34*) 1443706f2543Smrg echo c34-convex-bsd 1444706f2543Smrg exit ;; 1445706f2543Smrg c38*) 1446706f2543Smrg echo c38-convex-bsd 1447706f2543Smrg exit ;; 1448706f2543Smrg c4*) 1449706f2543Smrg echo c4-convex-bsd 1450706f2543Smrg exit ;; 1451706f2543Smrg esac 1452706f2543Smrgfi 1453706f2543Smrg 1454706f2543Smrgcat >&2 <<EOF 1455706f2543Smrg$0: unable to guess system type 1456706f2543Smrg 1457706f2543SmrgThis script, last modified $timestamp, has failed to recognize 1458706f2543Smrgthe operating system you are using. It is advised that you 1459706f2543Smrgdownload the most up to date version of the config scripts from 1460706f2543Smrg 1461706f2543Smrg http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1462706f2543Smrgand 1463706f2543Smrg http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1464706f2543Smrg 1465706f2543SmrgIf the version you run ($0) is already up to date, please 1466706f2543Smrgsend the following data and any information you think might be 1467706f2543Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 1468706f2543Smrginformation to handle your system. 1469706f2543Smrg 1470706f2543Smrgconfig.guess timestamp = $timestamp 1471706f2543Smrg 1472706f2543Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1473706f2543Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1474706f2543Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1475706f2543Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1476706f2543Smrg 1477706f2543Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1478706f2543Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1479706f2543Smrg 1480706f2543Smrghostinfo = `(hostinfo) 2>/dev/null` 1481706f2543Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 1482706f2543Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1483706f2543Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 1484706f2543Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1485706f2543Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1486706f2543Smrg 1487706f2543SmrgUNAME_MACHINE = ${UNAME_MACHINE} 1488706f2543SmrgUNAME_RELEASE = ${UNAME_RELEASE} 1489706f2543SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 1490706f2543SmrgUNAME_VERSION = ${UNAME_VERSION} 1491706f2543SmrgEOF 1492706f2543Smrg 1493706f2543Smrgexit 1 1494706f2543Smrg 1495706f2543Smrg# Local variables: 1496706f2543Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1497706f2543Smrg# time-stamp-start: "timestamp='" 1498706f2543Smrg# time-stamp-format: "%:y-%02m-%02d" 1499706f2543Smrg# time-stamp-end: "'" 1500706f2543Smrg# End: 1501