config.guess revision 0eb10989
10eb10989Smrg#! /bin/sh 20eb10989Smrg# 30eb10989Smrg# $NetBSD: config.guess,v 1.1.1.1 2008/07/30 04:08:04 mrg Exp $ 40eb10989Smrg# 50eb10989Smrg# Attempt to guess a canonical system name. 60eb10989Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 70eb10989Smrg# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 80eb10989Smrg 90eb10989Smrgtimestamp='2004-06-11' 100eb10989Smrg 110eb10989Smrg# This file is free software; you can redistribute it and/or modify it 120eb10989Smrg# under the terms of the GNU General Public License as published by 130eb10989Smrg# the Free Software Foundation; either version 2 of the License, or 140eb10989Smrg# (at your option) any later version. 150eb10989Smrg# 160eb10989Smrg# This program is distributed in the hope that it will be useful, but 170eb10989Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 180eb10989Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 190eb10989Smrg# General Public License for more details. 200eb10989Smrg# 210eb10989Smrg# You should have received a copy of the GNU General Public License 220eb10989Smrg# along with this program; if not, write to the Free Software 230eb10989Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 240eb10989Smrg# 250eb10989Smrg# As a special exception to the GNU General Public License, if you 260eb10989Smrg# distribute this file as part of a program that contains a 270eb10989Smrg# configuration script generated by Autoconf, you may include it under 280eb10989Smrg# the same distribution terms that you use for the rest of that program. 290eb10989Smrg 300eb10989Smrg# Originally written by Per Bothner <per@bothner.com>. 310eb10989Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 320eb10989Smrg# diff and a properly formatted ChangeLog entry. 330eb10989Smrg# 340eb10989Smrg# This script attempts to guess a canonical system name similar to 350eb10989Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 360eb10989Smrg# exits with 0. Otherwise, it exits with 1. 370eb10989Smrg# 380eb10989Smrg# The plan is that this can be called by configure scripts if you 390eb10989Smrg# don't specify an explicit build system type. 400eb10989Smrg 410eb10989Smrgme=`echo "$0" | sed -e 's,.*/,,'` 420eb10989Smrg 430eb10989Smrgusage="\ 440eb10989SmrgUsage: $0 [OPTION] 450eb10989Smrg 460eb10989SmrgOutput the configuration name of the system \`$me' is run on. 470eb10989Smrg 480eb10989SmrgOperation modes: 490eb10989Smrg -h, --help print this help, then exit 500eb10989Smrg -t, --time-stamp print date of last modification, then exit 510eb10989Smrg -v, --version print version number, then exit 520eb10989Smrg 530eb10989SmrgReport bugs and patches to <config-patches@gnu.org>." 540eb10989Smrg 550eb10989Smrgversion="\ 560eb10989SmrgGNU config.guess ($timestamp) 570eb10989Smrg 580eb10989SmrgOriginally written by Per Bothner. 590eb10989SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 600eb10989SmrgFree Software Foundation, Inc. 610eb10989Smrg 620eb10989SmrgThis is free software; see the source for copying conditions. There is NO 630eb10989Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 640eb10989Smrg 650eb10989Smrghelp=" 660eb10989SmrgTry \`$me --help' for more information." 670eb10989Smrg 680eb10989Smrg# Parse command line 690eb10989Smrgwhile test $# -gt 0 ; do 700eb10989Smrg case $1 in 710eb10989Smrg --time-stamp | --time* | -t ) 720eb10989Smrg echo "$timestamp" ; exit 0 ;; 730eb10989Smrg --version | -v ) 740eb10989Smrg echo "$version" ; exit 0 ;; 750eb10989Smrg --help | --h* | -h ) 760eb10989Smrg echo "$usage"; exit 0 ;; 770eb10989Smrg -- ) # Stop option processing 780eb10989Smrg shift; break ;; 790eb10989Smrg - ) # Use stdin as input. 800eb10989Smrg break ;; 810eb10989Smrg -* ) 820eb10989Smrg echo "$me: invalid option $1$help" >&2 830eb10989Smrg exit 1 ;; 840eb10989Smrg * ) 850eb10989Smrg break ;; 860eb10989Smrg esac 870eb10989Smrgdone 880eb10989Smrg 890eb10989Smrgif test $# != 0; then 900eb10989Smrg echo "$me: too many arguments$help" >&2 910eb10989Smrg exit 1 920eb10989Smrgfi 930eb10989Smrg 940eb10989Smrgtrap 'exit 1' 1 2 15 950eb10989Smrg 960eb10989Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 970eb10989Smrg# compiler to aid in system detection is discouraged as it requires 980eb10989Smrg# temporary files to be created and, as you can see below, it is a 990eb10989Smrg# headache to deal with in a portable fashion. 1000eb10989Smrg 1010eb10989Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 1020eb10989Smrg# use `HOST_CC' if defined, but it is deprecated. 1030eb10989Smrg 1040eb10989Smrg# Portable tmp directory creation inspired by the Autoconf team. 1050eb10989Smrg 1060eb10989Smrgset_cc_for_build=' 1070eb10989Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1080eb10989Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 1090eb10989Smrg: ${TMPDIR=/tmp} ; 1100eb10989Smrg { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1110eb10989Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1120eb10989Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1130eb10989Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1140eb10989Smrgdummy=$tmp/dummy ; 1150eb10989Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1160eb10989Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 1170eb10989Smrg ,,) echo "int x;" > $dummy.c ; 1180eb10989Smrg for c in cc gcc c89 c99 ; do 1190eb10989Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 1200eb10989Smrg CC_FOR_BUILD="$c"; break ; 1210eb10989Smrg fi ; 1220eb10989Smrg done ; 1230eb10989Smrg if test x"$CC_FOR_BUILD" = x ; then 1240eb10989Smrg CC_FOR_BUILD=no_compiler_found ; 1250eb10989Smrg fi 1260eb10989Smrg ;; 1270eb10989Smrg ,,*) CC_FOR_BUILD=$CC ;; 1280eb10989Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1290eb10989Smrgesac ;' 1300eb10989Smrg 1310eb10989Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1320eb10989Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1330eb10989Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1340eb10989Smrg PATH=$PATH:/.attbin ; export PATH 1350eb10989Smrgfi 1360eb10989Smrg 1370eb10989SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1380eb10989SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1390eb10989SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1400eb10989SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1410eb10989Smrg 1420eb10989Smrg# Note: order is significant - the case branches are not exclusive. 1430eb10989Smrg 1440eb10989Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 1450eb10989Smrg *:NetBSD:*:*) 1460eb10989Smrg # NetBSD (nbsd) targets should (where applicable) match one or 1470eb10989Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 1480eb10989Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1490eb10989Smrg # switched to ELF, *-*-netbsd* would select the old 1500eb10989Smrg # object file format. This provides both forward 1510eb10989Smrg # compatibility and a consistent mechanism for selecting the 1520eb10989Smrg # object file format. 1530eb10989Smrg # 1540eb10989Smrg # Note: NetBSD doesn't particularly care about the vendor 1550eb10989Smrg # portion of the name. We always set it to "unknown". 1560eb10989Smrg sysctl="sysctl -n hw.machine_arch" 1570eb10989Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 1580eb10989Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 1590eb10989Smrg case "${UNAME_MACHINE_ARCH}" in 1600eb10989Smrg armeb) machine=armeb-unknown ;; 1610eb10989Smrg arm*) machine=arm-unknown ;; 1620eb10989Smrg sh3el) machine=shl-unknown ;; 1630eb10989Smrg sh3eb) machine=sh-unknown ;; 1640eb10989Smrg sh5el) machine=sh5le-unknown ;; 1650eb10989Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1660eb10989Smrg esac 1670eb10989Smrg # The Operating System including object format, if it has switched 1680eb10989Smrg # to ELF recently, or will in the future. 1690eb10989Smrg case "${UNAME_MACHINE_ARCH}" in 1700eb10989Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1710eb10989Smrg eval $set_cc_for_build 1720eb10989Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1730eb10989Smrg | grep __ELF__ >/dev/null 1740eb10989Smrg then 1750eb10989Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1760eb10989Smrg # Return netbsd for either. FIX? 1770eb10989Smrg os=netbsd 1780eb10989Smrg else 1790eb10989Smrg os=netbsdelf 1800eb10989Smrg fi 1810eb10989Smrg ;; 1820eb10989Smrg *) 1830eb10989Smrg os=netbsd 1840eb10989Smrg ;; 1850eb10989Smrg esac 1860eb10989Smrg # The OS release 1870eb10989Smrg # Debian GNU/NetBSD machines have a different userland, and 1880eb10989Smrg # thus, need a distinct triplet. However, they do not need 1890eb10989Smrg # kernel version information, so it can be replaced with a 1900eb10989Smrg # suitable tag, in the style of linux-gnu. 1910eb10989Smrg case "${UNAME_VERSION}" in 1920eb10989Smrg Debian*) 1930eb10989Smrg release='-gnu' 1940eb10989Smrg ;; 1950eb10989Smrg *) 1960eb10989Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 1970eb10989Smrg ;; 1980eb10989Smrg esac 1990eb10989Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2000eb10989Smrg # contains redundant information, the shorter form: 2010eb10989Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2020eb10989Smrg echo "${machine}-${os}${release}" 2030eb10989Smrg exit 0 ;; 2040eb10989Smrg amd64:OpenBSD:*:*) 2050eb10989Smrg echo x86_64-unknown-openbsd${UNAME_RELEASE} 2060eb10989Smrg exit 0 ;; 2070eb10989Smrg amiga:OpenBSD:*:*) 2080eb10989Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2090eb10989Smrg exit 0 ;; 2100eb10989Smrg arc:OpenBSD:*:*) 2110eb10989Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2120eb10989Smrg exit 0 ;; 2130eb10989Smrg cats:OpenBSD:*:*) 2140eb10989Smrg echo arm-unknown-openbsd${UNAME_RELEASE} 2150eb10989Smrg exit 0 ;; 2160eb10989Smrg hp300:OpenBSD:*:*) 2170eb10989Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2180eb10989Smrg exit 0 ;; 2190eb10989Smrg luna88k:OpenBSD:*:*) 2200eb10989Smrg echo m88k-unknown-openbsd${UNAME_RELEASE} 2210eb10989Smrg exit 0 ;; 2220eb10989Smrg mac68k:OpenBSD:*:*) 2230eb10989Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2240eb10989Smrg exit 0 ;; 2250eb10989Smrg macppc:OpenBSD:*:*) 2260eb10989Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2270eb10989Smrg exit 0 ;; 2280eb10989Smrg mvme68k:OpenBSD:*:*) 2290eb10989Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2300eb10989Smrg exit 0 ;; 2310eb10989Smrg mvme88k:OpenBSD:*:*) 2320eb10989Smrg echo m88k-unknown-openbsd${UNAME_RELEASE} 2330eb10989Smrg exit 0 ;; 2340eb10989Smrg mvmeppc:OpenBSD:*:*) 2350eb10989Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2360eb10989Smrg exit 0 ;; 2370eb10989Smrg pmax:OpenBSD:*:*) 2380eb10989Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2390eb10989Smrg exit 0 ;; 2400eb10989Smrg sgi:OpenBSD:*:*) 2410eb10989Smrg echo mipseb-unknown-openbsd${UNAME_RELEASE} 2420eb10989Smrg exit 0 ;; 2430eb10989Smrg sun3:OpenBSD:*:*) 2440eb10989Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2450eb10989Smrg exit 0 ;; 2460eb10989Smrg wgrisc:OpenBSD:*:*) 2470eb10989Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2480eb10989Smrg exit 0 ;; 2490eb10989Smrg *:OpenBSD:*:*) 2500eb10989Smrg echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 2510eb10989Smrg exit 0 ;; 2520eb10989Smrg *:ekkoBSD:*:*) 2530eb10989Smrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 2540eb10989Smrg exit 0 ;; 2550eb10989Smrg macppc:MirBSD:*:*) 2560eb10989Smrg echo powerppc-unknown-mirbsd${UNAME_RELEASE} 2570eb10989Smrg exit 0 ;; 2580eb10989Smrg *:MirBSD:*:*) 2590eb10989Smrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 2600eb10989Smrg exit 0 ;; 2610eb10989Smrg alpha:OSF1:*:*) 2620eb10989Smrg case $UNAME_RELEASE in 2630eb10989Smrg *4.0) 2640eb10989Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 2650eb10989Smrg ;; 2660eb10989Smrg *5.*) 2670eb10989Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 2680eb10989Smrg ;; 2690eb10989Smrg esac 2700eb10989Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2710eb10989Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2720eb10989Smrg # covers most systems running today. This code pipes the CPU 2730eb10989Smrg # types through head -n 1, so we only detect the type of CPU 0. 2740eb10989Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 2750eb10989Smrg case "$ALPHA_CPU_TYPE" in 2760eb10989Smrg "EV4 (21064)") 2770eb10989Smrg UNAME_MACHINE="alpha" ;; 2780eb10989Smrg "EV4.5 (21064)") 2790eb10989Smrg UNAME_MACHINE="alpha" ;; 2800eb10989Smrg "LCA4 (21066/21068)") 2810eb10989Smrg UNAME_MACHINE="alpha" ;; 2820eb10989Smrg "EV5 (21164)") 2830eb10989Smrg UNAME_MACHINE="alphaev5" ;; 2840eb10989Smrg "EV5.6 (21164A)") 2850eb10989Smrg UNAME_MACHINE="alphaev56" ;; 2860eb10989Smrg "EV5.6 (21164PC)") 2870eb10989Smrg UNAME_MACHINE="alphapca56" ;; 2880eb10989Smrg "EV5.7 (21164PC)") 2890eb10989Smrg UNAME_MACHINE="alphapca57" ;; 2900eb10989Smrg "EV6 (21264)") 2910eb10989Smrg UNAME_MACHINE="alphaev6" ;; 2920eb10989Smrg "EV6.7 (21264A)") 2930eb10989Smrg UNAME_MACHINE="alphaev67" ;; 2940eb10989Smrg "EV6.8CB (21264C)") 2950eb10989Smrg UNAME_MACHINE="alphaev68" ;; 2960eb10989Smrg "EV6.8AL (21264B)") 2970eb10989Smrg UNAME_MACHINE="alphaev68" ;; 2980eb10989Smrg "EV6.8CX (21264D)") 2990eb10989Smrg UNAME_MACHINE="alphaev68" ;; 3000eb10989Smrg "EV6.9A (21264/EV69A)") 3010eb10989Smrg UNAME_MACHINE="alphaev69" ;; 3020eb10989Smrg "EV7 (21364)") 3030eb10989Smrg UNAME_MACHINE="alphaev7" ;; 3040eb10989Smrg "EV7.9 (21364A)") 3050eb10989Smrg UNAME_MACHINE="alphaev79" ;; 3060eb10989Smrg esac 3070eb10989Smrg # A Pn.n version is a patched version. 3080eb10989Smrg # A Vn.n version is a released version. 3090eb10989Smrg # A Tn.n version is a released field test version. 3100eb10989Smrg # A Xn.n version is an unreleased experimental baselevel. 3110eb10989Smrg # 1.2 uses "1.2" for uname -r. 3120eb10989Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 3130eb10989Smrg exit 0 ;; 3140eb10989Smrg Alpha*:OpenVMS:*:*) 3150eb10989Smrg echo alpha-hp-vms 3160eb10989Smrg exit 0 ;; 3170eb10989Smrg Alpha\ *:Windows_NT*:*) 3180eb10989Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 3190eb10989Smrg # Should we change UNAME_MACHINE based on the output of uname instead 3200eb10989Smrg # of the specific Alpha model? 3210eb10989Smrg echo alpha-pc-interix 3220eb10989Smrg exit 0 ;; 3230eb10989Smrg 21064:Windows_NT:50:3) 3240eb10989Smrg echo alpha-dec-winnt3.5 3250eb10989Smrg exit 0 ;; 3260eb10989Smrg Amiga*:UNIX_System_V:4.0:*) 3270eb10989Smrg echo m68k-unknown-sysv4 3280eb10989Smrg exit 0;; 3290eb10989Smrg *:[Aa]miga[Oo][Ss]:*:*) 3300eb10989Smrg echo ${UNAME_MACHINE}-unknown-amigaos 3310eb10989Smrg exit 0 ;; 3320eb10989Smrg *:[Mm]orph[Oo][Ss]:*:*) 3330eb10989Smrg echo ${UNAME_MACHINE}-unknown-morphos 3340eb10989Smrg exit 0 ;; 3350eb10989Smrg *:OS/390:*:*) 3360eb10989Smrg echo i370-ibm-openedition 3370eb10989Smrg exit 0 ;; 3380eb10989Smrg *:OS400:*:*) 3390eb10989Smrg echo powerpc-ibm-os400 3400eb10989Smrg exit 0 ;; 3410eb10989Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3420eb10989Smrg echo arm-acorn-riscix${UNAME_RELEASE} 3430eb10989Smrg exit 0;; 3440eb10989Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3450eb10989Smrg echo hppa1.1-hitachi-hiuxmpp 3460eb10989Smrg exit 0;; 3470eb10989Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3480eb10989Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 3490eb10989Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 3500eb10989Smrg echo pyramid-pyramid-sysv3 3510eb10989Smrg else 3520eb10989Smrg echo pyramid-pyramid-bsd 3530eb10989Smrg fi 3540eb10989Smrg exit 0 ;; 3550eb10989Smrg NILE*:*:*:dcosx) 3560eb10989Smrg echo pyramid-pyramid-svr4 3570eb10989Smrg exit 0 ;; 3580eb10989Smrg DRS?6000:unix:4.0:6*) 3590eb10989Smrg echo sparc-icl-nx6 3600eb10989Smrg exit 0 ;; 3610eb10989Smrg DRS?6000:UNIX_SV:4.2*:7*) 3620eb10989Smrg case `/usr/bin/uname -p` in 3630eb10989Smrg sparc) echo sparc-icl-nx7 && exit 0 ;; 3640eb10989Smrg esac ;; 3650eb10989Smrg sun4H:SunOS:5.*:*) 3660eb10989Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3670eb10989Smrg exit 0 ;; 3680eb10989Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3690eb10989Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3700eb10989Smrg exit 0 ;; 3710eb10989Smrg i86pc:SunOS:5.*:*) 3720eb10989Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3730eb10989Smrg exit 0 ;; 3740eb10989Smrg sun4*:SunOS:6*:*) 3750eb10989Smrg # According to config.sub, this is the proper way to canonicalize 3760eb10989Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3770eb10989Smrg # it's likely to be more like Solaris than SunOS4. 3780eb10989Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3790eb10989Smrg exit 0 ;; 3800eb10989Smrg sun4*:SunOS:*:*) 3810eb10989Smrg case "`/usr/bin/arch -k`" in 3820eb10989Smrg Series*|S4*) 3830eb10989Smrg UNAME_RELEASE=`uname -v` 3840eb10989Smrg ;; 3850eb10989Smrg esac 3860eb10989Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 3870eb10989Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 3880eb10989Smrg exit 0 ;; 3890eb10989Smrg sun3*:SunOS:*:*) 3900eb10989Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3910eb10989Smrg exit 0 ;; 3920eb10989Smrg sun*:*:4.2BSD:*) 3930eb10989Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 3940eb10989Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 3950eb10989Smrg case "`/bin/arch`" in 3960eb10989Smrg sun3) 3970eb10989Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3980eb10989Smrg ;; 3990eb10989Smrg sun4) 4000eb10989Smrg echo sparc-sun-sunos${UNAME_RELEASE} 4010eb10989Smrg ;; 4020eb10989Smrg esac 4030eb10989Smrg exit 0 ;; 4040eb10989Smrg aushp:SunOS:*:*) 4050eb10989Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 4060eb10989Smrg exit 0 ;; 4070eb10989Smrg # The situation for MiNT is a little confusing. The machine name 4080eb10989Smrg # can be virtually everything (everything which is not 4090eb10989Smrg # "atarist" or "atariste" at least should have a processor 4100eb10989Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 4110eb10989Smrg # to the lowercase version "mint" (or "freemint"). Finally 4120eb10989Smrg # the system name "TOS" denotes a system which is actually not 4130eb10989Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 4140eb10989Smrg # be no problem. 4150eb10989Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 4160eb10989Smrg echo m68k-atari-mint${UNAME_RELEASE} 4170eb10989Smrg exit 0 ;; 4180eb10989Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 4190eb10989Smrg echo m68k-atari-mint${UNAME_RELEASE} 4200eb10989Smrg exit 0 ;; 4210eb10989Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 4220eb10989Smrg echo m68k-atari-mint${UNAME_RELEASE} 4230eb10989Smrg exit 0 ;; 4240eb10989Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4250eb10989Smrg echo m68k-milan-mint${UNAME_RELEASE} 4260eb10989Smrg exit 0 ;; 4270eb10989Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4280eb10989Smrg echo m68k-hades-mint${UNAME_RELEASE} 4290eb10989Smrg exit 0 ;; 4300eb10989Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4310eb10989Smrg echo m68k-unknown-mint${UNAME_RELEASE} 4320eb10989Smrg exit 0 ;; 4330eb10989Smrg m68k:machten:*:*) 4340eb10989Smrg echo m68k-apple-machten${UNAME_RELEASE} 4350eb10989Smrg exit 0 ;; 4360eb10989Smrg powerpc:machten:*:*) 4370eb10989Smrg echo powerpc-apple-machten${UNAME_RELEASE} 4380eb10989Smrg exit 0 ;; 4390eb10989Smrg RISC*:Mach:*:*) 4400eb10989Smrg echo mips-dec-mach_bsd4.3 4410eb10989Smrg exit 0 ;; 4420eb10989Smrg RISC*:ULTRIX:*:*) 4430eb10989Smrg echo mips-dec-ultrix${UNAME_RELEASE} 4440eb10989Smrg exit 0 ;; 4450eb10989Smrg VAX*:ULTRIX*:*:*) 4460eb10989Smrg echo vax-dec-ultrix${UNAME_RELEASE} 4470eb10989Smrg exit 0 ;; 4480eb10989Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4490eb10989Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 4500eb10989Smrg exit 0 ;; 4510eb10989Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 4520eb10989Smrg eval $set_cc_for_build 4530eb10989Smrg sed 's/^ //' << EOF >$dummy.c 4540eb10989Smrg#ifdef __cplusplus 4550eb10989Smrg#include <stdio.h> /* for printf() prototype */ 4560eb10989Smrg int main (int argc, char *argv[]) { 4570eb10989Smrg#else 4580eb10989Smrg int main (argc, argv) int argc; char *argv[]; { 4590eb10989Smrg#endif 4600eb10989Smrg #if defined (host_mips) && defined (MIPSEB) 4610eb10989Smrg #if defined (SYSTYPE_SYSV) 4620eb10989Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 4630eb10989Smrg #endif 4640eb10989Smrg #if defined (SYSTYPE_SVR4) 4650eb10989Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4660eb10989Smrg #endif 4670eb10989Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4680eb10989Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4690eb10989Smrg #endif 4700eb10989Smrg #endif 4710eb10989Smrg exit (-1); 4720eb10989Smrg } 4730eb10989SmrgEOF 4740eb10989Smrg $CC_FOR_BUILD -o $dummy $dummy.c \ 4750eb10989Smrg && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 4760eb10989Smrg && exit 0 4770eb10989Smrg echo mips-mips-riscos${UNAME_RELEASE} 4780eb10989Smrg exit 0 ;; 4790eb10989Smrg Motorola:PowerMAX_OS:*:*) 4800eb10989Smrg echo powerpc-motorola-powermax 4810eb10989Smrg exit 0 ;; 4820eb10989Smrg Motorola:*:4.3:PL8-*) 4830eb10989Smrg echo powerpc-harris-powermax 4840eb10989Smrg exit 0 ;; 4850eb10989Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 4860eb10989Smrg echo powerpc-harris-powermax 4870eb10989Smrg exit 0 ;; 4880eb10989Smrg Night_Hawk:Power_UNIX:*:*) 4890eb10989Smrg echo powerpc-harris-powerunix 4900eb10989Smrg exit 0 ;; 4910eb10989Smrg m88k:CX/UX:7*:*) 4920eb10989Smrg echo m88k-harris-cxux7 4930eb10989Smrg exit 0 ;; 4940eb10989Smrg m88k:*:4*:R4*) 4950eb10989Smrg echo m88k-motorola-sysv4 4960eb10989Smrg exit 0 ;; 4970eb10989Smrg m88k:*:3*:R3*) 4980eb10989Smrg echo m88k-motorola-sysv3 4990eb10989Smrg exit 0 ;; 5000eb10989Smrg AViiON:dgux:*:*) 5010eb10989Smrg # DG/UX returns AViiON for all architectures 5020eb10989Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 5030eb10989Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 5040eb10989Smrg then 5050eb10989Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 5060eb10989Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 5070eb10989Smrg then 5080eb10989Smrg echo m88k-dg-dgux${UNAME_RELEASE} 5090eb10989Smrg else 5100eb10989Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 5110eb10989Smrg fi 5120eb10989Smrg else 5130eb10989Smrg echo i586-dg-dgux${UNAME_RELEASE} 5140eb10989Smrg fi 5150eb10989Smrg exit 0 ;; 5160eb10989Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 5170eb10989Smrg echo m88k-dolphin-sysv3 5180eb10989Smrg exit 0 ;; 5190eb10989Smrg M88*:*:R3*:*) 5200eb10989Smrg # Delta 88k system running SVR3 5210eb10989Smrg echo m88k-motorola-sysv3 5220eb10989Smrg exit 0 ;; 5230eb10989Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 5240eb10989Smrg echo m88k-tektronix-sysv3 5250eb10989Smrg exit 0 ;; 5260eb10989Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5270eb10989Smrg echo m68k-tektronix-bsd 5280eb10989Smrg exit 0 ;; 5290eb10989Smrg *:IRIX*:*:*) 5300eb10989Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 5310eb10989Smrg exit 0 ;; 5320eb10989Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 5330eb10989Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 5340eb10989Smrg exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 5350eb10989Smrg i*86:AIX:*:*) 5360eb10989Smrg echo i386-ibm-aix 5370eb10989Smrg exit 0 ;; 5380eb10989Smrg ia64:AIX:*:*) 5390eb10989Smrg if [ -x /usr/bin/oslevel ] ; then 5400eb10989Smrg IBM_REV=`/usr/bin/oslevel` 5410eb10989Smrg else 5420eb10989Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5430eb10989Smrg fi 5440eb10989Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 5450eb10989Smrg exit 0 ;; 5460eb10989Smrg *:AIX:2:3) 5470eb10989Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 5480eb10989Smrg eval $set_cc_for_build 5490eb10989Smrg sed 's/^ //' << EOF >$dummy.c 5500eb10989Smrg #include <sys/systemcfg.h> 5510eb10989Smrg 5520eb10989Smrg main() 5530eb10989Smrg { 5540eb10989Smrg if (!__power_pc()) 5550eb10989Smrg exit(1); 5560eb10989Smrg puts("powerpc-ibm-aix3.2.5"); 5570eb10989Smrg exit(0); 5580eb10989Smrg } 5590eb10989SmrgEOF 5600eb10989Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 5610eb10989Smrg echo rs6000-ibm-aix3.2.5 5620eb10989Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 5630eb10989Smrg echo rs6000-ibm-aix3.2.4 5640eb10989Smrg else 5650eb10989Smrg echo rs6000-ibm-aix3.2 5660eb10989Smrg fi 5670eb10989Smrg exit 0 ;; 5680eb10989Smrg *:AIX:*:[45]) 5690eb10989Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 5700eb10989Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5710eb10989Smrg IBM_ARCH=rs6000 5720eb10989Smrg else 5730eb10989Smrg IBM_ARCH=powerpc 5740eb10989Smrg fi 5750eb10989Smrg if [ -x /usr/bin/oslevel ] ; then 5760eb10989Smrg IBM_REV=`/usr/bin/oslevel` 5770eb10989Smrg else 5780eb10989Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5790eb10989Smrg fi 5800eb10989Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 5810eb10989Smrg exit 0 ;; 5820eb10989Smrg *:AIX:*:*) 5830eb10989Smrg echo rs6000-ibm-aix 5840eb10989Smrg exit 0 ;; 5850eb10989Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5860eb10989Smrg echo romp-ibm-bsd4.4 5870eb10989Smrg exit 0 ;; 5880eb10989Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5890eb10989Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 5900eb10989Smrg exit 0 ;; # report: romp-ibm BSD 4.3 5910eb10989Smrg *:BOSX:*:*) 5920eb10989Smrg echo rs6000-bull-bosx 5930eb10989Smrg exit 0 ;; 5940eb10989Smrg DPX/2?00:B.O.S.:*:*) 5950eb10989Smrg echo m68k-bull-sysv3 5960eb10989Smrg exit 0 ;; 5970eb10989Smrg 9000/[34]??:4.3bsd:1.*:*) 5980eb10989Smrg echo m68k-hp-bsd 5990eb10989Smrg exit 0 ;; 6000eb10989Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 6010eb10989Smrg echo m68k-hp-bsd4.4 6020eb10989Smrg exit 0 ;; 6030eb10989Smrg 9000/[34678]??:HP-UX:*:*) 6040eb10989Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6050eb10989Smrg case "${UNAME_MACHINE}" in 6060eb10989Smrg 9000/31? ) HP_ARCH=m68000 ;; 6070eb10989Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 6080eb10989Smrg 9000/[678][0-9][0-9]) 6090eb10989Smrg if [ -x /usr/bin/getconf ]; then 6100eb10989Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 6110eb10989Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 6120eb10989Smrg case "${sc_cpu_version}" in 6130eb10989Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 6140eb10989Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 6150eb10989Smrg 532) # CPU_PA_RISC2_0 6160eb10989Smrg case "${sc_kernel_bits}" in 6170eb10989Smrg 32) HP_ARCH="hppa2.0n" ;; 6180eb10989Smrg 64) HP_ARCH="hppa2.0w" ;; 6190eb10989Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 6200eb10989Smrg esac ;; 6210eb10989Smrg esac 6220eb10989Smrg fi 6230eb10989Smrg if [ "${HP_ARCH}" = "" ]; then 6240eb10989Smrg eval $set_cc_for_build 6250eb10989Smrg sed 's/^ //' << EOF >$dummy.c 6260eb10989Smrg 6270eb10989Smrg #define _HPUX_SOURCE 6280eb10989Smrg #include <stdlib.h> 6290eb10989Smrg #include <unistd.h> 6300eb10989Smrg 6310eb10989Smrg int main () 6320eb10989Smrg { 6330eb10989Smrg #if defined(_SC_KERNEL_BITS) 6340eb10989Smrg long bits = sysconf(_SC_KERNEL_BITS); 6350eb10989Smrg #endif 6360eb10989Smrg long cpu = sysconf (_SC_CPU_VERSION); 6370eb10989Smrg 6380eb10989Smrg switch (cpu) 6390eb10989Smrg { 6400eb10989Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6410eb10989Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6420eb10989Smrg case CPU_PA_RISC2_0: 6430eb10989Smrg #if defined(_SC_KERNEL_BITS) 6440eb10989Smrg switch (bits) 6450eb10989Smrg { 6460eb10989Smrg case 64: puts ("hppa2.0w"); break; 6470eb10989Smrg case 32: puts ("hppa2.0n"); break; 6480eb10989Smrg default: puts ("hppa2.0"); break; 6490eb10989Smrg } break; 6500eb10989Smrg #else /* !defined(_SC_KERNEL_BITS) */ 6510eb10989Smrg puts ("hppa2.0"); break; 6520eb10989Smrg #endif 6530eb10989Smrg default: puts ("hppa1.0"); break; 6540eb10989Smrg } 6550eb10989Smrg exit (0); 6560eb10989Smrg } 6570eb10989SmrgEOF 6580eb10989Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 6590eb10989Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 6600eb10989Smrg fi ;; 6610eb10989Smrg esac 6620eb10989Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 6630eb10989Smrg then 6640eb10989Smrg # avoid double evaluation of $set_cc_for_build 6650eb10989Smrg test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 6660eb10989Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 6670eb10989Smrg then 6680eb10989Smrg HP_ARCH="hppa2.0w" 6690eb10989Smrg else 6700eb10989Smrg HP_ARCH="hppa64" 6710eb10989Smrg fi 6720eb10989Smrg fi 6730eb10989Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 6740eb10989Smrg exit 0 ;; 6750eb10989Smrg ia64:HP-UX:*:*) 6760eb10989Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6770eb10989Smrg echo ia64-hp-hpux${HPUX_REV} 6780eb10989Smrg exit 0 ;; 6790eb10989Smrg 3050*:HI-UX:*:*) 6800eb10989Smrg eval $set_cc_for_build 6810eb10989Smrg sed 's/^ //' << EOF >$dummy.c 6820eb10989Smrg #include <unistd.h> 6830eb10989Smrg int 6840eb10989Smrg main () 6850eb10989Smrg { 6860eb10989Smrg long cpu = sysconf (_SC_CPU_VERSION); 6870eb10989Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6880eb10989Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6890eb10989Smrg results, however. */ 6900eb10989Smrg if (CPU_IS_PA_RISC (cpu)) 6910eb10989Smrg { 6920eb10989Smrg switch (cpu) 6930eb10989Smrg { 6940eb10989Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6950eb10989Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6960eb10989Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6970eb10989Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 6980eb10989Smrg } 6990eb10989Smrg } 7000eb10989Smrg else if (CPU_IS_HP_MC68K (cpu)) 7010eb10989Smrg puts ("m68k-hitachi-hiuxwe2"); 7020eb10989Smrg else puts ("unknown-hitachi-hiuxwe2"); 7030eb10989Smrg exit (0); 7040eb10989Smrg } 7050eb10989SmrgEOF 7060eb10989Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 7070eb10989Smrg echo unknown-hitachi-hiuxwe2 7080eb10989Smrg exit 0 ;; 7090eb10989Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 7100eb10989Smrg echo hppa1.1-hp-bsd 7110eb10989Smrg exit 0 ;; 7120eb10989Smrg 9000/8??:4.3bsd:*:*) 7130eb10989Smrg echo hppa1.0-hp-bsd 7140eb10989Smrg exit 0 ;; 7150eb10989Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 7160eb10989Smrg echo hppa1.0-hp-mpeix 7170eb10989Smrg exit 0 ;; 7180eb10989Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 7190eb10989Smrg echo hppa1.1-hp-osf 7200eb10989Smrg exit 0 ;; 7210eb10989Smrg hp8??:OSF1:*:*) 7220eb10989Smrg echo hppa1.0-hp-osf 7230eb10989Smrg exit 0 ;; 7240eb10989Smrg i*86:OSF1:*:*) 7250eb10989Smrg if [ -x /usr/sbin/sysversion ] ; then 7260eb10989Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 7270eb10989Smrg else 7280eb10989Smrg echo ${UNAME_MACHINE}-unknown-osf1 7290eb10989Smrg fi 7300eb10989Smrg exit 0 ;; 7310eb10989Smrg parisc*:Lites*:*:*) 7320eb10989Smrg echo hppa1.1-hp-lites 7330eb10989Smrg exit 0 ;; 7340eb10989Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7350eb10989Smrg echo c1-convex-bsd 7360eb10989Smrg exit 0 ;; 7370eb10989Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7380eb10989Smrg if getsysinfo -f scalar_acc 7390eb10989Smrg then echo c32-convex-bsd 7400eb10989Smrg else echo c2-convex-bsd 7410eb10989Smrg fi 7420eb10989Smrg exit 0 ;; 7430eb10989Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 7440eb10989Smrg echo c34-convex-bsd 7450eb10989Smrg exit 0 ;; 7460eb10989Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 7470eb10989Smrg echo c38-convex-bsd 7480eb10989Smrg exit 0 ;; 7490eb10989Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 7500eb10989Smrg echo c4-convex-bsd 7510eb10989Smrg exit 0 ;; 7520eb10989Smrg CRAY*Y-MP:*:*:*) 7530eb10989Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7540eb10989Smrg exit 0 ;; 7550eb10989Smrg CRAY*[A-Z]90:*:*:*) 7560eb10989Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 7570eb10989Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 7580eb10989Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 7590eb10989Smrg -e 's/\.[^.]*$/.X/' 7600eb10989Smrg exit 0 ;; 7610eb10989Smrg CRAY*TS:*:*:*) 7620eb10989Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7630eb10989Smrg exit 0 ;; 7640eb10989Smrg CRAY*T3E:*:*:*) 7650eb10989Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7660eb10989Smrg exit 0 ;; 7670eb10989Smrg CRAY*SV1:*:*:*) 7680eb10989Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7690eb10989Smrg exit 0 ;; 7700eb10989Smrg *:UNICOS/mp:*:*) 7710eb10989Smrg echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7720eb10989Smrg exit 0 ;; 7730eb10989Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 7740eb10989Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 7750eb10989Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7760eb10989Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 7770eb10989Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 7780eb10989Smrg exit 0 ;; 7790eb10989Smrg 5000:UNIX_System_V:4.*:*) 7800eb10989Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7810eb10989Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 7820eb10989Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 7830eb10989Smrg exit 0 ;; 7840eb10989Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7850eb10989Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 7860eb10989Smrg exit 0 ;; 7870eb10989Smrg sparc*:BSD/OS:*:*) 7880eb10989Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 7890eb10989Smrg exit 0 ;; 7900eb10989Smrg *:BSD/OS:*:*) 7910eb10989Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 7920eb10989Smrg exit 0 ;; 7930eb10989Smrg *:FreeBSD:*:*) 7940eb10989Smrg # Determine whether the default compiler uses glibc. 7950eb10989Smrg eval $set_cc_for_build 7960eb10989Smrg sed 's/^ //' << EOF >$dummy.c 7970eb10989Smrg #include <features.h> 7980eb10989Smrg #if __GLIBC__ >= 2 7990eb10989Smrg LIBC=gnu 8000eb10989Smrg #else 8010eb10989Smrg LIBC= 8020eb10989Smrg #endif 8030eb10989SmrgEOF 8040eb10989Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 8050eb10989Smrg # GNU/KFreeBSD systems have a "k" prefix to indicate we are using 8060eb10989Smrg # FreeBSD's kernel, but not the complete OS. 8070eb10989Smrg case ${LIBC} in gnu) kernel_only='k' ;; esac 8080eb10989Smrg echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 8090eb10989Smrg exit 0 ;; 8100eb10989Smrg i*:CYGWIN*:*) 8110eb10989Smrg echo ${UNAME_MACHINE}-pc-cygwin 8120eb10989Smrg exit 0 ;; 8130eb10989Smrg i*:MINGW*:*) 8140eb10989Smrg echo ${UNAME_MACHINE}-pc-mingw32 8150eb10989Smrg exit 0 ;; 8160eb10989Smrg i*:PW*:*) 8170eb10989Smrg echo ${UNAME_MACHINE}-pc-pw32 8180eb10989Smrg exit 0 ;; 8190eb10989Smrg x86:Interix*:[34]*) 8200eb10989Smrg echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 8210eb10989Smrg exit 0 ;; 8220eb10989Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 8230eb10989Smrg echo i${UNAME_MACHINE}-pc-mks 8240eb10989Smrg exit 0 ;; 8250eb10989Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 8260eb10989Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 8270eb10989Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 8280eb10989Smrg # UNAME_MACHINE based on the output of uname instead of i386? 8290eb10989Smrg echo i586-pc-interix 8300eb10989Smrg exit 0 ;; 8310eb10989Smrg i*:UWIN*:*) 8320eb10989Smrg echo ${UNAME_MACHINE}-pc-uwin 8330eb10989Smrg exit 0 ;; 8340eb10989Smrg p*:CYGWIN*:*) 8350eb10989Smrg echo powerpcle-unknown-cygwin 8360eb10989Smrg exit 0 ;; 8370eb10989Smrg prep*:SunOS:5.*:*) 8380eb10989Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 8390eb10989Smrg exit 0 ;; 8400eb10989Smrg *:GNU:*:*) 8410eb10989Smrg # the GNU system 8420eb10989Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 8430eb10989Smrg exit 0 ;; 8440eb10989Smrg *:GNU/*:*:*) 8450eb10989Smrg # other systems with GNU libc and userland 8460eb10989Smrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 8470eb10989Smrg exit 0 ;; 8480eb10989Smrg i*86:Minix:*:*) 8490eb10989Smrg echo ${UNAME_MACHINE}-pc-minix 8500eb10989Smrg exit 0 ;; 8510eb10989Smrg arm*:Linux:*:*) 8520eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8530eb10989Smrg exit 0 ;; 8540eb10989Smrg cris:Linux:*:*) 8550eb10989Smrg echo cris-axis-linux-gnu 8560eb10989Smrg exit 0 ;; 8570eb10989Smrg ia64:Linux:*:*) 8580eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8590eb10989Smrg exit 0 ;; 8600eb10989Smrg m32r*:Linux:*:*) 8610eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8620eb10989Smrg exit 0 ;; 8630eb10989Smrg m68*:Linux:*:*) 8640eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8650eb10989Smrg exit 0 ;; 8660eb10989Smrg mips:Linux:*:*) 8670eb10989Smrg eval $set_cc_for_build 8680eb10989Smrg sed 's/^ //' << EOF >$dummy.c 8690eb10989Smrg #undef CPU 8700eb10989Smrg #undef mips 8710eb10989Smrg #undef mipsel 8720eb10989Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8730eb10989Smrg CPU=mipsel 8740eb10989Smrg #else 8750eb10989Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8760eb10989Smrg CPU=mips 8770eb10989Smrg #else 8780eb10989Smrg CPU= 8790eb10989Smrg #endif 8800eb10989Smrg #endif 8810eb10989SmrgEOF 8820eb10989Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 8830eb10989Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 8840eb10989Smrg ;; 8850eb10989Smrg mips64:Linux:*:*) 8860eb10989Smrg eval $set_cc_for_build 8870eb10989Smrg sed 's/^ //' << EOF >$dummy.c 8880eb10989Smrg #undef CPU 8890eb10989Smrg #undef mips64 8900eb10989Smrg #undef mips64el 8910eb10989Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8920eb10989Smrg CPU=mips64el 8930eb10989Smrg #else 8940eb10989Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8950eb10989Smrg CPU=mips64 8960eb10989Smrg #else 8970eb10989Smrg CPU= 8980eb10989Smrg #endif 8990eb10989Smrg #endif 9000eb10989SmrgEOF 9010eb10989Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 9020eb10989Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 9030eb10989Smrg ;; 9040eb10989Smrg ppc:Linux:*:*) 9050eb10989Smrg echo powerpc-unknown-linux-gnu 9060eb10989Smrg exit 0 ;; 9070eb10989Smrg ppc64:Linux:*:*) 9080eb10989Smrg echo powerpc64-unknown-linux-gnu 9090eb10989Smrg exit 0 ;; 9100eb10989Smrg alpha:Linux:*:*) 9110eb10989Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 9120eb10989Smrg EV5) UNAME_MACHINE=alphaev5 ;; 9130eb10989Smrg EV56) UNAME_MACHINE=alphaev56 ;; 9140eb10989Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 9150eb10989Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 9160eb10989Smrg EV6) UNAME_MACHINE=alphaev6 ;; 9170eb10989Smrg EV67) UNAME_MACHINE=alphaev67 ;; 9180eb10989Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 9190eb10989Smrg esac 9200eb10989Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 9210eb10989Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 9220eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 9230eb10989Smrg exit 0 ;; 9240eb10989Smrg parisc:Linux:*:* | hppa:Linux:*:*) 9250eb10989Smrg # Look for CPU level 9260eb10989Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 9270eb10989Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 9280eb10989Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 9290eb10989Smrg *) echo hppa-unknown-linux-gnu ;; 9300eb10989Smrg esac 9310eb10989Smrg exit 0 ;; 9320eb10989Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 9330eb10989Smrg echo hppa64-unknown-linux-gnu 9340eb10989Smrg exit 0 ;; 9350eb10989Smrg s390:Linux:*:* | s390x:Linux:*:*) 9360eb10989Smrg echo ${UNAME_MACHINE}-ibm-linux 9370eb10989Smrg exit 0 ;; 9380eb10989Smrg sh64*:Linux:*:*) 9390eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9400eb10989Smrg exit 0 ;; 9410eb10989Smrg sh*:Linux:*:*) 9420eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9430eb10989Smrg exit 0 ;; 9440eb10989Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 9450eb10989Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9460eb10989Smrg exit 0 ;; 9470eb10989Smrg x86_64:Linux:*:*) 9480eb10989Smrg echo x86_64-unknown-linux-gnu 9490eb10989Smrg exit 0 ;; 9500eb10989Smrg i*86:Linux:*:*) 9510eb10989Smrg # The BFD linker knows what the default object file format is, so 9520eb10989Smrg # first see if it will tell us. cd to the root directory to prevent 9530eb10989Smrg # problems with other programs or directories called `ld' in the path. 9540eb10989Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 9550eb10989Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 9560eb10989Smrg | sed -ne '/supported targets:/!d 9570eb10989Smrg s/[ ][ ]*/ /g 9580eb10989Smrg s/.*supported targets: *// 9590eb10989Smrg s/ .*// 9600eb10989Smrg p'` 9610eb10989Smrg case "$ld_supported_targets" in 9620eb10989Smrg elf32-i386) 9630eb10989Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 9640eb10989Smrg ;; 9650eb10989Smrg a.out-i386-linux) 9660eb10989Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 9670eb10989Smrg exit 0 ;; 9680eb10989Smrg coff-i386) 9690eb10989Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 9700eb10989Smrg exit 0 ;; 9710eb10989Smrg "") 9720eb10989Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 9730eb10989Smrg # one that does not give us useful --help. 9740eb10989Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 9750eb10989Smrg exit 0 ;; 9760eb10989Smrg esac 9770eb10989Smrg # Determine whether the default compiler is a.out or elf 9780eb10989Smrg eval $set_cc_for_build 9790eb10989Smrg sed 's/^ //' << EOF >$dummy.c 9800eb10989Smrg #include <features.h> 9810eb10989Smrg #ifdef __ELF__ 9820eb10989Smrg # ifdef __GLIBC__ 9830eb10989Smrg # if __GLIBC__ >= 2 9840eb10989Smrg LIBC=gnu 9850eb10989Smrg # else 9860eb10989Smrg LIBC=gnulibc1 9870eb10989Smrg # endif 9880eb10989Smrg # else 9890eb10989Smrg LIBC=gnulibc1 9900eb10989Smrg # endif 9910eb10989Smrg #else 9920eb10989Smrg #ifdef __INTEL_COMPILER 9930eb10989Smrg LIBC=gnu 9940eb10989Smrg #else 9950eb10989Smrg LIBC=gnuaout 9960eb10989Smrg #endif 9970eb10989Smrg #endif 9980eb10989Smrg #ifdef __dietlibc__ 9990eb10989Smrg LIBC=dietlibc 10000eb10989Smrg #endif 10010eb10989SmrgEOF 10020eb10989Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 10030eb10989Smrg test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 10040eb10989Smrg test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 10050eb10989Smrg ;; 10060eb10989Smrg i*86:DYNIX/ptx:4*:*) 10070eb10989Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 10080eb10989Smrg # earlier versions are messed up and put the nodename in both 10090eb10989Smrg # sysname and nodename. 10100eb10989Smrg echo i386-sequent-sysv4 10110eb10989Smrg exit 0 ;; 10120eb10989Smrg i*86:UNIX_SV:4.2MP:2.*) 10130eb10989Smrg # Unixware is an offshoot of SVR4, but it has its own version 10140eb10989Smrg # number series starting with 2... 10150eb10989Smrg # I am not positive that other SVR4 systems won't match this, 10160eb10989Smrg # I just have to hope. -- rms. 10170eb10989Smrg # Use sysv4.2uw... so that sysv4* matches it. 10180eb10989Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 10190eb10989Smrg exit 0 ;; 10200eb10989Smrg i*86:OS/2:*:*) 10210eb10989Smrg # If we were able to find `uname', then EMX Unix compatibility 10220eb10989Smrg # is probably installed. 10230eb10989Smrg echo ${UNAME_MACHINE}-pc-os2-emx 10240eb10989Smrg exit 0 ;; 10250eb10989Smrg i*86:XTS-300:*:STOP) 10260eb10989Smrg echo ${UNAME_MACHINE}-unknown-stop 10270eb10989Smrg exit 0 ;; 10280eb10989Smrg i*86:atheos:*:*) 10290eb10989Smrg echo ${UNAME_MACHINE}-unknown-atheos 10300eb10989Smrg exit 0 ;; 10310eb10989Smrg i*86:syllable:*:*) 10320eb10989Smrg echo ${UNAME_MACHINE}-pc-syllable 10330eb10989Smrg exit 0 ;; 10340eb10989Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 10350eb10989Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 10360eb10989Smrg exit 0 ;; 10370eb10989Smrg i*86:*DOS:*:*) 10380eb10989Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 10390eb10989Smrg exit 0 ;; 10400eb10989Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 10410eb10989Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 10420eb10989Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 10430eb10989Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 10440eb10989Smrg else 10450eb10989Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 10460eb10989Smrg fi 10470eb10989Smrg exit 0 ;; 10480eb10989Smrg i*86:*:5:[78]*) 10490eb10989Smrg case `/bin/uname -X | grep "^Machine"` in 10500eb10989Smrg *486*) UNAME_MACHINE=i486 ;; 10510eb10989Smrg *Pentium) UNAME_MACHINE=i586 ;; 10520eb10989Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 10530eb10989Smrg esac 10540eb10989Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 10550eb10989Smrg exit 0 ;; 10560eb10989Smrg i*86:*:3.2:*) 10570eb10989Smrg if test -f /usr/options/cb.name; then 10580eb10989Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 10590eb10989Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 10600eb10989Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 10610eb10989Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 10620eb10989Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 10630eb10989Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 10640eb10989Smrg && UNAME_MACHINE=i586 10650eb10989Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 10660eb10989Smrg && UNAME_MACHINE=i686 10670eb10989Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 10680eb10989Smrg && UNAME_MACHINE=i686 10690eb10989Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 10700eb10989Smrg else 10710eb10989Smrg echo ${UNAME_MACHINE}-pc-sysv32 10720eb10989Smrg fi 10730eb10989Smrg exit 0 ;; 10740eb10989Smrg pc:*:*:*) 10750eb10989Smrg # Left here for compatibility: 10760eb10989Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 10770eb10989Smrg # the processor, so we play safe by assuming i386. 10780eb10989Smrg echo i386-pc-msdosdjgpp 10790eb10989Smrg exit 0 ;; 10800eb10989Smrg Intel:Mach:3*:*) 10810eb10989Smrg echo i386-pc-mach3 10820eb10989Smrg exit 0 ;; 10830eb10989Smrg paragon:*:*:*) 10840eb10989Smrg echo i860-intel-osf1 10850eb10989Smrg exit 0 ;; 10860eb10989Smrg i860:*:4.*:*) # i860-SVR4 10870eb10989Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10880eb10989Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10890eb10989Smrg else # Add other i860-SVR4 vendors below as they are discovered. 10900eb10989Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10910eb10989Smrg fi 10920eb10989Smrg exit 0 ;; 10930eb10989Smrg mini*:CTIX:SYS*5:*) 10940eb10989Smrg # "miniframe" 10950eb10989Smrg echo m68010-convergent-sysv 10960eb10989Smrg exit 0 ;; 10970eb10989Smrg mc68k:UNIX:SYSTEM5:3.51m) 10980eb10989Smrg echo m68k-convergent-sysv 10990eb10989Smrg exit 0 ;; 11000eb10989Smrg M680?0:D-NIX:5.3:*) 11010eb10989Smrg echo m68k-diab-dnix 11020eb10989Smrg exit 0 ;; 11030eb10989Smrg M68*:*:R3V[5678]*:*) 11040eb10989Smrg test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 11050eb10989Smrg 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) 11060eb10989Smrg OS_REL='' 11070eb10989Smrg test -r /etc/.relid \ 11080eb10989Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 11090eb10989Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 11100eb10989Smrg && echo i486-ncr-sysv4.3${OS_REL} && exit 0 11110eb10989Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 11120eb10989Smrg && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 11130eb10989Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 11140eb10989Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 11150eb10989Smrg && echo i486-ncr-sysv4 && exit 0 ;; 11160eb10989Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 11170eb10989Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 11180eb10989Smrg exit 0 ;; 11190eb10989Smrg mc68030:UNIX_System_V:4.*:*) 11200eb10989Smrg echo m68k-atari-sysv4 11210eb10989Smrg exit 0 ;; 11220eb10989Smrg TSUNAMI:LynxOS:2.*:*) 11230eb10989Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 11240eb10989Smrg exit 0 ;; 11250eb10989Smrg rs6000:LynxOS:2.*:*) 11260eb10989Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 11270eb10989Smrg exit 0 ;; 11280eb10989Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 11290eb10989Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 11300eb10989Smrg exit 0 ;; 11310eb10989Smrg SM[BE]S:UNIX_SV:*:*) 11320eb10989Smrg echo mips-dde-sysv${UNAME_RELEASE} 11330eb10989Smrg exit 0 ;; 11340eb10989Smrg RM*:ReliantUNIX-*:*:*) 11350eb10989Smrg echo mips-sni-sysv4 11360eb10989Smrg exit 0 ;; 11370eb10989Smrg RM*:SINIX-*:*:*) 11380eb10989Smrg echo mips-sni-sysv4 11390eb10989Smrg exit 0 ;; 11400eb10989Smrg *:SINIX-*:*:*) 11410eb10989Smrg if uname -p 2>/dev/null >/dev/null ; then 11420eb10989Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 11430eb10989Smrg echo ${UNAME_MACHINE}-sni-sysv4 11440eb10989Smrg else 11450eb10989Smrg echo ns32k-sni-sysv 11460eb10989Smrg fi 11470eb10989Smrg exit 0 ;; 11480eb10989Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 11490eb10989Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 11500eb10989Smrg echo i586-unisys-sysv4 11510eb10989Smrg exit 0 ;; 11520eb10989Smrg *:UNIX_System_V:4*:FTX*) 11530eb10989Smrg # From Gerald Hewes <hewes@openmarket.com>. 11540eb10989Smrg # How about differentiating between stratus architectures? -djm 11550eb10989Smrg echo hppa1.1-stratus-sysv4 11560eb10989Smrg exit 0 ;; 11570eb10989Smrg *:*:*:FTX*) 11580eb10989Smrg # From seanf@swdc.stratus.com. 11590eb10989Smrg echo i860-stratus-sysv4 11600eb10989Smrg exit 0 ;; 11610eb10989Smrg *:VOS:*:*) 11620eb10989Smrg # From Paul.Green@stratus.com. 11630eb10989Smrg echo hppa1.1-stratus-vos 11640eb10989Smrg exit 0 ;; 11650eb10989Smrg mc68*:A/UX:*:*) 11660eb10989Smrg echo m68k-apple-aux${UNAME_RELEASE} 11670eb10989Smrg exit 0 ;; 11680eb10989Smrg news*:NEWS-OS:6*:*) 11690eb10989Smrg echo mips-sony-newsos6 11700eb10989Smrg exit 0 ;; 11710eb10989Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 11720eb10989Smrg if [ -d /usr/nec ]; then 11730eb10989Smrg echo mips-nec-sysv${UNAME_RELEASE} 11740eb10989Smrg else 11750eb10989Smrg echo mips-unknown-sysv${UNAME_RELEASE} 11760eb10989Smrg fi 11770eb10989Smrg exit 0 ;; 11780eb10989Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 11790eb10989Smrg echo powerpc-be-beos 11800eb10989Smrg exit 0 ;; 11810eb10989Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 11820eb10989Smrg echo powerpc-apple-beos 11830eb10989Smrg exit 0 ;; 11840eb10989Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 11850eb10989Smrg echo i586-pc-beos 11860eb10989Smrg exit 0 ;; 11870eb10989Smrg SX-4:SUPER-UX:*:*) 11880eb10989Smrg echo sx4-nec-superux${UNAME_RELEASE} 11890eb10989Smrg exit 0 ;; 11900eb10989Smrg SX-5:SUPER-UX:*:*) 11910eb10989Smrg echo sx5-nec-superux${UNAME_RELEASE} 11920eb10989Smrg exit 0 ;; 11930eb10989Smrg SX-6:SUPER-UX:*:*) 11940eb10989Smrg echo sx6-nec-superux${UNAME_RELEASE} 11950eb10989Smrg exit 0 ;; 11960eb10989Smrg Power*:Rhapsody:*:*) 11970eb10989Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 11980eb10989Smrg exit 0 ;; 11990eb10989Smrg *:Rhapsody:*:*) 12000eb10989Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 12010eb10989Smrg exit 0 ;; 12020eb10989Smrg *:Darwin:*:*) 12030eb10989Smrg case `uname -p` in 12040eb10989Smrg *86) UNAME_PROCESSOR=i686 ;; 12050eb10989Smrg powerpc) UNAME_PROCESSOR=powerpc ;; 12060eb10989Smrg esac 12070eb10989Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 12080eb10989Smrg exit 0 ;; 12090eb10989Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 12100eb10989Smrg UNAME_PROCESSOR=`uname -p` 12110eb10989Smrg if test "$UNAME_PROCESSOR" = "x86"; then 12120eb10989Smrg UNAME_PROCESSOR=i386 12130eb10989Smrg UNAME_MACHINE=pc 12140eb10989Smrg fi 12150eb10989Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 12160eb10989Smrg exit 0 ;; 12170eb10989Smrg *:QNX:*:4*) 12180eb10989Smrg echo i386-pc-qnx 12190eb10989Smrg exit 0 ;; 12200eb10989Smrg NSR-?:NONSTOP_KERNEL:*:*) 12210eb10989Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 12220eb10989Smrg exit 0 ;; 12230eb10989Smrg *:NonStop-UX:*:*) 12240eb10989Smrg echo mips-compaq-nonstopux 12250eb10989Smrg exit 0 ;; 12260eb10989Smrg BS2000:POSIX*:*:*) 12270eb10989Smrg echo bs2000-siemens-sysv 12280eb10989Smrg exit 0 ;; 12290eb10989Smrg DS/*:UNIX_System_V:*:*) 12300eb10989Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 12310eb10989Smrg exit 0 ;; 12320eb10989Smrg *:Plan9:*:*) 12330eb10989Smrg # "uname -m" is not consistent, so use $cputype instead. 386 12340eb10989Smrg # is converted to i386 for consistency with other x86 12350eb10989Smrg # operating systems. 12360eb10989Smrg if test "$cputype" = "386"; then 12370eb10989Smrg UNAME_MACHINE=i386 12380eb10989Smrg else 12390eb10989Smrg UNAME_MACHINE="$cputype" 12400eb10989Smrg fi 12410eb10989Smrg echo ${UNAME_MACHINE}-unknown-plan9 12420eb10989Smrg exit 0 ;; 12430eb10989Smrg *:TOPS-10:*:*) 12440eb10989Smrg echo pdp10-unknown-tops10 12450eb10989Smrg exit 0 ;; 12460eb10989Smrg *:TENEX:*:*) 12470eb10989Smrg echo pdp10-unknown-tenex 12480eb10989Smrg exit 0 ;; 12490eb10989Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 12500eb10989Smrg echo pdp10-dec-tops20 12510eb10989Smrg exit 0 ;; 12520eb10989Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 12530eb10989Smrg echo pdp10-xkl-tops20 12540eb10989Smrg exit 0 ;; 12550eb10989Smrg *:TOPS-20:*:*) 12560eb10989Smrg echo pdp10-unknown-tops20 12570eb10989Smrg exit 0 ;; 12580eb10989Smrg *:ITS:*:*) 12590eb10989Smrg echo pdp10-unknown-its 12600eb10989Smrg exit 0 ;; 12610eb10989Smrg SEI:*:*:SEIUX) 12620eb10989Smrg echo mips-sei-seiux${UNAME_RELEASE} 12630eb10989Smrg exit 0 ;; 12640eb10989Smrg *:DragonFly:*:*) 12650eb10989Smrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 12660eb10989Smrg exit 0 ;; 12670eb10989Smrgesac 12680eb10989Smrg 12690eb10989Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 12700eb10989Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 12710eb10989Smrg 12720eb10989Smrgeval $set_cc_for_build 12730eb10989Smrgcat >$dummy.c <<EOF 12740eb10989Smrg#ifdef _SEQUENT_ 12750eb10989Smrg# include <sys/types.h> 12760eb10989Smrg# include <sys/utsname.h> 12770eb10989Smrg#endif 12780eb10989Smrgmain () 12790eb10989Smrg{ 12800eb10989Smrg#if defined (sony) 12810eb10989Smrg#if defined (MIPSEB) 12820eb10989Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 12830eb10989Smrg I don't know.... */ 12840eb10989Smrg printf ("mips-sony-bsd\n"); exit (0); 12850eb10989Smrg#else 12860eb10989Smrg#include <sys/param.h> 12870eb10989Smrg printf ("m68k-sony-newsos%s\n", 12880eb10989Smrg#ifdef NEWSOS4 12890eb10989Smrg "4" 12900eb10989Smrg#else 12910eb10989Smrg "" 12920eb10989Smrg#endif 12930eb10989Smrg ); exit (0); 12940eb10989Smrg#endif 12950eb10989Smrg#endif 12960eb10989Smrg 12970eb10989Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 12980eb10989Smrg printf ("arm-acorn-riscix"); exit (0); 12990eb10989Smrg#endif 13000eb10989Smrg 13010eb10989Smrg#if defined (hp300) && !defined (hpux) 13020eb10989Smrg printf ("m68k-hp-bsd\n"); exit (0); 13030eb10989Smrg#endif 13040eb10989Smrg 13050eb10989Smrg#if defined (NeXT) 13060eb10989Smrg#if !defined (__ARCHITECTURE__) 13070eb10989Smrg#define __ARCHITECTURE__ "m68k" 13080eb10989Smrg#endif 13090eb10989Smrg int version; 13100eb10989Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 13110eb10989Smrg if (version < 4) 13120eb10989Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 13130eb10989Smrg else 13140eb10989Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 13150eb10989Smrg exit (0); 13160eb10989Smrg#endif 13170eb10989Smrg 13180eb10989Smrg#if defined (MULTIMAX) || defined (n16) 13190eb10989Smrg#if defined (UMAXV) 13200eb10989Smrg printf ("ns32k-encore-sysv\n"); exit (0); 13210eb10989Smrg#else 13220eb10989Smrg#if defined (CMU) 13230eb10989Smrg printf ("ns32k-encore-mach\n"); exit (0); 13240eb10989Smrg#else 13250eb10989Smrg printf ("ns32k-encore-bsd\n"); exit (0); 13260eb10989Smrg#endif 13270eb10989Smrg#endif 13280eb10989Smrg#endif 13290eb10989Smrg 13300eb10989Smrg#if defined (__386BSD__) 13310eb10989Smrg printf ("i386-pc-bsd\n"); exit (0); 13320eb10989Smrg#endif 13330eb10989Smrg 13340eb10989Smrg#if defined (sequent) 13350eb10989Smrg#if defined (i386) 13360eb10989Smrg printf ("i386-sequent-dynix\n"); exit (0); 13370eb10989Smrg#endif 13380eb10989Smrg#if defined (ns32000) 13390eb10989Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 13400eb10989Smrg#endif 13410eb10989Smrg#endif 13420eb10989Smrg 13430eb10989Smrg#if defined (_SEQUENT_) 13440eb10989Smrg struct utsname un; 13450eb10989Smrg 13460eb10989Smrg uname(&un); 13470eb10989Smrg 13480eb10989Smrg if (strncmp(un.version, "V2", 2) == 0) { 13490eb10989Smrg printf ("i386-sequent-ptx2\n"); exit (0); 13500eb10989Smrg } 13510eb10989Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 13520eb10989Smrg printf ("i386-sequent-ptx1\n"); exit (0); 13530eb10989Smrg } 13540eb10989Smrg printf ("i386-sequent-ptx\n"); exit (0); 13550eb10989Smrg 13560eb10989Smrg#endif 13570eb10989Smrg 13580eb10989Smrg#if defined (vax) 13590eb10989Smrg# if !defined (ultrix) 13600eb10989Smrg# include <sys/param.h> 13610eb10989Smrg# if defined (BSD) 13620eb10989Smrg# if BSD == 43 13630eb10989Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 13640eb10989Smrg# else 13650eb10989Smrg# if BSD == 199006 13660eb10989Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 13670eb10989Smrg# else 13680eb10989Smrg printf ("vax-dec-bsd\n"); exit (0); 13690eb10989Smrg# endif 13700eb10989Smrg# endif 13710eb10989Smrg# else 13720eb10989Smrg printf ("vax-dec-bsd\n"); exit (0); 13730eb10989Smrg# endif 13740eb10989Smrg# else 13750eb10989Smrg printf ("vax-dec-ultrix\n"); exit (0); 13760eb10989Smrg# endif 13770eb10989Smrg#endif 13780eb10989Smrg 13790eb10989Smrg#if defined (alliant) && defined (i860) 13800eb10989Smrg printf ("i860-alliant-bsd\n"); exit (0); 13810eb10989Smrg#endif 13820eb10989Smrg 13830eb10989Smrg exit (1); 13840eb10989Smrg} 13850eb10989SmrgEOF 13860eb10989Smrg 13870eb10989Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 13880eb10989Smrg 13890eb10989Smrg# Apollos put the system type in the environment. 13900eb10989Smrg 13910eb10989Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 13920eb10989Smrg 13930eb10989Smrg# Convex versions that predate uname can use getsysinfo(1) 13940eb10989Smrg 13950eb10989Smrgif [ -x /usr/convex/getsysinfo ] 13960eb10989Smrgthen 13970eb10989Smrg case `getsysinfo -f cpu_type` in 13980eb10989Smrg c1*) 13990eb10989Smrg echo c1-convex-bsd 14000eb10989Smrg exit 0 ;; 14010eb10989Smrg c2*) 14020eb10989Smrg if getsysinfo -f scalar_acc 14030eb10989Smrg then echo c32-convex-bsd 14040eb10989Smrg else echo c2-convex-bsd 14050eb10989Smrg fi 14060eb10989Smrg exit 0 ;; 14070eb10989Smrg c34*) 14080eb10989Smrg echo c34-convex-bsd 14090eb10989Smrg exit 0 ;; 14100eb10989Smrg c38*) 14110eb10989Smrg echo c38-convex-bsd 14120eb10989Smrg exit 0 ;; 14130eb10989Smrg c4*) 14140eb10989Smrg echo c4-convex-bsd 14150eb10989Smrg exit 0 ;; 14160eb10989Smrg esac 14170eb10989Smrgfi 14180eb10989Smrg 14190eb10989Smrgcat >&2 <<EOF 14200eb10989Smrg$0: unable to guess system type 14210eb10989Smrg 14220eb10989SmrgThis script, last modified $timestamp, has failed to recognize 14230eb10989Smrgthe operating system you are using. It is advised that you 14240eb10989Smrgdownload the most up to date version of the config scripts from 14250eb10989Smrg 14260eb10989Smrg ftp://ftp.gnu.org/pub/gnu/config/ 14270eb10989Smrg 14280eb10989SmrgIf the version you run ($0) is already up to date, please 14290eb10989Smrgsend the following data and any information you think might be 14300eb10989Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 14310eb10989Smrginformation to handle your system. 14320eb10989Smrg 14330eb10989Smrgconfig.guess timestamp = $timestamp 14340eb10989Smrg 14350eb10989Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 14360eb10989Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 14370eb10989Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 14380eb10989Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 14390eb10989Smrg 14400eb10989Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 14410eb10989Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 14420eb10989Smrg 14430eb10989Smrghostinfo = `(hostinfo) 2>/dev/null` 14440eb10989Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 14450eb10989Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 14460eb10989Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 14470eb10989Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 14480eb10989Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 14490eb10989Smrg 14500eb10989SmrgUNAME_MACHINE = ${UNAME_MACHINE} 14510eb10989SmrgUNAME_RELEASE = ${UNAME_RELEASE} 14520eb10989SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 14530eb10989SmrgUNAME_VERSION = ${UNAME_VERSION} 14540eb10989SmrgEOF 14550eb10989Smrg 14560eb10989Smrgexit 1 14570eb10989Smrg 14580eb10989Smrg# Local variables: 14590eb10989Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 14600eb10989Smrg# time-stamp-start: "timestamp='" 14610eb10989Smrg# time-stamp-format: "%:y-%02m-%02d" 14620eb10989Smrg# time-stamp-end: "'" 14630eb10989Smrg# End: 1464