config.guess revision 4a8d91dc
150806d53Smrg#! /bin/sh 250806d53Smrg# Attempt to guess a canonical system name. 34a8d91dcSmrg# Copyright 1992-2015 Free Software Foundation, Inc. 450806d53Smrg 54a8d91dcSmrgtimestamp='2015-08-20' 650806d53Smrg 750806d53Smrg# This file is free software; you can redistribute it and/or modify it 850806d53Smrg# under the terms of the GNU General Public License as published by 94a8d91dcSmrg# the Free Software Foundation; either version 3 of the License, or 1050806d53Smrg# (at your option) any later version. 1150806d53Smrg# 1250806d53Smrg# This program is distributed in the hope that it will be useful, but 1350806d53Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1450806d53Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1550806d53Smrg# General Public License for more details. 1650806d53Smrg# 1750806d53Smrg# You should have received a copy of the GNU General Public License 184a8d91dcSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1950806d53Smrg# 2050806d53Smrg# As a special exception to the GNU General Public License, if you 2150806d53Smrg# distribute this file as part of a program that contains a 2250806d53Smrg# configuration script generated by Autoconf, you may include it under 234a8d91dcSmrg# the same distribution terms that you use for the rest of that 244a8d91dcSmrg# program. This Exception is an additional permission under section 7 254a8d91dcSmrg# of the GNU General Public License, version 3 ("GPLv3"). 2650806d53Smrg# 274a8d91dcSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 2850806d53Smrg# 29a73423d7Smrg# You can get the latest version of this script from: 30a73423d7Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 314a8d91dcSmrg# 324a8d91dcSmrg# Please send patches to <config-patches@gnu.org>. 334a8d91dcSmrg 3450806d53Smrg 3550806d53Smrgme=`echo "$0" | sed -e 's,.*/,,'` 3650806d53Smrg 3750806d53Smrgusage="\ 3850806d53SmrgUsage: $0 [OPTION] 3950806d53Smrg 4050806d53SmrgOutput the configuration name of the system \`$me' is run on. 4150806d53Smrg 4250806d53SmrgOperation modes: 4350806d53Smrg -h, --help print this help, then exit 4450806d53Smrg -t, --time-stamp print date of last modification, then exit 4550806d53Smrg -v, --version print version number, then exit 4650806d53Smrg 4750806d53SmrgReport bugs and patches to <config-patches@gnu.org>." 4850806d53Smrg 4950806d53Smrgversion="\ 5050806d53SmrgGNU config.guess ($timestamp) 5150806d53Smrg 5250806d53SmrgOriginally written by Per Bothner. 534a8d91dcSmrgCopyright 1992-2015 Free Software Foundation, Inc. 5450806d53Smrg 5550806d53SmrgThis is free software; see the source for copying conditions. There is NO 5650806d53Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 5750806d53Smrg 5850806d53Smrghelp=" 5950806d53SmrgTry \`$me --help' for more information." 6050806d53Smrg 6150806d53Smrg# Parse command line 6250806d53Smrgwhile test $# -gt 0 ; do 6350806d53Smrg case $1 in 6450806d53Smrg --time-stamp | --time* | -t ) 657965d9acSmrg echo "$timestamp" ; exit ;; 6650806d53Smrg --version | -v ) 677965d9acSmrg echo "$version" ; exit ;; 6850806d53Smrg --help | --h* | -h ) 697965d9acSmrg echo "$usage"; exit ;; 7050806d53Smrg -- ) # Stop option processing 7150806d53Smrg shift; break ;; 7250806d53Smrg - ) # Use stdin as input. 7350806d53Smrg break ;; 7450806d53Smrg -* ) 7550806d53Smrg echo "$me: invalid option $1$help" >&2 7650806d53Smrg exit 1 ;; 7750806d53Smrg * ) 7850806d53Smrg break ;; 7950806d53Smrg esac 8050806d53Smrgdone 8150806d53Smrg 8250806d53Smrgif test $# != 0; then 8350806d53Smrg echo "$me: too many arguments$help" >&2 8450806d53Smrg exit 1 8550806d53Smrgfi 8650806d53Smrg 8750806d53Smrgtrap 'exit 1' 1 2 15 8850806d53Smrg 8950806d53Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 9050806d53Smrg# compiler to aid in system detection is discouraged as it requires 9150806d53Smrg# temporary files to be created and, as you can see below, it is a 9250806d53Smrg# headache to deal with in a portable fashion. 9350806d53Smrg 9450806d53Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 9550806d53Smrg# use `HOST_CC' if defined, but it is deprecated. 9650806d53Smrg 9750806d53Smrg# Portable tmp directory creation inspired by the Autoconf team. 9850806d53Smrg 9950806d53Smrgset_cc_for_build=' 10050806d53Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 10150806d53Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 10250806d53Smrg: ${TMPDIR=/tmp} ; 1037965d9acSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 10450806d53Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 10550806d53Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 10650806d53Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 10750806d53Smrgdummy=$tmp/dummy ; 10850806d53Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 10950806d53Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 11050806d53Smrg ,,) echo "int x;" > $dummy.c ; 11150806d53Smrg for c in cc gcc c89 c99 ; do 11250806d53Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 11350806d53Smrg CC_FOR_BUILD="$c"; break ; 11450806d53Smrg fi ; 11550806d53Smrg done ; 11650806d53Smrg if test x"$CC_FOR_BUILD" = x ; then 11750806d53Smrg CC_FOR_BUILD=no_compiler_found ; 11850806d53Smrg fi 11950806d53Smrg ;; 12050806d53Smrg ,,*) CC_FOR_BUILD=$CC ;; 12150806d53Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1227965d9acSmrgesac ; set_cc_for_build= ;' 12350806d53Smrg 12450806d53Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 12550806d53Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 12650806d53Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 12750806d53Smrg PATH=$PATH:/.attbin ; export PATH 12850806d53Smrgfi 12950806d53Smrg 13050806d53SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 13150806d53SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 13250806d53SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 13350806d53SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 13450806d53Smrg 1354a8d91dcSmrgcase "${UNAME_SYSTEM}" in 1364a8d91dcSmrgLinux|GNU|GNU/*) 1374a8d91dcSmrg # If the system lacks a compiler, then just pick glibc. 1384a8d91dcSmrg # We could probably try harder. 1394a8d91dcSmrg LIBC=gnu 1404a8d91dcSmrg 1414a8d91dcSmrg eval $set_cc_for_build 1424a8d91dcSmrg cat <<-EOF > $dummy.c 1434a8d91dcSmrg #include <features.h> 1444a8d91dcSmrg #if defined(__UCLIBC__) 1454a8d91dcSmrg LIBC=uclibc 1464a8d91dcSmrg #elif defined(__dietlibc__) 1474a8d91dcSmrg LIBC=dietlibc 1484a8d91dcSmrg #else 1494a8d91dcSmrg LIBC=gnu 1504a8d91dcSmrg #endif 1514a8d91dcSmrg EOF 1524a8d91dcSmrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 1534a8d91dcSmrg ;; 1544a8d91dcSmrgesac 1554a8d91dcSmrg 15650806d53Smrg# Note: order is significant - the case branches are not exclusive. 15750806d53Smrg 15850806d53Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 15950806d53Smrg *:NetBSD:*:*) 16050806d53Smrg # NetBSD (nbsd) targets should (where applicable) match one or 161a73423d7Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 16250806d53Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 16350806d53Smrg # switched to ELF, *-*-netbsd* would select the old 16450806d53Smrg # object file format. This provides both forward 16550806d53Smrg # compatibility and a consistent mechanism for selecting the 16650806d53Smrg # object file format. 16750806d53Smrg # 16850806d53Smrg # Note: NetBSD doesn't particularly care about the vendor 16950806d53Smrg # portion of the name. We always set it to "unknown". 17050806d53Smrg sysctl="sysctl -n hw.machine_arch" 1714a8d91dcSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 1724a8d91dcSmrg /sbin/$sysctl 2>/dev/null || \ 1734a8d91dcSmrg /usr/sbin/$sysctl 2>/dev/null || \ 1744a8d91dcSmrg echo unknown)` 17550806d53Smrg case "${UNAME_MACHINE_ARCH}" in 17650806d53Smrg armeb) machine=armeb-unknown ;; 17750806d53Smrg arm*) machine=arm-unknown ;; 17850806d53Smrg sh3el) machine=shl-unknown ;; 17950806d53Smrg sh3eb) machine=sh-unknown ;; 1807965d9acSmrg sh5el) machine=sh5le-unknown ;; 1814a8d91dcSmrg earmv*) 1824a8d91dcSmrg arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 1834a8d91dcSmrg endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` 1844a8d91dcSmrg machine=${arch}${endian}-unknown 1854a8d91dcSmrg ;; 18650806d53Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 18750806d53Smrg esac 18850806d53Smrg # The Operating System including object format, if it has switched 18950806d53Smrg # to ELF recently, or will in the future. 19050806d53Smrg case "${UNAME_MACHINE_ARCH}" in 1914a8d91dcSmrg arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) 19250806d53Smrg eval $set_cc_for_build 19350806d53Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 194a73423d7Smrg | grep -q __ELF__ 19550806d53Smrg then 19650806d53Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 19750806d53Smrg # Return netbsd for either. FIX? 19850806d53Smrg os=netbsd 19950806d53Smrg else 20050806d53Smrg os=netbsdelf 20150806d53Smrg fi 20250806d53Smrg ;; 20350806d53Smrg *) 204a73423d7Smrg os=netbsd 20550806d53Smrg ;; 20650806d53Smrg esac 2074a8d91dcSmrg # Determine ABI tags. 2084a8d91dcSmrg case "${UNAME_MACHINE_ARCH}" in 2094a8d91dcSmrg earm*) 2104a8d91dcSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2114a8d91dcSmrg abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` 2124a8d91dcSmrg ;; 2134a8d91dcSmrg esac 21450806d53Smrg # The OS release 21550806d53Smrg # Debian GNU/NetBSD machines have a different userland, and 21650806d53Smrg # thus, need a distinct triplet. However, they do not need 21750806d53Smrg # kernel version information, so it can be replaced with a 21850806d53Smrg # suitable tag, in the style of linux-gnu. 21950806d53Smrg case "${UNAME_VERSION}" in 22050806d53Smrg Debian*) 22150806d53Smrg release='-gnu' 22250806d53Smrg ;; 22350806d53Smrg *) 2244a8d91dcSmrg release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` 22550806d53Smrg ;; 22650806d53Smrg esac 22750806d53Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 22850806d53Smrg # contains redundant information, the shorter form: 22950806d53Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2304a8d91dcSmrg echo "${machine}-${os}${release}${abi}" 2314a8d91dcSmrg exit ;; 2324a8d91dcSmrg *:Bitrig:*:*) 2334a8d91dcSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 2344a8d91dcSmrg echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} 2357965d9acSmrg exit ;; 23650806d53Smrg *:OpenBSD:*:*) 2377965d9acSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 2387965d9acSmrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 2397965d9acSmrg exit ;; 2407965d9acSmrg *:ekkoBSD:*:*) 2417965d9acSmrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 2427965d9acSmrg exit ;; 2437965d9acSmrg *:SolidBSD:*:*) 2447965d9acSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 2457965d9acSmrg exit ;; 2467965d9acSmrg macppc:MirBSD:*:*) 2477965d9acSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 2487965d9acSmrg exit ;; 2497965d9acSmrg *:MirBSD:*:*) 2507965d9acSmrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 2517965d9acSmrg exit ;; 2524a8d91dcSmrg *:Sortix:*:*) 2534a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-sortix 2544a8d91dcSmrg exit ;; 25550806d53Smrg alpha:OSF1:*:*) 2567965d9acSmrg case $UNAME_RELEASE in 2577965d9acSmrg *4.0) 25850806d53Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 2597965d9acSmrg ;; 2607965d9acSmrg *5.*) 261a73423d7Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 2627965d9acSmrg ;; 2637965d9acSmrg esac 26450806d53Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 26550806d53Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 26650806d53Smrg # covers most systems running today. This code pipes the CPU 26750806d53Smrg # types through head -n 1, so we only detect the type of CPU 0. 26850806d53Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 26950806d53Smrg case "$ALPHA_CPU_TYPE" in 27050806d53Smrg "EV4 (21064)") 27150806d53Smrg UNAME_MACHINE="alpha" ;; 27250806d53Smrg "EV4.5 (21064)") 27350806d53Smrg UNAME_MACHINE="alpha" ;; 27450806d53Smrg "LCA4 (21066/21068)") 27550806d53Smrg UNAME_MACHINE="alpha" ;; 27650806d53Smrg "EV5 (21164)") 27750806d53Smrg UNAME_MACHINE="alphaev5" ;; 27850806d53Smrg "EV5.6 (21164A)") 27950806d53Smrg UNAME_MACHINE="alphaev56" ;; 28050806d53Smrg "EV5.6 (21164PC)") 28150806d53Smrg UNAME_MACHINE="alphapca56" ;; 28250806d53Smrg "EV5.7 (21164PC)") 28350806d53Smrg UNAME_MACHINE="alphapca57" ;; 28450806d53Smrg "EV6 (21264)") 28550806d53Smrg UNAME_MACHINE="alphaev6" ;; 28650806d53Smrg "EV6.7 (21264A)") 28750806d53Smrg UNAME_MACHINE="alphaev67" ;; 28850806d53Smrg "EV6.8CB (21264C)") 28950806d53Smrg UNAME_MACHINE="alphaev68" ;; 29050806d53Smrg "EV6.8AL (21264B)") 29150806d53Smrg UNAME_MACHINE="alphaev68" ;; 29250806d53Smrg "EV6.8CX (21264D)") 29350806d53Smrg UNAME_MACHINE="alphaev68" ;; 29450806d53Smrg "EV6.9A (21264/EV69A)") 29550806d53Smrg UNAME_MACHINE="alphaev69" ;; 29650806d53Smrg "EV7 (21364)") 29750806d53Smrg UNAME_MACHINE="alphaev7" ;; 29850806d53Smrg "EV7.9 (21364A)") 29950806d53Smrg UNAME_MACHINE="alphaev79" ;; 30050806d53Smrg esac 3017965d9acSmrg # A Pn.n version is a patched version. 30250806d53Smrg # A Vn.n version is a released version. 30350806d53Smrg # A Tn.n version is a released field test version. 30450806d53Smrg # A Xn.n version is an unreleased experimental baselevel. 30550806d53Smrg # 1.2 uses "1.2" for uname -r. 3067965d9acSmrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 307a73423d7Smrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 308a73423d7Smrg exitcode=$? 309a73423d7Smrg trap '' 0 310a73423d7Smrg exit $exitcode ;; 31150806d53Smrg Alpha\ *:Windows_NT*:*) 31250806d53Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 31350806d53Smrg # Should we change UNAME_MACHINE based on the output of uname instead 31450806d53Smrg # of the specific Alpha model? 31550806d53Smrg echo alpha-pc-interix 3167965d9acSmrg exit ;; 31750806d53Smrg 21064:Windows_NT:50:3) 31850806d53Smrg echo alpha-dec-winnt3.5 3197965d9acSmrg exit ;; 32050806d53Smrg Amiga*:UNIX_System_V:4.0:*) 32150806d53Smrg echo m68k-unknown-sysv4 3227965d9acSmrg exit ;; 32350806d53Smrg *:[Aa]miga[Oo][Ss]:*:*) 32450806d53Smrg echo ${UNAME_MACHINE}-unknown-amigaos 3257965d9acSmrg exit ;; 32650806d53Smrg *:[Mm]orph[Oo][Ss]:*:*) 32750806d53Smrg echo ${UNAME_MACHINE}-unknown-morphos 3287965d9acSmrg exit ;; 32950806d53Smrg *:OS/390:*:*) 33050806d53Smrg echo i370-ibm-openedition 3317965d9acSmrg exit ;; 3327965d9acSmrg *:z/VM:*:*) 3337965d9acSmrg echo s390-ibm-zvmoe 3347965d9acSmrg exit ;; 3357965d9acSmrg *:OS400:*:*) 336a73423d7Smrg echo powerpc-ibm-os400 3377965d9acSmrg exit ;; 33850806d53Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 33950806d53Smrg echo arm-acorn-riscix${UNAME_RELEASE} 3407965d9acSmrg exit ;; 3414a8d91dcSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 3427965d9acSmrg echo arm-unknown-riscos 3437965d9acSmrg exit ;; 34450806d53Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 34550806d53Smrg echo hppa1.1-hitachi-hiuxmpp 3467965d9acSmrg exit ;; 34750806d53Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 34850806d53Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 34950806d53Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 35050806d53Smrg echo pyramid-pyramid-sysv3 35150806d53Smrg else 35250806d53Smrg echo pyramid-pyramid-bsd 35350806d53Smrg fi 3547965d9acSmrg exit ;; 35550806d53Smrg NILE*:*:*:dcosx) 35650806d53Smrg echo pyramid-pyramid-svr4 3577965d9acSmrg exit ;; 35850806d53Smrg DRS?6000:unix:4.0:6*) 35950806d53Smrg echo sparc-icl-nx6 3607965d9acSmrg exit ;; 3617965d9acSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 36250806d53Smrg case `/usr/bin/uname -p` in 3637965d9acSmrg sparc) echo sparc-icl-nx7; exit ;; 36450806d53Smrg esac ;; 365a73423d7Smrg s390x:SunOS:*:*) 366a73423d7Smrg echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 367a73423d7Smrg exit ;; 36850806d53Smrg sun4H:SunOS:5.*:*) 36950806d53Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3707965d9acSmrg exit ;; 37150806d53Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 37250806d53Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3737965d9acSmrg exit ;; 374a73423d7Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 375a73423d7Smrg echo i386-pc-auroraux${UNAME_RELEASE} 376a73423d7Smrg exit ;; 3777965d9acSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 378b3e38ee4Smrg eval $set_cc_for_build 379b3e38ee4Smrg SUN_ARCH="i386" 380b3e38ee4Smrg # If there is a compiler, see if it is configured for 64-bit objects. 381b3e38ee4Smrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 382b3e38ee4Smrg # This test works for both compilers. 383b3e38ee4Smrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 384a73423d7Smrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 385b3e38ee4Smrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 386b3e38ee4Smrg grep IS_64BIT_ARCH >/dev/null 387b3e38ee4Smrg then 388b3e38ee4Smrg SUN_ARCH="x86_64" 389b3e38ee4Smrg fi 390b3e38ee4Smrg fi 391b3e38ee4Smrg echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3927965d9acSmrg exit ;; 39350806d53Smrg sun4*:SunOS:6*:*) 39450806d53Smrg # According to config.sub, this is the proper way to canonicalize 39550806d53Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 39650806d53Smrg # it's likely to be more like Solaris than SunOS4. 39750806d53Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3987965d9acSmrg exit ;; 39950806d53Smrg sun4*:SunOS:*:*) 40050806d53Smrg case "`/usr/bin/arch -k`" in 40150806d53Smrg Series*|S4*) 40250806d53Smrg UNAME_RELEASE=`uname -v` 40350806d53Smrg ;; 40450806d53Smrg esac 40550806d53Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 40650806d53Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 4077965d9acSmrg exit ;; 40850806d53Smrg sun3*:SunOS:*:*) 40950806d53Smrg echo m68k-sun-sunos${UNAME_RELEASE} 4107965d9acSmrg exit ;; 41150806d53Smrg sun*:*:4.2BSD:*) 41250806d53Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 41350806d53Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 41450806d53Smrg case "`/bin/arch`" in 41550806d53Smrg sun3) 41650806d53Smrg echo m68k-sun-sunos${UNAME_RELEASE} 41750806d53Smrg ;; 41850806d53Smrg sun4) 41950806d53Smrg echo sparc-sun-sunos${UNAME_RELEASE} 42050806d53Smrg ;; 42150806d53Smrg esac 4227965d9acSmrg exit ;; 42350806d53Smrg aushp:SunOS:*:*) 42450806d53Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 4257965d9acSmrg exit ;; 42650806d53Smrg # The situation for MiNT is a little confusing. The machine name 42750806d53Smrg # can be virtually everything (everything which is not 42850806d53Smrg # "atarist" or "atariste" at least should have a processor 42950806d53Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 43050806d53Smrg # to the lowercase version "mint" (or "freemint"). Finally 43150806d53Smrg # the system name "TOS" denotes a system which is actually not 43250806d53Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 43350806d53Smrg # be no problem. 43450806d53Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 435a73423d7Smrg echo m68k-atari-mint${UNAME_RELEASE} 4367965d9acSmrg exit ;; 43750806d53Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 43850806d53Smrg echo m68k-atari-mint${UNAME_RELEASE} 439a73423d7Smrg exit ;; 44050806d53Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 441a73423d7Smrg echo m68k-atari-mint${UNAME_RELEASE} 4427965d9acSmrg exit ;; 44350806d53Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 444a73423d7Smrg echo m68k-milan-mint${UNAME_RELEASE} 445a73423d7Smrg exit ;; 44650806d53Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 447a73423d7Smrg echo m68k-hades-mint${UNAME_RELEASE} 448a73423d7Smrg exit ;; 44950806d53Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 450a73423d7Smrg echo m68k-unknown-mint${UNAME_RELEASE} 451a73423d7Smrg exit ;; 4527965d9acSmrg m68k:machten:*:*) 4537965d9acSmrg echo m68k-apple-machten${UNAME_RELEASE} 4547965d9acSmrg exit ;; 45550806d53Smrg powerpc:machten:*:*) 45650806d53Smrg echo powerpc-apple-machten${UNAME_RELEASE} 4577965d9acSmrg exit ;; 45850806d53Smrg RISC*:Mach:*:*) 45950806d53Smrg echo mips-dec-mach_bsd4.3 4607965d9acSmrg exit ;; 46150806d53Smrg RISC*:ULTRIX:*:*) 46250806d53Smrg echo mips-dec-ultrix${UNAME_RELEASE} 4637965d9acSmrg exit ;; 46450806d53Smrg VAX*:ULTRIX*:*:*) 46550806d53Smrg echo vax-dec-ultrix${UNAME_RELEASE} 4667965d9acSmrg exit ;; 46750806d53Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 46850806d53Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 4697965d9acSmrg exit ;; 47050806d53Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 47150806d53Smrg eval $set_cc_for_build 47250806d53Smrg sed 's/^ //' << EOF >$dummy.c 47350806d53Smrg#ifdef __cplusplus 47450806d53Smrg#include <stdio.h> /* for printf() prototype */ 47550806d53Smrg int main (int argc, char *argv[]) { 47650806d53Smrg#else 47750806d53Smrg int main (argc, argv) int argc; char *argv[]; { 47850806d53Smrg#endif 47950806d53Smrg #if defined (host_mips) && defined (MIPSEB) 48050806d53Smrg #if defined (SYSTYPE_SYSV) 48150806d53Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 48250806d53Smrg #endif 48350806d53Smrg #if defined (SYSTYPE_SVR4) 48450806d53Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 48550806d53Smrg #endif 48650806d53Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 48750806d53Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 48850806d53Smrg #endif 48950806d53Smrg #endif 49050806d53Smrg exit (-1); 49150806d53Smrg } 49250806d53SmrgEOF 4937965d9acSmrg $CC_FOR_BUILD -o $dummy $dummy.c && 4947965d9acSmrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 4957965d9acSmrg SYSTEM_NAME=`$dummy $dummyarg` && 4967965d9acSmrg { echo "$SYSTEM_NAME"; exit; } 49750806d53Smrg echo mips-mips-riscos${UNAME_RELEASE} 4987965d9acSmrg exit ;; 49950806d53Smrg Motorola:PowerMAX_OS:*:*) 50050806d53Smrg echo powerpc-motorola-powermax 5017965d9acSmrg exit ;; 50250806d53Smrg Motorola:*:4.3:PL8-*) 50350806d53Smrg echo powerpc-harris-powermax 5047965d9acSmrg exit ;; 50550806d53Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 50650806d53Smrg echo powerpc-harris-powermax 5077965d9acSmrg exit ;; 50850806d53Smrg Night_Hawk:Power_UNIX:*:*) 50950806d53Smrg echo powerpc-harris-powerunix 5107965d9acSmrg exit ;; 51150806d53Smrg m88k:CX/UX:7*:*) 51250806d53Smrg echo m88k-harris-cxux7 5137965d9acSmrg exit ;; 51450806d53Smrg m88k:*:4*:R4*) 51550806d53Smrg echo m88k-motorola-sysv4 5167965d9acSmrg exit ;; 51750806d53Smrg m88k:*:3*:R3*) 51850806d53Smrg echo m88k-motorola-sysv3 5197965d9acSmrg exit ;; 52050806d53Smrg AViiON:dgux:*:*) 521a73423d7Smrg # DG/UX returns AViiON for all architectures 522a73423d7Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 52350806d53Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 52450806d53Smrg then 52550806d53Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 52650806d53Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 52750806d53Smrg then 52850806d53Smrg echo m88k-dg-dgux${UNAME_RELEASE} 52950806d53Smrg else 53050806d53Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 53150806d53Smrg fi 53250806d53Smrg else 53350806d53Smrg echo i586-dg-dgux${UNAME_RELEASE} 53450806d53Smrg fi 535a73423d7Smrg exit ;; 53650806d53Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 53750806d53Smrg echo m88k-dolphin-sysv3 5387965d9acSmrg exit ;; 53950806d53Smrg M88*:*:R3*:*) 54050806d53Smrg # Delta 88k system running SVR3 54150806d53Smrg echo m88k-motorola-sysv3 5427965d9acSmrg exit ;; 54350806d53Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 54450806d53Smrg echo m88k-tektronix-sysv3 5457965d9acSmrg exit ;; 54650806d53Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 54750806d53Smrg echo m68k-tektronix-bsd 5487965d9acSmrg exit ;; 54950806d53Smrg *:IRIX*:*:*) 55050806d53Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 5517965d9acSmrg exit ;; 55250806d53Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 5537965d9acSmrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 5547965d9acSmrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 55550806d53Smrg i*86:AIX:*:*) 55650806d53Smrg echo i386-ibm-aix 5577965d9acSmrg exit ;; 55850806d53Smrg ia64:AIX:*:*) 55950806d53Smrg if [ -x /usr/bin/oslevel ] ; then 56050806d53Smrg IBM_REV=`/usr/bin/oslevel` 56150806d53Smrg else 56250806d53Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 56350806d53Smrg fi 56450806d53Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 5657965d9acSmrg exit ;; 56650806d53Smrg *:AIX:2:3) 56750806d53Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 56850806d53Smrg eval $set_cc_for_build 56950806d53Smrg sed 's/^ //' << EOF >$dummy.c 57050806d53Smrg #include <sys/systemcfg.h> 57150806d53Smrg 57250806d53Smrg main() 57350806d53Smrg { 57450806d53Smrg if (!__power_pc()) 57550806d53Smrg exit(1); 57650806d53Smrg puts("powerpc-ibm-aix3.2.5"); 57750806d53Smrg exit(0); 57850806d53Smrg } 57950806d53SmrgEOF 5807965d9acSmrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 5817965d9acSmrg then 5827965d9acSmrg echo "$SYSTEM_NAME" 5837965d9acSmrg else 5847965d9acSmrg echo rs6000-ibm-aix3.2.5 5857965d9acSmrg fi 58650806d53Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 58750806d53Smrg echo rs6000-ibm-aix3.2.4 58850806d53Smrg else 58950806d53Smrg echo rs6000-ibm-aix3.2 59050806d53Smrg fi 5917965d9acSmrg exit ;; 592a73423d7Smrg *:AIX:*:[4567]) 59350806d53Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 59450806d53Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 59550806d53Smrg IBM_ARCH=rs6000 59650806d53Smrg else 59750806d53Smrg IBM_ARCH=powerpc 59850806d53Smrg fi 5994a8d91dcSmrg if [ -x /usr/bin/lslpp ] ; then 6004a8d91dcSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | 6014a8d91dcSmrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 60250806d53Smrg else 60350806d53Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 60450806d53Smrg fi 60550806d53Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 6067965d9acSmrg exit ;; 60750806d53Smrg *:AIX:*:*) 60850806d53Smrg echo rs6000-ibm-aix 6097965d9acSmrg exit ;; 61050806d53Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 61150806d53Smrg echo romp-ibm-bsd4.4 6127965d9acSmrg exit ;; 61350806d53Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 61450806d53Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 6157965d9acSmrg exit ;; # report: romp-ibm BSD 4.3 61650806d53Smrg *:BOSX:*:*) 61750806d53Smrg echo rs6000-bull-bosx 6187965d9acSmrg exit ;; 61950806d53Smrg DPX/2?00:B.O.S.:*:*) 62050806d53Smrg echo m68k-bull-sysv3 6217965d9acSmrg exit ;; 62250806d53Smrg 9000/[34]??:4.3bsd:1.*:*) 62350806d53Smrg echo m68k-hp-bsd 6247965d9acSmrg exit ;; 62550806d53Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 62650806d53Smrg echo m68k-hp-bsd4.4 6277965d9acSmrg exit ;; 62850806d53Smrg 9000/[34678]??:HP-UX:*:*) 62950806d53Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 63050806d53Smrg case "${UNAME_MACHINE}" in 63150806d53Smrg 9000/31? ) HP_ARCH=m68000 ;; 63250806d53Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 63350806d53Smrg 9000/[678][0-9][0-9]) 63450806d53Smrg if [ -x /usr/bin/getconf ]; then 63550806d53Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 636a73423d7Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 637a73423d7Smrg case "${sc_cpu_version}" in 638a73423d7Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 639a73423d7Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 640a73423d7Smrg 532) # CPU_PA_RISC2_0 641a73423d7Smrg case "${sc_kernel_bits}" in 642a73423d7Smrg 32) HP_ARCH="hppa2.0n" ;; 643a73423d7Smrg 64) HP_ARCH="hppa2.0w" ;; 64450806d53Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 645a73423d7Smrg esac ;; 646a73423d7Smrg esac 64750806d53Smrg fi 64850806d53Smrg if [ "${HP_ARCH}" = "" ]; then 64950806d53Smrg eval $set_cc_for_build 650a73423d7Smrg sed 's/^ //' << EOF >$dummy.c 65150806d53Smrg 652a73423d7Smrg #define _HPUX_SOURCE 653a73423d7Smrg #include <stdlib.h> 654a73423d7Smrg #include <unistd.h> 65550806d53Smrg 656a73423d7Smrg int main () 657a73423d7Smrg { 658a73423d7Smrg #if defined(_SC_KERNEL_BITS) 659a73423d7Smrg long bits = sysconf(_SC_KERNEL_BITS); 660a73423d7Smrg #endif 661a73423d7Smrg long cpu = sysconf (_SC_CPU_VERSION); 66250806d53Smrg 663a73423d7Smrg switch (cpu) 664a73423d7Smrg { 665a73423d7Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 666a73423d7Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 667a73423d7Smrg case CPU_PA_RISC2_0: 668a73423d7Smrg #if defined(_SC_KERNEL_BITS) 669a73423d7Smrg switch (bits) 670a73423d7Smrg { 671a73423d7Smrg case 64: puts ("hppa2.0w"); break; 672a73423d7Smrg case 32: puts ("hppa2.0n"); break; 673a73423d7Smrg default: puts ("hppa2.0"); break; 674a73423d7Smrg } break; 675a73423d7Smrg #else /* !defined(_SC_KERNEL_BITS) */ 676a73423d7Smrg puts ("hppa2.0"); break; 677a73423d7Smrg #endif 678a73423d7Smrg default: puts ("hppa1.0"); break; 679a73423d7Smrg } 680a73423d7Smrg exit (0); 681a73423d7Smrg } 68250806d53SmrgEOF 68350806d53Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 68450806d53Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 68550806d53Smrg fi ;; 68650806d53Smrg esac 68750806d53Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 68850806d53Smrg then 6897965d9acSmrg eval $set_cc_for_build 6907965d9acSmrg 6917965d9acSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 6927965d9acSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 6937965d9acSmrg # generating 64-bit code. GNU and HP use different nomenclature: 6947965d9acSmrg # 6957965d9acSmrg # $ CC_FOR_BUILD=cc ./config.guess 6967965d9acSmrg # => hppa2.0w-hp-hpux11.23 6977965d9acSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 6987965d9acSmrg # => hppa64-hp-hpux11.23 6997965d9acSmrg 7007965d9acSmrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 701a73423d7Smrg grep -q __LP64__ 70250806d53Smrg then 70350806d53Smrg HP_ARCH="hppa2.0w" 70450806d53Smrg else 70550806d53Smrg HP_ARCH="hppa64" 70650806d53Smrg fi 70750806d53Smrg fi 70850806d53Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 7097965d9acSmrg exit ;; 71050806d53Smrg ia64:HP-UX:*:*) 71150806d53Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 71250806d53Smrg echo ia64-hp-hpux${HPUX_REV} 7137965d9acSmrg exit ;; 71450806d53Smrg 3050*:HI-UX:*:*) 71550806d53Smrg eval $set_cc_for_build 71650806d53Smrg sed 's/^ //' << EOF >$dummy.c 71750806d53Smrg #include <unistd.h> 71850806d53Smrg int 71950806d53Smrg main () 72050806d53Smrg { 72150806d53Smrg long cpu = sysconf (_SC_CPU_VERSION); 72250806d53Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 72350806d53Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 72450806d53Smrg results, however. */ 72550806d53Smrg if (CPU_IS_PA_RISC (cpu)) 72650806d53Smrg { 72750806d53Smrg switch (cpu) 72850806d53Smrg { 72950806d53Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 73050806d53Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 73150806d53Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 73250806d53Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 73350806d53Smrg } 73450806d53Smrg } 73550806d53Smrg else if (CPU_IS_HP_MC68K (cpu)) 73650806d53Smrg puts ("m68k-hitachi-hiuxwe2"); 73750806d53Smrg else puts ("unknown-hitachi-hiuxwe2"); 73850806d53Smrg exit (0); 73950806d53Smrg } 74050806d53SmrgEOF 7417965d9acSmrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 7427965d9acSmrg { echo "$SYSTEM_NAME"; exit; } 74350806d53Smrg echo unknown-hitachi-hiuxwe2 7447965d9acSmrg exit ;; 74550806d53Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 74650806d53Smrg echo hppa1.1-hp-bsd 7477965d9acSmrg exit ;; 74850806d53Smrg 9000/8??:4.3bsd:*:*) 74950806d53Smrg echo hppa1.0-hp-bsd 7507965d9acSmrg exit ;; 75150806d53Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 75250806d53Smrg echo hppa1.0-hp-mpeix 7537965d9acSmrg exit ;; 75450806d53Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 75550806d53Smrg echo hppa1.1-hp-osf 7567965d9acSmrg exit ;; 75750806d53Smrg hp8??:OSF1:*:*) 75850806d53Smrg echo hppa1.0-hp-osf 7597965d9acSmrg exit ;; 76050806d53Smrg i*86:OSF1:*:*) 76150806d53Smrg if [ -x /usr/sbin/sysversion ] ; then 76250806d53Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 76350806d53Smrg else 76450806d53Smrg echo ${UNAME_MACHINE}-unknown-osf1 76550806d53Smrg fi 7667965d9acSmrg exit ;; 76750806d53Smrg parisc*:Lites*:*:*) 76850806d53Smrg echo hppa1.1-hp-lites 7697965d9acSmrg exit ;; 77050806d53Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 77150806d53Smrg echo c1-convex-bsd 772a73423d7Smrg exit ;; 77350806d53Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 77450806d53Smrg if getsysinfo -f scalar_acc 77550806d53Smrg then echo c32-convex-bsd 77650806d53Smrg else echo c2-convex-bsd 77750806d53Smrg fi 778a73423d7Smrg exit ;; 77950806d53Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 78050806d53Smrg echo c34-convex-bsd 781a73423d7Smrg exit ;; 78250806d53Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 78350806d53Smrg echo c38-convex-bsd 784a73423d7Smrg exit ;; 78550806d53Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 78650806d53Smrg echo c4-convex-bsd 787a73423d7Smrg exit ;; 78850806d53Smrg CRAY*Y-MP:*:*:*) 78950806d53Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7907965d9acSmrg exit ;; 79150806d53Smrg CRAY*[A-Z]90:*:*:*) 79250806d53Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 79350806d53Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 79450806d53Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 79550806d53Smrg -e 's/\.[^.]*$/.X/' 7967965d9acSmrg exit ;; 79750806d53Smrg CRAY*TS:*:*:*) 79850806d53Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7997965d9acSmrg exit ;; 80050806d53Smrg CRAY*T3E:*:*:*) 80150806d53Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 8027965d9acSmrg exit ;; 80350806d53Smrg CRAY*SV1:*:*:*) 80450806d53Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 8057965d9acSmrg exit ;; 80650806d53Smrg *:UNICOS/mp:*:*) 8077965d9acSmrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 8087965d9acSmrg exit ;; 80950806d53Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 81050806d53Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 811a73423d7Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 812a73423d7Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 813a73423d7Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 814a73423d7Smrg exit ;; 8157965d9acSmrg 5000:UNIX_System_V:4.*:*) 816a73423d7Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 817a73423d7Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 818a73423d7Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 8197965d9acSmrg exit ;; 82050806d53Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 82150806d53Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 8227965d9acSmrg exit ;; 82350806d53Smrg sparc*:BSD/OS:*:*) 82450806d53Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 8257965d9acSmrg exit ;; 82650806d53Smrg *:BSD/OS:*:*) 82750806d53Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 8287965d9acSmrg exit ;; 8297965d9acSmrg *:FreeBSD:*:*) 830a73423d7Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 831a73423d7Smrg case ${UNAME_PROCESSOR} in 8327965d9acSmrg amd64) 8337965d9acSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 8347965d9acSmrg *) 835a73423d7Smrg echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 8367965d9acSmrg esac 8377965d9acSmrg exit ;; 83850806d53Smrg i*:CYGWIN*:*) 83950806d53Smrg echo ${UNAME_MACHINE}-pc-cygwin 8407965d9acSmrg exit ;; 8414a8d91dcSmrg *:MINGW64*:*) 8424a8d91dcSmrg echo ${UNAME_MACHINE}-pc-mingw64 8434a8d91dcSmrg exit ;; 8447965d9acSmrg *:MINGW*:*) 84550806d53Smrg echo ${UNAME_MACHINE}-pc-mingw32 8467965d9acSmrg exit ;; 8474a8d91dcSmrg *:MSYS*:*) 848a73423d7Smrg echo ${UNAME_MACHINE}-pc-msys 849a73423d7Smrg exit ;; 8507965d9acSmrg i*:windows32*:*) 851a73423d7Smrg # uname -m includes "-pc" on this system. 852a73423d7Smrg echo ${UNAME_MACHINE}-mingw32 8537965d9acSmrg exit ;; 85450806d53Smrg i*:PW*:*) 85550806d53Smrg echo ${UNAME_MACHINE}-pc-pw32 8567965d9acSmrg exit ;; 857a73423d7Smrg *:Interix*:*) 858a73423d7Smrg case ${UNAME_MACHINE} in 8597965d9acSmrg x86) 8607965d9acSmrg echo i586-pc-interix${UNAME_RELEASE} 8617965d9acSmrg exit ;; 862a73423d7Smrg authenticamd | genuineintel | EM64T) 8637965d9acSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 8647965d9acSmrg exit ;; 8657965d9acSmrg IA64) 8667965d9acSmrg echo ia64-unknown-interix${UNAME_RELEASE} 8677965d9acSmrg exit ;; 8687965d9acSmrg esac ;; 86950806d53Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 87050806d53Smrg echo i${UNAME_MACHINE}-pc-mks 8717965d9acSmrg exit ;; 872a73423d7Smrg 8664:Windows_NT:*) 873a73423d7Smrg echo x86_64-pc-mks 874a73423d7Smrg exit ;; 87550806d53Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 87650806d53Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 87750806d53Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 87850806d53Smrg # UNAME_MACHINE based on the output of uname instead of i386? 87950806d53Smrg echo i586-pc-interix 8807965d9acSmrg exit ;; 88150806d53Smrg i*:UWIN*:*) 88250806d53Smrg echo ${UNAME_MACHINE}-pc-uwin 8837965d9acSmrg exit ;; 8847965d9acSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 8857965d9acSmrg echo x86_64-unknown-cygwin 8867965d9acSmrg exit ;; 88750806d53Smrg p*:CYGWIN*:*) 88850806d53Smrg echo powerpcle-unknown-cygwin 8897965d9acSmrg exit ;; 89050806d53Smrg prep*:SunOS:5.*:*) 89150806d53Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 8927965d9acSmrg exit ;; 89350806d53Smrg *:GNU:*:*) 8947965d9acSmrg # the GNU system 8954a8d91dcSmrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 8967965d9acSmrg exit ;; 8977965d9acSmrg *:GNU/*:*:*) 8987965d9acSmrg # other systems with GNU libc and userland 8994a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} 9007965d9acSmrg exit ;; 90150806d53Smrg i*86:Minix:*:*) 90250806d53Smrg echo ${UNAME_MACHINE}-pc-minix 9037965d9acSmrg exit ;; 9044a8d91dcSmrg aarch64:Linux:*:*) 9054a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9064a8d91dcSmrg exit ;; 9074a8d91dcSmrg aarch64_be:Linux:*:*) 9084a8d91dcSmrg UNAME_MACHINE=aarch64_be 9094a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9104a8d91dcSmrg exit ;; 911a73423d7Smrg alpha:Linux:*:*) 912a73423d7Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 913a73423d7Smrg EV5) UNAME_MACHINE=alphaev5 ;; 914a73423d7Smrg EV56) UNAME_MACHINE=alphaev56 ;; 915a73423d7Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 916a73423d7Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 917a73423d7Smrg EV6) UNAME_MACHINE=alphaev6 ;; 918a73423d7Smrg EV67) UNAME_MACHINE=alphaev67 ;; 919a73423d7Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 920a73423d7Smrg esac 921a73423d7Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 9224a8d91dcSmrg if test "$?" = 0 ; then LIBC="gnulibc1" ; fi 9234a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9244a8d91dcSmrg exit ;; 9254a8d91dcSmrg arc:Linux:*:* | arceb:Linux:*:*) 9264a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 927a73423d7Smrg exit ;; 92850806d53Smrg arm*:Linux:*:*) 9297965d9acSmrg eval $set_cc_for_build 9307965d9acSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 9317965d9acSmrg | grep -q __ARM_EABI__ 9327965d9acSmrg then 9334a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9347965d9acSmrg else 935a73423d7Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 936a73423d7Smrg | grep -q __ARM_PCS_VFP 937a73423d7Smrg then 9384a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi 939a73423d7Smrg else 9404a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf 941a73423d7Smrg fi 9427965d9acSmrg fi 9437965d9acSmrg exit ;; 9447965d9acSmrg avr32*:Linux:*:*) 9454a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9467965d9acSmrg exit ;; 94750806d53Smrg cris:Linux:*:*) 9484a8d91dcSmrg echo ${UNAME_MACHINE}-axis-linux-${LIBC} 9497965d9acSmrg exit ;; 9507965d9acSmrg crisv32:Linux:*:*) 9514a8d91dcSmrg echo ${UNAME_MACHINE}-axis-linux-${LIBC} 9524a8d91dcSmrg exit ;; 9534a8d91dcSmrg e2k:Linux:*:*) 9544a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9557965d9acSmrg exit ;; 9567965d9acSmrg frv:Linux:*:*) 9574a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 958a73423d7Smrg exit ;; 959a73423d7Smrg hexagon:Linux:*:*) 9604a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 961a73423d7Smrg exit ;; 962a73423d7Smrg i*86:Linux:*:*) 9634a8d91dcSmrg echo ${UNAME_MACHINE}-pc-linux-${LIBC} 9647965d9acSmrg exit ;; 96550806d53Smrg ia64:Linux:*:*) 9664a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9677965d9acSmrg exit ;; 9687965d9acSmrg m32r*:Linux:*:*) 9694a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9707965d9acSmrg exit ;; 97150806d53Smrg m68*:Linux:*:*) 9724a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9737965d9acSmrg exit ;; 974a73423d7Smrg mips:Linux:*:* | mips64:Linux:*:*) 97550806d53Smrg eval $set_cc_for_build 97650806d53Smrg sed 's/^ //' << EOF >$dummy.c 97750806d53Smrg #undef CPU 978a73423d7Smrg #undef ${UNAME_MACHINE} 979a73423d7Smrg #undef ${UNAME_MACHINE}el 98050806d53Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 981a73423d7Smrg CPU=${UNAME_MACHINE}el 98250806d53Smrg #else 98350806d53Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 984a73423d7Smrg CPU=${UNAME_MACHINE} 98550806d53Smrg #else 98650806d53Smrg CPU= 98750806d53Smrg #endif 98850806d53Smrg #endif 98950806d53SmrgEOF 990a73423d7Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` 9914a8d91dcSmrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } 99250806d53Smrg ;; 9934a8d91dcSmrg openrisc*:Linux:*:*) 9944a8d91dcSmrg echo or1k-unknown-linux-${LIBC} 9954a8d91dcSmrg exit ;; 9964a8d91dcSmrg or32:Linux:*:* | or1k*:Linux:*:*) 9974a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 9987965d9acSmrg exit ;; 999b3e38ee4Smrg padre:Linux:*:*) 10004a8d91dcSmrg echo sparc-unknown-linux-${LIBC} 1001b3e38ee4Smrg exit ;; 1002a73423d7Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 10034a8d91dcSmrg echo hppa64-unknown-linux-${LIBC} 1004a73423d7Smrg exit ;; 100550806d53Smrg parisc:Linux:*:* | hppa:Linux:*:*) 100650806d53Smrg # Look for CPU level 100750806d53Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 10084a8d91dcSmrg PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; 10094a8d91dcSmrg PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; 10104a8d91dcSmrg *) echo hppa-unknown-linux-${LIBC} ;; 101150806d53Smrg esac 10127965d9acSmrg exit ;; 1013a73423d7Smrg ppc64:Linux:*:*) 10144a8d91dcSmrg echo powerpc64-unknown-linux-${LIBC} 1015a73423d7Smrg exit ;; 1016a73423d7Smrg ppc:Linux:*:*) 10174a8d91dcSmrg echo powerpc-unknown-linux-${LIBC} 10184a8d91dcSmrg exit ;; 10194a8d91dcSmrg ppc64le:Linux:*:*) 10204a8d91dcSmrg echo powerpc64le-unknown-linux-${LIBC} 10214a8d91dcSmrg exit ;; 10224a8d91dcSmrg ppcle:Linux:*:*) 10234a8d91dcSmrg echo powerpcle-unknown-linux-${LIBC} 10247965d9acSmrg exit ;; 102550806d53Smrg s390:Linux:*:* | s390x:Linux:*:*) 10264a8d91dcSmrg echo ${UNAME_MACHINE}-ibm-linux-${LIBC} 10277965d9acSmrg exit ;; 102850806d53Smrg sh64*:Linux:*:*) 10294a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 10307965d9acSmrg exit ;; 103150806d53Smrg sh*:Linux:*:*) 10324a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 10337965d9acSmrg exit ;; 103450806d53Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 10354a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 10367965d9acSmrg exit ;; 1037a73423d7Smrg tile*:Linux:*:*) 10384a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 1039a73423d7Smrg exit ;; 10407965d9acSmrg vax:Linux:*:*) 10414a8d91dcSmrg echo ${UNAME_MACHINE}-dec-linux-${LIBC} 10427965d9acSmrg exit ;; 104350806d53Smrg x86_64:Linux:*:*) 10444a8d91dcSmrg echo ${UNAME_MACHINE}-pc-linux-${LIBC} 10457965d9acSmrg exit ;; 10467965d9acSmrg xtensa*:Linux:*:*) 10474a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-linux-${LIBC} 10487965d9acSmrg exit ;; 104950806d53Smrg i*86:DYNIX/ptx:4*:*) 105050806d53Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 105150806d53Smrg # earlier versions are messed up and put the nodename in both 105250806d53Smrg # sysname and nodename. 105350806d53Smrg echo i386-sequent-sysv4 10547965d9acSmrg exit ;; 105550806d53Smrg i*86:UNIX_SV:4.2MP:2.*) 1056a73423d7Smrg # Unixware is an offshoot of SVR4, but it has its own version 1057a73423d7Smrg # number series starting with 2... 1058a73423d7Smrg # I am not positive that other SVR4 systems won't match this, 105950806d53Smrg # I just have to hope. -- rms. 1060a73423d7Smrg # Use sysv4.2uw... so that sysv4* matches it. 106150806d53Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 10627965d9acSmrg exit ;; 106350806d53Smrg i*86:OS/2:*:*) 106450806d53Smrg # If we were able to find `uname', then EMX Unix compatibility 106550806d53Smrg # is probably installed. 106650806d53Smrg echo ${UNAME_MACHINE}-pc-os2-emx 10677965d9acSmrg exit ;; 106850806d53Smrg i*86:XTS-300:*:STOP) 106950806d53Smrg echo ${UNAME_MACHINE}-unknown-stop 10707965d9acSmrg exit ;; 107150806d53Smrg i*86:atheos:*:*) 107250806d53Smrg echo ${UNAME_MACHINE}-unknown-atheos 10737965d9acSmrg exit ;; 10747965d9acSmrg i*86:syllable:*:*) 10757965d9acSmrg echo ${UNAME_MACHINE}-pc-syllable 10767965d9acSmrg exit ;; 1077a73423d7Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 107850806d53Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 10797965d9acSmrg exit ;; 108050806d53Smrg i*86:*DOS:*:*) 108150806d53Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 10827965d9acSmrg exit ;; 108350806d53Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 108450806d53Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 108550806d53Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 108650806d53Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 108750806d53Smrg else 108850806d53Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 108950806d53Smrg fi 10907965d9acSmrg exit ;; 10917965d9acSmrg i*86:*:5:[678]*) 1092a73423d7Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 109350806d53Smrg case `/bin/uname -X | grep "^Machine"` in 109450806d53Smrg *486*) UNAME_MACHINE=i486 ;; 109550806d53Smrg *Pentium) UNAME_MACHINE=i586 ;; 109650806d53Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 109750806d53Smrg esac 109850806d53Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 10997965d9acSmrg exit ;; 110050806d53Smrg i*86:*:3.2:*) 110150806d53Smrg if test -f /usr/options/cb.name; then 110250806d53Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 110350806d53Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 110450806d53Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 110550806d53Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 110650806d53Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 110750806d53Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 110850806d53Smrg && UNAME_MACHINE=i586 110950806d53Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 111050806d53Smrg && UNAME_MACHINE=i686 111150806d53Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 111250806d53Smrg && UNAME_MACHINE=i686 111350806d53Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 111450806d53Smrg else 111550806d53Smrg echo ${UNAME_MACHINE}-pc-sysv32 111650806d53Smrg fi 11177965d9acSmrg exit ;; 111850806d53Smrg pc:*:*:*) 111950806d53Smrg # Left here for compatibility: 1120a73423d7Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1121a73423d7Smrg # the processor, so we play safe by assuming i586. 1122a73423d7Smrg # Note: whatever this is, it MUST be the same as what config.sub 1123a73423d7Smrg # prints for the "djgpp" host, or else GDB configury will decide that 1124a73423d7Smrg # this is a cross-build. 1125a73423d7Smrg echo i586-pc-msdosdjgpp 1126a73423d7Smrg exit ;; 112750806d53Smrg Intel:Mach:3*:*) 112850806d53Smrg echo i386-pc-mach3 11297965d9acSmrg exit ;; 113050806d53Smrg paragon:*:*:*) 113150806d53Smrg echo i860-intel-osf1 11327965d9acSmrg exit ;; 113350806d53Smrg i860:*:4.*:*) # i860-SVR4 113450806d53Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 113550806d53Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 113650806d53Smrg else # Add other i860-SVR4 vendors below as they are discovered. 113750806d53Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 113850806d53Smrg fi 11397965d9acSmrg exit ;; 114050806d53Smrg mini*:CTIX:SYS*5:*) 114150806d53Smrg # "miniframe" 114250806d53Smrg echo m68010-convergent-sysv 11437965d9acSmrg exit ;; 114450806d53Smrg mc68k:UNIX:SYSTEM5:3.51m) 114550806d53Smrg echo m68k-convergent-sysv 11467965d9acSmrg exit ;; 114750806d53Smrg M680?0:D-NIX:5.3:*) 114850806d53Smrg echo m68k-diab-dnix 11497965d9acSmrg exit ;; 11507965d9acSmrg M68*:*:R3V[5678]*:*) 11517965d9acSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 11527965d9acSmrg 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) 115350806d53Smrg OS_REL='' 115450806d53Smrg test -r /etc/.relid \ 115550806d53Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 115650806d53Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 11577965d9acSmrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 115850806d53Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 11597965d9acSmrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 116050806d53Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1161a73423d7Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1162a73423d7Smrg && { echo i486-ncr-sysv4; exit; } ;; 1163a73423d7Smrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 1164a73423d7Smrg OS_REL='.3' 1165a73423d7Smrg test -r /etc/.relid \ 1166a73423d7Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1167a73423d7Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1168a73423d7Smrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1169a73423d7Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1170a73423d7Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } 1171a73423d7Smrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 1172a73423d7Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 117350806d53Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 117450806d53Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 11757965d9acSmrg exit ;; 117650806d53Smrg mc68030:UNIX_System_V:4.*:*) 117750806d53Smrg echo m68k-atari-sysv4 11787965d9acSmrg exit ;; 117950806d53Smrg TSUNAMI:LynxOS:2.*:*) 118050806d53Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 11817965d9acSmrg exit ;; 118250806d53Smrg rs6000:LynxOS:2.*:*) 118350806d53Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 11847965d9acSmrg exit ;; 1185a73423d7Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 118650806d53Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 11877965d9acSmrg exit ;; 118850806d53Smrg SM[BE]S:UNIX_SV:*:*) 118950806d53Smrg echo mips-dde-sysv${UNAME_RELEASE} 11907965d9acSmrg exit ;; 119150806d53Smrg RM*:ReliantUNIX-*:*:*) 119250806d53Smrg echo mips-sni-sysv4 11937965d9acSmrg exit ;; 119450806d53Smrg RM*:SINIX-*:*:*) 119550806d53Smrg echo mips-sni-sysv4 11967965d9acSmrg exit ;; 119750806d53Smrg *:SINIX-*:*:*) 119850806d53Smrg if uname -p 2>/dev/null >/dev/null ; then 119950806d53Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 120050806d53Smrg echo ${UNAME_MACHINE}-sni-sysv4 120150806d53Smrg else 120250806d53Smrg echo ns32k-sni-sysv 120350806d53Smrg fi 12047965d9acSmrg exit ;; 1205a73423d7Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1206a73423d7Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1207a73423d7Smrg echo i586-unisys-sysv4 1208a73423d7Smrg exit ;; 120950806d53Smrg *:UNIX_System_V:4*:FTX*) 121050806d53Smrg # From Gerald Hewes <hewes@openmarket.com>. 121150806d53Smrg # How about differentiating between stratus architectures? -djm 121250806d53Smrg echo hppa1.1-stratus-sysv4 12137965d9acSmrg exit ;; 121450806d53Smrg *:*:*:FTX*) 121550806d53Smrg # From seanf@swdc.stratus.com. 121650806d53Smrg echo i860-stratus-sysv4 12177965d9acSmrg exit ;; 12187965d9acSmrg i*86:VOS:*:*) 12197965d9acSmrg # From Paul.Green@stratus.com. 12207965d9acSmrg echo ${UNAME_MACHINE}-stratus-vos 12217965d9acSmrg exit ;; 122250806d53Smrg *:VOS:*:*) 122350806d53Smrg # From Paul.Green@stratus.com. 122450806d53Smrg echo hppa1.1-stratus-vos 12257965d9acSmrg exit ;; 122650806d53Smrg mc68*:A/UX:*:*) 122750806d53Smrg echo m68k-apple-aux${UNAME_RELEASE} 12287965d9acSmrg exit ;; 122950806d53Smrg news*:NEWS-OS:6*:*) 123050806d53Smrg echo mips-sony-newsos6 12317965d9acSmrg exit ;; 123250806d53Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 123350806d53Smrg if [ -d /usr/nec ]; then 1234a73423d7Smrg echo mips-nec-sysv${UNAME_RELEASE} 123550806d53Smrg else 1236a73423d7Smrg echo mips-unknown-sysv${UNAME_RELEASE} 123750806d53Smrg fi 1238a73423d7Smrg exit ;; 123950806d53Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 124050806d53Smrg echo powerpc-be-beos 12417965d9acSmrg exit ;; 124250806d53Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 124350806d53Smrg echo powerpc-apple-beos 12447965d9acSmrg exit ;; 124550806d53Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 124650806d53Smrg echo i586-pc-beos 12477965d9acSmrg exit ;; 1248b3e38ee4Smrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1249b3e38ee4Smrg echo i586-pc-haiku 1250b3e38ee4Smrg exit ;; 12514a8d91dcSmrg x86_64:Haiku:*:*) 12524a8d91dcSmrg echo x86_64-unknown-haiku 12534a8d91dcSmrg exit ;; 125450806d53Smrg SX-4:SUPER-UX:*:*) 125550806d53Smrg echo sx4-nec-superux${UNAME_RELEASE} 12567965d9acSmrg exit ;; 125750806d53Smrg SX-5:SUPER-UX:*:*) 125850806d53Smrg echo sx5-nec-superux${UNAME_RELEASE} 12597965d9acSmrg exit ;; 126050806d53Smrg SX-6:SUPER-UX:*:*) 126150806d53Smrg echo sx6-nec-superux${UNAME_RELEASE} 12627965d9acSmrg exit ;; 12637965d9acSmrg SX-7:SUPER-UX:*:*) 12647965d9acSmrg echo sx7-nec-superux${UNAME_RELEASE} 12657965d9acSmrg exit ;; 12667965d9acSmrg SX-8:SUPER-UX:*:*) 12677965d9acSmrg echo sx8-nec-superux${UNAME_RELEASE} 12687965d9acSmrg exit ;; 12697965d9acSmrg SX-8R:SUPER-UX:*:*) 12707965d9acSmrg echo sx8r-nec-superux${UNAME_RELEASE} 12717965d9acSmrg exit ;; 127250806d53Smrg Power*:Rhapsody:*:*) 127350806d53Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 12747965d9acSmrg exit ;; 127550806d53Smrg *:Rhapsody:*:*) 127650806d53Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 12777965d9acSmrg exit ;; 127850806d53Smrg *:Darwin:*:*) 12797965d9acSmrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 12804a8d91dcSmrg eval $set_cc_for_build 12814a8d91dcSmrg if test "$UNAME_PROCESSOR" = unknown ; then 12824a8d91dcSmrg UNAME_PROCESSOR=powerpc 12834a8d91dcSmrg fi 12844a8d91dcSmrg if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then 12854a8d91dcSmrg if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then 12864a8d91dcSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 12874a8d91dcSmrg (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ 12884a8d91dcSmrg grep IS_64BIT_ARCH >/dev/null 12894a8d91dcSmrg then 12904a8d91dcSmrg case $UNAME_PROCESSOR in 12914a8d91dcSmrg i386) UNAME_PROCESSOR=x86_64 ;; 12924a8d91dcSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 12934a8d91dcSmrg esac 12944a8d91dcSmrg fi 12954a8d91dcSmrg fi 12964a8d91dcSmrg elif test "$UNAME_PROCESSOR" = i386 ; then 12974a8d91dcSmrg # Avoid executing cc on OS X 10.9, as it ships with a stub 12984a8d91dcSmrg # that puts up a graphical alert prompting to install 12994a8d91dcSmrg # developer tools. Any system running Mac OS X 10.7 or 13004a8d91dcSmrg # later (Darwin 11 and later) is required to have a 64-bit 13014a8d91dcSmrg # processor. This is not true of the ARM version of Darwin 13024a8d91dcSmrg # that Apple uses in portable devices. 13034a8d91dcSmrg UNAME_PROCESSOR=x86_64 13044a8d91dcSmrg fi 130550806d53Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 13067965d9acSmrg exit ;; 130750806d53Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 130850806d53Smrg UNAME_PROCESSOR=`uname -p` 130950806d53Smrg if test "$UNAME_PROCESSOR" = "x86"; then 131050806d53Smrg UNAME_PROCESSOR=i386 131150806d53Smrg UNAME_MACHINE=pc 131250806d53Smrg fi 131350806d53Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 13147965d9acSmrg exit ;; 131550806d53Smrg *:QNX:*:4*) 131650806d53Smrg echo i386-pc-qnx 13177965d9acSmrg exit ;; 1318a73423d7Smrg NEO-?:NONSTOP_KERNEL:*:*) 1319a73423d7Smrg echo neo-tandem-nsk${UNAME_RELEASE} 1320a73423d7Smrg exit ;; 13214a8d91dcSmrg NSE-*:NONSTOP_KERNEL:*:*) 13227965d9acSmrg echo nse-tandem-nsk${UNAME_RELEASE} 13237965d9acSmrg exit ;; 13247965d9acSmrg NSR-?:NONSTOP_KERNEL:*:*) 132550806d53Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 13267965d9acSmrg exit ;; 132750806d53Smrg *:NonStop-UX:*:*) 132850806d53Smrg echo mips-compaq-nonstopux 13297965d9acSmrg exit ;; 133050806d53Smrg BS2000:POSIX*:*:*) 133150806d53Smrg echo bs2000-siemens-sysv 13327965d9acSmrg exit ;; 133350806d53Smrg DS/*:UNIX_System_V:*:*) 133450806d53Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 13357965d9acSmrg exit ;; 133650806d53Smrg *:Plan9:*:*) 133750806d53Smrg # "uname -m" is not consistent, so use $cputype instead. 386 133850806d53Smrg # is converted to i386 for consistency with other x86 133950806d53Smrg # operating systems. 134050806d53Smrg if test "$cputype" = "386"; then 134150806d53Smrg UNAME_MACHINE=i386 134250806d53Smrg else 134350806d53Smrg UNAME_MACHINE="$cputype" 134450806d53Smrg fi 134550806d53Smrg echo ${UNAME_MACHINE}-unknown-plan9 13467965d9acSmrg exit ;; 134750806d53Smrg *:TOPS-10:*:*) 134850806d53Smrg echo pdp10-unknown-tops10 13497965d9acSmrg exit ;; 135050806d53Smrg *:TENEX:*:*) 135150806d53Smrg echo pdp10-unknown-tenex 13527965d9acSmrg exit ;; 135350806d53Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 135450806d53Smrg echo pdp10-dec-tops20 13557965d9acSmrg exit ;; 135650806d53Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 135750806d53Smrg echo pdp10-xkl-tops20 13587965d9acSmrg exit ;; 135950806d53Smrg *:TOPS-20:*:*) 136050806d53Smrg echo pdp10-unknown-tops20 13617965d9acSmrg exit ;; 136250806d53Smrg *:ITS:*:*) 136350806d53Smrg echo pdp10-unknown-its 13647965d9acSmrg exit ;; 136550806d53Smrg SEI:*:*:SEIUX) 1366a73423d7Smrg echo mips-sei-seiux${UNAME_RELEASE} 13677965d9acSmrg exit ;; 13687965d9acSmrg *:DragonFly:*:*) 13697965d9acSmrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 13707965d9acSmrg exit ;; 13717965d9acSmrg *:*VMS:*:*) 1372a73423d7Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 13737965d9acSmrg case "${UNAME_MACHINE}" in 13747965d9acSmrg A*) echo alpha-dec-vms ; exit ;; 13757965d9acSmrg I*) echo ia64-dec-vms ; exit ;; 13767965d9acSmrg V*) echo vax-dec-vms ; exit ;; 13777965d9acSmrg esac ;; 13787965d9acSmrg *:XENIX:*:SysV) 13797965d9acSmrg echo i386-pc-xenix 13807965d9acSmrg exit ;; 13817965d9acSmrg i*86:skyos:*:*) 13827965d9acSmrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 13837965d9acSmrg exit ;; 13847965d9acSmrg i*86:rdos:*:*) 13857965d9acSmrg echo ${UNAME_MACHINE}-pc-rdos 13867965d9acSmrg exit ;; 1387a73423d7Smrg i*86:AROS:*:*) 1388a73423d7Smrg echo ${UNAME_MACHINE}-pc-aros 1389a73423d7Smrg exit ;; 13904a8d91dcSmrg x86_64:VMkernel:*:*) 13914a8d91dcSmrg echo ${UNAME_MACHINE}-unknown-esx 13927965d9acSmrg exit ;; 13934a8d91dcSmrgesac 139450806d53Smrg 139550806d53Smrgcat >&2 <<EOF 139650806d53Smrg$0: unable to guess system type 139750806d53Smrg 139850806d53SmrgThis script, last modified $timestamp, has failed to recognize 139950806d53Smrgthe operating system you are using. It is advised that you 140050806d53Smrgdownload the most up to date version of the config scripts from 140150806d53Smrg 14027965d9acSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 14037965d9acSmrgand 14047965d9acSmrg http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 140550806d53Smrg 140650806d53SmrgIf the version you run ($0) is already up to date, please 140750806d53Smrgsend the following data and any information you think might be 140850806d53Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 140950806d53Smrginformation to handle your system. 141050806d53Smrg 141150806d53Smrgconfig.guess timestamp = $timestamp 141250806d53Smrg 141350806d53Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 141450806d53Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 141550806d53Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 141650806d53Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 141750806d53Smrg 141850806d53Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 141950806d53Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 142050806d53Smrg 142150806d53Smrghostinfo = `(hostinfo) 2>/dev/null` 142250806d53Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 142350806d53Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 142450806d53Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 142550806d53Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 142650806d53Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 142750806d53Smrg 142850806d53SmrgUNAME_MACHINE = ${UNAME_MACHINE} 142950806d53SmrgUNAME_RELEASE = ${UNAME_RELEASE} 143050806d53SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 143150806d53SmrgUNAME_VERSION = ${UNAME_VERSION} 143250806d53SmrgEOF 143350806d53Smrg 143450806d53Smrgexit 1 143550806d53Smrg 143650806d53Smrg# Local variables: 143750806d53Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 143850806d53Smrg# time-stamp-start: "timestamp='" 143950806d53Smrg# time-stamp-format: "%:y-%02m-%02d" 144050806d53Smrg# time-stamp-end: "'" 144150806d53Smrg# End: 1442