123a0898aSmrg#! /bin/sh 223a0898aSmrg# Attempt to guess a canonical system name. 3b43acbb4Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 423a0898aSmrg 5a97c3f35Smrgtimestamp='2015-08-20' 623a0898aSmrg 723a0898aSmrg# This file is free software; you can redistribute it and/or modify it 823a0898aSmrg# under the terms of the GNU General Public License as published by 9b020570bSmrg# the Free Software Foundation; either version 3 of the License, or 1023a0898aSmrg# (at your option) any later version. 1123a0898aSmrg# 1223a0898aSmrg# This program is distributed in the hope that it will be useful, but 1323a0898aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1423a0898aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1523a0898aSmrg# General Public License for more details. 1623a0898aSmrg# 1723a0898aSmrg# You should have received a copy of the GNU General Public License 18b020570bSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1923a0898aSmrg# 2023a0898aSmrg# As a special exception to the GNU General Public License, if you 2123a0898aSmrg# distribute this file as part of a program that contains a 2223a0898aSmrg# configuration script generated by Autoconf, you may include it under 23b020570bSmrg# the same distribution terms that you use for the rest of that 24b020570bSmrg# program. This Exception is an additional permission under section 7 25b020570bSmrg# of the GNU General Public License, version 3 ("GPLv3"). 2623a0898aSmrg# 27121a5469Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 2823a0898aSmrg# 2941c30155Smrg# You can get the latest version of this script from: 3041c30155Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 31b020570bSmrg# 32121a5469Smrg# Please send patches to <config-patches@gnu.org>. 33b020570bSmrg 3423a0898aSmrg 3523a0898aSmrgme=`echo "$0" | sed -e 's,.*/,,'` 3623a0898aSmrg 3723a0898aSmrgusage="\ 3823a0898aSmrgUsage: $0 [OPTION] 3923a0898aSmrg 4023a0898aSmrgOutput the configuration name of the system \`$me' is run on. 4123a0898aSmrg 4223a0898aSmrgOperation modes: 4323a0898aSmrg -h, --help print this help, then exit 4423a0898aSmrg -t, --time-stamp print date of last modification, then exit 4523a0898aSmrg -v, --version print version number, then exit 4623a0898aSmrg 4723a0898aSmrgReport bugs and patches to <config-patches@gnu.org>." 4823a0898aSmrg 4923a0898aSmrgversion="\ 5023a0898aSmrgGNU config.guess ($timestamp) 5123a0898aSmrg 5223a0898aSmrgOriginally written by Per Bothner. 53b43acbb4SmrgCopyright 1992-2015 Free Software Foundation, Inc. 5423a0898aSmrg 5523a0898aSmrgThis is free software; see the source for copying conditions. There is NO 5623a0898aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 5723a0898aSmrg 5823a0898aSmrghelp=" 5923a0898aSmrgTry \`$me --help' for more information." 6023a0898aSmrg 6123a0898aSmrg# Parse command line 6223a0898aSmrgwhile test $# -gt 0 ; do 6323a0898aSmrg case $1 in 6423a0898aSmrg --time-stamp | --time* | -t ) 6523a0898aSmrg echo "$timestamp" ; exit ;; 6623a0898aSmrg --version | -v ) 6723a0898aSmrg echo "$version" ; exit ;; 6823a0898aSmrg --help | --h* | -h ) 6923a0898aSmrg echo "$usage"; exit ;; 7023a0898aSmrg -- ) # Stop option processing 7123a0898aSmrg shift; break ;; 7223a0898aSmrg - ) # Use stdin as input. 7323a0898aSmrg break ;; 7423a0898aSmrg -* ) 7523a0898aSmrg echo "$me: invalid option $1$help" >&2 7623a0898aSmrg exit 1 ;; 7723a0898aSmrg * ) 7823a0898aSmrg break ;; 7923a0898aSmrg esac 8023a0898aSmrgdone 8123a0898aSmrg 8223a0898aSmrgif test $# != 0; then 8323a0898aSmrg echo "$me: too many arguments$help" >&2 8423a0898aSmrg exit 1 8523a0898aSmrgfi 8623a0898aSmrg 87b020570bSmrgtrap 'exit 1' 1 2 15 8823a0898aSmrg 8923a0898aSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 9023a0898aSmrg# compiler to aid in system detection is discouraged as it requires 9123a0898aSmrg# temporary files to be created and, as you can see below, it is a 9223a0898aSmrg# headache to deal with in a portable fashion. 9323a0898aSmrg 9423a0898aSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 9523a0898aSmrg# use `HOST_CC' if defined, but it is deprecated. 9623a0898aSmrg 9723a0898aSmrg# Portable tmp directory creation inspired by the Autoconf team. 9823a0898aSmrg 9923a0898aSmrgset_cc_for_build=' 10023a0898aSmrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 101b020570bSmrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 10223a0898aSmrg: ${TMPDIR=/tmp} ; 10323a0898aSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 10423a0898aSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 10523a0898aSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 10623a0898aSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 10723a0898aSmrgdummy=$tmp/dummy ; 10823a0898aSmrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 10923a0898aSmrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 11023a0898aSmrg ,,) echo "int x;" > $dummy.c ; 11123a0898aSmrg for c in cc gcc c89 c99 ; do 11223a0898aSmrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 11323a0898aSmrg CC_FOR_BUILD="$c"; break ; 11423a0898aSmrg fi ; 11523a0898aSmrg done ; 11623a0898aSmrg if test x"$CC_FOR_BUILD" = x ; then 11723a0898aSmrg CC_FOR_BUILD=no_compiler_found ; 11823a0898aSmrg fi 11923a0898aSmrg ;; 12023a0898aSmrg ,,*) CC_FOR_BUILD=$CC ;; 12123a0898aSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 12223a0898aSmrgesac ; set_cc_for_build= ;' 12323a0898aSmrg 12423a0898aSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 12523a0898aSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 12623a0898aSmrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 12723a0898aSmrg PATH=$PATH:/.attbin ; export PATH 12823a0898aSmrgfi 12923a0898aSmrg 13023a0898aSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 13123a0898aSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 13223a0898aSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 13323a0898aSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 13423a0898aSmrg 135b020570bSmrgcase "${UNAME_SYSTEM}" in 136b020570bSmrgLinux|GNU|GNU/*) 137b020570bSmrg # If the system lacks a compiler, then just pick glibc. 138b020570bSmrg # We could probably try harder. 139b020570bSmrg LIBC=gnu 140b020570bSmrg 141b020570bSmrg eval $set_cc_for_build 142b020570bSmrg cat <<-EOF > $dummy.c 143b020570bSmrg #include <features.h> 144b020570bSmrg #if defined(__UCLIBC__) 145b020570bSmrg LIBC=uclibc 146b020570bSmrg #elif defined(__dietlibc__) 147b020570bSmrg LIBC=dietlibc 148b020570bSmrg #else 149b020570bSmrg LIBC=gnu 150b020570bSmrg #endif 151b020570bSmrg EOF 152121a5469Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 153b020570bSmrg ;; 154b020570bSmrgesac 155b020570bSmrg 15623a0898aSmrg# Note: order is significant - the case branches are not exclusive. 15723a0898aSmrg 15823a0898aSmrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 15923a0898aSmrg *:NetBSD:*:*) 16023a0898aSmrg # NetBSD (nbsd) targets should (where applicable) match one or 161b020570bSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 16223a0898aSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 16323a0898aSmrg # switched to ELF, *-*-netbsd* would select the old 16423a0898aSmrg # object file format. This provides both forward 16523a0898aSmrg # compatibility and a consistent mechanism for selecting the 16623a0898aSmrg # object file format. 16723a0898aSmrg # 16823a0898aSmrg # Note: NetBSD doesn't particularly care about the vendor 16923a0898aSmrg # portion of the name. We always set it to "unknown". 17023a0898aSmrg sysctl="sysctl -n hw.machine_arch" 171a97c3f35Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 172a97c3f35Smrg /sbin/$sysctl 2>/dev/null || \ 173a97c3f35Smrg /usr/sbin/$sysctl 2>/dev/null || \ 174a97c3f35Smrg echo unknown)` 17523a0898aSmrg case "${UNAME_MACHINE_ARCH}" in 17623a0898aSmrg armeb) machine=armeb-unknown ;; 17723a0898aSmrg arm*) machine=arm-unknown ;; 17823a0898aSmrg sh3el) machine=shl-unknown ;; 17923a0898aSmrg sh3eb) machine=sh-unknown ;; 18023a0898aSmrg sh5el) machine=sh5le-unknown ;; 181a97c3f35Smrg earmv*) 182a97c3f35Smrg arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 183a97c3f35Smrg endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` 184a97c3f35Smrg machine=${arch}${endian}-unknown 185a97c3f35Smrg ;; 18623a0898aSmrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 18723a0898aSmrg esac 18823a0898aSmrg # The Operating System including object format, if it has switched 18923a0898aSmrg # to ELF recently, or will in the future. 19023a0898aSmrg case "${UNAME_MACHINE_ARCH}" in 191a97c3f35Smrg arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) 19223a0898aSmrg eval $set_cc_for_build 19323a0898aSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 19441c30155Smrg | grep -q __ELF__ 19523a0898aSmrg then 19623a0898aSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 19723a0898aSmrg # Return netbsd for either. FIX? 19823a0898aSmrg os=netbsd 19923a0898aSmrg else 20023a0898aSmrg os=netbsdelf 20123a0898aSmrg fi 20223a0898aSmrg ;; 20323a0898aSmrg *) 204b020570bSmrg os=netbsd 20523a0898aSmrg ;; 20623a0898aSmrg esac 207a97c3f35Smrg # Determine ABI tags. 208a97c3f35Smrg case "${UNAME_MACHINE_ARCH}" in 209a97c3f35Smrg earm*) 210a97c3f35Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 211a97c3f35Smrg abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` 212a97c3f35Smrg ;; 213a97c3f35Smrg esac 21423a0898aSmrg # The OS release 21523a0898aSmrg # Debian GNU/NetBSD machines have a different userland, and 21623a0898aSmrg # thus, need a distinct triplet. However, they do not need 21723a0898aSmrg # kernel version information, so it can be replaced with a 21823a0898aSmrg # suitable tag, in the style of linux-gnu. 21923a0898aSmrg case "${UNAME_VERSION}" in 22023a0898aSmrg Debian*) 22123a0898aSmrg release='-gnu' 22223a0898aSmrg ;; 22323a0898aSmrg *) 224a97c3f35Smrg release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` 22523a0898aSmrg ;; 22623a0898aSmrg esac 22723a0898aSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 22823a0898aSmrg # contains redundant information, the shorter form: 22923a0898aSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 230a97c3f35Smrg echo "${machine}-${os}${release}${abi}" 23123a0898aSmrg exit ;; 232b020570bSmrg *:Bitrig:*:*) 233b020570bSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 234b020570bSmrg echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} 235b020570bSmrg exit ;; 23623a0898aSmrg *:OpenBSD:*:*) 23723a0898aSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 23823a0898aSmrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 23923a0898aSmrg exit ;; 24023a0898aSmrg *:ekkoBSD:*:*) 24123a0898aSmrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 24223a0898aSmrg exit ;; 24323a0898aSmrg *:SolidBSD:*:*) 24423a0898aSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 24523a0898aSmrg exit ;; 24623a0898aSmrg macppc:MirBSD:*:*) 24723a0898aSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 24823a0898aSmrg exit ;; 24923a0898aSmrg *:MirBSD:*:*) 25023a0898aSmrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 25123a0898aSmrg exit ;; 252a97c3f35Smrg *:Sortix:*:*) 253a97c3f35Smrg echo ${UNAME_MACHINE}-unknown-sortix 254a97c3f35Smrg exit ;; 25523a0898aSmrg alpha:OSF1:*:*) 25623a0898aSmrg case $UNAME_RELEASE in 25723a0898aSmrg *4.0) 25823a0898aSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 25923a0898aSmrg ;; 26023a0898aSmrg *5.*) 261b020570bSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 26223a0898aSmrg ;; 26323a0898aSmrg esac 26423a0898aSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 26523a0898aSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 26623a0898aSmrg # covers most systems running today. This code pipes the CPU 26723a0898aSmrg # types through head -n 1, so we only detect the type of CPU 0. 26823a0898aSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 26923a0898aSmrg case "$ALPHA_CPU_TYPE" in 27023a0898aSmrg "EV4 (21064)") 27123a0898aSmrg UNAME_MACHINE="alpha" ;; 27223a0898aSmrg "EV4.5 (21064)") 27323a0898aSmrg UNAME_MACHINE="alpha" ;; 27423a0898aSmrg "LCA4 (21066/21068)") 27523a0898aSmrg UNAME_MACHINE="alpha" ;; 27623a0898aSmrg "EV5 (21164)") 27723a0898aSmrg UNAME_MACHINE="alphaev5" ;; 27823a0898aSmrg "EV5.6 (21164A)") 27923a0898aSmrg UNAME_MACHINE="alphaev56" ;; 28023a0898aSmrg "EV5.6 (21164PC)") 28123a0898aSmrg UNAME_MACHINE="alphapca56" ;; 28223a0898aSmrg "EV5.7 (21164PC)") 28323a0898aSmrg UNAME_MACHINE="alphapca57" ;; 28423a0898aSmrg "EV6 (21264)") 28523a0898aSmrg UNAME_MACHINE="alphaev6" ;; 28623a0898aSmrg "EV6.7 (21264A)") 28723a0898aSmrg UNAME_MACHINE="alphaev67" ;; 28823a0898aSmrg "EV6.8CB (21264C)") 28923a0898aSmrg UNAME_MACHINE="alphaev68" ;; 29023a0898aSmrg "EV6.8AL (21264B)") 29123a0898aSmrg UNAME_MACHINE="alphaev68" ;; 29223a0898aSmrg "EV6.8CX (21264D)") 29323a0898aSmrg UNAME_MACHINE="alphaev68" ;; 29423a0898aSmrg "EV6.9A (21264/EV69A)") 29523a0898aSmrg UNAME_MACHINE="alphaev69" ;; 29623a0898aSmrg "EV7 (21364)") 29723a0898aSmrg UNAME_MACHINE="alphaev7" ;; 29823a0898aSmrg "EV7.9 (21364A)") 29923a0898aSmrg UNAME_MACHINE="alphaev79" ;; 30023a0898aSmrg esac 30123a0898aSmrg # A Pn.n version is a patched version. 30223a0898aSmrg # A Vn.n version is a released version. 30323a0898aSmrg # A Tn.n version is a released field test version. 30423a0898aSmrg # A Xn.n version is an unreleased experimental baselevel. 30523a0898aSmrg # 1.2 uses "1.2" for uname -r. 30623a0898aSmrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 307b020570bSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 308b020570bSmrg exitcode=$? 309b020570bSmrg trap '' 0 310b020570bSmrg exit $exitcode ;; 31123a0898aSmrg Alpha\ *:Windows_NT*:*) 31223a0898aSmrg # How do we know it's Interix rather than the generic POSIX subsystem? 31323a0898aSmrg # Should we change UNAME_MACHINE based on the output of uname instead 31423a0898aSmrg # of the specific Alpha model? 31523a0898aSmrg echo alpha-pc-interix 31623a0898aSmrg exit ;; 31723a0898aSmrg 21064:Windows_NT:50:3) 31823a0898aSmrg echo alpha-dec-winnt3.5 31923a0898aSmrg exit ;; 32023a0898aSmrg Amiga*:UNIX_System_V:4.0:*) 32123a0898aSmrg echo m68k-unknown-sysv4 32223a0898aSmrg exit ;; 32323a0898aSmrg *:[Aa]miga[Oo][Ss]:*:*) 32423a0898aSmrg echo ${UNAME_MACHINE}-unknown-amigaos 32523a0898aSmrg exit ;; 32623a0898aSmrg *:[Mm]orph[Oo][Ss]:*:*) 32723a0898aSmrg echo ${UNAME_MACHINE}-unknown-morphos 32823a0898aSmrg exit ;; 32923a0898aSmrg *:OS/390:*:*) 33023a0898aSmrg echo i370-ibm-openedition 33123a0898aSmrg exit ;; 33223a0898aSmrg *:z/VM:*:*) 33323a0898aSmrg echo s390-ibm-zvmoe 33423a0898aSmrg exit ;; 33523a0898aSmrg *:OS400:*:*) 336b020570bSmrg echo powerpc-ibm-os400 33723a0898aSmrg exit ;; 33823a0898aSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 33923a0898aSmrg echo arm-acorn-riscix${UNAME_RELEASE} 34023a0898aSmrg exit ;; 341b020570bSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 34223a0898aSmrg echo arm-unknown-riscos 34323a0898aSmrg exit ;; 34423a0898aSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 34523a0898aSmrg echo hppa1.1-hitachi-hiuxmpp 34623a0898aSmrg exit ;; 34723a0898aSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 34823a0898aSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 34923a0898aSmrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 35023a0898aSmrg echo pyramid-pyramid-sysv3 35123a0898aSmrg else 35223a0898aSmrg echo pyramid-pyramid-bsd 35323a0898aSmrg fi 35423a0898aSmrg exit ;; 35523a0898aSmrg NILE*:*:*:dcosx) 35623a0898aSmrg echo pyramid-pyramid-svr4 35723a0898aSmrg exit ;; 35823a0898aSmrg DRS?6000:unix:4.0:6*) 35923a0898aSmrg echo sparc-icl-nx6 36023a0898aSmrg exit ;; 36123a0898aSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 36223a0898aSmrg case `/usr/bin/uname -p` in 36323a0898aSmrg sparc) echo sparc-icl-nx7; exit ;; 36423a0898aSmrg esac ;; 36541c30155Smrg s390x:SunOS:*:*) 36641c30155Smrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 36741c30155Smrg exit ;; 36823a0898aSmrg sun4H:SunOS:5.*:*) 36923a0898aSmrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 37023a0898aSmrg exit ;; 37123a0898aSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 37223a0898aSmrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 37323a0898aSmrg exit ;; 37441c30155Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 37541c30155Smrg echo i386-pc-auroraux${UNAME_RELEASE} 37641c30155Smrg exit ;; 3777f7f5e4eSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 37841c30155Smrg eval $set_cc_for_build 37941c30155Smrg SUN_ARCH="i386" 38041c30155Smrg # If there is a compiler, see if it is configured for 64-bit objects. 38141c30155Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 38241c30155Smrg # This test works for both compilers. 38341c30155Smrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 38441c30155Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 38541c30155Smrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 38641c30155Smrg grep IS_64BIT_ARCH >/dev/null 38741c30155Smrg then 38841c30155Smrg SUN_ARCH="x86_64" 38941c30155Smrg fi 39041c30155Smrg fi 39141c30155Smrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 39223a0898aSmrg exit ;; 39323a0898aSmrg sun4*:SunOS:6*:*) 39423a0898aSmrg # According to config.sub, this is the proper way to canonicalize 39523a0898aSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 39623a0898aSmrg # it's likely to be more like Solaris than SunOS4. 39723a0898aSmrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 39823a0898aSmrg exit ;; 39923a0898aSmrg sun4*:SunOS:*:*) 40023a0898aSmrg case "`/usr/bin/arch -k`" in 40123a0898aSmrg Series*|S4*) 40223a0898aSmrg UNAME_RELEASE=`uname -v` 40323a0898aSmrg ;; 40423a0898aSmrg esac 40523a0898aSmrg # Japanese Language versions have a version number like `4.1.3-JL'. 40623a0898aSmrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 40723a0898aSmrg exit ;; 40823a0898aSmrg sun3*:SunOS:*:*) 40923a0898aSmrg echo m68k-sun-sunos${UNAME_RELEASE} 41023a0898aSmrg exit ;; 41123a0898aSmrg sun*:*:4.2BSD:*) 41223a0898aSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 41323a0898aSmrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 41423a0898aSmrg case "`/bin/arch`" in 41523a0898aSmrg sun3) 41623a0898aSmrg echo m68k-sun-sunos${UNAME_RELEASE} 41723a0898aSmrg ;; 41823a0898aSmrg sun4) 41923a0898aSmrg echo sparc-sun-sunos${UNAME_RELEASE} 42023a0898aSmrg ;; 42123a0898aSmrg esac 42223a0898aSmrg exit ;; 42323a0898aSmrg aushp:SunOS:*:*) 42423a0898aSmrg echo sparc-auspex-sunos${UNAME_RELEASE} 42523a0898aSmrg exit ;; 42623a0898aSmrg # The situation for MiNT is a little confusing. The machine name 42723a0898aSmrg # can be virtually everything (everything which is not 42823a0898aSmrg # "atarist" or "atariste" at least should have a processor 42923a0898aSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 43023a0898aSmrg # to the lowercase version "mint" (or "freemint"). Finally 43123a0898aSmrg # the system name "TOS" denotes a system which is actually not 43223a0898aSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 43323a0898aSmrg # be no problem. 43423a0898aSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 435b020570bSmrg echo m68k-atari-mint${UNAME_RELEASE} 43623a0898aSmrg exit ;; 43723a0898aSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 43823a0898aSmrg echo m68k-atari-mint${UNAME_RELEASE} 439b020570bSmrg exit ;; 44023a0898aSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 441b020570bSmrg echo m68k-atari-mint${UNAME_RELEASE} 44223a0898aSmrg exit ;; 44323a0898aSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 444b020570bSmrg echo m68k-milan-mint${UNAME_RELEASE} 445b020570bSmrg exit ;; 44623a0898aSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 447b020570bSmrg echo m68k-hades-mint${UNAME_RELEASE} 448b020570bSmrg exit ;; 44923a0898aSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 450b020570bSmrg echo m68k-unknown-mint${UNAME_RELEASE} 451b020570bSmrg exit ;; 45223a0898aSmrg m68k:machten:*:*) 45323a0898aSmrg echo m68k-apple-machten${UNAME_RELEASE} 45423a0898aSmrg exit ;; 45523a0898aSmrg powerpc:machten:*:*) 45623a0898aSmrg echo powerpc-apple-machten${UNAME_RELEASE} 45723a0898aSmrg exit ;; 45823a0898aSmrg RISC*:Mach:*:*) 45923a0898aSmrg echo mips-dec-mach_bsd4.3 46023a0898aSmrg exit ;; 46123a0898aSmrg RISC*:ULTRIX:*:*) 46223a0898aSmrg echo mips-dec-ultrix${UNAME_RELEASE} 46323a0898aSmrg exit ;; 46423a0898aSmrg VAX*:ULTRIX*:*:*) 46523a0898aSmrg echo vax-dec-ultrix${UNAME_RELEASE} 46623a0898aSmrg exit ;; 46723a0898aSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 46823a0898aSmrg echo clipper-intergraph-clix${UNAME_RELEASE} 46923a0898aSmrg exit ;; 47023a0898aSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 47123a0898aSmrg eval $set_cc_for_build 47223a0898aSmrg sed 's/^ //' << EOF >$dummy.c 47323a0898aSmrg#ifdef __cplusplus 47423a0898aSmrg#include <stdio.h> /* for printf() prototype */ 47523a0898aSmrg int main (int argc, char *argv[]) { 47623a0898aSmrg#else 47723a0898aSmrg int main (argc, argv) int argc; char *argv[]; { 47823a0898aSmrg#endif 47923a0898aSmrg #if defined (host_mips) && defined (MIPSEB) 48023a0898aSmrg #if defined (SYSTYPE_SYSV) 48123a0898aSmrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 48223a0898aSmrg #endif 48323a0898aSmrg #if defined (SYSTYPE_SVR4) 48423a0898aSmrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 48523a0898aSmrg #endif 48623a0898aSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 48723a0898aSmrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 48823a0898aSmrg #endif 48923a0898aSmrg #endif 49023a0898aSmrg exit (-1); 49123a0898aSmrg } 49223a0898aSmrgEOF 49323a0898aSmrg $CC_FOR_BUILD -o $dummy $dummy.c && 49423a0898aSmrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 49523a0898aSmrg SYSTEM_NAME=`$dummy $dummyarg` && 49623a0898aSmrg { echo "$SYSTEM_NAME"; exit; } 49723a0898aSmrg echo mips-mips-riscos${UNAME_RELEASE} 49823a0898aSmrg exit ;; 49923a0898aSmrg Motorola:PowerMAX_OS:*:*) 50023a0898aSmrg echo powerpc-motorola-powermax 50123a0898aSmrg exit ;; 50223a0898aSmrg Motorola:*:4.3:PL8-*) 50323a0898aSmrg echo powerpc-harris-powermax 50423a0898aSmrg exit ;; 50523a0898aSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 50623a0898aSmrg echo powerpc-harris-powermax 50723a0898aSmrg exit ;; 50823a0898aSmrg Night_Hawk:Power_UNIX:*:*) 50923a0898aSmrg echo powerpc-harris-powerunix 51023a0898aSmrg exit ;; 51123a0898aSmrg m88k:CX/UX:7*:*) 51223a0898aSmrg echo m88k-harris-cxux7 51323a0898aSmrg exit ;; 51423a0898aSmrg m88k:*:4*:R4*) 51523a0898aSmrg echo m88k-motorola-sysv4 51623a0898aSmrg exit ;; 51723a0898aSmrg m88k:*:3*:R3*) 51823a0898aSmrg echo m88k-motorola-sysv3 51923a0898aSmrg exit ;; 52023a0898aSmrg AViiON:dgux:*:*) 521b020570bSmrg # DG/UX returns AViiON for all architectures 522b020570bSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 52323a0898aSmrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 52423a0898aSmrg then 52523a0898aSmrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 52623a0898aSmrg [ ${TARGET_BINARY_INTERFACE}x = x ] 52723a0898aSmrg then 52823a0898aSmrg echo m88k-dg-dgux${UNAME_RELEASE} 52923a0898aSmrg else 53023a0898aSmrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 53123a0898aSmrg fi 53223a0898aSmrg else 53323a0898aSmrg echo i586-dg-dgux${UNAME_RELEASE} 53423a0898aSmrg fi 535b020570bSmrg exit ;; 53623a0898aSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 53723a0898aSmrg echo m88k-dolphin-sysv3 53823a0898aSmrg exit ;; 53923a0898aSmrg M88*:*:R3*:*) 54023a0898aSmrg # Delta 88k system running SVR3 54123a0898aSmrg echo m88k-motorola-sysv3 54223a0898aSmrg exit ;; 54323a0898aSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 54423a0898aSmrg echo m88k-tektronix-sysv3 54523a0898aSmrg exit ;; 54623a0898aSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 54723a0898aSmrg echo m68k-tektronix-bsd 54823a0898aSmrg exit ;; 54923a0898aSmrg *:IRIX*:*:*) 55023a0898aSmrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 55123a0898aSmrg exit ;; 55223a0898aSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 55323a0898aSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 55423a0898aSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 55523a0898aSmrg i*86:AIX:*:*) 55623a0898aSmrg echo i386-ibm-aix 55723a0898aSmrg exit ;; 55823a0898aSmrg ia64:AIX:*:*) 55923a0898aSmrg if [ -x /usr/bin/oslevel ] ; then 56023a0898aSmrg IBM_REV=`/usr/bin/oslevel` 56123a0898aSmrg else 56223a0898aSmrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 56323a0898aSmrg fi 56423a0898aSmrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 56523a0898aSmrg exit ;; 56623a0898aSmrg *:AIX:2:3) 56723a0898aSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 56823a0898aSmrg eval $set_cc_for_build 56923a0898aSmrg sed 's/^ //' << EOF >$dummy.c 57023a0898aSmrg #include <sys/systemcfg.h> 57123a0898aSmrg 57223a0898aSmrg main() 57323a0898aSmrg { 57423a0898aSmrg if (!__power_pc()) 57523a0898aSmrg exit(1); 57623a0898aSmrg puts("powerpc-ibm-aix3.2.5"); 57723a0898aSmrg exit(0); 57823a0898aSmrg } 57923a0898aSmrgEOF 58023a0898aSmrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 58123a0898aSmrg then 58223a0898aSmrg echo "$SYSTEM_NAME" 58323a0898aSmrg else 58423a0898aSmrg echo rs6000-ibm-aix3.2.5 58523a0898aSmrg fi 58623a0898aSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 58723a0898aSmrg echo rs6000-ibm-aix3.2.4 58823a0898aSmrg else 58923a0898aSmrg echo rs6000-ibm-aix3.2 59023a0898aSmrg fi 59123a0898aSmrg exit ;; 59241c30155Smrg *:AIX:*:[4567]) 59323a0898aSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 59423a0898aSmrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 59523a0898aSmrg IBM_ARCH=rs6000 59623a0898aSmrg else 59723a0898aSmrg IBM_ARCH=powerpc 59823a0898aSmrg fi 599121a5469Smrg if [ -x /usr/bin/lslpp ] ; then 600121a5469Smrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 601121a5469Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 60223a0898aSmrg else 60323a0898aSmrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 60423a0898aSmrg fi 60523a0898aSmrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 60623a0898aSmrg exit ;; 60723a0898aSmrg *:AIX:*:*) 60823a0898aSmrg echo rs6000-ibm-aix 60923a0898aSmrg exit ;; 61023a0898aSmrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 61123a0898aSmrg echo romp-ibm-bsd4.4 61223a0898aSmrg exit ;; 61323a0898aSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 61423a0898aSmrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 61523a0898aSmrg exit ;; # report: romp-ibm BSD 4.3 61623a0898aSmrg *:BOSX:*:*) 61723a0898aSmrg echo rs6000-bull-bosx 61823a0898aSmrg exit ;; 61923a0898aSmrg DPX/2?00:B.O.S.:*:*) 62023a0898aSmrg echo m68k-bull-sysv3 62123a0898aSmrg exit ;; 62223a0898aSmrg 9000/[34]??:4.3bsd:1.*:*) 62323a0898aSmrg echo m68k-hp-bsd 62423a0898aSmrg exit ;; 62523a0898aSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 62623a0898aSmrg echo m68k-hp-bsd4.4 62723a0898aSmrg exit ;; 62823a0898aSmrg 9000/[34678]??:HP-UX:*:*) 62923a0898aSmrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 63023a0898aSmrg case "${UNAME_MACHINE}" in 63123a0898aSmrg 9000/31? ) HP_ARCH=m68000 ;; 63223a0898aSmrg 9000/[34]?? ) HP_ARCH=m68k ;; 63323a0898aSmrg 9000/[678][0-9][0-9]) 63423a0898aSmrg if [ -x /usr/bin/getconf ]; then 63523a0898aSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 636b020570bSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 637b020570bSmrg case "${sc_cpu_version}" in 638b020570bSmrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 639b020570bSmrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 640b020570bSmrg 532) # CPU_PA_RISC2_0 641b020570bSmrg case "${sc_kernel_bits}" in 642b020570bSmrg 32) HP_ARCH="hppa2.0n" ;; 643b020570bSmrg 64) HP_ARCH="hppa2.0w" ;; 64423a0898aSmrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 645b020570bSmrg esac ;; 646b020570bSmrg esac 64723a0898aSmrg fi 64823a0898aSmrg if [ "${HP_ARCH}" = "" ]; then 64923a0898aSmrg eval $set_cc_for_build 650b020570bSmrg sed 's/^ //' << EOF >$dummy.c 65123a0898aSmrg 652b020570bSmrg #define _HPUX_SOURCE 653b020570bSmrg #include <stdlib.h> 654b020570bSmrg #include <unistd.h> 65523a0898aSmrg 656b020570bSmrg int main () 657b020570bSmrg { 658b020570bSmrg #if defined(_SC_KERNEL_BITS) 659b020570bSmrg long bits = sysconf(_SC_KERNEL_BITS); 660b020570bSmrg #endif 661b020570bSmrg long cpu = sysconf (_SC_CPU_VERSION); 66223a0898aSmrg 663b020570bSmrg switch (cpu) 664b020570bSmrg { 665b020570bSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 666b020570bSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 667b020570bSmrg case CPU_PA_RISC2_0: 668b020570bSmrg #if defined(_SC_KERNEL_BITS) 669b020570bSmrg switch (bits) 670b020570bSmrg { 671b020570bSmrg case 64: puts ("hppa2.0w"); break; 672b020570bSmrg case 32: puts ("hppa2.0n"); break; 673b020570bSmrg default: puts ("hppa2.0"); break; 674b020570bSmrg } break; 675b020570bSmrg #else /* !defined(_SC_KERNEL_BITS) */ 676b020570bSmrg puts ("hppa2.0"); break; 677b020570bSmrg #endif 678b020570bSmrg default: puts ("hppa1.0"); break; 679b020570bSmrg } 680b020570bSmrg exit (0); 681b020570bSmrg } 68223a0898aSmrgEOF 68323a0898aSmrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 68423a0898aSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 68523a0898aSmrg fi ;; 68623a0898aSmrg esac 68723a0898aSmrg if [ ${HP_ARCH} = "hppa2.0w" ] 68823a0898aSmrg then 68923a0898aSmrg eval $set_cc_for_build 69023a0898aSmrg 69123a0898aSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 69223a0898aSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 69323a0898aSmrg # generating 64-bit code. GNU and HP use different nomenclature: 69423a0898aSmrg # 69523a0898aSmrg # $ CC_FOR_BUILD=cc ./config.guess 69623a0898aSmrg # => hppa2.0w-hp-hpux11.23 69723a0898aSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 69823a0898aSmrg # => hppa64-hp-hpux11.23 69923a0898aSmrg 70023a0898aSmrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 70141c30155Smrg grep -q __LP64__ 70223a0898aSmrg then 70323a0898aSmrg HP_ARCH="hppa2.0w" 70423a0898aSmrg else 70523a0898aSmrg HP_ARCH="hppa64" 70623a0898aSmrg fi 70723a0898aSmrg fi 70823a0898aSmrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 70923a0898aSmrg exit ;; 71023a0898aSmrg ia64:HP-UX:*:*) 71123a0898aSmrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 71223a0898aSmrg echo ia64-hp-hpux${HPUX_REV} 71323a0898aSmrg exit ;; 71423a0898aSmrg 3050*:HI-UX:*:*) 71523a0898aSmrg eval $set_cc_for_build 71623a0898aSmrg sed 's/^ //' << EOF >$dummy.c 71723a0898aSmrg #include <unistd.h> 71823a0898aSmrg int 71923a0898aSmrg main () 72023a0898aSmrg { 72123a0898aSmrg long cpu = sysconf (_SC_CPU_VERSION); 72223a0898aSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 72323a0898aSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 72423a0898aSmrg results, however. */ 72523a0898aSmrg if (CPU_IS_PA_RISC (cpu)) 72623a0898aSmrg { 72723a0898aSmrg switch (cpu) 72823a0898aSmrg { 72923a0898aSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 73023a0898aSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 73123a0898aSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 73223a0898aSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 73323a0898aSmrg } 73423a0898aSmrg } 73523a0898aSmrg else if (CPU_IS_HP_MC68K (cpu)) 73623a0898aSmrg puts ("m68k-hitachi-hiuxwe2"); 73723a0898aSmrg else puts ("unknown-hitachi-hiuxwe2"); 73823a0898aSmrg exit (0); 73923a0898aSmrg } 74023a0898aSmrgEOF 74123a0898aSmrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 74223a0898aSmrg { echo "$SYSTEM_NAME"; exit; } 74323a0898aSmrg echo unknown-hitachi-hiuxwe2 74423a0898aSmrg exit ;; 74523a0898aSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 74623a0898aSmrg echo hppa1.1-hp-bsd 74723a0898aSmrg exit ;; 74823a0898aSmrg 9000/8??:4.3bsd:*:*) 74923a0898aSmrg echo hppa1.0-hp-bsd 75023a0898aSmrg exit ;; 75123a0898aSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 75223a0898aSmrg echo hppa1.0-hp-mpeix 75323a0898aSmrg exit ;; 75423a0898aSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 75523a0898aSmrg echo hppa1.1-hp-osf 75623a0898aSmrg exit ;; 75723a0898aSmrg hp8??:OSF1:*:*) 75823a0898aSmrg echo hppa1.0-hp-osf 75923a0898aSmrg exit ;; 76023a0898aSmrg i*86:OSF1:*:*) 76123a0898aSmrg if [ -x /usr/sbin/sysversion ] ; then 76223a0898aSmrg echo ${UNAME_MACHINE}-unknown-osf1mk 76323a0898aSmrg else 76423a0898aSmrg echo ${UNAME_MACHINE}-unknown-osf1 76523a0898aSmrg fi 76623a0898aSmrg exit ;; 76723a0898aSmrg parisc*:Lites*:*:*) 76823a0898aSmrg echo hppa1.1-hp-lites 76923a0898aSmrg exit ;; 77023a0898aSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 77123a0898aSmrg echo c1-convex-bsd 772b020570bSmrg exit ;; 77323a0898aSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 77423a0898aSmrg if getsysinfo -f scalar_acc 77523a0898aSmrg then echo c32-convex-bsd 77623a0898aSmrg else echo c2-convex-bsd 77723a0898aSmrg fi 778b020570bSmrg exit ;; 77923a0898aSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 78023a0898aSmrg echo c34-convex-bsd 781b020570bSmrg exit ;; 78223a0898aSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 78323a0898aSmrg echo c38-convex-bsd 784b020570bSmrg exit ;; 78523a0898aSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 78623a0898aSmrg echo c4-convex-bsd 787b020570bSmrg exit ;; 78823a0898aSmrg CRAY*Y-MP:*:*:*) 78923a0898aSmrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 79023a0898aSmrg exit ;; 79123a0898aSmrg CRAY*[A-Z]90:*:*:*) 79223a0898aSmrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 79323a0898aSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 79423a0898aSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 79523a0898aSmrg -e 's/\.[^.]*$/.X/' 79623a0898aSmrg exit ;; 79723a0898aSmrg CRAY*TS:*:*:*) 79823a0898aSmrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 79923a0898aSmrg exit ;; 80023a0898aSmrg CRAY*T3E:*:*:*) 80123a0898aSmrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 80223a0898aSmrg exit ;; 80323a0898aSmrg CRAY*SV1:*:*:*) 80423a0898aSmrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 80523a0898aSmrg exit ;; 80623a0898aSmrg *:UNICOS/mp:*:*) 80723a0898aSmrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 80823a0898aSmrg exit ;; 80923a0898aSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 81023a0898aSmrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 811b020570bSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 812b020570bSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 813b020570bSmrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 814b020570bSmrg exit ;; 81523a0898aSmrg 5000:UNIX_System_V:4.*:*) 816b020570bSmrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 817b020570bSmrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 818b020570bSmrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 81923a0898aSmrg exit ;; 82023a0898aSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 82123a0898aSmrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 82223a0898aSmrg exit ;; 82323a0898aSmrg sparc*:BSD/OS:*:*) 82423a0898aSmrg echo sparc-unknown-bsdi${UNAME_RELEASE} 82523a0898aSmrg exit ;; 82623a0898aSmrg *:BSD/OS:*:*) 82723a0898aSmrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 82823a0898aSmrg exit ;; 82923a0898aSmrg *:FreeBSD:*:*) 830b020570bSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 831b020570bSmrg case ${UNAME_PROCESSOR} in 83223a0898aSmrg amd64) 83323a0898aSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 83423a0898aSmrg *) 835b020570bSmrg echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 83623a0898aSmrg esac 83723a0898aSmrg exit ;; 83823a0898aSmrg i*:CYGWIN*:*) 83923a0898aSmrg echo ${UNAME_MACHINE}-pc-cygwin 84023a0898aSmrg exit ;; 841b020570bSmrg *:MINGW64*:*) 842b020570bSmrg echo ${UNAME_MACHINE}-pc-mingw64 843b020570bSmrg exit ;; 84423a0898aSmrg *:MINGW*:*) 84523a0898aSmrg echo ${UNAME_MACHINE}-pc-mingw32 84623a0898aSmrg exit ;; 847121a5469Smrg *:MSYS*:*) 848b020570bSmrg echo ${UNAME_MACHINE}-pc-msys 849b020570bSmrg exit ;; 85023a0898aSmrg i*:windows32*:*) 851b020570bSmrg # uname -m includes "-pc" on this system. 852b020570bSmrg echo ${UNAME_MACHINE}-mingw32 85323a0898aSmrg exit ;; 85423a0898aSmrg i*:PW*:*) 85523a0898aSmrg echo ${UNAME_MACHINE}-pc-pw32 85623a0898aSmrg exit ;; 85741c30155Smrg *:Interix*:*) 858b020570bSmrg case ${UNAME_MACHINE} in 8597f7f5e4eSmrg x86) 86023a0898aSmrg echo i586-pc-interix${UNAME_RELEASE} 86123a0898aSmrg exit ;; 86241c30155Smrg authenticamd | genuineintel | EM64T) 86323a0898aSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 86423a0898aSmrg exit ;; 8657f7f5e4eSmrg IA64) 8667f7f5e4eSmrg echo ia64-unknown-interix${UNAME_RELEASE} 8677f7f5e4eSmrg exit ;; 86823a0898aSmrg esac ;; 86923a0898aSmrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 87023a0898aSmrg echo i${UNAME_MACHINE}-pc-mks 87123a0898aSmrg exit ;; 87241c30155Smrg 8664:Windows_NT:*) 87341c30155Smrg echo x86_64-pc-mks 87441c30155Smrg exit ;; 87523a0898aSmrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 87623a0898aSmrg # How do we know it's Interix rather than the generic POSIX subsystem? 87723a0898aSmrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 87823a0898aSmrg # UNAME_MACHINE based on the output of uname instead of i386? 87923a0898aSmrg echo i586-pc-interix 88023a0898aSmrg exit ;; 88123a0898aSmrg i*:UWIN*:*) 88223a0898aSmrg echo ${UNAME_MACHINE}-pc-uwin 88323a0898aSmrg exit ;; 88423a0898aSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 88523a0898aSmrg echo x86_64-unknown-cygwin 88623a0898aSmrg exit ;; 88723a0898aSmrg p*:CYGWIN*:*) 88823a0898aSmrg echo powerpcle-unknown-cygwin 88923a0898aSmrg exit ;; 89023a0898aSmrg prep*:SunOS:5.*:*) 89123a0898aSmrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 89223a0898aSmrg exit ;; 89323a0898aSmrg *:GNU:*:*) 89423a0898aSmrg # the GNU system 895b020570bSmrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 89623a0898aSmrg exit ;; 89723a0898aSmrg *:GNU/*:*:*) 89823a0898aSmrg # other systems with GNU libc and userland 899b020570bSmrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} 90023a0898aSmrg exit ;; 90123a0898aSmrg i*86:Minix:*:*) 90223a0898aSmrg echo ${UNAME_MACHINE}-pc-minix 90323a0898aSmrg exit ;; 904b020570bSmrg aarch64:Linux:*:*) 905b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 906b020570bSmrg exit ;; 907b020570bSmrg aarch64_be:Linux:*:*) 908b020570bSmrg UNAME_MACHINE=aarch64_be 909b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 910b020570bSmrg exit ;; 91141c30155Smrg alpha:Linux:*:*) 91241c30155Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 91341c30155Smrg EV5) UNAME_MACHINE=alphaev5 ;; 91441c30155Smrg EV56) UNAME_MACHINE=alphaev56 ;; 91541c30155Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 91641c30155Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 91741c30155Smrg EV6) UNAME_MACHINE=alphaev6 ;; 91841c30155Smrg EV67) UNAME_MACHINE=alphaev67 ;; 91941c30155Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 920b020570bSmrg esac 92141c30155Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 922b020570bSmrg if test "$?" = 0 ; then LIBC="gnulibc1" ; fi 923b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 924b020570bSmrg exit ;; 925b020570bSmrg arc:Linux:*:* | arceb:Linux:*:*) 926b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 92741c30155Smrg exit ;; 92823a0898aSmrg arm*:Linux:*:*) 9297f7f5e4eSmrg eval $set_cc_for_build 9307f7f5e4eSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 9317f7f5e4eSmrg | grep -q __ARM_EABI__ 9327f7f5e4eSmrg then 933b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9347f7f5e4eSmrg else 935b020570bSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 936b020570bSmrg | grep -q __ARM_PCS_VFP 937b020570bSmrg then 938b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi 939b020570bSmrg else 940b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf 941b020570bSmrg fi 9427f7f5e4eSmrg fi 94323a0898aSmrg exit ;; 94423a0898aSmrg avr32*:Linux:*:*) 945b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 94623a0898aSmrg exit ;; 94723a0898aSmrg cris:Linux:*:*) 948b020570bSmrg echo ${UNAME_MACHINE}-axis-linux-${LIBC} 94923a0898aSmrg exit ;; 95023a0898aSmrg crisv32:Linux:*:*) 951b020570bSmrg echo ${UNAME_MACHINE}-axis-linux-${LIBC} 95223a0898aSmrg exit ;; 953a97c3f35Smrg e2k:Linux:*:*) 954a97c3f35Smrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 955a97c3f35Smrg exit ;; 95623a0898aSmrg frv:Linux:*:*) 957b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 958b020570bSmrg exit ;; 959b020570bSmrg hexagon:Linux:*:*) 960b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 96123a0898aSmrg exit ;; 96241c30155Smrg i*86:Linux:*:*) 963b020570bSmrg echo ${UNAME_MACHINE}-pc-linux-${LIBC} 96441c30155Smrg exit ;; 96523a0898aSmrg ia64:Linux:*:*) 966b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 96723a0898aSmrg exit ;; 96823a0898aSmrg m32r*:Linux:*:*) 969b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 97023a0898aSmrg exit ;; 97123a0898aSmrg m68*:Linux:*:*) 972b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 97323a0898aSmrg exit ;; 97441c30155Smrg mips:Linux:*:* | mips64:Linux:*:*) 97523a0898aSmrg eval $set_cc_for_build 97623a0898aSmrg sed 's/^ //' << EOF >$dummy.c 97723a0898aSmrg #undef CPU 97841c30155Smrg #undef ${UNAME_MACHINE} 97941c30155Smrg #undef ${UNAME_MACHINE}el 98023a0898aSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 98141c30155Smrg CPU=${UNAME_MACHINE}el 98223a0898aSmrg #else 98323a0898aSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 98441c30155Smrg CPU=${UNAME_MACHINE} 98523a0898aSmrg #else 98623a0898aSmrg CPU= 98723a0898aSmrg #endif 98823a0898aSmrg #endif 98923a0898aSmrgEOF 99041c30155Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 991b020570bSmrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } 99223a0898aSmrg ;; 993121a5469Smrg openrisc*:Linux:*:*) 994121a5469Smrg echo or1k-unknown-linux-${LIBC} 995b020570bSmrg exit ;; 996121a5469Smrg or32:Linux:*:* | or1k*:Linux:*:*) 997b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 99823a0898aSmrg exit ;; 99941c30155Smrg padre:Linux:*:*) 1000b020570bSmrg echo sparc-unknown-linux-${LIBC} 100123a0898aSmrg exit ;; 100241c30155Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1003b020570bSmrg echo hppa64-unknown-linux-${LIBC} 100423a0898aSmrg exit ;; 100523a0898aSmrg parisc:Linux:*:* | hppa:Linux:*:*) 100623a0898aSmrg # Look for CPU level 100723a0898aSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1008b020570bSmrg PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; 1009b020570bSmrg PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; 1010b020570bSmrg *) echo hppa-unknown-linux-${LIBC} ;; 101123a0898aSmrg esac 101223a0898aSmrg exit ;; 101341c30155Smrg ppc64:Linux:*:*) 1014b020570bSmrg echo powerpc64-unknown-linux-${LIBC} 101541c30155Smrg exit ;; 101641c30155Smrg ppc:Linux:*:*) 1017b020570bSmrg echo powerpc-unknown-linux-${LIBC} 1018b020570bSmrg exit ;; 1019b020570bSmrg ppc64le:Linux:*:*) 1020b020570bSmrg echo powerpc64le-unknown-linux-${LIBC} 1021b020570bSmrg exit ;; 1022b020570bSmrg ppcle:Linux:*:*) 1023b020570bSmrg echo powerpcle-unknown-linux-${LIBC} 102423a0898aSmrg exit ;; 102523a0898aSmrg s390:Linux:*:* | s390x:Linux:*:*) 1026b020570bSmrg echo ${UNAME_MACHINE}-ibm-linux-${LIBC} 102723a0898aSmrg exit ;; 102823a0898aSmrg sh64*:Linux:*:*) 1029b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 103023a0898aSmrg exit ;; 103123a0898aSmrg sh*:Linux:*:*) 1032b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 103323a0898aSmrg exit ;; 103423a0898aSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 1035b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 103623a0898aSmrg exit ;; 103741c30155Smrg tile*:Linux:*:*) 1038b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 103941c30155Smrg exit ;; 104023a0898aSmrg vax:Linux:*:*) 1041b020570bSmrg echo ${UNAME_MACHINE}-dec-linux-${LIBC} 104223a0898aSmrg exit ;; 104323a0898aSmrg x86_64:Linux:*:*) 1044a97c3f35Smrg echo ${UNAME_MACHINE}-pc-linux-${LIBC} 104523a0898aSmrg exit ;; 10467f7f5e4eSmrg xtensa*:Linux:*:*) 1047b020570bSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 104823a0898aSmrg exit ;; 104923a0898aSmrg i*86:DYNIX/ptx:4*:*) 105023a0898aSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 105123a0898aSmrg # earlier versions are messed up and put the nodename in both 105223a0898aSmrg # sysname and nodename. 105323a0898aSmrg echo i386-sequent-sysv4 105423a0898aSmrg exit ;; 105523a0898aSmrg i*86:UNIX_SV:4.2MP:2.*) 1056b020570bSmrg # Unixware is an offshoot of SVR4, but it has its own version 1057b020570bSmrg # number series starting with 2... 1058b020570bSmrg # I am not positive that other SVR4 systems won't match this, 105923a0898aSmrg # I just have to hope. -- rms. 1060b020570bSmrg # Use sysv4.2uw... so that sysv4* matches it. 106123a0898aSmrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 106223a0898aSmrg exit ;; 106323a0898aSmrg i*86:OS/2:*:*) 106423a0898aSmrg # If we were able to find `uname', then EMX Unix compatibility 106523a0898aSmrg # is probably installed. 106623a0898aSmrg echo ${UNAME_MACHINE}-pc-os2-emx 106723a0898aSmrg exit ;; 106823a0898aSmrg i*86:XTS-300:*:STOP) 106923a0898aSmrg echo ${UNAME_MACHINE}-unknown-stop 107023a0898aSmrg exit ;; 107123a0898aSmrg i*86:atheos:*:*) 107223a0898aSmrg echo ${UNAME_MACHINE}-unknown-atheos 107323a0898aSmrg exit ;; 107423a0898aSmrg i*86:syllable:*:*) 107523a0898aSmrg echo ${UNAME_MACHINE}-pc-syllable 107623a0898aSmrg exit ;; 107741c30155Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 107823a0898aSmrg echo i386-unknown-lynxos${UNAME_RELEASE} 107923a0898aSmrg exit ;; 108023a0898aSmrg i*86:*DOS:*:*) 108123a0898aSmrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 108223a0898aSmrg exit ;; 108323a0898aSmrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 108423a0898aSmrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 108523a0898aSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 108623a0898aSmrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 108723a0898aSmrg else 108823a0898aSmrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 108923a0898aSmrg fi 109023a0898aSmrg exit ;; 109123a0898aSmrg i*86:*:5:[678]*) 1092b020570bSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 109323a0898aSmrg case `/bin/uname -X | grep "^Machine"` in 109423a0898aSmrg *486*) UNAME_MACHINE=i486 ;; 109523a0898aSmrg *Pentium) UNAME_MACHINE=i586 ;; 109623a0898aSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 109723a0898aSmrg esac 109823a0898aSmrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 109923a0898aSmrg exit ;; 110023a0898aSmrg i*86:*:3.2:*) 110123a0898aSmrg if test -f /usr/options/cb.name; then 110223a0898aSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 110323a0898aSmrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 110423a0898aSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 110523a0898aSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 110623a0898aSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 110723a0898aSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 110823a0898aSmrg && UNAME_MACHINE=i586 110923a0898aSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 111023a0898aSmrg && UNAME_MACHINE=i686 111123a0898aSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 111223a0898aSmrg && UNAME_MACHINE=i686 111323a0898aSmrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 111423a0898aSmrg else 111523a0898aSmrg echo ${UNAME_MACHINE}-pc-sysv32 111623a0898aSmrg fi 111723a0898aSmrg exit ;; 111823a0898aSmrg pc:*:*:*) 111923a0898aSmrg # Left here for compatibility: 1120b020570bSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1121b020570bSmrg # the processor, so we play safe by assuming i586. 112241c30155Smrg # Note: whatever this is, it MUST be the same as what config.sub 112341c30155Smrg # prints for the "djgpp" host, or else GDB configury will decide that 112441c30155Smrg # this is a cross-build. 112541c30155Smrg echo i586-pc-msdosdjgpp 1126b020570bSmrg exit ;; 112723a0898aSmrg Intel:Mach:3*:*) 112823a0898aSmrg echo i386-pc-mach3 112923a0898aSmrg exit ;; 113023a0898aSmrg paragon:*:*:*) 113123a0898aSmrg echo i860-intel-osf1 113223a0898aSmrg exit ;; 113323a0898aSmrg i860:*:4.*:*) # i860-SVR4 113423a0898aSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 113523a0898aSmrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 113623a0898aSmrg else # Add other i860-SVR4 vendors below as they are discovered. 113723a0898aSmrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 113823a0898aSmrg fi 113923a0898aSmrg exit ;; 114023a0898aSmrg mini*:CTIX:SYS*5:*) 114123a0898aSmrg # "miniframe" 114223a0898aSmrg echo m68010-convergent-sysv 114323a0898aSmrg exit ;; 114423a0898aSmrg mc68k:UNIX:SYSTEM5:3.51m) 114523a0898aSmrg echo m68k-convergent-sysv 114623a0898aSmrg exit ;; 114723a0898aSmrg M680?0:D-NIX:5.3:*) 114823a0898aSmrg echo m68k-diab-dnix 114923a0898aSmrg exit ;; 115023a0898aSmrg M68*:*:R3V[5678]*:*) 115123a0898aSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 115223a0898aSmrg 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) 115323a0898aSmrg OS_REL='' 115423a0898aSmrg test -r /etc/.relid \ 115523a0898aSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 115623a0898aSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 115723a0898aSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 115823a0898aSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 115923a0898aSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 116023a0898aSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1161b020570bSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1162b020570bSmrg && { echo i486-ncr-sysv4; exit; } ;; 116341c30155Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 116441c30155Smrg OS_REL='.3' 116541c30155Smrg test -r /etc/.relid \ 116641c30155Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 116741c30155Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 116841c30155Smrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 116941c30155Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 117041c30155Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 117141c30155Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 117241c30155Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 117323a0898aSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 117423a0898aSmrg echo m68k-unknown-lynxos${UNAME_RELEASE} 117523a0898aSmrg exit ;; 117623a0898aSmrg mc68030:UNIX_System_V:4.*:*) 117723a0898aSmrg echo m68k-atari-sysv4 117823a0898aSmrg exit ;; 117923a0898aSmrg TSUNAMI:LynxOS:2.*:*) 118023a0898aSmrg echo sparc-unknown-lynxos${UNAME_RELEASE} 118123a0898aSmrg exit ;; 118223a0898aSmrg rs6000:LynxOS:2.*:*) 118323a0898aSmrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 118423a0898aSmrg exit ;; 118541c30155Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 118623a0898aSmrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 118723a0898aSmrg exit ;; 118823a0898aSmrg SM[BE]S:UNIX_SV:*:*) 118923a0898aSmrg echo mips-dde-sysv${UNAME_RELEASE} 119023a0898aSmrg exit ;; 119123a0898aSmrg RM*:ReliantUNIX-*:*:*) 119223a0898aSmrg echo mips-sni-sysv4 119323a0898aSmrg exit ;; 119423a0898aSmrg RM*:SINIX-*:*:*) 119523a0898aSmrg echo mips-sni-sysv4 119623a0898aSmrg exit ;; 119723a0898aSmrg *:SINIX-*:*:*) 119823a0898aSmrg if uname -p 2>/dev/null >/dev/null ; then 119923a0898aSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 120023a0898aSmrg echo ${UNAME_MACHINE}-sni-sysv4 120123a0898aSmrg else 120223a0898aSmrg echo ns32k-sni-sysv 120323a0898aSmrg fi 120423a0898aSmrg exit ;; 1205b020570bSmrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1206b020570bSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1207b020570bSmrg echo i586-unisys-sysv4 1208b020570bSmrg exit ;; 120923a0898aSmrg *:UNIX_System_V:4*:FTX*) 121023a0898aSmrg # From Gerald Hewes <hewes@openmarket.com>. 121123a0898aSmrg # How about differentiating between stratus architectures? -djm 121223a0898aSmrg echo hppa1.1-stratus-sysv4 121323a0898aSmrg exit ;; 121423a0898aSmrg *:*:*:FTX*) 121523a0898aSmrg # From seanf@swdc.stratus.com. 121623a0898aSmrg echo i860-stratus-sysv4 121723a0898aSmrg exit ;; 121823a0898aSmrg i*86:VOS:*:*) 121923a0898aSmrg # From Paul.Green@stratus.com. 122023a0898aSmrg echo ${UNAME_MACHINE}-stratus-vos 122123a0898aSmrg exit ;; 122223a0898aSmrg *:VOS:*:*) 122323a0898aSmrg # From Paul.Green@stratus.com. 122423a0898aSmrg echo hppa1.1-stratus-vos 122523a0898aSmrg exit ;; 122623a0898aSmrg mc68*:A/UX:*:*) 122723a0898aSmrg echo m68k-apple-aux${UNAME_RELEASE} 122823a0898aSmrg exit ;; 122923a0898aSmrg news*:NEWS-OS:6*:*) 123023a0898aSmrg echo mips-sony-newsos6 123123a0898aSmrg exit ;; 123223a0898aSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 123323a0898aSmrg if [ -d /usr/nec ]; then 1234b020570bSmrg echo mips-nec-sysv${UNAME_RELEASE} 123523a0898aSmrg else 1236b020570bSmrg echo mips-unknown-sysv${UNAME_RELEASE} 123723a0898aSmrg fi 1238b020570bSmrg exit ;; 123923a0898aSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 124023a0898aSmrg echo powerpc-be-beos 124123a0898aSmrg exit ;; 124223a0898aSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 124323a0898aSmrg echo powerpc-apple-beos 124423a0898aSmrg exit ;; 124523a0898aSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 124623a0898aSmrg echo i586-pc-beos 124723a0898aSmrg exit ;; 124841c30155Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 124941c30155Smrg echo i586-pc-haiku 125041c30155Smrg exit ;; 1251b020570bSmrg x86_64:Haiku:*:*) 1252b020570bSmrg echo x86_64-unknown-haiku 1253b020570bSmrg exit ;; 125423a0898aSmrg SX-4:SUPER-UX:*:*) 125523a0898aSmrg echo sx4-nec-superux${UNAME_RELEASE} 125623a0898aSmrg exit ;; 125723a0898aSmrg SX-5:SUPER-UX:*:*) 125823a0898aSmrg echo sx5-nec-superux${UNAME_RELEASE} 125923a0898aSmrg exit ;; 126023a0898aSmrg SX-6:SUPER-UX:*:*) 126123a0898aSmrg echo sx6-nec-superux${UNAME_RELEASE} 126223a0898aSmrg exit ;; 126323a0898aSmrg SX-7:SUPER-UX:*:*) 126423a0898aSmrg echo sx7-nec-superux${UNAME_RELEASE} 126523a0898aSmrg exit ;; 126623a0898aSmrg SX-8:SUPER-UX:*:*) 126723a0898aSmrg echo sx8-nec-superux${UNAME_RELEASE} 126823a0898aSmrg exit ;; 126923a0898aSmrg SX-8R:SUPER-UX:*:*) 127023a0898aSmrg echo sx8r-nec-superux${UNAME_RELEASE} 127123a0898aSmrg exit ;; 127223a0898aSmrg Power*:Rhapsody:*:*) 127323a0898aSmrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 127423a0898aSmrg exit ;; 127523a0898aSmrg *:Rhapsody:*:*) 127623a0898aSmrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 127723a0898aSmrg exit ;; 127823a0898aSmrg *:Darwin:*:*) 127923a0898aSmrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1280b020570bSmrg eval $set_cc_for_build 1281b020570bSmrg if test "$UNAME_PROCESSOR" = unknown ; then 1282b020570bSmrg UNAME_PROCESSOR=powerpc 1283b020570bSmrg fi 12840145ab54Ssnj if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then 12850145ab54Ssnj if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 12860145ab54Ssnj if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 12870145ab54Ssnj (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 12880145ab54Ssnj grep IS_64BIT_ARCH >/dev/null 12890145ab54Ssnj then 12900145ab54Ssnj case $UNAME_PROCESSOR in 12910145ab54Ssnj i386) UNAME_PROCESSOR=x86_64 ;; 12920145ab54Ssnj powerpc) UNAME_PROCESSOR=powerpc64 ;; 12930145ab54Ssnj esac 12940145ab54Ssnj fi 1295b020570bSmrg fi 12960145ab54Ssnj elif test "$UNAME_PROCESSOR" = i386 ; then 12970145ab54Ssnj # Avoid executing cc on OS X 10.9, as it ships with a stub 12980145ab54Ssnj # that puts up a graphical alert prompting to install 12990145ab54Ssnj # developer tools. Any system running Mac OS X 10.7 or 13000145ab54Ssnj # later (Darwin 11 and later) is required to have a 64-bit 13010145ab54Ssnj # processor. This is not true of the ARM version of Darwin 13020145ab54Ssnj # that Apple uses in portable devices. 13030145ab54Ssnj UNAME_PROCESSOR=x86_64 1304b020570bSmrg fi 130523a0898aSmrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 130623a0898aSmrg exit ;; 130723a0898aSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 130823a0898aSmrg UNAME_PROCESSOR=`uname -p` 130923a0898aSmrg if test "$UNAME_PROCESSOR" = "x86"; then 131023a0898aSmrg UNAME_PROCESSOR=i386 131123a0898aSmrg UNAME_MACHINE=pc 131223a0898aSmrg fi 131323a0898aSmrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 131423a0898aSmrg exit ;; 131523a0898aSmrg *:QNX:*:4*) 131623a0898aSmrg echo i386-pc-qnx 131723a0898aSmrg exit ;; 1318b020570bSmrg NEO-?:NONSTOP_KERNEL:*:*) 1319b020570bSmrg echo neo-tandem-nsk${UNAME_RELEASE} 1320b020570bSmrg exit ;; 1321b020570bSmrg NSE-*:NONSTOP_KERNEL:*:*) 132223a0898aSmrg echo nse-tandem-nsk${UNAME_RELEASE} 132323a0898aSmrg exit ;; 132423a0898aSmrg NSR-?:NONSTOP_KERNEL:*:*) 132523a0898aSmrg echo nsr-tandem-nsk${UNAME_RELEASE} 132623a0898aSmrg exit ;; 132723a0898aSmrg *:NonStop-UX:*:*) 132823a0898aSmrg echo mips-compaq-nonstopux 132923a0898aSmrg exit ;; 133023a0898aSmrg BS2000:POSIX*:*:*) 133123a0898aSmrg echo bs2000-siemens-sysv 133223a0898aSmrg exit ;; 133323a0898aSmrg DS/*:UNIX_System_V:*:*) 133423a0898aSmrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 133523a0898aSmrg exit ;; 133623a0898aSmrg *:Plan9:*:*) 133723a0898aSmrg # "uname -m" is not consistent, so use $cputype instead. 386 133823a0898aSmrg # is converted to i386 for consistency with other x86 133923a0898aSmrg # operating systems. 134023a0898aSmrg if test "$cputype" = "386"; then 134123a0898aSmrg UNAME_MACHINE=i386 134223a0898aSmrg else 134323a0898aSmrg UNAME_MACHINE="$cputype" 134423a0898aSmrg fi 134523a0898aSmrg echo ${UNAME_MACHINE}-unknown-plan9 134623a0898aSmrg exit ;; 134723a0898aSmrg *:TOPS-10:*:*) 134823a0898aSmrg echo pdp10-unknown-tops10 134923a0898aSmrg exit ;; 135023a0898aSmrg *:TENEX:*:*) 135123a0898aSmrg echo pdp10-unknown-tenex 135223a0898aSmrg exit ;; 135323a0898aSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 135423a0898aSmrg echo pdp10-dec-tops20 135523a0898aSmrg exit ;; 135623a0898aSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 135723a0898aSmrg echo pdp10-xkl-tops20 135823a0898aSmrg exit ;; 135923a0898aSmrg *:TOPS-20:*:*) 136023a0898aSmrg echo pdp10-unknown-tops20 136123a0898aSmrg exit ;; 136223a0898aSmrg *:ITS:*:*) 136323a0898aSmrg echo pdp10-unknown-its 136423a0898aSmrg exit ;; 136523a0898aSmrg SEI:*:*:SEIUX) 1366b020570bSmrg echo mips-sei-seiux${UNAME_RELEASE} 136723a0898aSmrg exit ;; 136823a0898aSmrg *:DragonFly:*:*) 136923a0898aSmrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 137023a0898aSmrg exit ;; 137123a0898aSmrg *:*VMS:*:*) 1372b020570bSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 137323a0898aSmrg case "${UNAME_MACHINE}" in 137423a0898aSmrg A*) echo alpha-dec-vms ; exit ;; 137523a0898aSmrg I*) echo ia64-dec-vms ; exit ;; 137623a0898aSmrg V*) echo vax-dec-vms ; exit ;; 137723a0898aSmrg esac ;; 137823a0898aSmrg *:XENIX:*:SysV) 137923a0898aSmrg echo i386-pc-xenix 138023a0898aSmrg exit ;; 138123a0898aSmrg i*86:skyos:*:*) 138223a0898aSmrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 138323a0898aSmrg exit ;; 138423a0898aSmrg i*86:rdos:*:*) 138523a0898aSmrg echo ${UNAME_MACHINE}-pc-rdos 138623a0898aSmrg exit ;; 138741c30155Smrg i*86:AROS:*:*) 138841c30155Smrg echo ${UNAME_MACHINE}-pc-aros 138941c30155Smrg exit ;; 1390b020570bSmrg x86_64:VMkernel:*:*) 1391b020570bSmrg echo ${UNAME_MACHINE}-unknown-esx 1392b020570bSmrg exit ;; 139323a0898aSmrgesac 139423a0898aSmrg 139523a0898aSmrgcat >&2 <<EOF 139623a0898aSmrg$0: unable to guess system type 139723a0898aSmrg 139823a0898aSmrgThis script, last modified $timestamp, has failed to recognize 139923a0898aSmrgthe operating system you are using. It is advised that you 140023a0898aSmrgdownload the most up to date version of the config scripts from 140123a0898aSmrg 14027f7f5e4eSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 140323a0898aSmrgand 14047f7f5e4eSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 140523a0898aSmrg 140623a0898aSmrgIf the version you run ($0) is already up to date, please 140723a0898aSmrgsend the following data and any information you think might be 140823a0898aSmrgpertinent to <config-patches@gnu.org> in order to provide the needed 140923a0898aSmrginformation to handle your system. 141023a0898aSmrg 141123a0898aSmrgconfig.guess timestamp = $timestamp 141223a0898aSmrg 141323a0898aSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 141423a0898aSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 141523a0898aSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 141623a0898aSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 141723a0898aSmrg 141823a0898aSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 141923a0898aSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 142023a0898aSmrg 142123a0898aSmrghostinfo = `(hostinfo) 2>/dev/null` 142223a0898aSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 142323a0898aSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 142423a0898aSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 142523a0898aSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 142623a0898aSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 142723a0898aSmrg 142823a0898aSmrgUNAME_MACHINE = ${UNAME_MACHINE} 142923a0898aSmrgUNAME_RELEASE = ${UNAME_RELEASE} 143023a0898aSmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 143123a0898aSmrgUNAME_VERSION = ${UNAME_VERSION} 143223a0898aSmrgEOF 143323a0898aSmrg 143423a0898aSmrgexit 1 143523a0898aSmrg 143623a0898aSmrg# Local variables: 143723a0898aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 143823a0898aSmrg# time-stamp-start: "timestamp='" 143923a0898aSmrg# time-stamp-format: "%:y-%02m-%02d" 144023a0898aSmrg# time-stamp-end: "'" 144123a0898aSmrg# End: 1442