config.guess revision 16910e25
116910e25Smrg#! /bin/sh 216910e25Smrg# Attempt to guess a canonical system name. 316910e25Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 416910e25Smrg# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 516910e25Smrg 616910e25Smrgtimestamp='2003-06-17' 716910e25Smrg 816910e25Smrg# This file is free software; you can redistribute it and/or modify it 916910e25Smrg# under the terms of the GNU General Public License as published by 1016910e25Smrg# the Free Software Foundation; either version 2 of the License, or 1116910e25Smrg# (at your option) any later version. 1216910e25Smrg# 1316910e25Smrg# This program is distributed in the hope that it will be useful, but 1416910e25Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1516910e25Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1616910e25Smrg# General Public License for more details. 1716910e25Smrg# 1816910e25Smrg# You should have received a copy of the GNU General Public License 1916910e25Smrg# along with this program; if not, write to the Free Software 2016910e25Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2116910e25Smrg# 2216910e25Smrg# As a special exception to the GNU General Public License, if you 2316910e25Smrg# distribute this file as part of a program that contains a 2416910e25Smrg# configuration script generated by Autoconf, you may include it under 2516910e25Smrg# the same distribution terms that you use for the rest of that program. 2616910e25Smrg 2716910e25Smrg# Originally written by Per Bothner <per@bothner.com>. 2816910e25Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 2916910e25Smrg# diff and a properly formatted ChangeLog entry. 3016910e25Smrg# 3116910e25Smrg# This script attempts to guess a canonical system name similar to 3216910e25Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 3316910e25Smrg# exits with 0. Otherwise, it exits with 1. 3416910e25Smrg# 3516910e25Smrg# The plan is that this can be called by configure scripts if you 3616910e25Smrg# don't specify an explicit build system type. 3716910e25Smrg 3816910e25Smrgme=`echo "$0" | sed -e 's,.*/,,'` 3916910e25Smrg 4016910e25Smrgusage="\ 4116910e25SmrgUsage: $0 [OPTION] 4216910e25Smrg 4316910e25SmrgOutput the configuration name of the system \`$me' is run on. 4416910e25Smrg 4516910e25SmrgOperation modes: 4616910e25Smrg -h, --help print this help, then exit 4716910e25Smrg -t, --time-stamp print date of last modification, then exit 4816910e25Smrg -v, --version print version number, then exit 4916910e25Smrg 5016910e25SmrgReport bugs and patches to <config-patches@gnu.org>." 5116910e25Smrg 5216910e25Smrgversion="\ 5316910e25SmrgGNU config.guess ($timestamp) 5416910e25Smrg 5516910e25SmrgOriginally written by Per Bothner. 5616910e25SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 5716910e25SmrgFree Software Foundation, Inc. 5816910e25Smrg 5916910e25SmrgThis is free software; see the source for copying conditions. There is NO 6016910e25Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 6116910e25Smrg 6216910e25Smrghelp=" 6316910e25SmrgTry \`$me --help' for more information." 6416910e25Smrg 6516910e25Smrg# Parse command line 6616910e25Smrgwhile test $# -gt 0 ; do 6716910e25Smrg case $1 in 6816910e25Smrg --time-stamp | --time* | -t ) 6916910e25Smrg echo "$timestamp" ; exit 0 ;; 7016910e25Smrg --version | -v ) 7116910e25Smrg echo "$version" ; exit 0 ;; 7216910e25Smrg --help | --h* | -h ) 7316910e25Smrg echo "$usage"; exit 0 ;; 7416910e25Smrg -- ) # Stop option processing 7516910e25Smrg shift; break ;; 7616910e25Smrg - ) # Use stdin as input. 7716910e25Smrg break ;; 7816910e25Smrg -* ) 7916910e25Smrg echo "$me: invalid option $1$help" >&2 8016910e25Smrg exit 1 ;; 8116910e25Smrg * ) 8216910e25Smrg break ;; 8316910e25Smrg esac 8416910e25Smrgdone 8516910e25Smrg 8616910e25Smrgif test $# != 0; then 8716910e25Smrg echo "$me: too many arguments$help" >&2 8816910e25Smrg exit 1 8916910e25Smrgfi 9016910e25Smrg 9116910e25Smrgtrap 'exit 1' 1 2 15 9216910e25Smrg 9316910e25Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 9416910e25Smrg# compiler to aid in system detection is discouraged as it requires 9516910e25Smrg# temporary files to be created and, as you can see below, it is a 9616910e25Smrg# headache to deal with in a portable fashion. 9716910e25Smrg 9816910e25Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 9916910e25Smrg# use `HOST_CC' if defined, but it is deprecated. 10016910e25Smrg 10116910e25Smrg# Portable tmp directory creation inspired by the Autoconf team. 10216910e25Smrg 10316910e25Smrgset_cc_for_build=' 10416910e25Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 10516910e25Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 10616910e25Smrg: ${TMPDIR=/tmp} ; 10716910e25Smrg { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 10816910e25Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 10916910e25Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 11016910e25Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 11116910e25Smrgdummy=$tmp/dummy ; 11216910e25Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 11316910e25Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 11416910e25Smrg ,,) echo "int x;" > $dummy.c ; 11516910e25Smrg for c in cc gcc c89 c99 ; do 11616910e25Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 11716910e25Smrg CC_FOR_BUILD="$c"; break ; 11816910e25Smrg fi ; 11916910e25Smrg done ; 12016910e25Smrg if test x"$CC_FOR_BUILD" = x ; then 12116910e25Smrg CC_FOR_BUILD=no_compiler_found ; 12216910e25Smrg fi 12316910e25Smrg ;; 12416910e25Smrg ,,*) CC_FOR_BUILD=$CC ;; 12516910e25Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 12616910e25Smrgesac ;' 12716910e25Smrg 12816910e25Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 12916910e25Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 13016910e25Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 13116910e25Smrg PATH=$PATH:/.attbin ; export PATH 13216910e25Smrgfi 13316910e25Smrg 13416910e25SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 13516910e25SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 13616910e25SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 13716910e25SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 13816910e25Smrg 13916910e25Smrg## for Red Hat Linux 14016910e25Smrgif test -f /etc/redhat-release ; then 14116910e25Smrg VENDOR=redhat ; 14216910e25Smrgelse 14316910e25Smrg VENDOR= ; 14416910e25Smrgfi 14516910e25Smrg 14616910e25Smrg# Note: order is significant - the case branches are not exclusive. 14716910e25Smrg 14816910e25Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 14916910e25Smrg *:NetBSD:*:*) 15016910e25Smrg # NetBSD (nbsd) targets should (where applicable) match one or 15116910e25Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 15216910e25Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 15316910e25Smrg # switched to ELF, *-*-netbsd* would select the old 15416910e25Smrg # object file format. This provides both forward 15516910e25Smrg # compatibility and a consistent mechanism for selecting the 15616910e25Smrg # object file format. 15716910e25Smrg # 15816910e25Smrg # Note: NetBSD doesn't particularly care about the vendor 15916910e25Smrg # portion of the name. We always set it to "unknown". 16016910e25Smrg sysctl="sysctl -n hw.machine_arch" 16116910e25Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 16216910e25Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 16316910e25Smrg case "${UNAME_MACHINE_ARCH}" in 16416910e25Smrg armeb) machine=armeb-unknown ;; 16516910e25Smrg arm*) machine=arm-unknown ;; 16616910e25Smrg sh3el) machine=shl-unknown ;; 16716910e25Smrg sh3eb) machine=sh-unknown ;; 16816910e25Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 16916910e25Smrg esac 17016910e25Smrg # The Operating System including object format, if it has switched 17116910e25Smrg # to ELF recently, or will in the future. 17216910e25Smrg case "${UNAME_MACHINE_ARCH}" in 17316910e25Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 17416910e25Smrg eval $set_cc_for_build 17516910e25Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 17616910e25Smrg | grep __ELF__ >/dev/null 17716910e25Smrg then 17816910e25Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 17916910e25Smrg # Return netbsd for either. FIX? 18016910e25Smrg os=netbsd 18116910e25Smrg else 18216910e25Smrg os=netbsdelf 18316910e25Smrg fi 18416910e25Smrg ;; 18516910e25Smrg *) 18616910e25Smrg os=netbsd 18716910e25Smrg ;; 18816910e25Smrg esac 18916910e25Smrg # The OS release 19016910e25Smrg # Debian GNU/NetBSD machines have a different userland, and 19116910e25Smrg # thus, need a distinct triplet. However, they do not need 19216910e25Smrg # kernel version information, so it can be replaced with a 19316910e25Smrg # suitable tag, in the style of linux-gnu. 19416910e25Smrg case "${UNAME_VERSION}" in 19516910e25Smrg Debian*) 19616910e25Smrg release='-gnu' 19716910e25Smrg ;; 19816910e25Smrg *) 19916910e25Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 20016910e25Smrg ;; 20116910e25Smrg esac 20216910e25Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 20316910e25Smrg # contains redundant information, the shorter form: 20416910e25Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 20516910e25Smrg echo "${machine}-${os}${release}" 20616910e25Smrg exit 0 ;; 20716910e25Smrg amiga:OpenBSD:*:*) 20816910e25Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 20916910e25Smrg exit 0 ;; 21016910e25Smrg arc:OpenBSD:*:*) 21116910e25Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 21216910e25Smrg exit 0 ;; 21316910e25Smrg hp300:OpenBSD:*:*) 21416910e25Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 21516910e25Smrg exit 0 ;; 21616910e25Smrg mac68k:OpenBSD:*:*) 21716910e25Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 21816910e25Smrg exit 0 ;; 21916910e25Smrg macppc:OpenBSD:*:*) 22016910e25Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 22116910e25Smrg exit 0 ;; 22216910e25Smrg mvme68k:OpenBSD:*:*) 22316910e25Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 22416910e25Smrg exit 0 ;; 22516910e25Smrg mvme88k:OpenBSD:*:*) 22616910e25Smrg echo m88k-unknown-openbsd${UNAME_RELEASE} 22716910e25Smrg exit 0 ;; 22816910e25Smrg mvmeppc:OpenBSD:*:*) 22916910e25Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 23016910e25Smrg exit 0 ;; 23116910e25Smrg pmax:OpenBSD:*:*) 23216910e25Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 23316910e25Smrg exit 0 ;; 23416910e25Smrg sgi:OpenBSD:*:*) 23516910e25Smrg echo mipseb-unknown-openbsd${UNAME_RELEASE} 23616910e25Smrg exit 0 ;; 23716910e25Smrg sun3:OpenBSD:*:*) 23816910e25Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 23916910e25Smrg exit 0 ;; 24016910e25Smrg wgrisc:OpenBSD:*:*) 24116910e25Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 24216910e25Smrg exit 0 ;; 24316910e25Smrg *:OpenBSD:*:*) 24416910e25Smrg echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 24516910e25Smrg exit 0 ;; 24616910e25Smrg alpha:OSF1:*:*) 24716910e25Smrg if test $UNAME_RELEASE = "V4.0"; then 24816910e25Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 24916910e25Smrg fi 25016910e25Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 25116910e25Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 25216910e25Smrg # covers most systems running today. This code pipes the CPU 25316910e25Smrg # types through head -n 1, so we only detect the type of CPU 0. 25416910e25Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 25516910e25Smrg case "$ALPHA_CPU_TYPE" in 25616910e25Smrg "EV4 (21064)") 25716910e25Smrg UNAME_MACHINE="alpha" ;; 25816910e25Smrg "EV4.5 (21064)") 25916910e25Smrg UNAME_MACHINE="alpha" ;; 26016910e25Smrg "LCA4 (21066/21068)") 26116910e25Smrg UNAME_MACHINE="alpha" ;; 26216910e25Smrg "EV5 (21164)") 26316910e25Smrg UNAME_MACHINE="alphaev5" ;; 26416910e25Smrg "EV5.6 (21164A)") 26516910e25Smrg UNAME_MACHINE="alphaev56" ;; 26616910e25Smrg "EV5.6 (21164PC)") 26716910e25Smrg UNAME_MACHINE="alphapca56" ;; 26816910e25Smrg "EV5.7 (21164PC)") 26916910e25Smrg UNAME_MACHINE="alphapca57" ;; 27016910e25Smrg "EV6 (21264)") 27116910e25Smrg UNAME_MACHINE="alphaev6" ;; 27216910e25Smrg "EV6.7 (21264A)") 27316910e25Smrg UNAME_MACHINE="alphaev67" ;; 27416910e25Smrg "EV6.8CB (21264C)") 27516910e25Smrg UNAME_MACHINE="alphaev68" ;; 27616910e25Smrg "EV6.8AL (21264B)") 27716910e25Smrg UNAME_MACHINE="alphaev68" ;; 27816910e25Smrg "EV6.8CX (21264D)") 27916910e25Smrg UNAME_MACHINE="alphaev68" ;; 28016910e25Smrg "EV6.9A (21264/EV69A)") 28116910e25Smrg UNAME_MACHINE="alphaev69" ;; 28216910e25Smrg "EV7 (21364)") 28316910e25Smrg UNAME_MACHINE="alphaev7" ;; 28416910e25Smrg "EV7.9 (21364A)") 28516910e25Smrg UNAME_MACHINE="alphaev79" ;; 28616910e25Smrg esac 28716910e25Smrg # A Vn.n version is a released version. 28816910e25Smrg # A Tn.n version is a released field test version. 28916910e25Smrg # A Xn.n version is an unreleased experimental baselevel. 29016910e25Smrg # 1.2 uses "1.2" for uname -r. 29116910e25Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 29216910e25Smrg exit 0 ;; 29316910e25Smrg Alpha*:OpenVMS:*:*) 29416910e25Smrg echo alpha-hp-vms 29516910e25Smrg exit 0 ;; 29616910e25Smrg Alpha\ *:Windows_NT*:*) 29716910e25Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 29816910e25Smrg # Should we change UNAME_MACHINE based on the output of uname instead 29916910e25Smrg # of the specific Alpha model? 30016910e25Smrg echo alpha-pc-interix 30116910e25Smrg exit 0 ;; 30216910e25Smrg 21064:Windows_NT:50:3) 30316910e25Smrg echo alpha-dec-winnt3.5 30416910e25Smrg exit 0 ;; 30516910e25Smrg Amiga*:UNIX_System_V:4.0:*) 30616910e25Smrg echo m68k-unknown-sysv4 30716910e25Smrg exit 0;; 30816910e25Smrg *:[Aa]miga[Oo][Ss]:*:*) 30916910e25Smrg echo ${UNAME_MACHINE}-unknown-amigaos 31016910e25Smrg exit 0 ;; 31116910e25Smrg *:[Mm]orph[Oo][Ss]:*:*) 31216910e25Smrg echo ${UNAME_MACHINE}-unknown-morphos 31316910e25Smrg exit 0 ;; 31416910e25Smrg *:OS/390:*:*) 31516910e25Smrg echo i370-ibm-openedition 31616910e25Smrg exit 0 ;; 31716910e25Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 31816910e25Smrg echo arm-acorn-riscix${UNAME_RELEASE} 31916910e25Smrg exit 0;; 32016910e25Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 32116910e25Smrg echo hppa1.1-hitachi-hiuxmpp 32216910e25Smrg exit 0;; 32316910e25Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 32416910e25Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 32516910e25Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 32616910e25Smrg echo pyramid-pyramid-sysv3 32716910e25Smrg else 32816910e25Smrg echo pyramid-pyramid-bsd 32916910e25Smrg fi 33016910e25Smrg exit 0 ;; 33116910e25Smrg NILE*:*:*:dcosx) 33216910e25Smrg echo pyramid-pyramid-svr4 33316910e25Smrg exit 0 ;; 33416910e25Smrg DRS?6000:unix:4.0:6*) 33516910e25Smrg echo sparc-icl-nx6 33616910e25Smrg exit 0 ;; 33716910e25Smrg DRS?6000:UNIX_SV:4.2*:7*) 33816910e25Smrg case `/usr/bin/uname -p` in 33916910e25Smrg sparc) echo sparc-icl-nx7 && exit 0 ;; 34016910e25Smrg esac ;; 34116910e25Smrg sun4H:SunOS:5.*:*) 34216910e25Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 34316910e25Smrg exit 0 ;; 34416910e25Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 34516910e25Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 34616910e25Smrg exit 0 ;; 34716910e25Smrg i86pc:SunOS:5.*:*) 34816910e25Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 34916910e25Smrg exit 0 ;; 35016910e25Smrg sun4*:SunOS:6*:*) 35116910e25Smrg # According to config.sub, this is the proper way to canonicalize 35216910e25Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 35316910e25Smrg # it's likely to be more like Solaris than SunOS4. 35416910e25Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 35516910e25Smrg exit 0 ;; 35616910e25Smrg sun4*:SunOS:*:*) 35716910e25Smrg case "`/usr/bin/arch -k`" in 35816910e25Smrg Series*|S4*) 35916910e25Smrg UNAME_RELEASE=`uname -v` 36016910e25Smrg ;; 36116910e25Smrg esac 36216910e25Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 36316910e25Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 36416910e25Smrg exit 0 ;; 36516910e25Smrg sun3*:SunOS:*:*) 36616910e25Smrg echo m68k-sun-sunos${UNAME_RELEASE} 36716910e25Smrg exit 0 ;; 36816910e25Smrg sun*:*:4.2BSD:*) 36916910e25Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 37016910e25Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 37116910e25Smrg case "`/bin/arch`" in 37216910e25Smrg sun3) 37316910e25Smrg echo m68k-sun-sunos${UNAME_RELEASE} 37416910e25Smrg ;; 37516910e25Smrg sun4) 37616910e25Smrg echo sparc-sun-sunos${UNAME_RELEASE} 37716910e25Smrg ;; 37816910e25Smrg esac 37916910e25Smrg exit 0 ;; 38016910e25Smrg aushp:SunOS:*:*) 38116910e25Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 38216910e25Smrg exit 0 ;; 38316910e25Smrg # The situation for MiNT is a little confusing. The machine name 38416910e25Smrg # can be virtually everything (everything which is not 38516910e25Smrg # "atarist" or "atariste" at least should have a processor 38616910e25Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 38716910e25Smrg # to the lowercase version "mint" (or "freemint"). Finally 38816910e25Smrg # the system name "TOS" denotes a system which is actually not 38916910e25Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 39016910e25Smrg # be no problem. 39116910e25Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 39216910e25Smrg echo m68k-atari-mint${UNAME_RELEASE} 39316910e25Smrg exit 0 ;; 39416910e25Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 39516910e25Smrg echo m68k-atari-mint${UNAME_RELEASE} 39616910e25Smrg exit 0 ;; 39716910e25Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 39816910e25Smrg echo m68k-atari-mint${UNAME_RELEASE} 39916910e25Smrg exit 0 ;; 40016910e25Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 40116910e25Smrg echo m68k-milan-mint${UNAME_RELEASE} 40216910e25Smrg exit 0 ;; 40316910e25Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 40416910e25Smrg echo m68k-hades-mint${UNAME_RELEASE} 40516910e25Smrg exit 0 ;; 40616910e25Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 40716910e25Smrg echo m68k-unknown-mint${UNAME_RELEASE} 40816910e25Smrg exit 0 ;; 40916910e25Smrg powerpc:machten:*:*) 41016910e25Smrg echo powerpc-apple-machten${UNAME_RELEASE} 41116910e25Smrg exit 0 ;; 41216910e25Smrg RISC*:Mach:*:*) 41316910e25Smrg echo mips-dec-mach_bsd4.3 41416910e25Smrg exit 0 ;; 41516910e25Smrg RISC*:ULTRIX:*:*) 41616910e25Smrg echo mips-dec-ultrix${UNAME_RELEASE} 41716910e25Smrg exit 0 ;; 41816910e25Smrg VAX*:ULTRIX*:*:*) 41916910e25Smrg echo vax-dec-ultrix${UNAME_RELEASE} 42016910e25Smrg exit 0 ;; 42116910e25Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 42216910e25Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 42316910e25Smrg exit 0 ;; 42416910e25Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 42516910e25Smrg eval $set_cc_for_build 42616910e25Smrg sed 's/^ //' << EOF >$dummy.c 42716910e25Smrg#ifdef __cplusplus 42816910e25Smrg#include <stdio.h> /* for printf() prototype */ 42916910e25Smrg int main (int argc, char *argv[]) { 43016910e25Smrg#else 43116910e25Smrg int main (argc, argv) int argc; char *argv[]; { 43216910e25Smrg#endif 43316910e25Smrg #if defined (host_mips) && defined (MIPSEB) 43416910e25Smrg #if defined (SYSTYPE_SYSV) 43516910e25Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 43616910e25Smrg #endif 43716910e25Smrg #if defined (SYSTYPE_SVR4) 43816910e25Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 43916910e25Smrg #endif 44016910e25Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 44116910e25Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 44216910e25Smrg #endif 44316910e25Smrg #endif 44416910e25Smrg exit (-1); 44516910e25Smrg } 44616910e25SmrgEOF 44716910e25Smrg $CC_FOR_BUILD -o $dummy $dummy.c \ 44816910e25Smrg && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 44916910e25Smrg && exit 0 45016910e25Smrg echo mips-mips-riscos${UNAME_RELEASE} 45116910e25Smrg exit 0 ;; 45216910e25Smrg Motorola:PowerMAX_OS:*:*) 45316910e25Smrg echo powerpc-motorola-powermax 45416910e25Smrg exit 0 ;; 45516910e25Smrg Motorola:*:4.3:PL8-*) 45616910e25Smrg echo powerpc-harris-powermax 45716910e25Smrg exit 0 ;; 45816910e25Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 45916910e25Smrg echo powerpc-harris-powermax 46016910e25Smrg exit 0 ;; 46116910e25Smrg Night_Hawk:Power_UNIX:*:*) 46216910e25Smrg echo powerpc-harris-powerunix 46316910e25Smrg exit 0 ;; 46416910e25Smrg m88k:CX/UX:7*:*) 46516910e25Smrg echo m88k-harris-cxux7 46616910e25Smrg exit 0 ;; 46716910e25Smrg m88k:*:4*:R4*) 46816910e25Smrg echo m88k-motorola-sysv4 46916910e25Smrg exit 0 ;; 47016910e25Smrg m88k:*:3*:R3*) 47116910e25Smrg echo m88k-motorola-sysv3 47216910e25Smrg exit 0 ;; 47316910e25Smrg AViiON:dgux:*:*) 47416910e25Smrg # DG/UX returns AViiON for all architectures 47516910e25Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 47616910e25Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 47716910e25Smrg then 47816910e25Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 47916910e25Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 48016910e25Smrg then 48116910e25Smrg echo m88k-dg-dgux${UNAME_RELEASE} 48216910e25Smrg else 48316910e25Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 48416910e25Smrg fi 48516910e25Smrg else 48616910e25Smrg echo i586-dg-dgux${UNAME_RELEASE} 48716910e25Smrg fi 48816910e25Smrg exit 0 ;; 48916910e25Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 49016910e25Smrg echo m88k-dolphin-sysv3 49116910e25Smrg exit 0 ;; 49216910e25Smrg M88*:*:R3*:*) 49316910e25Smrg # Delta 88k system running SVR3 49416910e25Smrg echo m88k-motorola-sysv3 49516910e25Smrg exit 0 ;; 49616910e25Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 49716910e25Smrg echo m88k-tektronix-sysv3 49816910e25Smrg exit 0 ;; 49916910e25Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 50016910e25Smrg echo m68k-tektronix-bsd 50116910e25Smrg exit 0 ;; 50216910e25Smrg *:IRIX*:*:*) 50316910e25Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 50416910e25Smrg exit 0 ;; 50516910e25Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 50616910e25Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 50716910e25Smrg exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 50816910e25Smrg i*86:AIX:*:*) 50916910e25Smrg echo i386-ibm-aix 51016910e25Smrg exit 0 ;; 51116910e25Smrg ia64:AIX:*:*) 51216910e25Smrg if [ -x /usr/bin/oslevel ] ; then 51316910e25Smrg IBM_REV=`/usr/bin/oslevel` 51416910e25Smrg else 51516910e25Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 51616910e25Smrg fi 51716910e25Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 51816910e25Smrg exit 0 ;; 51916910e25Smrg *:AIX:2:3) 52016910e25Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 52116910e25Smrg eval $set_cc_for_build 52216910e25Smrg sed 's/^ //' << EOF >$dummy.c 52316910e25Smrg #include <sys/systemcfg.h> 52416910e25Smrg 52516910e25Smrg main() 52616910e25Smrg { 52716910e25Smrg if (!__power_pc()) 52816910e25Smrg exit(1); 52916910e25Smrg puts("powerpc-ibm-aix3.2.5"); 53016910e25Smrg exit(0); 53116910e25Smrg } 53216910e25SmrgEOF 53316910e25Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 53416910e25Smrg echo rs6000-ibm-aix3.2.5 53516910e25Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 53616910e25Smrg echo rs6000-ibm-aix3.2.4 53716910e25Smrg else 53816910e25Smrg echo rs6000-ibm-aix3.2 53916910e25Smrg fi 54016910e25Smrg exit 0 ;; 54116910e25Smrg *:AIX:*:[45]) 54216910e25Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 54316910e25Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 54416910e25Smrg IBM_ARCH=rs6000 54516910e25Smrg else 54616910e25Smrg IBM_ARCH=powerpc 54716910e25Smrg fi 54816910e25Smrg if [ -x /usr/bin/oslevel ] ; then 54916910e25Smrg IBM_REV=`/usr/bin/oslevel` 55016910e25Smrg else 55116910e25Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 55216910e25Smrg fi 55316910e25Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 55416910e25Smrg exit 0 ;; 55516910e25Smrg *:AIX:*:*) 55616910e25Smrg echo rs6000-ibm-aix 55716910e25Smrg exit 0 ;; 55816910e25Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 55916910e25Smrg echo romp-ibm-bsd4.4 56016910e25Smrg exit 0 ;; 56116910e25Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 56216910e25Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 56316910e25Smrg exit 0 ;; # report: romp-ibm BSD 4.3 56416910e25Smrg *:BOSX:*:*) 56516910e25Smrg echo rs6000-bull-bosx 56616910e25Smrg exit 0 ;; 56716910e25Smrg DPX/2?00:B.O.S.:*:*) 56816910e25Smrg echo m68k-bull-sysv3 56916910e25Smrg exit 0 ;; 57016910e25Smrg 9000/[34]??:4.3bsd:1.*:*) 57116910e25Smrg echo m68k-hp-bsd 57216910e25Smrg exit 0 ;; 57316910e25Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 57416910e25Smrg echo m68k-hp-bsd4.4 57516910e25Smrg exit 0 ;; 57616910e25Smrg 9000/[34678]??:HP-UX:*:*) 57716910e25Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 57816910e25Smrg case "${UNAME_MACHINE}" in 57916910e25Smrg 9000/31? ) HP_ARCH=m68000 ;; 58016910e25Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 58116910e25Smrg 9000/[678][0-9][0-9]) 58216910e25Smrg if [ -x /usr/bin/getconf ]; then 58316910e25Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 58416910e25Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 58516910e25Smrg case "${sc_cpu_version}" in 58616910e25Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 58716910e25Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 58816910e25Smrg 532) # CPU_PA_RISC2_0 58916910e25Smrg case "${sc_kernel_bits}" in 59016910e25Smrg 32) HP_ARCH="hppa2.0n" ;; 59116910e25Smrg 64) HP_ARCH="hppa2.0w" ;; 59216910e25Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 59316910e25Smrg esac ;; 59416910e25Smrg esac 59516910e25Smrg fi 59616910e25Smrg if [ "${HP_ARCH}" = "" ]; then 59716910e25Smrg eval $set_cc_for_build 59816910e25Smrg sed 's/^ //' << EOF >$dummy.c 59916910e25Smrg 60016910e25Smrg #define _HPUX_SOURCE 60116910e25Smrg #include <stdlib.h> 60216910e25Smrg #include <unistd.h> 60316910e25Smrg 60416910e25Smrg int main () 60516910e25Smrg { 60616910e25Smrg #if defined(_SC_KERNEL_BITS) 60716910e25Smrg long bits = sysconf(_SC_KERNEL_BITS); 60816910e25Smrg #endif 60916910e25Smrg long cpu = sysconf (_SC_CPU_VERSION); 61016910e25Smrg 61116910e25Smrg switch (cpu) 61216910e25Smrg { 61316910e25Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 61416910e25Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 61516910e25Smrg case CPU_PA_RISC2_0: 61616910e25Smrg #if defined(_SC_KERNEL_BITS) 61716910e25Smrg switch (bits) 61816910e25Smrg { 61916910e25Smrg case 64: puts ("hppa2.0w"); break; 62016910e25Smrg case 32: puts ("hppa2.0n"); break; 62116910e25Smrg default: puts ("hppa2.0"); break; 62216910e25Smrg } break; 62316910e25Smrg #else /* !defined(_SC_KERNEL_BITS) */ 62416910e25Smrg puts ("hppa2.0"); break; 62516910e25Smrg #endif 62616910e25Smrg default: puts ("hppa1.0"); break; 62716910e25Smrg } 62816910e25Smrg exit (0); 62916910e25Smrg } 63016910e25SmrgEOF 63116910e25Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 63216910e25Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 63316910e25Smrg fi ;; 63416910e25Smrg esac 63516910e25Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 63616910e25Smrg then 63716910e25Smrg # avoid double evaluation of $set_cc_for_build 63816910e25Smrg test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 63916910e25Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 64016910e25Smrg then 64116910e25Smrg HP_ARCH="hppa2.0w" 64216910e25Smrg else 64316910e25Smrg HP_ARCH="hppa64" 64416910e25Smrg fi 64516910e25Smrg fi 64616910e25Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 64716910e25Smrg exit 0 ;; 64816910e25Smrg ia64:HP-UX:*:*) 64916910e25Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 65016910e25Smrg echo ia64-hp-hpux${HPUX_REV} 65116910e25Smrg exit 0 ;; 65216910e25Smrg 3050*:HI-UX:*:*) 65316910e25Smrg eval $set_cc_for_build 65416910e25Smrg sed 's/^ //' << EOF >$dummy.c 65516910e25Smrg #include <unistd.h> 65616910e25Smrg int 65716910e25Smrg main () 65816910e25Smrg { 65916910e25Smrg long cpu = sysconf (_SC_CPU_VERSION); 66016910e25Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 66116910e25Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 66216910e25Smrg results, however. */ 66316910e25Smrg if (CPU_IS_PA_RISC (cpu)) 66416910e25Smrg { 66516910e25Smrg switch (cpu) 66616910e25Smrg { 66716910e25Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 66816910e25Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 66916910e25Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 67016910e25Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 67116910e25Smrg } 67216910e25Smrg } 67316910e25Smrg else if (CPU_IS_HP_MC68K (cpu)) 67416910e25Smrg puts ("m68k-hitachi-hiuxwe2"); 67516910e25Smrg else puts ("unknown-hitachi-hiuxwe2"); 67616910e25Smrg exit (0); 67716910e25Smrg } 67816910e25SmrgEOF 67916910e25Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 68016910e25Smrg echo unknown-hitachi-hiuxwe2 68116910e25Smrg exit 0 ;; 68216910e25Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 68316910e25Smrg echo hppa1.1-hp-bsd 68416910e25Smrg exit 0 ;; 68516910e25Smrg 9000/8??:4.3bsd:*:*) 68616910e25Smrg echo hppa1.0-hp-bsd 68716910e25Smrg exit 0 ;; 68816910e25Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 68916910e25Smrg echo hppa1.0-hp-mpeix 69016910e25Smrg exit 0 ;; 69116910e25Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 69216910e25Smrg echo hppa1.1-hp-osf 69316910e25Smrg exit 0 ;; 69416910e25Smrg hp8??:OSF1:*:*) 69516910e25Smrg echo hppa1.0-hp-osf 69616910e25Smrg exit 0 ;; 69716910e25Smrg i*86:OSF1:*:*) 69816910e25Smrg if [ -x /usr/sbin/sysversion ] ; then 69916910e25Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 70016910e25Smrg else 70116910e25Smrg echo ${UNAME_MACHINE}-unknown-osf1 70216910e25Smrg fi 70316910e25Smrg exit 0 ;; 70416910e25Smrg parisc*:Lites*:*:*) 70516910e25Smrg echo hppa1.1-hp-lites 70616910e25Smrg exit 0 ;; 70716910e25Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 70816910e25Smrg echo c1-convex-bsd 70916910e25Smrg exit 0 ;; 71016910e25Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 71116910e25Smrg if getsysinfo -f scalar_acc 71216910e25Smrg then echo c32-convex-bsd 71316910e25Smrg else echo c2-convex-bsd 71416910e25Smrg fi 71516910e25Smrg exit 0 ;; 71616910e25Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 71716910e25Smrg echo c34-convex-bsd 71816910e25Smrg exit 0 ;; 71916910e25Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 72016910e25Smrg echo c38-convex-bsd 72116910e25Smrg exit 0 ;; 72216910e25Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 72316910e25Smrg echo c4-convex-bsd 72416910e25Smrg exit 0 ;; 72516910e25Smrg CRAY*Y-MP:*:*:*) 72616910e25Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 72716910e25Smrg exit 0 ;; 72816910e25Smrg CRAY*[A-Z]90:*:*:*) 72916910e25Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 73016910e25Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 73116910e25Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 73216910e25Smrg -e 's/\.[^.]*$/.X/' 73316910e25Smrg exit 0 ;; 73416910e25Smrg CRAY*TS:*:*:*) 73516910e25Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 73616910e25Smrg exit 0 ;; 73716910e25Smrg CRAY*T3E:*:*:*) 73816910e25Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 73916910e25Smrg exit 0 ;; 74016910e25Smrg CRAY*SV1:*:*:*) 74116910e25Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 74216910e25Smrg exit 0 ;; 74316910e25Smrg *:UNICOS/mp:*:*) 74416910e25Smrg echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 74516910e25Smrg exit 0 ;; 74616910e25Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 74716910e25Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 74816910e25Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 74916910e25Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 75016910e25Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 75116910e25Smrg exit 0 ;; 75216910e25Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 75316910e25Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 75416910e25Smrg exit 0 ;; 75516910e25Smrg sparc*:BSD/OS:*:*) 75616910e25Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 75716910e25Smrg exit 0 ;; 75816910e25Smrg *:BSD/OS:*:*) 75916910e25Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 76016910e25Smrg exit 0 ;; 76116910e25Smrg *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) 76216910e25Smrg # Determine whether the default compiler uses glibc. 76316910e25Smrg eval $set_cc_for_build 76416910e25Smrg sed 's/^ //' << EOF >$dummy.c 76516910e25Smrg #include <features.h> 76616910e25Smrg #if __GLIBC__ >= 2 76716910e25Smrg LIBC=gnu 76816910e25Smrg #else 76916910e25Smrg LIBC= 77016910e25Smrg #endif 77116910e25SmrgEOF 77216910e25Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 77316910e25Smrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 77416910e25Smrg exit 0 ;; 77516910e25Smrg i*:CYGWIN*:*) 77616910e25Smrg echo ${UNAME_MACHINE}-pc-cygwin 77716910e25Smrg exit 0 ;; 77816910e25Smrg i*:MINGW*:*) 77916910e25Smrg echo ${UNAME_MACHINE}-pc-mingw32 78016910e25Smrg exit 0 ;; 78116910e25Smrg i*:PW*:*) 78216910e25Smrg echo ${UNAME_MACHINE}-pc-pw32 78316910e25Smrg exit 0 ;; 78416910e25Smrg x86:Interix*:[34]*) 78516910e25Smrg echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 78616910e25Smrg exit 0 ;; 78716910e25Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 78816910e25Smrg echo i${UNAME_MACHINE}-pc-mks 78916910e25Smrg exit 0 ;; 79016910e25Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 79116910e25Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 79216910e25Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 79316910e25Smrg # UNAME_MACHINE based on the output of uname instead of i386? 79416910e25Smrg echo i586-pc-interix 79516910e25Smrg exit 0 ;; 79616910e25Smrg i*:UWIN*:*) 79716910e25Smrg echo ${UNAME_MACHINE}-pc-uwin 79816910e25Smrg exit 0 ;; 79916910e25Smrg p*:CYGWIN*:*) 80016910e25Smrg echo powerpcle-unknown-cygwin 80116910e25Smrg exit 0 ;; 80216910e25Smrg prep*:SunOS:5.*:*) 80316910e25Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 80416910e25Smrg exit 0 ;; 80516910e25Smrg *:GNU:*:*) 80616910e25Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 80716910e25Smrg exit 0 ;; 80816910e25Smrg i*86:Minix:*:*) 80916910e25Smrg echo ${UNAME_MACHINE}-pc-minix 81016910e25Smrg exit 0 ;; 81116910e25Smrg arm*:Linux:*:*) 81216910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 81316910e25Smrg exit 0 ;; 81416910e25Smrg cris:Linux:*:*) 81516910e25Smrg echo cris-axis-linux-gnu 81616910e25Smrg exit 0 ;; 81716910e25Smrg ia64:Linux:*:*) 81816910e25Smrg echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu 81916910e25Smrg exit 0 ;; 82016910e25Smrg m68*:Linux:*:*) 82116910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 82216910e25Smrg exit 0 ;; 82316910e25Smrg mips:Linux:*:*) 82416910e25Smrg eval $set_cc_for_build 82516910e25Smrg sed 's/^ //' << EOF >$dummy.c 82616910e25Smrg #undef CPU 82716910e25Smrg #undef mips 82816910e25Smrg #undef mipsel 82916910e25Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 83016910e25Smrg CPU=mipsel 83116910e25Smrg #else 83216910e25Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 83316910e25Smrg CPU=mips 83416910e25Smrg #else 83516910e25Smrg CPU= 83616910e25Smrg #endif 83716910e25Smrg #endif 83816910e25SmrgEOF 83916910e25Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 84016910e25Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 84116910e25Smrg ;; 84216910e25Smrg mips64:Linux:*:*) 84316910e25Smrg eval $set_cc_for_build 84416910e25Smrg sed 's/^ //' << EOF >$dummy.c 84516910e25Smrg #undef CPU 84616910e25Smrg #undef mips64 84716910e25Smrg #undef mips64el 84816910e25Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 84916910e25Smrg CPU=mips64el 85016910e25Smrg #else 85116910e25Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 85216910e25Smrg CPU=mips64 85316910e25Smrg #else 85416910e25Smrg CPU= 85516910e25Smrg #endif 85616910e25Smrg #endif 85716910e25SmrgEOF 85816910e25Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 85916910e25Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 86016910e25Smrg ;; 86116910e25Smrg ppc:Linux:*:*) 86216910e25Smrg echo powerpc-${VENDOR:-unknown}-linux-gnu 86316910e25Smrg exit 0 ;; 86416910e25Smrg ppc64:Linux:*:*) 86516910e25Smrg echo powerpc64-${VENDOR:-unknown}-linux-gnu 86616910e25Smrg exit 0 ;; 86716910e25Smrg alpha:Linux:*:*) 86816910e25Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 86916910e25Smrg EV5) UNAME_MACHINE=alphaev5 ;; 87016910e25Smrg EV56) UNAME_MACHINE=alphaev56 ;; 87116910e25Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 87216910e25Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 87316910e25Smrg EV6) UNAME_MACHINE=alphaev6 ;; 87416910e25Smrg EV67) UNAME_MACHINE=alphaev67 ;; 87516910e25Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 87616910e25Smrg esac 87716910e25Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 87816910e25Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 87916910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 88016910e25Smrg exit 0 ;; 88116910e25Smrg parisc:Linux:*:* | hppa:Linux:*:*) 88216910e25Smrg # Look for CPU level 88316910e25Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 88416910e25Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 88516910e25Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 88616910e25Smrg *) echo hppa-unknown-linux-gnu ;; 88716910e25Smrg esac 88816910e25Smrg exit 0 ;; 88916910e25Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 89016910e25Smrg echo hppa64-unknown-linux-gnu 89116910e25Smrg exit 0 ;; 89216910e25Smrg s390:Linux:*:* | s390x:Linux:*:*) 89316910e25Smrg echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu 89416910e25Smrg exit 0 ;; 89516910e25Smrg sh64*:Linux:*:*) 89616910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 89716910e25Smrg exit 0 ;; 89816910e25Smrg sh*:Linux:*:*) 89916910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 90016910e25Smrg exit 0 ;; 90116910e25Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 90216910e25Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 90316910e25Smrg exit 0 ;; 90416910e25Smrg x86_64:Linux:*:*) 90516910e25Smrg echo x86_64-${VENDOR:-unknown}-linux-gnu 90616910e25Smrg exit 0 ;; 90716910e25Smrg i*86:Linux:*:*) 90816910e25Smrg # The BFD linker knows what the default object file format is, so 90916910e25Smrg # first see if it will tell us. cd to the root directory to prevent 91016910e25Smrg # problems with other programs or directories called `ld' in the path. 91116910e25Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 91216910e25Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 91316910e25Smrg | sed -ne '/supported targets:/!d 91416910e25Smrg s/[ ][ ]*/ /g 91516910e25Smrg s/.*supported targets: *// 91616910e25Smrg s/ .*// 91716910e25Smrg p'` 91816910e25Smrg case "$ld_supported_targets" in 91916910e25Smrg elf32-i386) 92016910e25Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 92116910e25Smrg ;; 92216910e25Smrg a.out-i386-linux) 92316910e25Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 92416910e25Smrg exit 0 ;; 92516910e25Smrg coff-i386) 92616910e25Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 92716910e25Smrg exit 0 ;; 92816910e25Smrg "") 92916910e25Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 93016910e25Smrg # one that does not give us useful --help. 93116910e25Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 93216910e25Smrg exit 0 ;; 93316910e25Smrg esac 93416910e25Smrg # Determine whether the default compiler is a.out or elf 93516910e25Smrg eval $set_cc_for_build 93616910e25Smrg sed 's/^ //' << EOF >$dummy.c 93716910e25Smrg #include <features.h> 93816910e25Smrg #ifdef __ELF__ 93916910e25Smrg # ifdef __GLIBC__ 94016910e25Smrg # if __GLIBC__ >= 2 94116910e25Smrg LIBC=gnu 94216910e25Smrg # else 94316910e25Smrg LIBC=gnulibc1 94416910e25Smrg # endif 94516910e25Smrg # else 94616910e25Smrg LIBC=gnulibc1 94716910e25Smrg # endif 94816910e25Smrg #else 94916910e25Smrg #ifdef __INTEL_COMPILER 95016910e25Smrg LIBC=gnu 95116910e25Smrg #else 95216910e25Smrg LIBC=gnuaout 95316910e25Smrg #endif 95416910e25Smrg #endif 95516910e25SmrgEOF 95616910e25Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 95716910e25Smrg test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 95816910e25Smrg test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 95916910e25Smrg ;; 96016910e25Smrg i*86:DYNIX/ptx:4*:*) 96116910e25Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 96216910e25Smrg # earlier versions are messed up and put the nodename in both 96316910e25Smrg # sysname and nodename. 96416910e25Smrg echo i386-sequent-sysv4 96516910e25Smrg exit 0 ;; 96616910e25Smrg i*86:UNIX_SV:4.2MP:2.*) 96716910e25Smrg # Unixware is an offshoot of SVR4, but it has its own version 96816910e25Smrg # number series starting with 2... 96916910e25Smrg # I am not positive that other SVR4 systems won't match this, 97016910e25Smrg # I just have to hope. -- rms. 97116910e25Smrg # Use sysv4.2uw... so that sysv4* matches it. 97216910e25Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 97316910e25Smrg exit 0 ;; 97416910e25Smrg i*86:OS/2:*:*) 97516910e25Smrg # If we were able to find `uname', then EMX Unix compatibility 97616910e25Smrg # is probably installed. 97716910e25Smrg echo ${UNAME_MACHINE}-pc-os2-emx 97816910e25Smrg exit 0 ;; 97916910e25Smrg i*86:XTS-300:*:STOP) 98016910e25Smrg echo ${UNAME_MACHINE}-unknown-stop 98116910e25Smrg exit 0 ;; 98216910e25Smrg i*86:atheos:*:*) 98316910e25Smrg echo ${UNAME_MACHINE}-unknown-atheos 98416910e25Smrg exit 0 ;; 98516910e25Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 98616910e25Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 98716910e25Smrg exit 0 ;; 98816910e25Smrg i*86:*DOS:*:*) 98916910e25Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 99016910e25Smrg exit 0 ;; 99116910e25Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 99216910e25Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 99316910e25Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 99416910e25Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 99516910e25Smrg else 99616910e25Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 99716910e25Smrg fi 99816910e25Smrg exit 0 ;; 99916910e25Smrg i*86:*:5:[78]*) 100016910e25Smrg case `/bin/uname -X | grep "^Machine"` in 100116910e25Smrg *486*) UNAME_MACHINE=i486 ;; 100216910e25Smrg *Pentium) UNAME_MACHINE=i586 ;; 100316910e25Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 100416910e25Smrg esac 100516910e25Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 100616910e25Smrg exit 0 ;; 100716910e25Smrg i*86:*:3.2:*) 100816910e25Smrg if test -f /usr/options/cb.name; then 100916910e25Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 101016910e25Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 101116910e25Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 101216910e25Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 101316910e25Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 101416910e25Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 101516910e25Smrg && UNAME_MACHINE=i586 101616910e25Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 101716910e25Smrg && UNAME_MACHINE=i686 101816910e25Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 101916910e25Smrg && UNAME_MACHINE=i686 102016910e25Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 102116910e25Smrg else 102216910e25Smrg echo ${UNAME_MACHINE}-pc-sysv32 102316910e25Smrg fi 102416910e25Smrg exit 0 ;; 102516910e25Smrg pc:*:*:*) 102616910e25Smrg # Left here for compatibility: 102716910e25Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 102816910e25Smrg # the processor, so we play safe by assuming i386. 102916910e25Smrg echo i386-pc-msdosdjgpp 103016910e25Smrg exit 0 ;; 103116910e25Smrg Intel:Mach:3*:*) 103216910e25Smrg echo i386-pc-mach3 103316910e25Smrg exit 0 ;; 103416910e25Smrg paragon:*:*:*) 103516910e25Smrg echo i860-intel-osf1 103616910e25Smrg exit 0 ;; 103716910e25Smrg i860:*:4.*:*) # i860-SVR4 103816910e25Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 103916910e25Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 104016910e25Smrg else # Add other i860-SVR4 vendors below as they are discovered. 104116910e25Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 104216910e25Smrg fi 104316910e25Smrg exit 0 ;; 104416910e25Smrg mini*:CTIX:SYS*5:*) 104516910e25Smrg # "miniframe" 104616910e25Smrg echo m68010-convergent-sysv 104716910e25Smrg exit 0 ;; 104816910e25Smrg mc68k:UNIX:SYSTEM5:3.51m) 104916910e25Smrg echo m68k-convergent-sysv 105016910e25Smrg exit 0 ;; 105116910e25Smrg M680?0:D-NIX:5.3:*) 105216910e25Smrg echo m68k-diab-dnix 105316910e25Smrg exit 0 ;; 105416910e25Smrg M68*:*:R3V[567]*:*) 105516910e25Smrg test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 105616910e25Smrg 3[34]??:*: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) 105716910e25Smrg OS_REL='' 105816910e25Smrg test -r /etc/.relid \ 105916910e25Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 106016910e25Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 106116910e25Smrg && echo i486-ncr-sysv4.3${OS_REL} && exit 0 106216910e25Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 106316910e25Smrg && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 106416910e25Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 106516910e25Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 106616910e25Smrg && echo i486-ncr-sysv4 && exit 0 ;; 106716910e25Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 106816910e25Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 106916910e25Smrg exit 0 ;; 107016910e25Smrg mc68030:UNIX_System_V:4.*:*) 107116910e25Smrg echo m68k-atari-sysv4 107216910e25Smrg exit 0 ;; 107316910e25Smrg TSUNAMI:LynxOS:2.*:*) 107416910e25Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 107516910e25Smrg exit 0 ;; 107616910e25Smrg rs6000:LynxOS:2.*:*) 107716910e25Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 107816910e25Smrg exit 0 ;; 107916910e25Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 108016910e25Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 108116910e25Smrg exit 0 ;; 108216910e25Smrg SM[BE]S:UNIX_SV:*:*) 108316910e25Smrg echo mips-dde-sysv${UNAME_RELEASE} 108416910e25Smrg exit 0 ;; 108516910e25Smrg RM*:ReliantUNIX-*:*:*) 108616910e25Smrg echo mips-sni-sysv4 108716910e25Smrg exit 0 ;; 108816910e25Smrg RM*:SINIX-*:*:*) 108916910e25Smrg echo mips-sni-sysv4 109016910e25Smrg exit 0 ;; 109116910e25Smrg *:SINIX-*:*:*) 109216910e25Smrg if uname -p 2>/dev/null >/dev/null ; then 109316910e25Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 109416910e25Smrg echo ${UNAME_MACHINE}-sni-sysv4 109516910e25Smrg else 109616910e25Smrg echo ns32k-sni-sysv 109716910e25Smrg fi 109816910e25Smrg exit 0 ;; 109916910e25Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 110016910e25Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 110116910e25Smrg echo i586-unisys-sysv4 110216910e25Smrg exit 0 ;; 110316910e25Smrg *:UNIX_System_V:4*:FTX*) 110416910e25Smrg # From Gerald Hewes <hewes@openmarket.com>. 110516910e25Smrg # How about differentiating between stratus architectures? -djm 110616910e25Smrg echo hppa1.1-stratus-sysv4 110716910e25Smrg exit 0 ;; 110816910e25Smrg *:*:*:FTX*) 110916910e25Smrg # From seanf@swdc.stratus.com. 111016910e25Smrg echo i860-stratus-sysv4 111116910e25Smrg exit 0 ;; 111216910e25Smrg *:VOS:*:*) 111316910e25Smrg # From Paul.Green@stratus.com. 111416910e25Smrg echo hppa1.1-stratus-vos 111516910e25Smrg exit 0 ;; 111616910e25Smrg mc68*:A/UX:*:*) 111716910e25Smrg echo m68k-apple-aux${UNAME_RELEASE} 111816910e25Smrg exit 0 ;; 111916910e25Smrg news*:NEWS-OS:6*:*) 112016910e25Smrg echo mips-sony-newsos6 112116910e25Smrg exit 0 ;; 112216910e25Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 112316910e25Smrg if [ -d /usr/nec ]; then 112416910e25Smrg echo mips-nec-sysv${UNAME_RELEASE} 112516910e25Smrg else 112616910e25Smrg echo mips-unknown-sysv${UNAME_RELEASE} 112716910e25Smrg fi 112816910e25Smrg exit 0 ;; 112916910e25Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 113016910e25Smrg echo powerpc-be-beos 113116910e25Smrg exit 0 ;; 113216910e25Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 113316910e25Smrg echo powerpc-apple-beos 113416910e25Smrg exit 0 ;; 113516910e25Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 113616910e25Smrg echo i586-pc-beos 113716910e25Smrg exit 0 ;; 113816910e25Smrg SX-4:SUPER-UX:*:*) 113916910e25Smrg echo sx4-nec-superux${UNAME_RELEASE} 114016910e25Smrg exit 0 ;; 114116910e25Smrg SX-5:SUPER-UX:*:*) 114216910e25Smrg echo sx5-nec-superux${UNAME_RELEASE} 114316910e25Smrg exit 0 ;; 114416910e25Smrg SX-6:SUPER-UX:*:*) 114516910e25Smrg echo sx6-nec-superux${UNAME_RELEASE} 114616910e25Smrg exit 0 ;; 114716910e25Smrg Power*:Rhapsody:*:*) 114816910e25Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 114916910e25Smrg exit 0 ;; 115016910e25Smrg *:Rhapsody:*:*) 115116910e25Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 115216910e25Smrg exit 0 ;; 115316910e25Smrg *:Darwin:*:*) 115416910e25Smrg case `uname -p` in 115516910e25Smrg *86) UNAME_PROCESSOR=i686 ;; 115616910e25Smrg powerpc) UNAME_PROCESSOR=powerpc ;; 115716910e25Smrg esac 115816910e25Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 115916910e25Smrg exit 0 ;; 116016910e25Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 116116910e25Smrg UNAME_PROCESSOR=`uname -p` 116216910e25Smrg if test "$UNAME_PROCESSOR" = "x86"; then 116316910e25Smrg UNAME_PROCESSOR=i386 116416910e25Smrg UNAME_MACHINE=pc 116516910e25Smrg fi 116616910e25Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 116716910e25Smrg exit 0 ;; 116816910e25Smrg *:QNX:*:4*) 116916910e25Smrg echo i386-pc-qnx 117016910e25Smrg exit 0 ;; 117116910e25Smrg NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) 117216910e25Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 117316910e25Smrg exit 0 ;; 117416910e25Smrg *:NonStop-UX:*:*) 117516910e25Smrg echo mips-compaq-nonstopux 117616910e25Smrg exit 0 ;; 117716910e25Smrg BS2000:POSIX*:*:*) 117816910e25Smrg echo bs2000-siemens-sysv 117916910e25Smrg exit 0 ;; 118016910e25Smrg DS/*:UNIX_System_V:*:*) 118116910e25Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 118216910e25Smrg exit 0 ;; 118316910e25Smrg *:Plan9:*:*) 118416910e25Smrg # "uname -m" is not consistent, so use $cputype instead. 386 118516910e25Smrg # is converted to i386 for consistency with other x86 118616910e25Smrg # operating systems. 118716910e25Smrg if test "$cputype" = "386"; then 118816910e25Smrg UNAME_MACHINE=i386 118916910e25Smrg else 119016910e25Smrg UNAME_MACHINE="$cputype" 119116910e25Smrg fi 119216910e25Smrg echo ${UNAME_MACHINE}-unknown-plan9 119316910e25Smrg exit 0 ;; 119416910e25Smrg *:TOPS-10:*:*) 119516910e25Smrg echo pdp10-unknown-tops10 119616910e25Smrg exit 0 ;; 119716910e25Smrg *:TENEX:*:*) 119816910e25Smrg echo pdp10-unknown-tenex 119916910e25Smrg exit 0 ;; 120016910e25Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 120116910e25Smrg echo pdp10-dec-tops20 120216910e25Smrg exit 0 ;; 120316910e25Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 120416910e25Smrg echo pdp10-xkl-tops20 120516910e25Smrg exit 0 ;; 120616910e25Smrg *:TOPS-20:*:*) 120716910e25Smrg echo pdp10-unknown-tops20 120816910e25Smrg exit 0 ;; 120916910e25Smrg *:ITS:*:*) 121016910e25Smrg echo pdp10-unknown-its 121116910e25Smrg exit 0 ;; 121216910e25Smrg SEI:*:*:SEIUX) 121316910e25Smrg echo mips-sei-seiux${UNAME_RELEASE} 121416910e25Smrg exit 0 ;; 121516910e25Smrgesac 121616910e25Smrg 121716910e25Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 121816910e25Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 121916910e25Smrg 122016910e25Smrgeval $set_cc_for_build 122116910e25Smrgcat >$dummy.c <<EOF 122216910e25Smrg#ifdef _SEQUENT_ 122316910e25Smrg# include <sys/types.h> 122416910e25Smrg# include <sys/utsname.h> 122516910e25Smrg#endif 122616910e25Smrgmain () 122716910e25Smrg{ 122816910e25Smrg#if defined (sony) 122916910e25Smrg#if defined (MIPSEB) 123016910e25Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 123116910e25Smrg I don't know.... */ 123216910e25Smrg printf ("mips-sony-bsd\n"); exit (0); 123316910e25Smrg#else 123416910e25Smrg#include <sys/param.h> 123516910e25Smrg printf ("m68k-sony-newsos%s\n", 123616910e25Smrg#ifdef NEWSOS4 123716910e25Smrg "4" 123816910e25Smrg#else 123916910e25Smrg "" 124016910e25Smrg#endif 124116910e25Smrg ); exit (0); 124216910e25Smrg#endif 124316910e25Smrg#endif 124416910e25Smrg 124516910e25Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 124616910e25Smrg printf ("arm-acorn-riscix"); exit (0); 124716910e25Smrg#endif 124816910e25Smrg 124916910e25Smrg#if defined (hp300) && !defined (hpux) 125016910e25Smrg printf ("m68k-hp-bsd\n"); exit (0); 125116910e25Smrg#endif 125216910e25Smrg 125316910e25Smrg#if defined (NeXT) 125416910e25Smrg#if !defined (__ARCHITECTURE__) 125516910e25Smrg#define __ARCHITECTURE__ "m68k" 125616910e25Smrg#endif 125716910e25Smrg int version; 125816910e25Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 125916910e25Smrg if (version < 4) 126016910e25Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 126116910e25Smrg else 126216910e25Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 126316910e25Smrg exit (0); 126416910e25Smrg#endif 126516910e25Smrg 126616910e25Smrg#if defined (MULTIMAX) || defined (n16) 126716910e25Smrg#if defined (UMAXV) 126816910e25Smrg printf ("ns32k-encore-sysv\n"); exit (0); 126916910e25Smrg#else 127016910e25Smrg#if defined (CMU) 127116910e25Smrg printf ("ns32k-encore-mach\n"); exit (0); 127216910e25Smrg#else 127316910e25Smrg printf ("ns32k-encore-bsd\n"); exit (0); 127416910e25Smrg#endif 127516910e25Smrg#endif 127616910e25Smrg#endif 127716910e25Smrg 127816910e25Smrg#if defined (__386BSD__) 127916910e25Smrg printf ("i386-pc-bsd\n"); exit (0); 128016910e25Smrg#endif 128116910e25Smrg 128216910e25Smrg#if defined (sequent) 128316910e25Smrg#if defined (i386) 128416910e25Smrg printf ("i386-sequent-dynix\n"); exit (0); 128516910e25Smrg#endif 128616910e25Smrg#if defined (ns32000) 128716910e25Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 128816910e25Smrg#endif 128916910e25Smrg#endif 129016910e25Smrg 129116910e25Smrg#if defined (_SEQUENT_) 129216910e25Smrg struct utsname un; 129316910e25Smrg 129416910e25Smrg uname(&un); 129516910e25Smrg 129616910e25Smrg if (strncmp(un.version, "V2", 2) == 0) { 129716910e25Smrg printf ("i386-sequent-ptx2\n"); exit (0); 129816910e25Smrg } 129916910e25Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 130016910e25Smrg printf ("i386-sequent-ptx1\n"); exit (0); 130116910e25Smrg } 130216910e25Smrg printf ("i386-sequent-ptx\n"); exit (0); 130316910e25Smrg 130416910e25Smrg#endif 130516910e25Smrg 130616910e25Smrg#if defined (vax) 130716910e25Smrg# if !defined (ultrix) 130816910e25Smrg# include <sys/param.h> 130916910e25Smrg# if defined (BSD) 131016910e25Smrg# if BSD == 43 131116910e25Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 131216910e25Smrg# else 131316910e25Smrg# if BSD == 199006 131416910e25Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 131516910e25Smrg# else 131616910e25Smrg printf ("vax-dec-bsd\n"); exit (0); 131716910e25Smrg# endif 131816910e25Smrg# endif 131916910e25Smrg# else 132016910e25Smrg printf ("vax-dec-bsd\n"); exit (0); 132116910e25Smrg# endif 132216910e25Smrg# else 132316910e25Smrg printf ("vax-dec-ultrix\n"); exit (0); 132416910e25Smrg# endif 132516910e25Smrg#endif 132616910e25Smrg 132716910e25Smrg#if defined (alliant) && defined (i860) 132816910e25Smrg printf ("i860-alliant-bsd\n"); exit (0); 132916910e25Smrg#endif 133016910e25Smrg 133116910e25Smrg exit (1); 133216910e25Smrg} 133316910e25SmrgEOF 133416910e25Smrg 133516910e25Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 133616910e25Smrg 133716910e25Smrg# Apollos put the system type in the environment. 133816910e25Smrg 133916910e25Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 134016910e25Smrg 134116910e25Smrg# Convex versions that predate uname can use getsysinfo(1) 134216910e25Smrg 134316910e25Smrgif [ -x /usr/convex/getsysinfo ] 134416910e25Smrgthen 134516910e25Smrg case `getsysinfo -f cpu_type` in 134616910e25Smrg c1*) 134716910e25Smrg echo c1-convex-bsd 134816910e25Smrg exit 0 ;; 134916910e25Smrg c2*) 135016910e25Smrg if getsysinfo -f scalar_acc 135116910e25Smrg then echo c32-convex-bsd 135216910e25Smrg else echo c2-convex-bsd 135316910e25Smrg fi 135416910e25Smrg exit 0 ;; 135516910e25Smrg c34*) 135616910e25Smrg echo c34-convex-bsd 135716910e25Smrg exit 0 ;; 135816910e25Smrg c38*) 135916910e25Smrg echo c38-convex-bsd 136016910e25Smrg exit 0 ;; 136116910e25Smrg c4*) 136216910e25Smrg echo c4-convex-bsd 136316910e25Smrg exit 0 ;; 136416910e25Smrg esac 136516910e25Smrgfi 136616910e25Smrg 136716910e25Smrgcat >&2 <<EOF 136816910e25Smrg$0: unable to guess system type 136916910e25Smrg 137016910e25SmrgThis script, last modified $timestamp, has failed to recognize 137116910e25Smrgthe operating system you are using. It is advised that you 137216910e25Smrgdownload the most up to date version of the config scripts from 137316910e25Smrg 137416910e25Smrg ftp://ftp.gnu.org/pub/gnu/config/ 137516910e25Smrg 137616910e25SmrgIf the version you run ($0) is already up to date, please 137716910e25Smrgsend the following data and any information you think might be 137816910e25Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 137916910e25Smrginformation to handle your system. 138016910e25Smrg 138116910e25Smrgconfig.guess timestamp = $timestamp 138216910e25Smrg 138316910e25Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 138416910e25Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 138516910e25Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 138616910e25Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 138716910e25Smrg 138816910e25Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 138916910e25Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 139016910e25Smrg 139116910e25Smrghostinfo = `(hostinfo) 2>/dev/null` 139216910e25Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 139316910e25Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 139416910e25Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 139516910e25Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 139616910e25Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 139716910e25Smrg 139816910e25SmrgUNAME_MACHINE = ${UNAME_MACHINE} 139916910e25SmrgUNAME_RELEASE = ${UNAME_RELEASE} 140016910e25SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 140116910e25SmrgUNAME_VERSION = ${UNAME_VERSION} 140216910e25SmrgEOF 140316910e25Smrg 140416910e25Smrgexit 1 140516910e25Smrg 140616910e25Smrg# Local variables: 140716910e25Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 140816910e25Smrg# time-stamp-start: "timestamp='" 140916910e25Smrg# time-stamp-format: "%:y-%02m-%02d" 141016910e25Smrg# time-stamp-end: "'" 141116910e25Smrg# End: 1412