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