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