config.guess revision 6ea72052
16ea72052Smrg#! /bin/sh 26ea72052Smrg# Attempt to guess a canonical system name. 36ea72052Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 46ea72052Smrg# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 56ea72052Smrg 66ea72052Smrgtimestamp='2003-06-17' 76ea72052Smrg 86ea72052Smrg# This file is free software; you can redistribute it and/or modify it 96ea72052Smrg# under the terms of the GNU General Public License as published by 106ea72052Smrg# the Free Software Foundation; either version 2 of the License, or 116ea72052Smrg# (at your option) any later version. 126ea72052Smrg# 136ea72052Smrg# This program is distributed in the hope that it will be useful, but 146ea72052Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 156ea72052Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 166ea72052Smrg# General Public License for more details. 176ea72052Smrg# 186ea72052Smrg# You should have received a copy of the GNU General Public License 196ea72052Smrg# along with this program; if not, write to the Free Software 206ea72052Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 216ea72052Smrg# 226ea72052Smrg# As a special exception to the GNU General Public License, if you 236ea72052Smrg# distribute this file as part of a program that contains a 246ea72052Smrg# configuration script generated by Autoconf, you may include it under 256ea72052Smrg# the same distribution terms that you use for the rest of that program. 266ea72052Smrg 276ea72052Smrg# Originally written by Per Bothner <per@bothner.com>. 286ea72052Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 296ea72052Smrg# diff and a properly formatted ChangeLog entry. 306ea72052Smrg# 316ea72052Smrg# This script attempts to guess a canonical system name similar to 326ea72052Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 336ea72052Smrg# exits with 0. Otherwise, it exits with 1. 346ea72052Smrg# 356ea72052Smrg# The plan is that this can be called by configure scripts if you 366ea72052Smrg# don't specify an explicit build system type. 376ea72052Smrg 386ea72052Smrgme=`echo "$0" | sed -e 's,.*/,,'` 396ea72052Smrg 406ea72052Smrgusage="\ 416ea72052SmrgUsage: $0 [OPTION] 426ea72052Smrg 436ea72052SmrgOutput the configuration name of the system \`$me' is run on. 446ea72052Smrg 456ea72052SmrgOperation modes: 466ea72052Smrg -h, --help print this help, then exit 476ea72052Smrg -t, --time-stamp print date of last modification, then exit 486ea72052Smrg -v, --version print version number, then exit 496ea72052Smrg 506ea72052SmrgReport bugs and patches to <config-patches@gnu.org>." 516ea72052Smrg 526ea72052Smrgversion="\ 536ea72052SmrgGNU config.guess ($timestamp) 546ea72052Smrg 556ea72052SmrgOriginally written by Per Bothner. 566ea72052SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 576ea72052SmrgFree Software Foundation, Inc. 586ea72052Smrg 596ea72052SmrgThis is free software; see the source for copying conditions. There is NO 606ea72052Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 616ea72052Smrg 626ea72052Smrghelp=" 636ea72052SmrgTry \`$me --help' for more information." 646ea72052Smrg 656ea72052Smrg# Parse command line 666ea72052Smrgwhile test $# -gt 0 ; do 676ea72052Smrg case $1 in 686ea72052Smrg --time-stamp | --time* | -t ) 696ea72052Smrg echo "$timestamp" ; exit 0 ;; 706ea72052Smrg --version | -v ) 716ea72052Smrg echo "$version" ; exit 0 ;; 726ea72052Smrg --help | --h* | -h ) 736ea72052Smrg echo "$usage"; exit 0 ;; 746ea72052Smrg -- ) # Stop option processing 756ea72052Smrg shift; break ;; 766ea72052Smrg - ) # Use stdin as input. 776ea72052Smrg break ;; 786ea72052Smrg -* ) 796ea72052Smrg echo "$me: invalid option $1$help" >&2 806ea72052Smrg exit 1 ;; 816ea72052Smrg * ) 826ea72052Smrg break ;; 836ea72052Smrg esac 846ea72052Smrgdone 856ea72052Smrg 866ea72052Smrgif test $# != 0; then 876ea72052Smrg echo "$me: too many arguments$help" >&2 886ea72052Smrg exit 1 896ea72052Smrgfi 906ea72052Smrg 916ea72052Smrgtrap 'exit 1' 1 2 15 926ea72052Smrg 936ea72052Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 946ea72052Smrg# compiler to aid in system detection is discouraged as it requires 956ea72052Smrg# temporary files to be created and, as you can see below, it is a 966ea72052Smrg# headache to deal with in a portable fashion. 976ea72052Smrg 986ea72052Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 996ea72052Smrg# use `HOST_CC' if defined, but it is deprecated. 1006ea72052Smrg 1016ea72052Smrg# Portable tmp directory creation inspired by the Autoconf team. 1026ea72052Smrg 1036ea72052Smrgset_cc_for_build=' 1046ea72052Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1056ea72052Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 1066ea72052Smrg: ${TMPDIR=/tmp} ; 1076ea72052Smrg { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1086ea72052Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1096ea72052Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1106ea72052Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1116ea72052Smrgdummy=$tmp/dummy ; 1126ea72052Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1136ea72052Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 1146ea72052Smrg ,,) echo "int x;" > $dummy.c ; 1156ea72052Smrg for c in cc gcc c89 c99 ; do 1166ea72052Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 1176ea72052Smrg CC_FOR_BUILD="$c"; break ; 1186ea72052Smrg fi ; 1196ea72052Smrg done ; 1206ea72052Smrg if test x"$CC_FOR_BUILD" = x ; then 1216ea72052Smrg CC_FOR_BUILD=no_compiler_found ; 1226ea72052Smrg fi 1236ea72052Smrg ;; 1246ea72052Smrg ,,*) CC_FOR_BUILD=$CC ;; 1256ea72052Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1266ea72052Smrgesac ;' 1276ea72052Smrg 1286ea72052Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1296ea72052Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1306ea72052Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1316ea72052Smrg PATH=$PATH:/.attbin ; export PATH 1326ea72052Smrgfi 1336ea72052Smrg 1346ea72052SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1356ea72052SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1366ea72052SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1376ea72052SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1386ea72052Smrg 1396ea72052Smrg## for Red Hat Linux 1406ea72052Smrgif test -f /etc/redhat-release ; then 1416ea72052Smrg VENDOR=redhat ; 1426ea72052Smrgelse 1436ea72052Smrg VENDOR= ; 1446ea72052Smrgfi 1456ea72052Smrg 1466ea72052Smrg# Note: order is significant - the case branches are not exclusive. 1476ea72052Smrg 1486ea72052Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 1496ea72052Smrg *:NetBSD:*:*) 1506ea72052Smrg # NetBSD (nbsd) targets should (where applicable) match one or 1516ea72052Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 1526ea72052Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1536ea72052Smrg # switched to ELF, *-*-netbsd* would select the old 1546ea72052Smrg # object file format. This provides both forward 1556ea72052Smrg # compatibility and a consistent mechanism for selecting the 1566ea72052Smrg # object file format. 1576ea72052Smrg # 1586ea72052Smrg # Note: NetBSD doesn't particularly care about the vendor 1596ea72052Smrg # portion of the name. We always set it to "unknown". 1606ea72052Smrg sysctl="sysctl -n hw.machine_arch" 1616ea72052Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 1626ea72052Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 1636ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1646ea72052Smrg armeb) machine=armeb-unknown ;; 1656ea72052Smrg arm*) machine=arm-unknown ;; 1666ea72052Smrg sh3el) machine=shl-unknown ;; 1676ea72052Smrg sh3eb) machine=sh-unknown ;; 1686ea72052Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1696ea72052Smrg esac 1706ea72052Smrg # The Operating System including object format, if it has switched 1716ea72052Smrg # to ELF recently, or will in the future. 1726ea72052Smrg case "${UNAME_MACHINE_ARCH}" in 1736ea72052Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1746ea72052Smrg eval $set_cc_for_build 1756ea72052Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1766ea72052Smrg | grep __ELF__ >/dev/null 1776ea72052Smrg then 1786ea72052Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1796ea72052Smrg # Return netbsd for either. FIX? 1806ea72052Smrg os=netbsd 1816ea72052Smrg else 1826ea72052Smrg os=netbsdelf 1836ea72052Smrg fi 1846ea72052Smrg ;; 1856ea72052Smrg *) 1866ea72052Smrg os=netbsd 1876ea72052Smrg ;; 1886ea72052Smrg esac 1896ea72052Smrg # The OS release 1906ea72052Smrg # Debian GNU/NetBSD machines have a different userland, and 1916ea72052Smrg # thus, need a distinct triplet. However, they do not need 1926ea72052Smrg # kernel version information, so it can be replaced with a 1936ea72052Smrg # suitable tag, in the style of linux-gnu. 1946ea72052Smrg case "${UNAME_VERSION}" in 1956ea72052Smrg Debian*) 1966ea72052Smrg release='-gnu' 1976ea72052Smrg ;; 1986ea72052Smrg *) 1996ea72052Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 2006ea72052Smrg ;; 2016ea72052Smrg esac 2026ea72052Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2036ea72052Smrg # contains redundant information, the shorter form: 2046ea72052Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2056ea72052Smrg echo "${machine}-${os}${release}" 2066ea72052Smrg exit 0 ;; 2076ea72052Smrg amiga:OpenBSD:*:*) 2086ea72052Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2096ea72052Smrg exit 0 ;; 2106ea72052Smrg arc:OpenBSD:*:*) 2116ea72052Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2126ea72052Smrg exit 0 ;; 2136ea72052Smrg hp300:OpenBSD:*:*) 2146ea72052Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2156ea72052Smrg exit 0 ;; 2166ea72052Smrg mac68k:OpenBSD:*:*) 2176ea72052Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2186ea72052Smrg exit 0 ;; 2196ea72052Smrg macppc:OpenBSD:*:*) 2206ea72052Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2216ea72052Smrg exit 0 ;; 2226ea72052Smrg mvme68k:OpenBSD:*:*) 2236ea72052Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2246ea72052Smrg exit 0 ;; 2256ea72052Smrg mvme88k:OpenBSD:*:*) 2266ea72052Smrg echo m88k-unknown-openbsd${UNAME_RELEASE} 2276ea72052Smrg exit 0 ;; 2286ea72052Smrg mvmeppc:OpenBSD:*:*) 2296ea72052Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2306ea72052Smrg exit 0 ;; 2316ea72052Smrg pmax:OpenBSD:*:*) 2326ea72052Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2336ea72052Smrg exit 0 ;; 2346ea72052Smrg sgi:OpenBSD:*:*) 2356ea72052Smrg echo mipseb-unknown-openbsd${UNAME_RELEASE} 2366ea72052Smrg exit 0 ;; 2376ea72052Smrg sun3:OpenBSD:*:*) 2386ea72052Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2396ea72052Smrg exit 0 ;; 2406ea72052Smrg wgrisc:OpenBSD:*:*) 2416ea72052Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2426ea72052Smrg exit 0 ;; 2436ea72052Smrg *:OpenBSD:*:*) 2446ea72052Smrg echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 2456ea72052Smrg exit 0 ;; 2466ea72052Smrg alpha:OSF1:*:*) 2476ea72052Smrg if test $UNAME_RELEASE = "V4.0"; then 2486ea72052Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 2496ea72052Smrg fi 2506ea72052Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2516ea72052Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2526ea72052Smrg # covers most systems running today. This code pipes the CPU 2536ea72052Smrg # types through head -n 1, so we only detect the type of CPU 0. 2546ea72052Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 2556ea72052Smrg case "$ALPHA_CPU_TYPE" in 2566ea72052Smrg "EV4 (21064)") 2576ea72052Smrg UNAME_MACHINE="alpha" ;; 2586ea72052Smrg "EV4.5 (21064)") 2596ea72052Smrg UNAME_MACHINE="alpha" ;; 2606ea72052Smrg "LCA4 (21066/21068)") 2616ea72052Smrg UNAME_MACHINE="alpha" ;; 2626ea72052Smrg "EV5 (21164)") 2636ea72052Smrg UNAME_MACHINE="alphaev5" ;; 2646ea72052Smrg "EV5.6 (21164A)") 2656ea72052Smrg UNAME_MACHINE="alphaev56" ;; 2666ea72052Smrg "EV5.6 (21164PC)") 2676ea72052Smrg UNAME_MACHINE="alphapca56" ;; 2686ea72052Smrg "EV5.7 (21164PC)") 2696ea72052Smrg UNAME_MACHINE="alphapca57" ;; 2706ea72052Smrg "EV6 (21264)") 2716ea72052Smrg UNAME_MACHINE="alphaev6" ;; 2726ea72052Smrg "EV6.7 (21264A)") 2736ea72052Smrg UNAME_MACHINE="alphaev67" ;; 2746ea72052Smrg "EV6.8CB (21264C)") 2756ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2766ea72052Smrg "EV6.8AL (21264B)") 2776ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2786ea72052Smrg "EV6.8CX (21264D)") 2796ea72052Smrg UNAME_MACHINE="alphaev68" ;; 2806ea72052Smrg "EV6.9A (21264/EV69A)") 2816ea72052Smrg UNAME_MACHINE="alphaev69" ;; 2826ea72052Smrg "EV7 (21364)") 2836ea72052Smrg UNAME_MACHINE="alphaev7" ;; 2846ea72052Smrg "EV7.9 (21364A)") 2856ea72052Smrg UNAME_MACHINE="alphaev79" ;; 2866ea72052Smrg esac 2876ea72052Smrg # A Vn.n version is a released version. 2886ea72052Smrg # A Tn.n version is a released field test version. 2896ea72052Smrg # A Xn.n version is an unreleased experimental baselevel. 2906ea72052Smrg # 1.2 uses "1.2" for uname -r. 2916ea72052Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 2926ea72052Smrg exit 0 ;; 2936ea72052Smrg Alpha*:OpenVMS:*:*) 2946ea72052Smrg echo alpha-hp-vms 2956ea72052Smrg exit 0 ;; 2966ea72052Smrg Alpha\ *:Windows_NT*:*) 2976ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 2986ea72052Smrg # Should we change UNAME_MACHINE based on the output of uname instead 2996ea72052Smrg # of the specific Alpha model? 3006ea72052Smrg echo alpha-pc-interix 3016ea72052Smrg exit 0 ;; 3026ea72052Smrg 21064:Windows_NT:50:3) 3036ea72052Smrg echo alpha-dec-winnt3.5 3046ea72052Smrg exit 0 ;; 3056ea72052Smrg Amiga*:UNIX_System_V:4.0:*) 3066ea72052Smrg echo m68k-unknown-sysv4 3076ea72052Smrg exit 0;; 3086ea72052Smrg *:[Aa]miga[Oo][Ss]:*:*) 3096ea72052Smrg echo ${UNAME_MACHINE}-unknown-amigaos 3106ea72052Smrg exit 0 ;; 3116ea72052Smrg *:[Mm]orph[Oo][Ss]:*:*) 3126ea72052Smrg echo ${UNAME_MACHINE}-unknown-morphos 3136ea72052Smrg exit 0 ;; 3146ea72052Smrg *:OS/390:*:*) 3156ea72052Smrg echo i370-ibm-openedition 3166ea72052Smrg exit 0 ;; 3176ea72052Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3186ea72052Smrg echo arm-acorn-riscix${UNAME_RELEASE} 3196ea72052Smrg exit 0;; 3206ea72052Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3216ea72052Smrg echo hppa1.1-hitachi-hiuxmpp 3226ea72052Smrg exit 0;; 3236ea72052Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3246ea72052Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 3256ea72052Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 3266ea72052Smrg echo pyramid-pyramid-sysv3 3276ea72052Smrg else 3286ea72052Smrg echo pyramid-pyramid-bsd 3296ea72052Smrg fi 3306ea72052Smrg exit 0 ;; 3316ea72052Smrg NILE*:*:*:dcosx) 3326ea72052Smrg echo pyramid-pyramid-svr4 3336ea72052Smrg exit 0 ;; 3346ea72052Smrg DRS?6000:unix:4.0:6*) 3356ea72052Smrg echo sparc-icl-nx6 3366ea72052Smrg exit 0 ;; 3376ea72052Smrg DRS?6000:UNIX_SV:4.2*:7*) 3386ea72052Smrg case `/usr/bin/uname -p` in 3396ea72052Smrg sparc) echo sparc-icl-nx7 && exit 0 ;; 3406ea72052Smrg esac ;; 3416ea72052Smrg sun4H:SunOS:5.*:*) 3426ea72052Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3436ea72052Smrg exit 0 ;; 3446ea72052Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3456ea72052Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3466ea72052Smrg exit 0 ;; 3476ea72052Smrg i86pc:SunOS:5.*:*) 3486ea72052Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3496ea72052Smrg exit 0 ;; 3506ea72052Smrg sun4*:SunOS:6*:*) 3516ea72052Smrg # According to config.sub, this is the proper way to canonicalize 3526ea72052Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3536ea72052Smrg # it's likely to be more like Solaris than SunOS4. 3546ea72052Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3556ea72052Smrg exit 0 ;; 3566ea72052Smrg sun4*:SunOS:*:*) 3576ea72052Smrg case "`/usr/bin/arch -k`" in 3586ea72052Smrg Series*|S4*) 3596ea72052Smrg UNAME_RELEASE=`uname -v` 3606ea72052Smrg ;; 3616ea72052Smrg esac 3626ea72052Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 3636ea72052Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 3646ea72052Smrg exit 0 ;; 3656ea72052Smrg sun3*:SunOS:*:*) 3666ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3676ea72052Smrg exit 0 ;; 3686ea72052Smrg sun*:*:4.2BSD:*) 3696ea72052Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 3706ea72052Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 3716ea72052Smrg case "`/bin/arch`" in 3726ea72052Smrg sun3) 3736ea72052Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3746ea72052Smrg ;; 3756ea72052Smrg sun4) 3766ea72052Smrg echo sparc-sun-sunos${UNAME_RELEASE} 3776ea72052Smrg ;; 3786ea72052Smrg esac 3796ea72052Smrg exit 0 ;; 3806ea72052Smrg aushp:SunOS:*:*) 3816ea72052Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 3826ea72052Smrg exit 0 ;; 3836ea72052Smrg # The situation for MiNT is a little confusing. The machine name 3846ea72052Smrg # can be virtually everything (everything which is not 3856ea72052Smrg # "atarist" or "atariste" at least should have a processor 3866ea72052Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 3876ea72052Smrg # to the lowercase version "mint" (or "freemint"). Finally 3886ea72052Smrg # the system name "TOS" denotes a system which is actually not 3896ea72052Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 3906ea72052Smrg # be no problem. 3916ea72052Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 3926ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 3936ea72052Smrg exit 0 ;; 3946ea72052Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 3956ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 3966ea72052Smrg exit 0 ;; 3976ea72052Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 3986ea72052Smrg echo m68k-atari-mint${UNAME_RELEASE} 3996ea72052Smrg exit 0 ;; 4006ea72052Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4016ea72052Smrg echo m68k-milan-mint${UNAME_RELEASE} 4026ea72052Smrg exit 0 ;; 4036ea72052Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4046ea72052Smrg echo m68k-hades-mint${UNAME_RELEASE} 4056ea72052Smrg exit 0 ;; 4066ea72052Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4076ea72052Smrg echo m68k-unknown-mint${UNAME_RELEASE} 4086ea72052Smrg exit 0 ;; 4096ea72052Smrg powerpc:machten:*:*) 4106ea72052Smrg echo powerpc-apple-machten${UNAME_RELEASE} 4116ea72052Smrg exit 0 ;; 4126ea72052Smrg RISC*:Mach:*:*) 4136ea72052Smrg echo mips-dec-mach_bsd4.3 4146ea72052Smrg exit 0 ;; 4156ea72052Smrg RISC*:ULTRIX:*:*) 4166ea72052Smrg echo mips-dec-ultrix${UNAME_RELEASE} 4176ea72052Smrg exit 0 ;; 4186ea72052Smrg VAX*:ULTRIX*:*:*) 4196ea72052Smrg echo vax-dec-ultrix${UNAME_RELEASE} 4206ea72052Smrg exit 0 ;; 4216ea72052Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4226ea72052Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 4236ea72052Smrg exit 0 ;; 4246ea72052Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 4256ea72052Smrg eval $set_cc_for_build 4266ea72052Smrg sed 's/^ //' << EOF >$dummy.c 4276ea72052Smrg#ifdef __cplusplus 4286ea72052Smrg#include <stdio.h> /* for printf() prototype */ 4296ea72052Smrg int main (int argc, char *argv[]) { 4306ea72052Smrg#else 4316ea72052Smrg int main (argc, argv) int argc; char *argv[]; { 4326ea72052Smrg#endif 4336ea72052Smrg #if defined (host_mips) && defined (MIPSEB) 4346ea72052Smrg #if defined (SYSTYPE_SYSV) 4356ea72052Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 4366ea72052Smrg #endif 4376ea72052Smrg #if defined (SYSTYPE_SVR4) 4386ea72052Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4396ea72052Smrg #endif 4406ea72052Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4416ea72052Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4426ea72052Smrg #endif 4436ea72052Smrg #endif 4446ea72052Smrg exit (-1); 4456ea72052Smrg } 4466ea72052SmrgEOF 4476ea72052Smrg $CC_FOR_BUILD -o $dummy $dummy.c \ 4486ea72052Smrg && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 4496ea72052Smrg && exit 0 4506ea72052Smrg echo mips-mips-riscos${UNAME_RELEASE} 4516ea72052Smrg exit 0 ;; 4526ea72052Smrg Motorola:PowerMAX_OS:*:*) 4536ea72052Smrg echo powerpc-motorola-powermax 4546ea72052Smrg exit 0 ;; 4556ea72052Smrg Motorola:*:4.3:PL8-*) 4566ea72052Smrg echo powerpc-harris-powermax 4576ea72052Smrg exit 0 ;; 4586ea72052Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 4596ea72052Smrg echo powerpc-harris-powermax 4606ea72052Smrg exit 0 ;; 4616ea72052Smrg Night_Hawk:Power_UNIX:*:*) 4626ea72052Smrg echo powerpc-harris-powerunix 4636ea72052Smrg exit 0 ;; 4646ea72052Smrg m88k:CX/UX:7*:*) 4656ea72052Smrg echo m88k-harris-cxux7 4666ea72052Smrg exit 0 ;; 4676ea72052Smrg m88k:*:4*:R4*) 4686ea72052Smrg echo m88k-motorola-sysv4 4696ea72052Smrg exit 0 ;; 4706ea72052Smrg m88k:*:3*:R3*) 4716ea72052Smrg echo m88k-motorola-sysv3 4726ea72052Smrg exit 0 ;; 4736ea72052Smrg AViiON:dgux:*:*) 4746ea72052Smrg # DG/UX returns AViiON for all architectures 4756ea72052Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 4766ea72052Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 4776ea72052Smrg then 4786ea72052Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 4796ea72052Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 4806ea72052Smrg then 4816ea72052Smrg echo m88k-dg-dgux${UNAME_RELEASE} 4826ea72052Smrg else 4836ea72052Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 4846ea72052Smrg fi 4856ea72052Smrg else 4866ea72052Smrg echo i586-dg-dgux${UNAME_RELEASE} 4876ea72052Smrg fi 4886ea72052Smrg exit 0 ;; 4896ea72052Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 4906ea72052Smrg echo m88k-dolphin-sysv3 4916ea72052Smrg exit 0 ;; 4926ea72052Smrg M88*:*:R3*:*) 4936ea72052Smrg # Delta 88k system running SVR3 4946ea72052Smrg echo m88k-motorola-sysv3 4956ea72052Smrg exit 0 ;; 4966ea72052Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 4976ea72052Smrg echo m88k-tektronix-sysv3 4986ea72052Smrg exit 0 ;; 4996ea72052Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5006ea72052Smrg echo m68k-tektronix-bsd 5016ea72052Smrg exit 0 ;; 5026ea72052Smrg *:IRIX*:*:*) 5036ea72052Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 5046ea72052Smrg exit 0 ;; 5056ea72052Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 5066ea72052Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 5076ea72052Smrg exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 5086ea72052Smrg i*86:AIX:*:*) 5096ea72052Smrg echo i386-ibm-aix 5106ea72052Smrg exit 0 ;; 5116ea72052Smrg ia64:AIX:*:*) 5126ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5136ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5146ea72052Smrg else 5156ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5166ea72052Smrg fi 5176ea72052Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 5186ea72052Smrg exit 0 ;; 5196ea72052Smrg *:AIX:2:3) 5206ea72052Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 5216ea72052Smrg eval $set_cc_for_build 5226ea72052Smrg sed 's/^ //' << EOF >$dummy.c 5236ea72052Smrg #include <sys/systemcfg.h> 5246ea72052Smrg 5256ea72052Smrg main() 5266ea72052Smrg { 5276ea72052Smrg if (!__power_pc()) 5286ea72052Smrg exit(1); 5296ea72052Smrg puts("powerpc-ibm-aix3.2.5"); 5306ea72052Smrg exit(0); 5316ea72052Smrg } 5326ea72052SmrgEOF 5336ea72052Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 5346ea72052Smrg echo rs6000-ibm-aix3.2.5 5356ea72052Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 5366ea72052Smrg echo rs6000-ibm-aix3.2.4 5376ea72052Smrg else 5386ea72052Smrg echo rs6000-ibm-aix3.2 5396ea72052Smrg fi 5406ea72052Smrg exit 0 ;; 5416ea72052Smrg *:AIX:*:[45]) 5426ea72052Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 5436ea72052Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5446ea72052Smrg IBM_ARCH=rs6000 5456ea72052Smrg else 5466ea72052Smrg IBM_ARCH=powerpc 5476ea72052Smrg fi 5486ea72052Smrg if [ -x /usr/bin/oslevel ] ; then 5496ea72052Smrg IBM_REV=`/usr/bin/oslevel` 5506ea72052Smrg else 5516ea72052Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5526ea72052Smrg fi 5536ea72052Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 5546ea72052Smrg exit 0 ;; 5556ea72052Smrg *:AIX:*:*) 5566ea72052Smrg echo rs6000-ibm-aix 5576ea72052Smrg exit 0 ;; 5586ea72052Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5596ea72052Smrg echo romp-ibm-bsd4.4 5606ea72052Smrg exit 0 ;; 5616ea72052Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5626ea72052Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 5636ea72052Smrg exit 0 ;; # report: romp-ibm BSD 4.3 5646ea72052Smrg *:BOSX:*:*) 5656ea72052Smrg echo rs6000-bull-bosx 5666ea72052Smrg exit 0 ;; 5676ea72052Smrg DPX/2?00:B.O.S.:*:*) 5686ea72052Smrg echo m68k-bull-sysv3 5696ea72052Smrg exit 0 ;; 5706ea72052Smrg 9000/[34]??:4.3bsd:1.*:*) 5716ea72052Smrg echo m68k-hp-bsd 5726ea72052Smrg exit 0 ;; 5736ea72052Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 5746ea72052Smrg echo m68k-hp-bsd4.4 5756ea72052Smrg exit 0 ;; 5766ea72052Smrg 9000/[34678]??:HP-UX:*:*) 5776ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 5786ea72052Smrg case "${UNAME_MACHINE}" in 5796ea72052Smrg 9000/31? ) HP_ARCH=m68000 ;; 5806ea72052Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 5816ea72052Smrg 9000/[678][0-9][0-9]) 5826ea72052Smrg if [ -x /usr/bin/getconf ]; then 5836ea72052Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 5846ea72052Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 5856ea72052Smrg case "${sc_cpu_version}" in 5866ea72052Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 5876ea72052Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 5886ea72052Smrg 532) # CPU_PA_RISC2_0 5896ea72052Smrg case "${sc_kernel_bits}" in 5906ea72052Smrg 32) HP_ARCH="hppa2.0n" ;; 5916ea72052Smrg 64) HP_ARCH="hppa2.0w" ;; 5926ea72052Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 5936ea72052Smrg esac ;; 5946ea72052Smrg esac 5956ea72052Smrg fi 5966ea72052Smrg if [ "${HP_ARCH}" = "" ]; then 5976ea72052Smrg eval $set_cc_for_build 5986ea72052Smrg sed 's/^ //' << EOF >$dummy.c 5996ea72052Smrg 6006ea72052Smrg #define _HPUX_SOURCE 6016ea72052Smrg #include <stdlib.h> 6026ea72052Smrg #include <unistd.h> 6036ea72052Smrg 6046ea72052Smrg int main () 6056ea72052Smrg { 6066ea72052Smrg #if defined(_SC_KERNEL_BITS) 6076ea72052Smrg long bits = sysconf(_SC_KERNEL_BITS); 6086ea72052Smrg #endif 6096ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6106ea72052Smrg 6116ea72052Smrg switch (cpu) 6126ea72052Smrg { 6136ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6146ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6156ea72052Smrg case CPU_PA_RISC2_0: 6166ea72052Smrg #if defined(_SC_KERNEL_BITS) 6176ea72052Smrg switch (bits) 6186ea72052Smrg { 6196ea72052Smrg case 64: puts ("hppa2.0w"); break; 6206ea72052Smrg case 32: puts ("hppa2.0n"); break; 6216ea72052Smrg default: puts ("hppa2.0"); break; 6226ea72052Smrg } break; 6236ea72052Smrg #else /* !defined(_SC_KERNEL_BITS) */ 6246ea72052Smrg puts ("hppa2.0"); break; 6256ea72052Smrg #endif 6266ea72052Smrg default: puts ("hppa1.0"); break; 6276ea72052Smrg } 6286ea72052Smrg exit (0); 6296ea72052Smrg } 6306ea72052SmrgEOF 6316ea72052Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 6326ea72052Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 6336ea72052Smrg fi ;; 6346ea72052Smrg esac 6356ea72052Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 6366ea72052Smrg then 6376ea72052Smrg # avoid double evaluation of $set_cc_for_build 6386ea72052Smrg test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 6396ea72052Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 6406ea72052Smrg then 6416ea72052Smrg HP_ARCH="hppa2.0w" 6426ea72052Smrg else 6436ea72052Smrg HP_ARCH="hppa64" 6446ea72052Smrg fi 6456ea72052Smrg fi 6466ea72052Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 6476ea72052Smrg exit 0 ;; 6486ea72052Smrg ia64:HP-UX:*:*) 6496ea72052Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6506ea72052Smrg echo ia64-hp-hpux${HPUX_REV} 6516ea72052Smrg exit 0 ;; 6526ea72052Smrg 3050*:HI-UX:*:*) 6536ea72052Smrg eval $set_cc_for_build 6546ea72052Smrg sed 's/^ //' << EOF >$dummy.c 6556ea72052Smrg #include <unistd.h> 6566ea72052Smrg int 6576ea72052Smrg main () 6586ea72052Smrg { 6596ea72052Smrg long cpu = sysconf (_SC_CPU_VERSION); 6606ea72052Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6616ea72052Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6626ea72052Smrg results, however. */ 6636ea72052Smrg if (CPU_IS_PA_RISC (cpu)) 6646ea72052Smrg { 6656ea72052Smrg switch (cpu) 6666ea72052Smrg { 6676ea72052Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6686ea72052Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6696ea72052Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6706ea72052Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 6716ea72052Smrg } 6726ea72052Smrg } 6736ea72052Smrg else if (CPU_IS_HP_MC68K (cpu)) 6746ea72052Smrg puts ("m68k-hitachi-hiuxwe2"); 6756ea72052Smrg else puts ("unknown-hitachi-hiuxwe2"); 6766ea72052Smrg exit (0); 6776ea72052Smrg } 6786ea72052SmrgEOF 6796ea72052Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 6806ea72052Smrg echo unknown-hitachi-hiuxwe2 6816ea72052Smrg exit 0 ;; 6826ea72052Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 6836ea72052Smrg echo hppa1.1-hp-bsd 6846ea72052Smrg exit 0 ;; 6856ea72052Smrg 9000/8??:4.3bsd:*:*) 6866ea72052Smrg echo hppa1.0-hp-bsd 6876ea72052Smrg exit 0 ;; 6886ea72052Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 6896ea72052Smrg echo hppa1.0-hp-mpeix 6906ea72052Smrg exit 0 ;; 6916ea72052Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 6926ea72052Smrg echo hppa1.1-hp-osf 6936ea72052Smrg exit 0 ;; 6946ea72052Smrg hp8??:OSF1:*:*) 6956ea72052Smrg echo hppa1.0-hp-osf 6966ea72052Smrg exit 0 ;; 6976ea72052Smrg i*86:OSF1:*:*) 6986ea72052Smrg if [ -x /usr/sbin/sysversion ] ; then 6996ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 7006ea72052Smrg else 7016ea72052Smrg echo ${UNAME_MACHINE}-unknown-osf1 7026ea72052Smrg fi 7036ea72052Smrg exit 0 ;; 7046ea72052Smrg parisc*:Lites*:*:*) 7056ea72052Smrg echo hppa1.1-hp-lites 7066ea72052Smrg exit 0 ;; 7076ea72052Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7086ea72052Smrg echo c1-convex-bsd 7096ea72052Smrg exit 0 ;; 7106ea72052Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7116ea72052Smrg if getsysinfo -f scalar_acc 7126ea72052Smrg then echo c32-convex-bsd 7136ea72052Smrg else echo c2-convex-bsd 7146ea72052Smrg fi 7156ea72052Smrg exit 0 ;; 7166ea72052Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 7176ea72052Smrg echo c34-convex-bsd 7186ea72052Smrg exit 0 ;; 7196ea72052Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 7206ea72052Smrg echo c38-convex-bsd 7216ea72052Smrg exit 0 ;; 7226ea72052Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 7236ea72052Smrg echo c4-convex-bsd 7246ea72052Smrg exit 0 ;; 7256ea72052Smrg CRAY*Y-MP:*:*:*) 7266ea72052Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7276ea72052Smrg exit 0 ;; 7286ea72052Smrg CRAY*[A-Z]90:*:*:*) 7296ea72052Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 7306ea72052Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 7316ea72052Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 7326ea72052Smrg -e 's/\.[^.]*$/.X/' 7336ea72052Smrg exit 0 ;; 7346ea72052Smrg CRAY*TS:*:*:*) 7356ea72052Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7366ea72052Smrg exit 0 ;; 7376ea72052Smrg CRAY*T3E:*:*:*) 7386ea72052Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7396ea72052Smrg exit 0 ;; 7406ea72052Smrg CRAY*SV1:*:*:*) 7416ea72052Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7426ea72052Smrg exit 0 ;; 7436ea72052Smrg *:UNICOS/mp:*:*) 7446ea72052Smrg echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7456ea72052Smrg exit 0 ;; 7466ea72052Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 7476ea72052Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 7486ea72052Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7496ea72052Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 7506ea72052Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 7516ea72052Smrg exit 0 ;; 7526ea72052Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7536ea72052Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 7546ea72052Smrg exit 0 ;; 7556ea72052Smrg sparc*:BSD/OS:*:*) 7566ea72052Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 7576ea72052Smrg exit 0 ;; 7586ea72052Smrg *:BSD/OS:*:*) 7596ea72052Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 7606ea72052Smrg exit 0 ;; 7616ea72052Smrg *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) 7626ea72052Smrg # Determine whether the default compiler uses glibc. 7636ea72052Smrg eval $set_cc_for_build 7646ea72052Smrg sed 's/^ //' << EOF >$dummy.c 7656ea72052Smrg #include <features.h> 7666ea72052Smrg #if __GLIBC__ >= 2 7676ea72052Smrg LIBC=gnu 7686ea72052Smrg #else 7696ea72052Smrg LIBC= 7706ea72052Smrg #endif 7716ea72052SmrgEOF 7726ea72052Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 7736ea72052Smrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 7746ea72052Smrg exit 0 ;; 7756ea72052Smrg i*:CYGWIN*:*) 7766ea72052Smrg echo ${UNAME_MACHINE}-pc-cygwin 7776ea72052Smrg exit 0 ;; 7786ea72052Smrg i*:MINGW*:*) 7796ea72052Smrg echo ${UNAME_MACHINE}-pc-mingw32 7806ea72052Smrg exit 0 ;; 7816ea72052Smrg i*:PW*:*) 7826ea72052Smrg echo ${UNAME_MACHINE}-pc-pw32 7836ea72052Smrg exit 0 ;; 7846ea72052Smrg x86:Interix*:[34]*) 7856ea72052Smrg echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 7866ea72052Smrg exit 0 ;; 7876ea72052Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 7886ea72052Smrg echo i${UNAME_MACHINE}-pc-mks 7896ea72052Smrg exit 0 ;; 7906ea72052Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 7916ea72052Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 7926ea72052Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 7936ea72052Smrg # UNAME_MACHINE based on the output of uname instead of i386? 7946ea72052Smrg echo i586-pc-interix 7956ea72052Smrg exit 0 ;; 7966ea72052Smrg i*:UWIN*:*) 7976ea72052Smrg echo ${UNAME_MACHINE}-pc-uwin 7986ea72052Smrg exit 0 ;; 7996ea72052Smrg p*:CYGWIN*:*) 8006ea72052Smrg echo powerpcle-unknown-cygwin 8016ea72052Smrg exit 0 ;; 8026ea72052Smrg prep*:SunOS:5.*:*) 8036ea72052Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 8046ea72052Smrg exit 0 ;; 8056ea72052Smrg *:GNU:*:*) 8066ea72052Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 8076ea72052Smrg exit 0 ;; 8086ea72052Smrg i*86:Minix:*:*) 8096ea72052Smrg echo ${UNAME_MACHINE}-pc-minix 8106ea72052Smrg exit 0 ;; 8116ea72052Smrg arm*:Linux:*:*) 8126ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8136ea72052Smrg exit 0 ;; 8146ea72052Smrg cris:Linux:*:*) 8156ea72052Smrg echo cris-axis-linux-gnu 8166ea72052Smrg exit 0 ;; 8176ea72052Smrg ia64:Linux:*:*) 8186ea72052Smrg echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu 8196ea72052Smrg exit 0 ;; 8206ea72052Smrg m68*:Linux:*:*) 8216ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8226ea72052Smrg exit 0 ;; 8236ea72052Smrg mips:Linux:*:*) 8246ea72052Smrg eval $set_cc_for_build 8256ea72052Smrg sed 's/^ //' << EOF >$dummy.c 8266ea72052Smrg #undef CPU 8276ea72052Smrg #undef mips 8286ea72052Smrg #undef mipsel 8296ea72052Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8306ea72052Smrg CPU=mipsel 8316ea72052Smrg #else 8326ea72052Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8336ea72052Smrg CPU=mips 8346ea72052Smrg #else 8356ea72052Smrg CPU= 8366ea72052Smrg #endif 8376ea72052Smrg #endif 8386ea72052SmrgEOF 8396ea72052Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 8406ea72052Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 8416ea72052Smrg ;; 8426ea72052Smrg mips64:Linux:*:*) 8436ea72052Smrg eval $set_cc_for_build 8446ea72052Smrg sed 's/^ //' << EOF >$dummy.c 8456ea72052Smrg #undef CPU 8466ea72052Smrg #undef mips64 8476ea72052Smrg #undef mips64el 8486ea72052Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8496ea72052Smrg CPU=mips64el 8506ea72052Smrg #else 8516ea72052Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8526ea72052Smrg CPU=mips64 8536ea72052Smrg #else 8546ea72052Smrg CPU= 8556ea72052Smrg #endif 8566ea72052Smrg #endif 8576ea72052SmrgEOF 8586ea72052Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 8596ea72052Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 8606ea72052Smrg ;; 8616ea72052Smrg ppc:Linux:*:*) 8626ea72052Smrg echo powerpc-${VENDOR:-unknown}-linux-gnu 8636ea72052Smrg exit 0 ;; 8646ea72052Smrg ppc64:Linux:*:*) 8656ea72052Smrg echo powerpc64-${VENDOR:-unknown}-linux-gnu 8666ea72052Smrg exit 0 ;; 8676ea72052Smrg alpha:Linux:*:*) 8686ea72052Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 8696ea72052Smrg EV5) UNAME_MACHINE=alphaev5 ;; 8706ea72052Smrg EV56) UNAME_MACHINE=alphaev56 ;; 8716ea72052Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 8726ea72052Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 8736ea72052Smrg EV6) UNAME_MACHINE=alphaev6 ;; 8746ea72052Smrg EV67) UNAME_MACHINE=alphaev67 ;; 8756ea72052Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 8766ea72052Smrg esac 8776ea72052Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 8786ea72052Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 8796ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 8806ea72052Smrg exit 0 ;; 8816ea72052Smrg parisc:Linux:*:* | hppa:Linux:*:*) 8826ea72052Smrg # Look for CPU level 8836ea72052Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 8846ea72052Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 8856ea72052Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 8866ea72052Smrg *) echo hppa-unknown-linux-gnu ;; 8876ea72052Smrg esac 8886ea72052Smrg exit 0 ;; 8896ea72052Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 8906ea72052Smrg echo hppa64-unknown-linux-gnu 8916ea72052Smrg exit 0 ;; 8926ea72052Smrg s390:Linux:*:* | s390x:Linux:*:*) 8936ea72052Smrg echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu 8946ea72052Smrg exit 0 ;; 8956ea72052Smrg sh64*:Linux:*:*) 8966ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8976ea72052Smrg exit 0 ;; 8986ea72052Smrg sh*:Linux:*:*) 8996ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9006ea72052Smrg exit 0 ;; 9016ea72052Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 9026ea72052Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9036ea72052Smrg exit 0 ;; 9046ea72052Smrg x86_64:Linux:*:*) 9056ea72052Smrg echo x86_64-${VENDOR:-unknown}-linux-gnu 9066ea72052Smrg exit 0 ;; 9076ea72052Smrg i*86:Linux:*:*) 9086ea72052Smrg # The BFD linker knows what the default object file format is, so 9096ea72052Smrg # first see if it will tell us. cd to the root directory to prevent 9106ea72052Smrg # problems with other programs or directories called `ld' in the path. 9116ea72052Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 9126ea72052Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 9136ea72052Smrg | sed -ne '/supported targets:/!d 9146ea72052Smrg s/[ ][ ]*/ /g 9156ea72052Smrg s/.*supported targets: *// 9166ea72052Smrg s/ .*// 9176ea72052Smrg p'` 9186ea72052Smrg case "$ld_supported_targets" in 9196ea72052Smrg elf32-i386) 9206ea72052Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 9216ea72052Smrg ;; 9226ea72052Smrg a.out-i386-linux) 9236ea72052Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 9246ea72052Smrg exit 0 ;; 9256ea72052Smrg coff-i386) 9266ea72052Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 9276ea72052Smrg exit 0 ;; 9286ea72052Smrg "") 9296ea72052Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 9306ea72052Smrg # one that does not give us useful --help. 9316ea72052Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 9326ea72052Smrg exit 0 ;; 9336ea72052Smrg esac 9346ea72052Smrg # Determine whether the default compiler is a.out or elf 9356ea72052Smrg eval $set_cc_for_build 9366ea72052Smrg sed 's/^ //' << EOF >$dummy.c 9376ea72052Smrg #include <features.h> 9386ea72052Smrg #ifdef __ELF__ 9396ea72052Smrg # ifdef __GLIBC__ 9406ea72052Smrg # if __GLIBC__ >= 2 9416ea72052Smrg LIBC=gnu 9426ea72052Smrg # else 9436ea72052Smrg LIBC=gnulibc1 9446ea72052Smrg # endif 9456ea72052Smrg # else 9466ea72052Smrg LIBC=gnulibc1 9476ea72052Smrg # endif 9486ea72052Smrg #else 9496ea72052Smrg #ifdef __INTEL_COMPILER 9506ea72052Smrg LIBC=gnu 9516ea72052Smrg #else 9526ea72052Smrg LIBC=gnuaout 9536ea72052Smrg #endif 9546ea72052Smrg #endif 9556ea72052SmrgEOF 9566ea72052Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 9576ea72052Smrg test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 9586ea72052Smrg test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 9596ea72052Smrg ;; 9606ea72052Smrg i*86:DYNIX/ptx:4*:*) 9616ea72052Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 9626ea72052Smrg # earlier versions are messed up and put the nodename in both 9636ea72052Smrg # sysname and nodename. 9646ea72052Smrg echo i386-sequent-sysv4 9656ea72052Smrg exit 0 ;; 9666ea72052Smrg i*86:UNIX_SV:4.2MP:2.*) 9676ea72052Smrg # Unixware is an offshoot of SVR4, but it has its own version 9686ea72052Smrg # number series starting with 2... 9696ea72052Smrg # I am not positive that other SVR4 systems won't match this, 9706ea72052Smrg # I just have to hope. -- rms. 9716ea72052Smrg # Use sysv4.2uw... so that sysv4* matches it. 9726ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 9736ea72052Smrg exit 0 ;; 9746ea72052Smrg i*86:OS/2:*:*) 9756ea72052Smrg # If we were able to find `uname', then EMX Unix compatibility 9766ea72052Smrg # is probably installed. 9776ea72052Smrg echo ${UNAME_MACHINE}-pc-os2-emx 9786ea72052Smrg exit 0 ;; 9796ea72052Smrg i*86:XTS-300:*:STOP) 9806ea72052Smrg echo ${UNAME_MACHINE}-unknown-stop 9816ea72052Smrg exit 0 ;; 9826ea72052Smrg i*86:atheos:*:*) 9836ea72052Smrg echo ${UNAME_MACHINE}-unknown-atheos 9846ea72052Smrg exit 0 ;; 9856ea72052Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 9866ea72052Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 9876ea72052Smrg exit 0 ;; 9886ea72052Smrg i*86:*DOS:*:*) 9896ea72052Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 9906ea72052Smrg exit 0 ;; 9916ea72052Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 9926ea72052Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 9936ea72052Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 9946ea72052Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 9956ea72052Smrg else 9966ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 9976ea72052Smrg fi 9986ea72052Smrg exit 0 ;; 9996ea72052Smrg i*86:*:5:[78]*) 10006ea72052Smrg case `/bin/uname -X | grep "^Machine"` in 10016ea72052Smrg *486*) UNAME_MACHINE=i486 ;; 10026ea72052Smrg *Pentium) UNAME_MACHINE=i586 ;; 10036ea72052Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 10046ea72052Smrg esac 10056ea72052Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 10066ea72052Smrg exit 0 ;; 10076ea72052Smrg i*86:*:3.2:*) 10086ea72052Smrg if test -f /usr/options/cb.name; then 10096ea72052Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 10106ea72052Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 10116ea72052Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 10126ea72052Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 10136ea72052Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 10146ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 10156ea72052Smrg && UNAME_MACHINE=i586 10166ea72052Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 10176ea72052Smrg && UNAME_MACHINE=i686 10186ea72052Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 10196ea72052Smrg && UNAME_MACHINE=i686 10206ea72052Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 10216ea72052Smrg else 10226ea72052Smrg echo ${UNAME_MACHINE}-pc-sysv32 10236ea72052Smrg fi 10246ea72052Smrg exit 0 ;; 10256ea72052Smrg pc:*:*:*) 10266ea72052Smrg # Left here for compatibility: 10276ea72052Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 10286ea72052Smrg # the processor, so we play safe by assuming i386. 10296ea72052Smrg echo i386-pc-msdosdjgpp 10306ea72052Smrg exit 0 ;; 10316ea72052Smrg Intel:Mach:3*:*) 10326ea72052Smrg echo i386-pc-mach3 10336ea72052Smrg exit 0 ;; 10346ea72052Smrg paragon:*:*:*) 10356ea72052Smrg echo i860-intel-osf1 10366ea72052Smrg exit 0 ;; 10376ea72052Smrg i860:*:4.*:*) # i860-SVR4 10386ea72052Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10396ea72052Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10406ea72052Smrg else # Add other i860-SVR4 vendors below as they are discovered. 10416ea72052Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10426ea72052Smrg fi 10436ea72052Smrg exit 0 ;; 10446ea72052Smrg mini*:CTIX:SYS*5:*) 10456ea72052Smrg # "miniframe" 10466ea72052Smrg echo m68010-convergent-sysv 10476ea72052Smrg exit 0 ;; 10486ea72052Smrg mc68k:UNIX:SYSTEM5:3.51m) 10496ea72052Smrg echo m68k-convergent-sysv 10506ea72052Smrg exit 0 ;; 10516ea72052Smrg M680?0:D-NIX:5.3:*) 10526ea72052Smrg echo m68k-diab-dnix 10536ea72052Smrg exit 0 ;; 10546ea72052Smrg M68*:*:R3V[567]*:*) 10556ea72052Smrg test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 10566ea72052Smrg 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) 10576ea72052Smrg OS_REL='' 10586ea72052Smrg test -r /etc/.relid \ 10596ea72052Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 10606ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10616ea72052Smrg && echo i486-ncr-sysv4.3${OS_REL} && exit 0 10626ea72052Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 10636ea72052Smrg && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 10646ea72052Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 10656ea72052Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10666ea72052Smrg && echo i486-ncr-sysv4 && exit 0 ;; 10676ea72052Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 10686ea72052Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 10696ea72052Smrg exit 0 ;; 10706ea72052Smrg mc68030:UNIX_System_V:4.*:*) 10716ea72052Smrg echo m68k-atari-sysv4 10726ea72052Smrg exit 0 ;; 10736ea72052Smrg TSUNAMI:LynxOS:2.*:*) 10746ea72052Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 10756ea72052Smrg exit 0 ;; 10766ea72052Smrg rs6000:LynxOS:2.*:*) 10776ea72052Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 10786ea72052Smrg exit 0 ;; 10796ea72052Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 10806ea72052Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 10816ea72052Smrg exit 0 ;; 10826ea72052Smrg SM[BE]S:UNIX_SV:*:*) 10836ea72052Smrg echo mips-dde-sysv${UNAME_RELEASE} 10846ea72052Smrg exit 0 ;; 10856ea72052Smrg RM*:ReliantUNIX-*:*:*) 10866ea72052Smrg echo mips-sni-sysv4 10876ea72052Smrg exit 0 ;; 10886ea72052Smrg RM*:SINIX-*:*:*) 10896ea72052Smrg echo mips-sni-sysv4 10906ea72052Smrg exit 0 ;; 10916ea72052Smrg *:SINIX-*:*:*) 10926ea72052Smrg if uname -p 2>/dev/null >/dev/null ; then 10936ea72052Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 10946ea72052Smrg echo ${UNAME_MACHINE}-sni-sysv4 10956ea72052Smrg else 10966ea72052Smrg echo ns32k-sni-sysv 10976ea72052Smrg fi 10986ea72052Smrg exit 0 ;; 10996ea72052Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 11006ea72052Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 11016ea72052Smrg echo i586-unisys-sysv4 11026ea72052Smrg exit 0 ;; 11036ea72052Smrg *:UNIX_System_V:4*:FTX*) 11046ea72052Smrg # From Gerald Hewes <hewes@openmarket.com>. 11056ea72052Smrg # How about differentiating between stratus architectures? -djm 11066ea72052Smrg echo hppa1.1-stratus-sysv4 11076ea72052Smrg exit 0 ;; 11086ea72052Smrg *:*:*:FTX*) 11096ea72052Smrg # From seanf@swdc.stratus.com. 11106ea72052Smrg echo i860-stratus-sysv4 11116ea72052Smrg exit 0 ;; 11126ea72052Smrg *:VOS:*:*) 11136ea72052Smrg # From Paul.Green@stratus.com. 11146ea72052Smrg echo hppa1.1-stratus-vos 11156ea72052Smrg exit 0 ;; 11166ea72052Smrg mc68*:A/UX:*:*) 11176ea72052Smrg echo m68k-apple-aux${UNAME_RELEASE} 11186ea72052Smrg exit 0 ;; 11196ea72052Smrg news*:NEWS-OS:6*:*) 11206ea72052Smrg echo mips-sony-newsos6 11216ea72052Smrg exit 0 ;; 11226ea72052Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 11236ea72052Smrg if [ -d /usr/nec ]; then 11246ea72052Smrg echo mips-nec-sysv${UNAME_RELEASE} 11256ea72052Smrg else 11266ea72052Smrg echo mips-unknown-sysv${UNAME_RELEASE} 11276ea72052Smrg fi 11286ea72052Smrg exit 0 ;; 11296ea72052Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 11306ea72052Smrg echo powerpc-be-beos 11316ea72052Smrg exit 0 ;; 11326ea72052Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 11336ea72052Smrg echo powerpc-apple-beos 11346ea72052Smrg exit 0 ;; 11356ea72052Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 11366ea72052Smrg echo i586-pc-beos 11376ea72052Smrg exit 0 ;; 11386ea72052Smrg SX-4:SUPER-UX:*:*) 11396ea72052Smrg echo sx4-nec-superux${UNAME_RELEASE} 11406ea72052Smrg exit 0 ;; 11416ea72052Smrg SX-5:SUPER-UX:*:*) 11426ea72052Smrg echo sx5-nec-superux${UNAME_RELEASE} 11436ea72052Smrg exit 0 ;; 11446ea72052Smrg SX-6:SUPER-UX:*:*) 11456ea72052Smrg echo sx6-nec-superux${UNAME_RELEASE} 11466ea72052Smrg exit 0 ;; 11476ea72052Smrg Power*:Rhapsody:*:*) 11486ea72052Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 11496ea72052Smrg exit 0 ;; 11506ea72052Smrg *:Rhapsody:*:*) 11516ea72052Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 11526ea72052Smrg exit 0 ;; 11536ea72052Smrg *:Darwin:*:*) 11546ea72052Smrg case `uname -p` in 11556ea72052Smrg *86) UNAME_PROCESSOR=i686 ;; 11566ea72052Smrg powerpc) UNAME_PROCESSOR=powerpc ;; 11576ea72052Smrg esac 11586ea72052Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 11596ea72052Smrg exit 0 ;; 11606ea72052Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 11616ea72052Smrg UNAME_PROCESSOR=`uname -p` 11626ea72052Smrg if test "$UNAME_PROCESSOR" = "x86"; then 11636ea72052Smrg UNAME_PROCESSOR=i386 11646ea72052Smrg UNAME_MACHINE=pc 11656ea72052Smrg fi 11666ea72052Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 11676ea72052Smrg exit 0 ;; 11686ea72052Smrg *:QNX:*:4*) 11696ea72052Smrg echo i386-pc-qnx 11706ea72052Smrg exit 0 ;; 11716ea72052Smrg NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) 11726ea72052Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 11736ea72052Smrg exit 0 ;; 11746ea72052Smrg *:NonStop-UX:*:*) 11756ea72052Smrg echo mips-compaq-nonstopux 11766ea72052Smrg exit 0 ;; 11776ea72052Smrg BS2000:POSIX*:*:*) 11786ea72052Smrg echo bs2000-siemens-sysv 11796ea72052Smrg exit 0 ;; 11806ea72052Smrg DS/*:UNIX_System_V:*:*) 11816ea72052Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 11826ea72052Smrg exit 0 ;; 11836ea72052Smrg *:Plan9:*:*) 11846ea72052Smrg # "uname -m" is not consistent, so use $cputype instead. 386 11856ea72052Smrg # is converted to i386 for consistency with other x86 11866ea72052Smrg # operating systems. 11876ea72052Smrg if test "$cputype" = "386"; then 11886ea72052Smrg UNAME_MACHINE=i386 11896ea72052Smrg else 11906ea72052Smrg UNAME_MACHINE="$cputype" 11916ea72052Smrg fi 11926ea72052Smrg echo ${UNAME_MACHINE}-unknown-plan9 11936ea72052Smrg exit 0 ;; 11946ea72052Smrg *:TOPS-10:*:*) 11956ea72052Smrg echo pdp10-unknown-tops10 11966ea72052Smrg exit 0 ;; 11976ea72052Smrg *:TENEX:*:*) 11986ea72052Smrg echo pdp10-unknown-tenex 11996ea72052Smrg exit 0 ;; 12006ea72052Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 12016ea72052Smrg echo pdp10-dec-tops20 12026ea72052Smrg exit 0 ;; 12036ea72052Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 12046ea72052Smrg echo pdp10-xkl-tops20 12056ea72052Smrg exit 0 ;; 12066ea72052Smrg *:TOPS-20:*:*) 12076ea72052Smrg echo pdp10-unknown-tops20 12086ea72052Smrg exit 0 ;; 12096ea72052Smrg *:ITS:*:*) 12106ea72052Smrg echo pdp10-unknown-its 12116ea72052Smrg exit 0 ;; 12126ea72052Smrg SEI:*:*:SEIUX) 12136ea72052Smrg echo mips-sei-seiux${UNAME_RELEASE} 12146ea72052Smrg exit 0 ;; 12156ea72052Smrgesac 12166ea72052Smrg 12176ea72052Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 12186ea72052Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 12196ea72052Smrg 12206ea72052Smrgeval $set_cc_for_build 12216ea72052Smrgcat >$dummy.c <<EOF 12226ea72052Smrg#ifdef _SEQUENT_ 12236ea72052Smrg# include <sys/types.h> 12246ea72052Smrg# include <sys/utsname.h> 12256ea72052Smrg#endif 12266ea72052Smrgmain () 12276ea72052Smrg{ 12286ea72052Smrg#if defined (sony) 12296ea72052Smrg#if defined (MIPSEB) 12306ea72052Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 12316ea72052Smrg I don't know.... */ 12326ea72052Smrg printf ("mips-sony-bsd\n"); exit (0); 12336ea72052Smrg#else 12346ea72052Smrg#include <sys/param.h> 12356ea72052Smrg printf ("m68k-sony-newsos%s\n", 12366ea72052Smrg#ifdef NEWSOS4 12376ea72052Smrg "4" 12386ea72052Smrg#else 12396ea72052Smrg "" 12406ea72052Smrg#endif 12416ea72052Smrg ); exit (0); 12426ea72052Smrg#endif 12436ea72052Smrg#endif 12446ea72052Smrg 12456ea72052Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 12466ea72052Smrg printf ("arm-acorn-riscix"); exit (0); 12476ea72052Smrg#endif 12486ea72052Smrg 12496ea72052Smrg#if defined (hp300) && !defined (hpux) 12506ea72052Smrg printf ("m68k-hp-bsd\n"); exit (0); 12516ea72052Smrg#endif 12526ea72052Smrg 12536ea72052Smrg#if defined (NeXT) 12546ea72052Smrg#if !defined (__ARCHITECTURE__) 12556ea72052Smrg#define __ARCHITECTURE__ "m68k" 12566ea72052Smrg#endif 12576ea72052Smrg int version; 12586ea72052Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 12596ea72052Smrg if (version < 4) 12606ea72052Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 12616ea72052Smrg else 12626ea72052Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 12636ea72052Smrg exit (0); 12646ea72052Smrg#endif 12656ea72052Smrg 12666ea72052Smrg#if defined (MULTIMAX) || defined (n16) 12676ea72052Smrg#if defined (UMAXV) 12686ea72052Smrg printf ("ns32k-encore-sysv\n"); exit (0); 12696ea72052Smrg#else 12706ea72052Smrg#if defined (CMU) 12716ea72052Smrg printf ("ns32k-encore-mach\n"); exit (0); 12726ea72052Smrg#else 12736ea72052Smrg printf ("ns32k-encore-bsd\n"); exit (0); 12746ea72052Smrg#endif 12756ea72052Smrg#endif 12766ea72052Smrg#endif 12776ea72052Smrg 12786ea72052Smrg#if defined (__386BSD__) 12796ea72052Smrg printf ("i386-pc-bsd\n"); exit (0); 12806ea72052Smrg#endif 12816ea72052Smrg 12826ea72052Smrg#if defined (sequent) 12836ea72052Smrg#if defined (i386) 12846ea72052Smrg printf ("i386-sequent-dynix\n"); exit (0); 12856ea72052Smrg#endif 12866ea72052Smrg#if defined (ns32000) 12876ea72052Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 12886ea72052Smrg#endif 12896ea72052Smrg#endif 12906ea72052Smrg 12916ea72052Smrg#if defined (_SEQUENT_) 12926ea72052Smrg struct utsname un; 12936ea72052Smrg 12946ea72052Smrg uname(&un); 12956ea72052Smrg 12966ea72052Smrg if (strncmp(un.version, "V2", 2) == 0) { 12976ea72052Smrg printf ("i386-sequent-ptx2\n"); exit (0); 12986ea72052Smrg } 12996ea72052Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 13006ea72052Smrg printf ("i386-sequent-ptx1\n"); exit (0); 13016ea72052Smrg } 13026ea72052Smrg printf ("i386-sequent-ptx\n"); exit (0); 13036ea72052Smrg 13046ea72052Smrg#endif 13056ea72052Smrg 13066ea72052Smrg#if defined (vax) 13076ea72052Smrg# if !defined (ultrix) 13086ea72052Smrg# include <sys/param.h> 13096ea72052Smrg# if defined (BSD) 13106ea72052Smrg# if BSD == 43 13116ea72052Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 13126ea72052Smrg# else 13136ea72052Smrg# if BSD == 199006 13146ea72052Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 13156ea72052Smrg# else 13166ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 13176ea72052Smrg# endif 13186ea72052Smrg# endif 13196ea72052Smrg# else 13206ea72052Smrg printf ("vax-dec-bsd\n"); exit (0); 13216ea72052Smrg# endif 13226ea72052Smrg# else 13236ea72052Smrg printf ("vax-dec-ultrix\n"); exit (0); 13246ea72052Smrg# endif 13256ea72052Smrg#endif 13266ea72052Smrg 13276ea72052Smrg#if defined (alliant) && defined (i860) 13286ea72052Smrg printf ("i860-alliant-bsd\n"); exit (0); 13296ea72052Smrg#endif 13306ea72052Smrg 13316ea72052Smrg exit (1); 13326ea72052Smrg} 13336ea72052SmrgEOF 13346ea72052Smrg 13356ea72052Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 13366ea72052Smrg 13376ea72052Smrg# Apollos put the system type in the environment. 13386ea72052Smrg 13396ea72052Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 13406ea72052Smrg 13416ea72052Smrg# Convex versions that predate uname can use getsysinfo(1) 13426ea72052Smrg 13436ea72052Smrgif [ -x /usr/convex/getsysinfo ] 13446ea72052Smrgthen 13456ea72052Smrg case `getsysinfo -f cpu_type` in 13466ea72052Smrg c1*) 13476ea72052Smrg echo c1-convex-bsd 13486ea72052Smrg exit 0 ;; 13496ea72052Smrg c2*) 13506ea72052Smrg if getsysinfo -f scalar_acc 13516ea72052Smrg then echo c32-convex-bsd 13526ea72052Smrg else echo c2-convex-bsd 13536ea72052Smrg fi 13546ea72052Smrg exit 0 ;; 13556ea72052Smrg c34*) 13566ea72052Smrg echo c34-convex-bsd 13576ea72052Smrg exit 0 ;; 13586ea72052Smrg c38*) 13596ea72052Smrg echo c38-convex-bsd 13606ea72052Smrg exit 0 ;; 13616ea72052Smrg c4*) 13626ea72052Smrg echo c4-convex-bsd 13636ea72052Smrg exit 0 ;; 13646ea72052Smrg esac 13656ea72052Smrgfi 13666ea72052Smrg 13676ea72052Smrgcat >&2 <<EOF 13686ea72052Smrg$0: unable to guess system type 13696ea72052Smrg 13706ea72052SmrgThis script, last modified $timestamp, has failed to recognize 13716ea72052Smrgthe operating system you are using. It is advised that you 13726ea72052Smrgdownload the most up to date version of the config scripts from 13736ea72052Smrg 13746ea72052Smrg ftp://ftp.gnu.org/pub/gnu/config/ 13756ea72052Smrg 13766ea72052SmrgIf the version you run ($0) is already up to date, please 13776ea72052Smrgsend the following data and any information you think might be 13786ea72052Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 13796ea72052Smrginformation to handle your system. 13806ea72052Smrg 13816ea72052Smrgconfig.guess timestamp = $timestamp 13826ea72052Smrg 13836ea72052Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 13846ea72052Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 13856ea72052Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 13866ea72052Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 13876ea72052Smrg 13886ea72052Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 13896ea72052Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 13906ea72052Smrg 13916ea72052Smrghostinfo = `(hostinfo) 2>/dev/null` 13926ea72052Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 13936ea72052Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 13946ea72052Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 13956ea72052Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 13966ea72052Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 13976ea72052Smrg 13986ea72052SmrgUNAME_MACHINE = ${UNAME_MACHINE} 13996ea72052SmrgUNAME_RELEASE = ${UNAME_RELEASE} 14006ea72052SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 14016ea72052SmrgUNAME_VERSION = ${UNAME_VERSION} 14026ea72052SmrgEOF 14036ea72052Smrg 14046ea72052Smrgexit 1 14056ea72052Smrg 14066ea72052Smrg# Local variables: 14076ea72052Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 14086ea72052Smrg# time-stamp-start: "timestamp='" 14096ea72052Smrg# time-stamp-format: "%:y-%02m-%02d" 14106ea72052Smrg# time-stamp-end: "'" 14116ea72052Smrg# End: 1412