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