14963b7b6Smrg#! /bin/sh 24963b7b6Smrg# Attempt to guess a canonical system name. 34963b7b6Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 44963b7b6Smrg# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 54963b7b6Smrg 64963b7b6Smrgtimestamp='2003-06-17' 74963b7b6Smrg 84963b7b6Smrg# This file is free software; you can redistribute it and/or modify it 94963b7b6Smrg# under the terms of the GNU General Public License as published by 104963b7b6Smrg# the Free Software Foundation; either version 2 of the License, or 114963b7b6Smrg# (at your option) any later version. 124963b7b6Smrg# 134963b7b6Smrg# This program is distributed in the hope that it will be useful, but 144963b7b6Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 154963b7b6Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 164963b7b6Smrg# General Public License for more details. 174963b7b6Smrg# 184963b7b6Smrg# You should have received a copy of the GNU General Public License 194963b7b6Smrg# along with this program; if not, write to the Free Software 204963b7b6Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 214963b7b6Smrg# 224963b7b6Smrg# As a special exception to the GNU General Public License, if you 234963b7b6Smrg# distribute this file as part of a program that contains a 244963b7b6Smrg# configuration script generated by Autoconf, you may include it under 254963b7b6Smrg# the same distribution terms that you use for the rest of that program. 264963b7b6Smrg 274963b7b6Smrg# Originally written by Per Bothner <per@bothner.com>. 284963b7b6Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 294963b7b6Smrg# diff and a properly formatted ChangeLog entry. 304963b7b6Smrg# 314963b7b6Smrg# This script attempts to guess a canonical system name similar to 324963b7b6Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 334963b7b6Smrg# exits with 0. Otherwise, it exits with 1. 344963b7b6Smrg# 354963b7b6Smrg# The plan is that this can be called by configure scripts if you 364963b7b6Smrg# don't specify an explicit build system type. 374963b7b6Smrg 384963b7b6Smrgme=`echo "$0" | sed -e 's,.*/,,'` 394963b7b6Smrg 404963b7b6Smrgusage="\ 414963b7b6SmrgUsage: $0 [OPTION] 424963b7b6Smrg 434963b7b6SmrgOutput the configuration name of the system \`$me' is run on. 444963b7b6Smrg 454963b7b6SmrgOperation modes: 464963b7b6Smrg -h, --help print this help, then exit 474963b7b6Smrg -t, --time-stamp print date of last modification, then exit 484963b7b6Smrg -v, --version print version number, then exit 494963b7b6Smrg 504963b7b6SmrgReport bugs and patches to <config-patches@gnu.org>." 514963b7b6Smrg 524963b7b6Smrgversion="\ 534963b7b6SmrgGNU config.guess ($timestamp) 544963b7b6Smrg 554963b7b6SmrgOriginally written by Per Bothner. 564963b7b6SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 574963b7b6SmrgFree Software Foundation, Inc. 584963b7b6Smrg 594963b7b6SmrgThis is free software; see the source for copying conditions. There is NO 604963b7b6Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 614963b7b6Smrg 624963b7b6Smrghelp=" 634963b7b6SmrgTry \`$me --help' for more information." 644963b7b6Smrg 654963b7b6Smrg# Parse command line 664963b7b6Smrgwhile test $# -gt 0 ; do 674963b7b6Smrg case $1 in 684963b7b6Smrg --time-stamp | --time* | -t ) 694963b7b6Smrg echo "$timestamp" ; exit 0 ;; 704963b7b6Smrg --version | -v ) 714963b7b6Smrg echo "$version" ; exit 0 ;; 724963b7b6Smrg --help | --h* | -h ) 734963b7b6Smrg echo "$usage"; exit 0 ;; 744963b7b6Smrg -- ) # Stop option processing 754963b7b6Smrg shift; break ;; 764963b7b6Smrg - ) # Use stdin as input. 774963b7b6Smrg break ;; 784963b7b6Smrg -* ) 794963b7b6Smrg echo "$me: invalid option $1$help" >&2 804963b7b6Smrg exit 1 ;; 814963b7b6Smrg * ) 824963b7b6Smrg break ;; 834963b7b6Smrg esac 844963b7b6Smrgdone 854963b7b6Smrg 864963b7b6Smrgif test $# != 0; then 874963b7b6Smrg echo "$me: too many arguments$help" >&2 884963b7b6Smrg exit 1 894963b7b6Smrgfi 904963b7b6Smrg 914963b7b6Smrgtrap 'exit 1' 1 2 15 924963b7b6Smrg 934963b7b6Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 944963b7b6Smrg# compiler to aid in system detection is discouraged as it requires 954963b7b6Smrg# temporary files to be created and, as you can see below, it is a 964963b7b6Smrg# headache to deal with in a portable fashion. 974963b7b6Smrg 984963b7b6Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 994963b7b6Smrg# use `HOST_CC' if defined, but it is deprecated. 1004963b7b6Smrg 1014963b7b6Smrg# Portable tmp directory creation inspired by the Autoconf team. 1024963b7b6Smrg 1034963b7b6Smrgset_cc_for_build=' 1044963b7b6Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 1054963b7b6Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 1064963b7b6Smrg: ${TMPDIR=/tmp} ; 1074963b7b6Smrg { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 1084963b7b6Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 1094963b7b6Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 1104963b7b6Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 1114963b7b6Smrgdummy=$tmp/dummy ; 1124963b7b6Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 1134963b7b6Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 1144963b7b6Smrg ,,) echo "int x;" > $dummy.c ; 1154963b7b6Smrg for c in cc gcc c89 c99 ; do 1164963b7b6Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 1174963b7b6Smrg CC_FOR_BUILD="$c"; break ; 1184963b7b6Smrg fi ; 1194963b7b6Smrg done ; 1204963b7b6Smrg if test x"$CC_FOR_BUILD" = x ; then 1214963b7b6Smrg CC_FOR_BUILD=no_compiler_found ; 1224963b7b6Smrg fi 1234963b7b6Smrg ;; 1244963b7b6Smrg ,,*) CC_FOR_BUILD=$CC ;; 1254963b7b6Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 1264963b7b6Smrgesac ;' 1274963b7b6Smrg 1284963b7b6Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 1294963b7b6Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 1304963b7b6Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 1314963b7b6Smrg PATH=$PATH:/.attbin ; export PATH 1324963b7b6Smrgfi 1334963b7b6Smrg 1344963b7b6SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 1354963b7b6SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 1364963b7b6SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 1374963b7b6SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 1384963b7b6Smrg 1394963b7b6Smrg## for Red Hat Linux 1404963b7b6Smrgif test -f /etc/redhat-release ; then 1414963b7b6Smrg VENDOR=redhat ; 1424963b7b6Smrgelse 1434963b7b6Smrg VENDOR= ; 1444963b7b6Smrgfi 1454963b7b6Smrg 1464963b7b6Smrg# Note: order is significant - the case branches are not exclusive. 1474963b7b6Smrg 1484963b7b6Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 1494963b7b6Smrg *:NetBSD:*:*) 1504963b7b6Smrg # NetBSD (nbsd) targets should (where applicable) match one or 1514963b7b6Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 1524963b7b6Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 1534963b7b6Smrg # switched to ELF, *-*-netbsd* would select the old 1544963b7b6Smrg # object file format. This provides both forward 1554963b7b6Smrg # compatibility and a consistent mechanism for selecting the 1564963b7b6Smrg # object file format. 1574963b7b6Smrg # 1584963b7b6Smrg # Note: NetBSD doesn't particularly care about the vendor 1594963b7b6Smrg # portion of the name. We always set it to "unknown". 1604963b7b6Smrg sysctl="sysctl -n hw.machine_arch" 1614963b7b6Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 1624963b7b6Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 1634963b7b6Smrg case "${UNAME_MACHINE_ARCH}" in 1644963b7b6Smrg armeb) machine=armeb-unknown ;; 1654963b7b6Smrg arm*) machine=arm-unknown ;; 1664963b7b6Smrg sh3el) machine=shl-unknown ;; 1674963b7b6Smrg sh3eb) machine=sh-unknown ;; 1684963b7b6Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 1694963b7b6Smrg esac 1704963b7b6Smrg # The Operating System including object format, if it has switched 1714963b7b6Smrg # to ELF recently, or will in the future. 1724963b7b6Smrg case "${UNAME_MACHINE_ARCH}" in 1734963b7b6Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 1744963b7b6Smrg eval $set_cc_for_build 1754963b7b6Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 1764963b7b6Smrg | grep __ELF__ >/dev/null 1774963b7b6Smrg then 1784963b7b6Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 1794963b7b6Smrg # Return netbsd for either. FIX? 1804963b7b6Smrg os=netbsd 1814963b7b6Smrg else 1824963b7b6Smrg os=netbsdelf 1834963b7b6Smrg fi 1844963b7b6Smrg ;; 1854963b7b6Smrg *) 1864963b7b6Smrg os=netbsd 1874963b7b6Smrg ;; 1884963b7b6Smrg esac 1894963b7b6Smrg # The OS release 1904963b7b6Smrg # Debian GNU/NetBSD machines have a different userland, and 1914963b7b6Smrg # thus, need a distinct triplet. However, they do not need 1924963b7b6Smrg # kernel version information, so it can be replaced with a 1934963b7b6Smrg # suitable tag, in the style of linux-gnu. 1944963b7b6Smrg case "${UNAME_VERSION}" in 1954963b7b6Smrg Debian*) 1964963b7b6Smrg release='-gnu' 1974963b7b6Smrg ;; 1984963b7b6Smrg *) 1994963b7b6Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 2004963b7b6Smrg ;; 2014963b7b6Smrg esac 2024963b7b6Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 2034963b7b6Smrg # contains redundant information, the shorter form: 2044963b7b6Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 2054963b7b6Smrg echo "${machine}-${os}${release}" 2064963b7b6Smrg exit 0 ;; 2074963b7b6Smrg amiga:OpenBSD:*:*) 2084963b7b6Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2094963b7b6Smrg exit 0 ;; 2104963b7b6Smrg arc:OpenBSD:*:*) 2114963b7b6Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2124963b7b6Smrg exit 0 ;; 2134963b7b6Smrg hp300:OpenBSD:*:*) 2144963b7b6Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2154963b7b6Smrg exit 0 ;; 2164963b7b6Smrg mac68k:OpenBSD:*:*) 2174963b7b6Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2184963b7b6Smrg exit 0 ;; 2194963b7b6Smrg macppc:OpenBSD:*:*) 2204963b7b6Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2214963b7b6Smrg exit 0 ;; 2224963b7b6Smrg mvme68k:OpenBSD:*:*) 2234963b7b6Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2244963b7b6Smrg exit 0 ;; 2254963b7b6Smrg mvme88k:OpenBSD:*:*) 2264963b7b6Smrg echo m88k-unknown-openbsd${UNAME_RELEASE} 2274963b7b6Smrg exit 0 ;; 2284963b7b6Smrg mvmeppc:OpenBSD:*:*) 2294963b7b6Smrg echo powerpc-unknown-openbsd${UNAME_RELEASE} 2304963b7b6Smrg exit 0 ;; 2314963b7b6Smrg pmax:OpenBSD:*:*) 2324963b7b6Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2334963b7b6Smrg exit 0 ;; 2344963b7b6Smrg sgi:OpenBSD:*:*) 2354963b7b6Smrg echo mipseb-unknown-openbsd${UNAME_RELEASE} 2364963b7b6Smrg exit 0 ;; 2374963b7b6Smrg sun3:OpenBSD:*:*) 2384963b7b6Smrg echo m68k-unknown-openbsd${UNAME_RELEASE} 2394963b7b6Smrg exit 0 ;; 2404963b7b6Smrg wgrisc:OpenBSD:*:*) 2414963b7b6Smrg echo mipsel-unknown-openbsd${UNAME_RELEASE} 2424963b7b6Smrg exit 0 ;; 2434963b7b6Smrg *:OpenBSD:*:*) 2444963b7b6Smrg echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 2454963b7b6Smrg exit 0 ;; 2464963b7b6Smrg alpha:OSF1:*:*) 2474963b7b6Smrg if test $UNAME_RELEASE = "V4.0"; then 2484963b7b6Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 2494963b7b6Smrg fi 2504963b7b6Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 2514963b7b6Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 2524963b7b6Smrg # covers most systems running today. This code pipes the CPU 2534963b7b6Smrg # types through head -n 1, so we only detect the type of CPU 0. 2544963b7b6Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 2554963b7b6Smrg case "$ALPHA_CPU_TYPE" in 2564963b7b6Smrg "EV4 (21064)") 2574963b7b6Smrg UNAME_MACHINE="alpha" ;; 2584963b7b6Smrg "EV4.5 (21064)") 2594963b7b6Smrg UNAME_MACHINE="alpha" ;; 2604963b7b6Smrg "LCA4 (21066/21068)") 2614963b7b6Smrg UNAME_MACHINE="alpha" ;; 2624963b7b6Smrg "EV5 (21164)") 2634963b7b6Smrg UNAME_MACHINE="alphaev5" ;; 2644963b7b6Smrg "EV5.6 (21164A)") 2654963b7b6Smrg UNAME_MACHINE="alphaev56" ;; 2664963b7b6Smrg "EV5.6 (21164PC)") 2674963b7b6Smrg UNAME_MACHINE="alphapca56" ;; 2684963b7b6Smrg "EV5.7 (21164PC)") 2694963b7b6Smrg UNAME_MACHINE="alphapca57" ;; 2704963b7b6Smrg "EV6 (21264)") 2714963b7b6Smrg UNAME_MACHINE="alphaev6" ;; 2724963b7b6Smrg "EV6.7 (21264A)") 2734963b7b6Smrg UNAME_MACHINE="alphaev67" ;; 2744963b7b6Smrg "EV6.8CB (21264C)") 2754963b7b6Smrg UNAME_MACHINE="alphaev68" ;; 2764963b7b6Smrg "EV6.8AL (21264B)") 2774963b7b6Smrg UNAME_MACHINE="alphaev68" ;; 2784963b7b6Smrg "EV6.8CX (21264D)") 2794963b7b6Smrg UNAME_MACHINE="alphaev68" ;; 2804963b7b6Smrg "EV6.9A (21264/EV69A)") 2814963b7b6Smrg UNAME_MACHINE="alphaev69" ;; 2824963b7b6Smrg "EV7 (21364)") 2834963b7b6Smrg UNAME_MACHINE="alphaev7" ;; 2844963b7b6Smrg "EV7.9 (21364A)") 2854963b7b6Smrg UNAME_MACHINE="alphaev79" ;; 2864963b7b6Smrg esac 2874963b7b6Smrg # A Vn.n version is a released version. 2884963b7b6Smrg # A Tn.n version is a released field test version. 2894963b7b6Smrg # A Xn.n version is an unreleased experimental baselevel. 2904963b7b6Smrg # 1.2 uses "1.2" for uname -r. 2914963b7b6Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 2924963b7b6Smrg exit 0 ;; 2934963b7b6Smrg Alpha*:OpenVMS:*:*) 2944963b7b6Smrg echo alpha-hp-vms 2954963b7b6Smrg exit 0 ;; 2964963b7b6Smrg Alpha\ *:Windows_NT*:*) 2974963b7b6Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 2984963b7b6Smrg # Should we change UNAME_MACHINE based on the output of uname instead 2994963b7b6Smrg # of the specific Alpha model? 3004963b7b6Smrg echo alpha-pc-interix 3014963b7b6Smrg exit 0 ;; 3024963b7b6Smrg 21064:Windows_NT:50:3) 3034963b7b6Smrg echo alpha-dec-winnt3.5 3044963b7b6Smrg exit 0 ;; 3054963b7b6Smrg Amiga*:UNIX_System_V:4.0:*) 3064963b7b6Smrg echo m68k-unknown-sysv4 3074963b7b6Smrg exit 0;; 3084963b7b6Smrg *:[Aa]miga[Oo][Ss]:*:*) 3094963b7b6Smrg echo ${UNAME_MACHINE}-unknown-amigaos 3104963b7b6Smrg exit 0 ;; 3114963b7b6Smrg *:[Mm]orph[Oo][Ss]:*:*) 3124963b7b6Smrg echo ${UNAME_MACHINE}-unknown-morphos 3134963b7b6Smrg exit 0 ;; 3144963b7b6Smrg *:OS/390:*:*) 3154963b7b6Smrg echo i370-ibm-openedition 3164963b7b6Smrg exit 0 ;; 3174963b7b6Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 3184963b7b6Smrg echo arm-acorn-riscix${UNAME_RELEASE} 3194963b7b6Smrg exit 0;; 3204963b7b6Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 3214963b7b6Smrg echo hppa1.1-hitachi-hiuxmpp 3224963b7b6Smrg exit 0;; 3234963b7b6Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 3244963b7b6Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 3254963b7b6Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 3264963b7b6Smrg echo pyramid-pyramid-sysv3 3274963b7b6Smrg else 3284963b7b6Smrg echo pyramid-pyramid-bsd 3294963b7b6Smrg fi 3304963b7b6Smrg exit 0 ;; 3314963b7b6Smrg NILE*:*:*:dcosx) 3324963b7b6Smrg echo pyramid-pyramid-svr4 3334963b7b6Smrg exit 0 ;; 3344963b7b6Smrg DRS?6000:unix:4.0:6*) 3354963b7b6Smrg echo sparc-icl-nx6 3364963b7b6Smrg exit 0 ;; 3374963b7b6Smrg DRS?6000:UNIX_SV:4.2*:7*) 3384963b7b6Smrg case `/usr/bin/uname -p` in 3394963b7b6Smrg sparc) echo sparc-icl-nx7 && exit 0 ;; 3404963b7b6Smrg esac ;; 3414963b7b6Smrg sun4H:SunOS:5.*:*) 3424963b7b6Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3434963b7b6Smrg exit 0 ;; 3444963b7b6Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 3454963b7b6Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3464963b7b6Smrg exit 0 ;; 3474963b7b6Smrg i86pc:SunOS:5.*:*) 3484963b7b6Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3494963b7b6Smrg exit 0 ;; 3504963b7b6Smrg sun4*:SunOS:6*:*) 3514963b7b6Smrg # According to config.sub, this is the proper way to canonicalize 3524963b7b6Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 3534963b7b6Smrg # it's likely to be more like Solaris than SunOS4. 3544963b7b6Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 3554963b7b6Smrg exit 0 ;; 3564963b7b6Smrg sun4*:SunOS:*:*) 3574963b7b6Smrg case "`/usr/bin/arch -k`" in 3584963b7b6Smrg Series*|S4*) 3594963b7b6Smrg UNAME_RELEASE=`uname -v` 3604963b7b6Smrg ;; 3614963b7b6Smrg esac 3624963b7b6Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 3634963b7b6Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 3644963b7b6Smrg exit 0 ;; 3654963b7b6Smrg sun3*:SunOS:*:*) 3664963b7b6Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3674963b7b6Smrg exit 0 ;; 3684963b7b6Smrg sun*:*:4.2BSD:*) 3694963b7b6Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 3704963b7b6Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 3714963b7b6Smrg case "`/bin/arch`" in 3724963b7b6Smrg sun3) 3734963b7b6Smrg echo m68k-sun-sunos${UNAME_RELEASE} 3744963b7b6Smrg ;; 3754963b7b6Smrg sun4) 3764963b7b6Smrg echo sparc-sun-sunos${UNAME_RELEASE} 3774963b7b6Smrg ;; 3784963b7b6Smrg esac 3794963b7b6Smrg exit 0 ;; 3804963b7b6Smrg aushp:SunOS:*:*) 3814963b7b6Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 3824963b7b6Smrg exit 0 ;; 3834963b7b6Smrg # The situation for MiNT is a little confusing. The machine name 3844963b7b6Smrg # can be virtually everything (everything which is not 3854963b7b6Smrg # "atarist" or "atariste" at least should have a processor 3864963b7b6Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 3874963b7b6Smrg # to the lowercase version "mint" (or "freemint"). Finally 3884963b7b6Smrg # the system name "TOS" denotes a system which is actually not 3894963b7b6Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 3904963b7b6Smrg # be no problem. 3914963b7b6Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 3924963b7b6Smrg echo m68k-atari-mint${UNAME_RELEASE} 3934963b7b6Smrg exit 0 ;; 3944963b7b6Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 3954963b7b6Smrg echo m68k-atari-mint${UNAME_RELEASE} 3964963b7b6Smrg exit 0 ;; 3974963b7b6Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 3984963b7b6Smrg echo m68k-atari-mint${UNAME_RELEASE} 3994963b7b6Smrg exit 0 ;; 4004963b7b6Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 4014963b7b6Smrg echo m68k-milan-mint${UNAME_RELEASE} 4024963b7b6Smrg exit 0 ;; 4034963b7b6Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 4044963b7b6Smrg echo m68k-hades-mint${UNAME_RELEASE} 4054963b7b6Smrg exit 0 ;; 4064963b7b6Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 4074963b7b6Smrg echo m68k-unknown-mint${UNAME_RELEASE} 4084963b7b6Smrg exit 0 ;; 4094963b7b6Smrg powerpc:machten:*:*) 4104963b7b6Smrg echo powerpc-apple-machten${UNAME_RELEASE} 4114963b7b6Smrg exit 0 ;; 4124963b7b6Smrg RISC*:Mach:*:*) 4134963b7b6Smrg echo mips-dec-mach_bsd4.3 4144963b7b6Smrg exit 0 ;; 4154963b7b6Smrg RISC*:ULTRIX:*:*) 4164963b7b6Smrg echo mips-dec-ultrix${UNAME_RELEASE} 4174963b7b6Smrg exit 0 ;; 4184963b7b6Smrg VAX*:ULTRIX*:*:*) 4194963b7b6Smrg echo vax-dec-ultrix${UNAME_RELEASE} 4204963b7b6Smrg exit 0 ;; 4214963b7b6Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 4224963b7b6Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 4234963b7b6Smrg exit 0 ;; 4244963b7b6Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 4254963b7b6Smrg eval $set_cc_for_build 4264963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 4274963b7b6Smrg#ifdef __cplusplus 4284963b7b6Smrg#include <stdio.h> /* for printf() prototype */ 4294963b7b6Smrg int main (int argc, char *argv[]) { 4304963b7b6Smrg#else 4314963b7b6Smrg int main (argc, argv) int argc; char *argv[]; { 4324963b7b6Smrg#endif 4334963b7b6Smrg #if defined (host_mips) && defined (MIPSEB) 4344963b7b6Smrg #if defined (SYSTYPE_SYSV) 4354963b7b6Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 4364963b7b6Smrg #endif 4374963b7b6Smrg #if defined (SYSTYPE_SVR4) 4384963b7b6Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 4394963b7b6Smrg #endif 4404963b7b6Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 4414963b7b6Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 4424963b7b6Smrg #endif 4434963b7b6Smrg #endif 4444963b7b6Smrg exit (-1); 4454963b7b6Smrg } 4464963b7b6SmrgEOF 4474963b7b6Smrg $CC_FOR_BUILD -o $dummy $dummy.c \ 4484963b7b6Smrg && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 4494963b7b6Smrg && exit 0 4504963b7b6Smrg echo mips-mips-riscos${UNAME_RELEASE} 4514963b7b6Smrg exit 0 ;; 4524963b7b6Smrg Motorola:PowerMAX_OS:*:*) 4534963b7b6Smrg echo powerpc-motorola-powermax 4544963b7b6Smrg exit 0 ;; 4554963b7b6Smrg Motorola:*:4.3:PL8-*) 4564963b7b6Smrg echo powerpc-harris-powermax 4574963b7b6Smrg exit 0 ;; 4584963b7b6Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 4594963b7b6Smrg echo powerpc-harris-powermax 4604963b7b6Smrg exit 0 ;; 4614963b7b6Smrg Night_Hawk:Power_UNIX:*:*) 4624963b7b6Smrg echo powerpc-harris-powerunix 4634963b7b6Smrg exit 0 ;; 4644963b7b6Smrg m88k:CX/UX:7*:*) 4654963b7b6Smrg echo m88k-harris-cxux7 4664963b7b6Smrg exit 0 ;; 4674963b7b6Smrg m88k:*:4*:R4*) 4684963b7b6Smrg echo m88k-motorola-sysv4 4694963b7b6Smrg exit 0 ;; 4704963b7b6Smrg m88k:*:3*:R3*) 4714963b7b6Smrg echo m88k-motorola-sysv3 4724963b7b6Smrg exit 0 ;; 4734963b7b6Smrg AViiON:dgux:*:*) 4744963b7b6Smrg # DG/UX returns AViiON for all architectures 4754963b7b6Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 4764963b7b6Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 4774963b7b6Smrg then 4784963b7b6Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 4794963b7b6Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 4804963b7b6Smrg then 4814963b7b6Smrg echo m88k-dg-dgux${UNAME_RELEASE} 4824963b7b6Smrg else 4834963b7b6Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 4844963b7b6Smrg fi 4854963b7b6Smrg else 4864963b7b6Smrg echo i586-dg-dgux${UNAME_RELEASE} 4874963b7b6Smrg fi 4884963b7b6Smrg exit 0 ;; 4894963b7b6Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 4904963b7b6Smrg echo m88k-dolphin-sysv3 4914963b7b6Smrg exit 0 ;; 4924963b7b6Smrg M88*:*:R3*:*) 4934963b7b6Smrg # Delta 88k system running SVR3 4944963b7b6Smrg echo m88k-motorola-sysv3 4954963b7b6Smrg exit 0 ;; 4964963b7b6Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 4974963b7b6Smrg echo m88k-tektronix-sysv3 4984963b7b6Smrg exit 0 ;; 4994963b7b6Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 5004963b7b6Smrg echo m68k-tektronix-bsd 5014963b7b6Smrg exit 0 ;; 5024963b7b6Smrg *:IRIX*:*:*) 5034963b7b6Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 5044963b7b6Smrg exit 0 ;; 5054963b7b6Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 5064963b7b6Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 5074963b7b6Smrg exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 5084963b7b6Smrg i*86:AIX:*:*) 5094963b7b6Smrg echo i386-ibm-aix 5104963b7b6Smrg exit 0 ;; 5114963b7b6Smrg ia64:AIX:*:*) 5124963b7b6Smrg if [ -x /usr/bin/oslevel ] ; then 5134963b7b6Smrg IBM_REV=`/usr/bin/oslevel` 5144963b7b6Smrg else 5154963b7b6Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5164963b7b6Smrg fi 5174963b7b6Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 5184963b7b6Smrg exit 0 ;; 5194963b7b6Smrg *:AIX:2:3) 5204963b7b6Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 5214963b7b6Smrg eval $set_cc_for_build 5224963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 5234963b7b6Smrg #include <sys/systemcfg.h> 5244963b7b6Smrg 5254963b7b6Smrg main() 5264963b7b6Smrg { 5274963b7b6Smrg if (!__power_pc()) 5284963b7b6Smrg exit(1); 5294963b7b6Smrg puts("powerpc-ibm-aix3.2.5"); 5304963b7b6Smrg exit(0); 5314963b7b6Smrg } 5324963b7b6SmrgEOF 5334963b7b6Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 5344963b7b6Smrg echo rs6000-ibm-aix3.2.5 5354963b7b6Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 5364963b7b6Smrg echo rs6000-ibm-aix3.2.4 5374963b7b6Smrg else 5384963b7b6Smrg echo rs6000-ibm-aix3.2 5394963b7b6Smrg fi 5404963b7b6Smrg exit 0 ;; 5414963b7b6Smrg *:AIX:*:[45]) 5424963b7b6Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 5434963b7b6Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 5444963b7b6Smrg IBM_ARCH=rs6000 5454963b7b6Smrg else 5464963b7b6Smrg IBM_ARCH=powerpc 5474963b7b6Smrg fi 5484963b7b6Smrg if [ -x /usr/bin/oslevel ] ; then 5494963b7b6Smrg IBM_REV=`/usr/bin/oslevel` 5504963b7b6Smrg else 5514963b7b6Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 5524963b7b6Smrg fi 5534963b7b6Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 5544963b7b6Smrg exit 0 ;; 5554963b7b6Smrg *:AIX:*:*) 5564963b7b6Smrg echo rs6000-ibm-aix 5574963b7b6Smrg exit 0 ;; 5584963b7b6Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 5594963b7b6Smrg echo romp-ibm-bsd4.4 5604963b7b6Smrg exit 0 ;; 5614963b7b6Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 5624963b7b6Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 5634963b7b6Smrg exit 0 ;; # report: romp-ibm BSD 4.3 5644963b7b6Smrg *:BOSX:*:*) 5654963b7b6Smrg echo rs6000-bull-bosx 5664963b7b6Smrg exit 0 ;; 5674963b7b6Smrg DPX/2?00:B.O.S.:*:*) 5684963b7b6Smrg echo m68k-bull-sysv3 5694963b7b6Smrg exit 0 ;; 5704963b7b6Smrg 9000/[34]??:4.3bsd:1.*:*) 5714963b7b6Smrg echo m68k-hp-bsd 5724963b7b6Smrg exit 0 ;; 5734963b7b6Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 5744963b7b6Smrg echo m68k-hp-bsd4.4 5754963b7b6Smrg exit 0 ;; 5764963b7b6Smrg 9000/[34678]??:HP-UX:*:*) 5774963b7b6Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 5784963b7b6Smrg case "${UNAME_MACHINE}" in 5794963b7b6Smrg 9000/31? ) HP_ARCH=m68000 ;; 5804963b7b6Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 5814963b7b6Smrg 9000/[678][0-9][0-9]) 5824963b7b6Smrg if [ -x /usr/bin/getconf ]; then 5834963b7b6Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 5844963b7b6Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 5854963b7b6Smrg case "${sc_cpu_version}" in 5864963b7b6Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 5874963b7b6Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 5884963b7b6Smrg 532) # CPU_PA_RISC2_0 5894963b7b6Smrg case "${sc_kernel_bits}" in 5904963b7b6Smrg 32) HP_ARCH="hppa2.0n" ;; 5914963b7b6Smrg 64) HP_ARCH="hppa2.0w" ;; 5924963b7b6Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 5934963b7b6Smrg esac ;; 5944963b7b6Smrg esac 5954963b7b6Smrg fi 5964963b7b6Smrg if [ "${HP_ARCH}" = "" ]; then 5974963b7b6Smrg eval $set_cc_for_build 5984963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 5994963b7b6Smrg 6004963b7b6Smrg #define _HPUX_SOURCE 6014963b7b6Smrg #include <stdlib.h> 6024963b7b6Smrg #include <unistd.h> 6034963b7b6Smrg 6044963b7b6Smrg int main () 6054963b7b6Smrg { 6064963b7b6Smrg #if defined(_SC_KERNEL_BITS) 6074963b7b6Smrg long bits = sysconf(_SC_KERNEL_BITS); 6084963b7b6Smrg #endif 6094963b7b6Smrg long cpu = sysconf (_SC_CPU_VERSION); 6104963b7b6Smrg 6114963b7b6Smrg switch (cpu) 6124963b7b6Smrg { 6134963b7b6Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 6144963b7b6Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 6154963b7b6Smrg case CPU_PA_RISC2_0: 6164963b7b6Smrg #if defined(_SC_KERNEL_BITS) 6174963b7b6Smrg switch (bits) 6184963b7b6Smrg { 6194963b7b6Smrg case 64: puts ("hppa2.0w"); break; 6204963b7b6Smrg case 32: puts ("hppa2.0n"); break; 6214963b7b6Smrg default: puts ("hppa2.0"); break; 6224963b7b6Smrg } break; 6234963b7b6Smrg #else /* !defined(_SC_KERNEL_BITS) */ 6244963b7b6Smrg puts ("hppa2.0"); break; 6254963b7b6Smrg #endif 6264963b7b6Smrg default: puts ("hppa1.0"); break; 6274963b7b6Smrg } 6284963b7b6Smrg exit (0); 6294963b7b6Smrg } 6304963b7b6SmrgEOF 6314963b7b6Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 6324963b7b6Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 6334963b7b6Smrg fi ;; 6344963b7b6Smrg esac 6354963b7b6Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 6364963b7b6Smrg then 6374963b7b6Smrg # avoid double evaluation of $set_cc_for_build 6384963b7b6Smrg test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 6394963b7b6Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 6404963b7b6Smrg then 6414963b7b6Smrg HP_ARCH="hppa2.0w" 6424963b7b6Smrg else 6434963b7b6Smrg HP_ARCH="hppa64" 6444963b7b6Smrg fi 6454963b7b6Smrg fi 6464963b7b6Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 6474963b7b6Smrg exit 0 ;; 6484963b7b6Smrg ia64:HP-UX:*:*) 6494963b7b6Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 6504963b7b6Smrg echo ia64-hp-hpux${HPUX_REV} 6514963b7b6Smrg exit 0 ;; 6524963b7b6Smrg 3050*:HI-UX:*:*) 6534963b7b6Smrg eval $set_cc_for_build 6544963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 6554963b7b6Smrg #include <unistd.h> 6564963b7b6Smrg int 6574963b7b6Smrg main () 6584963b7b6Smrg { 6594963b7b6Smrg long cpu = sysconf (_SC_CPU_VERSION); 6604963b7b6Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 6614963b7b6Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 6624963b7b6Smrg results, however. */ 6634963b7b6Smrg if (CPU_IS_PA_RISC (cpu)) 6644963b7b6Smrg { 6654963b7b6Smrg switch (cpu) 6664963b7b6Smrg { 6674963b7b6Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 6684963b7b6Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 6694963b7b6Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 6704963b7b6Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 6714963b7b6Smrg } 6724963b7b6Smrg } 6734963b7b6Smrg else if (CPU_IS_HP_MC68K (cpu)) 6744963b7b6Smrg puts ("m68k-hitachi-hiuxwe2"); 6754963b7b6Smrg else puts ("unknown-hitachi-hiuxwe2"); 6764963b7b6Smrg exit (0); 6774963b7b6Smrg } 6784963b7b6SmrgEOF 6794963b7b6Smrg $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 6804963b7b6Smrg echo unknown-hitachi-hiuxwe2 6814963b7b6Smrg exit 0 ;; 6824963b7b6Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 6834963b7b6Smrg echo hppa1.1-hp-bsd 6844963b7b6Smrg exit 0 ;; 6854963b7b6Smrg 9000/8??:4.3bsd:*:*) 6864963b7b6Smrg echo hppa1.0-hp-bsd 6874963b7b6Smrg exit 0 ;; 6884963b7b6Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 6894963b7b6Smrg echo hppa1.0-hp-mpeix 6904963b7b6Smrg exit 0 ;; 6914963b7b6Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 6924963b7b6Smrg echo hppa1.1-hp-osf 6934963b7b6Smrg exit 0 ;; 6944963b7b6Smrg hp8??:OSF1:*:*) 6954963b7b6Smrg echo hppa1.0-hp-osf 6964963b7b6Smrg exit 0 ;; 6974963b7b6Smrg i*86:OSF1:*:*) 6984963b7b6Smrg if [ -x /usr/sbin/sysversion ] ; then 6994963b7b6Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 7004963b7b6Smrg else 7014963b7b6Smrg echo ${UNAME_MACHINE}-unknown-osf1 7024963b7b6Smrg fi 7034963b7b6Smrg exit 0 ;; 7044963b7b6Smrg parisc*:Lites*:*:*) 7054963b7b6Smrg echo hppa1.1-hp-lites 7064963b7b6Smrg exit 0 ;; 7074963b7b6Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 7084963b7b6Smrg echo c1-convex-bsd 7094963b7b6Smrg exit 0 ;; 7104963b7b6Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 7114963b7b6Smrg if getsysinfo -f scalar_acc 7124963b7b6Smrg then echo c32-convex-bsd 7134963b7b6Smrg else echo c2-convex-bsd 7144963b7b6Smrg fi 7154963b7b6Smrg exit 0 ;; 7164963b7b6Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 7174963b7b6Smrg echo c34-convex-bsd 7184963b7b6Smrg exit 0 ;; 7194963b7b6Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 7204963b7b6Smrg echo c38-convex-bsd 7214963b7b6Smrg exit 0 ;; 7224963b7b6Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 7234963b7b6Smrg echo c4-convex-bsd 7244963b7b6Smrg exit 0 ;; 7254963b7b6Smrg CRAY*Y-MP:*:*:*) 7264963b7b6Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7274963b7b6Smrg exit 0 ;; 7284963b7b6Smrg CRAY*[A-Z]90:*:*:*) 7294963b7b6Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 7304963b7b6Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 7314963b7b6Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 7324963b7b6Smrg -e 's/\.[^.]*$/.X/' 7334963b7b6Smrg exit 0 ;; 7344963b7b6Smrg CRAY*TS:*:*:*) 7354963b7b6Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7364963b7b6Smrg exit 0 ;; 7374963b7b6Smrg CRAY*T3E:*:*:*) 7384963b7b6Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7394963b7b6Smrg exit 0 ;; 7404963b7b6Smrg CRAY*SV1:*:*:*) 7414963b7b6Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7424963b7b6Smrg exit 0 ;; 7434963b7b6Smrg *:UNICOS/mp:*:*) 7444963b7b6Smrg echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 7454963b7b6Smrg exit 0 ;; 7464963b7b6Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 7474963b7b6Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 7484963b7b6Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 7494963b7b6Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 7504963b7b6Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 7514963b7b6Smrg exit 0 ;; 7524963b7b6Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 7534963b7b6Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 7544963b7b6Smrg exit 0 ;; 7554963b7b6Smrg sparc*:BSD/OS:*:*) 7564963b7b6Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 7574963b7b6Smrg exit 0 ;; 7584963b7b6Smrg *:BSD/OS:*:*) 7594963b7b6Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 7604963b7b6Smrg exit 0 ;; 7614963b7b6Smrg *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) 7624963b7b6Smrg # Determine whether the default compiler uses glibc. 7634963b7b6Smrg eval $set_cc_for_build 7644963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 7654963b7b6Smrg #include <features.h> 7664963b7b6Smrg #if __GLIBC__ >= 2 7674963b7b6Smrg LIBC=gnu 7684963b7b6Smrg #else 7694963b7b6Smrg LIBC= 7704963b7b6Smrg #endif 7714963b7b6SmrgEOF 7724963b7b6Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 7734963b7b6Smrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 7744963b7b6Smrg exit 0 ;; 7754963b7b6Smrg i*:CYGWIN*:*) 7764963b7b6Smrg echo ${UNAME_MACHINE}-pc-cygwin 7774963b7b6Smrg exit 0 ;; 7784963b7b6Smrg i*:MINGW*:*) 7794963b7b6Smrg echo ${UNAME_MACHINE}-pc-mingw32 7804963b7b6Smrg exit 0 ;; 7814963b7b6Smrg i*:PW*:*) 7824963b7b6Smrg echo ${UNAME_MACHINE}-pc-pw32 7834963b7b6Smrg exit 0 ;; 7844963b7b6Smrg x86:Interix*:[34]*) 7854963b7b6Smrg echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 7864963b7b6Smrg exit 0 ;; 7874963b7b6Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 7884963b7b6Smrg echo i${UNAME_MACHINE}-pc-mks 7894963b7b6Smrg exit 0 ;; 7904963b7b6Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 7914963b7b6Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 7924963b7b6Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 7934963b7b6Smrg # UNAME_MACHINE based on the output of uname instead of i386? 7944963b7b6Smrg echo i586-pc-interix 7954963b7b6Smrg exit 0 ;; 7964963b7b6Smrg i*:UWIN*:*) 7974963b7b6Smrg echo ${UNAME_MACHINE}-pc-uwin 7984963b7b6Smrg exit 0 ;; 7994963b7b6Smrg p*:CYGWIN*:*) 8004963b7b6Smrg echo powerpcle-unknown-cygwin 8014963b7b6Smrg exit 0 ;; 8024963b7b6Smrg prep*:SunOS:5.*:*) 8034963b7b6Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 8044963b7b6Smrg exit 0 ;; 8054963b7b6Smrg *:GNU:*:*) 8064963b7b6Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 8074963b7b6Smrg exit 0 ;; 8084963b7b6Smrg i*86:Minix:*:*) 8094963b7b6Smrg echo ${UNAME_MACHINE}-pc-minix 8104963b7b6Smrg exit 0 ;; 8114963b7b6Smrg arm*:Linux:*:*) 8124963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8134963b7b6Smrg exit 0 ;; 8144963b7b6Smrg cris:Linux:*:*) 8154963b7b6Smrg echo cris-axis-linux-gnu 8164963b7b6Smrg exit 0 ;; 8174963b7b6Smrg ia64:Linux:*:*) 8184963b7b6Smrg echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu 8194963b7b6Smrg exit 0 ;; 8204963b7b6Smrg m68*:Linux:*:*) 8214963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8224963b7b6Smrg exit 0 ;; 8234963b7b6Smrg mips:Linux:*:*) 8244963b7b6Smrg eval $set_cc_for_build 8254963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 8264963b7b6Smrg #undef CPU 8274963b7b6Smrg #undef mips 8284963b7b6Smrg #undef mipsel 8294963b7b6Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8304963b7b6Smrg CPU=mipsel 8314963b7b6Smrg #else 8324963b7b6Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8334963b7b6Smrg CPU=mips 8344963b7b6Smrg #else 8354963b7b6Smrg CPU= 8364963b7b6Smrg #endif 8374963b7b6Smrg #endif 8384963b7b6SmrgEOF 8394963b7b6Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 8404963b7b6Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 8414963b7b6Smrg ;; 8424963b7b6Smrg mips64:Linux:*:*) 8434963b7b6Smrg eval $set_cc_for_build 8444963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 8454963b7b6Smrg #undef CPU 8464963b7b6Smrg #undef mips64 8474963b7b6Smrg #undef mips64el 8484963b7b6Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 8494963b7b6Smrg CPU=mips64el 8504963b7b6Smrg #else 8514963b7b6Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 8524963b7b6Smrg CPU=mips64 8534963b7b6Smrg #else 8544963b7b6Smrg CPU= 8554963b7b6Smrg #endif 8564963b7b6Smrg #endif 8574963b7b6SmrgEOF 8584963b7b6Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 8594963b7b6Smrg test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 8604963b7b6Smrg ;; 8614963b7b6Smrg ppc:Linux:*:*) 8624963b7b6Smrg echo powerpc-${VENDOR:-unknown}-linux-gnu 8634963b7b6Smrg exit 0 ;; 8644963b7b6Smrg ppc64:Linux:*:*) 8654963b7b6Smrg echo powerpc64-${VENDOR:-unknown}-linux-gnu 8664963b7b6Smrg exit 0 ;; 8674963b7b6Smrg alpha:Linux:*:*) 8684963b7b6Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 8694963b7b6Smrg EV5) UNAME_MACHINE=alphaev5 ;; 8704963b7b6Smrg EV56) UNAME_MACHINE=alphaev56 ;; 8714963b7b6Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 8724963b7b6Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 8734963b7b6Smrg EV6) UNAME_MACHINE=alphaev6 ;; 8744963b7b6Smrg EV67) UNAME_MACHINE=alphaev67 ;; 8754963b7b6Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 8764963b7b6Smrg esac 8774963b7b6Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 8784963b7b6Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 8794963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 8804963b7b6Smrg exit 0 ;; 8814963b7b6Smrg parisc:Linux:*:* | hppa:Linux:*:*) 8824963b7b6Smrg # Look for CPU level 8834963b7b6Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 8844963b7b6Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 8854963b7b6Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 8864963b7b6Smrg *) echo hppa-unknown-linux-gnu ;; 8874963b7b6Smrg esac 8884963b7b6Smrg exit 0 ;; 8894963b7b6Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 8904963b7b6Smrg echo hppa64-unknown-linux-gnu 8914963b7b6Smrg exit 0 ;; 8924963b7b6Smrg s390:Linux:*:* | s390x:Linux:*:*) 8934963b7b6Smrg echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu 8944963b7b6Smrg exit 0 ;; 8954963b7b6Smrg sh64*:Linux:*:*) 8964963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8974963b7b6Smrg exit 0 ;; 8984963b7b6Smrg sh*:Linux:*:*) 8994963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9004963b7b6Smrg exit 0 ;; 9014963b7b6Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 9024963b7b6Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 9034963b7b6Smrg exit 0 ;; 9044963b7b6Smrg x86_64:Linux:*:*) 9054963b7b6Smrg echo x86_64-${VENDOR:-unknown}-linux-gnu 9064963b7b6Smrg exit 0 ;; 9074963b7b6Smrg i*86:Linux:*:*) 9084963b7b6Smrg # The BFD linker knows what the default object file format is, so 9094963b7b6Smrg # first see if it will tell us. cd to the root directory to prevent 9104963b7b6Smrg # problems with other programs or directories called `ld' in the path. 9114963b7b6Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 9124963b7b6Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 9134963b7b6Smrg | sed -ne '/supported targets:/!d 9144963b7b6Smrg s/[ ][ ]*/ /g 9154963b7b6Smrg s/.*supported targets: *// 9164963b7b6Smrg s/ .*// 9174963b7b6Smrg p'` 9184963b7b6Smrg case "$ld_supported_targets" in 9194963b7b6Smrg elf32-i386) 9204963b7b6Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 9214963b7b6Smrg ;; 9224963b7b6Smrg a.out-i386-linux) 9234963b7b6Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 9244963b7b6Smrg exit 0 ;; 9254963b7b6Smrg coff-i386) 9264963b7b6Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 9274963b7b6Smrg exit 0 ;; 9284963b7b6Smrg "") 9294963b7b6Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 9304963b7b6Smrg # one that does not give us useful --help. 9314963b7b6Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 9324963b7b6Smrg exit 0 ;; 9334963b7b6Smrg esac 9344963b7b6Smrg # Determine whether the default compiler is a.out or elf 9354963b7b6Smrg eval $set_cc_for_build 9364963b7b6Smrg sed 's/^ //' << EOF >$dummy.c 9374963b7b6Smrg #include <features.h> 9384963b7b6Smrg #ifdef __ELF__ 9394963b7b6Smrg # ifdef __GLIBC__ 9404963b7b6Smrg # if __GLIBC__ >= 2 9414963b7b6Smrg LIBC=gnu 9424963b7b6Smrg # else 9434963b7b6Smrg LIBC=gnulibc1 9444963b7b6Smrg # endif 9454963b7b6Smrg # else 9464963b7b6Smrg LIBC=gnulibc1 9474963b7b6Smrg # endif 9484963b7b6Smrg #else 9494963b7b6Smrg #ifdef __INTEL_COMPILER 9504963b7b6Smrg LIBC=gnu 9514963b7b6Smrg #else 9524963b7b6Smrg LIBC=gnuaout 9534963b7b6Smrg #endif 9544963b7b6Smrg #endif 9554963b7b6SmrgEOF 9564963b7b6Smrg eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 9574963b7b6Smrg test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 9584963b7b6Smrg test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 9594963b7b6Smrg ;; 9604963b7b6Smrg i*86:DYNIX/ptx:4*:*) 9614963b7b6Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 9624963b7b6Smrg # earlier versions are messed up and put the nodename in both 9634963b7b6Smrg # sysname and nodename. 9644963b7b6Smrg echo i386-sequent-sysv4 9654963b7b6Smrg exit 0 ;; 9664963b7b6Smrg i*86:UNIX_SV:4.2MP:2.*) 9674963b7b6Smrg # Unixware is an offshoot of SVR4, but it has its own version 9684963b7b6Smrg # number series starting with 2... 9694963b7b6Smrg # I am not positive that other SVR4 systems won't match this, 9704963b7b6Smrg # I just have to hope. -- rms. 9714963b7b6Smrg # Use sysv4.2uw... so that sysv4* matches it. 9724963b7b6Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 9734963b7b6Smrg exit 0 ;; 9744963b7b6Smrg i*86:OS/2:*:*) 9754963b7b6Smrg # If we were able to find `uname', then EMX Unix compatibility 9764963b7b6Smrg # is probably installed. 9774963b7b6Smrg echo ${UNAME_MACHINE}-pc-os2-emx 9784963b7b6Smrg exit 0 ;; 9794963b7b6Smrg i*86:XTS-300:*:STOP) 9804963b7b6Smrg echo ${UNAME_MACHINE}-unknown-stop 9814963b7b6Smrg exit 0 ;; 9824963b7b6Smrg i*86:atheos:*:*) 9834963b7b6Smrg echo ${UNAME_MACHINE}-unknown-atheos 9844963b7b6Smrg exit 0 ;; 9854963b7b6Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 9864963b7b6Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 9874963b7b6Smrg exit 0 ;; 9884963b7b6Smrg i*86:*DOS:*:*) 9894963b7b6Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 9904963b7b6Smrg exit 0 ;; 9914963b7b6Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 9924963b7b6Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 9934963b7b6Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 9944963b7b6Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 9954963b7b6Smrg else 9964963b7b6Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 9974963b7b6Smrg fi 9984963b7b6Smrg exit 0 ;; 9994963b7b6Smrg i*86:*:5:[78]*) 10004963b7b6Smrg case `/bin/uname -X | grep "^Machine"` in 10014963b7b6Smrg *486*) UNAME_MACHINE=i486 ;; 10024963b7b6Smrg *Pentium) UNAME_MACHINE=i586 ;; 10034963b7b6Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 10044963b7b6Smrg esac 10054963b7b6Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 10064963b7b6Smrg exit 0 ;; 10074963b7b6Smrg i*86:*:3.2:*) 10084963b7b6Smrg if test -f /usr/options/cb.name; then 10094963b7b6Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 10104963b7b6Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 10114963b7b6Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 10124963b7b6Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 10134963b7b6Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 10144963b7b6Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 10154963b7b6Smrg && UNAME_MACHINE=i586 10164963b7b6Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 10174963b7b6Smrg && UNAME_MACHINE=i686 10184963b7b6Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 10194963b7b6Smrg && UNAME_MACHINE=i686 10204963b7b6Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 10214963b7b6Smrg else 10224963b7b6Smrg echo ${UNAME_MACHINE}-pc-sysv32 10234963b7b6Smrg fi 10244963b7b6Smrg exit 0 ;; 10254963b7b6Smrg pc:*:*:*) 10264963b7b6Smrg # Left here for compatibility: 10274963b7b6Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 10284963b7b6Smrg # the processor, so we play safe by assuming i386. 10294963b7b6Smrg echo i386-pc-msdosdjgpp 10304963b7b6Smrg exit 0 ;; 10314963b7b6Smrg Intel:Mach:3*:*) 10324963b7b6Smrg echo i386-pc-mach3 10334963b7b6Smrg exit 0 ;; 10344963b7b6Smrg paragon:*:*:*) 10354963b7b6Smrg echo i860-intel-osf1 10364963b7b6Smrg exit 0 ;; 10374963b7b6Smrg i860:*:4.*:*) # i860-SVR4 10384963b7b6Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 10394963b7b6Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 10404963b7b6Smrg else # Add other i860-SVR4 vendors below as they are discovered. 10414963b7b6Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 10424963b7b6Smrg fi 10434963b7b6Smrg exit 0 ;; 10444963b7b6Smrg mini*:CTIX:SYS*5:*) 10454963b7b6Smrg # "miniframe" 10464963b7b6Smrg echo m68010-convergent-sysv 10474963b7b6Smrg exit 0 ;; 10484963b7b6Smrg mc68k:UNIX:SYSTEM5:3.51m) 10494963b7b6Smrg echo m68k-convergent-sysv 10504963b7b6Smrg exit 0 ;; 10514963b7b6Smrg M680?0:D-NIX:5.3:*) 10524963b7b6Smrg echo m68k-diab-dnix 10534963b7b6Smrg exit 0 ;; 10544963b7b6Smrg M68*:*:R3V[567]*:*) 10554963b7b6Smrg test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 10564963b7b6Smrg 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) 10574963b7b6Smrg OS_REL='' 10584963b7b6Smrg test -r /etc/.relid \ 10594963b7b6Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 10604963b7b6Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10614963b7b6Smrg && echo i486-ncr-sysv4.3${OS_REL} && exit 0 10624963b7b6Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 10634963b7b6Smrg && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 10644963b7b6Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 10654963b7b6Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 10664963b7b6Smrg && echo i486-ncr-sysv4 && exit 0 ;; 10674963b7b6Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 10684963b7b6Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 10694963b7b6Smrg exit 0 ;; 10704963b7b6Smrg mc68030:UNIX_System_V:4.*:*) 10714963b7b6Smrg echo m68k-atari-sysv4 10724963b7b6Smrg exit 0 ;; 10734963b7b6Smrg TSUNAMI:LynxOS:2.*:*) 10744963b7b6Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 10754963b7b6Smrg exit 0 ;; 10764963b7b6Smrg rs6000:LynxOS:2.*:*) 10774963b7b6Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 10784963b7b6Smrg exit 0 ;; 10794963b7b6Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 10804963b7b6Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 10814963b7b6Smrg exit 0 ;; 10824963b7b6Smrg SM[BE]S:UNIX_SV:*:*) 10834963b7b6Smrg echo mips-dde-sysv${UNAME_RELEASE} 10844963b7b6Smrg exit 0 ;; 10854963b7b6Smrg RM*:ReliantUNIX-*:*:*) 10864963b7b6Smrg echo mips-sni-sysv4 10874963b7b6Smrg exit 0 ;; 10884963b7b6Smrg RM*:SINIX-*:*:*) 10894963b7b6Smrg echo mips-sni-sysv4 10904963b7b6Smrg exit 0 ;; 10914963b7b6Smrg *:SINIX-*:*:*) 10924963b7b6Smrg if uname -p 2>/dev/null >/dev/null ; then 10934963b7b6Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 10944963b7b6Smrg echo ${UNAME_MACHINE}-sni-sysv4 10954963b7b6Smrg else 10964963b7b6Smrg echo ns32k-sni-sysv 10974963b7b6Smrg fi 10984963b7b6Smrg exit 0 ;; 10994963b7b6Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 11004963b7b6Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 11014963b7b6Smrg echo i586-unisys-sysv4 11024963b7b6Smrg exit 0 ;; 11034963b7b6Smrg *:UNIX_System_V:4*:FTX*) 11044963b7b6Smrg # From Gerald Hewes <hewes@openmarket.com>. 11054963b7b6Smrg # How about differentiating between stratus architectures? -djm 11064963b7b6Smrg echo hppa1.1-stratus-sysv4 11074963b7b6Smrg exit 0 ;; 11084963b7b6Smrg *:*:*:FTX*) 11094963b7b6Smrg # From seanf@swdc.stratus.com. 11104963b7b6Smrg echo i860-stratus-sysv4 11114963b7b6Smrg exit 0 ;; 11124963b7b6Smrg *:VOS:*:*) 11134963b7b6Smrg # From Paul.Green@stratus.com. 11144963b7b6Smrg echo hppa1.1-stratus-vos 11154963b7b6Smrg exit 0 ;; 11164963b7b6Smrg mc68*:A/UX:*:*) 11174963b7b6Smrg echo m68k-apple-aux${UNAME_RELEASE} 11184963b7b6Smrg exit 0 ;; 11194963b7b6Smrg news*:NEWS-OS:6*:*) 11204963b7b6Smrg echo mips-sony-newsos6 11214963b7b6Smrg exit 0 ;; 11224963b7b6Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 11234963b7b6Smrg if [ -d /usr/nec ]; then 11244963b7b6Smrg echo mips-nec-sysv${UNAME_RELEASE} 11254963b7b6Smrg else 11264963b7b6Smrg echo mips-unknown-sysv${UNAME_RELEASE} 11274963b7b6Smrg fi 11284963b7b6Smrg exit 0 ;; 11294963b7b6Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 11304963b7b6Smrg echo powerpc-be-beos 11314963b7b6Smrg exit 0 ;; 11324963b7b6Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 11334963b7b6Smrg echo powerpc-apple-beos 11344963b7b6Smrg exit 0 ;; 11354963b7b6Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 11364963b7b6Smrg echo i586-pc-beos 11374963b7b6Smrg exit 0 ;; 11384963b7b6Smrg SX-4:SUPER-UX:*:*) 11394963b7b6Smrg echo sx4-nec-superux${UNAME_RELEASE} 11404963b7b6Smrg exit 0 ;; 11414963b7b6Smrg SX-5:SUPER-UX:*:*) 11424963b7b6Smrg echo sx5-nec-superux${UNAME_RELEASE} 11434963b7b6Smrg exit 0 ;; 11444963b7b6Smrg SX-6:SUPER-UX:*:*) 11454963b7b6Smrg echo sx6-nec-superux${UNAME_RELEASE} 11464963b7b6Smrg exit 0 ;; 11474963b7b6Smrg Power*:Rhapsody:*:*) 11484963b7b6Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 11494963b7b6Smrg exit 0 ;; 11504963b7b6Smrg *:Rhapsody:*:*) 11514963b7b6Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 11524963b7b6Smrg exit 0 ;; 11534963b7b6Smrg *:Darwin:*:*) 11544963b7b6Smrg case `uname -p` in 11554963b7b6Smrg *86) UNAME_PROCESSOR=i686 ;; 11564963b7b6Smrg powerpc) UNAME_PROCESSOR=powerpc ;; 11574963b7b6Smrg esac 11584963b7b6Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 11594963b7b6Smrg exit 0 ;; 11604963b7b6Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 11614963b7b6Smrg UNAME_PROCESSOR=`uname -p` 11624963b7b6Smrg if test "$UNAME_PROCESSOR" = "x86"; then 11634963b7b6Smrg UNAME_PROCESSOR=i386 11644963b7b6Smrg UNAME_MACHINE=pc 11654963b7b6Smrg fi 11664963b7b6Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 11674963b7b6Smrg exit 0 ;; 11684963b7b6Smrg *:QNX:*:4*) 11694963b7b6Smrg echo i386-pc-qnx 11704963b7b6Smrg exit 0 ;; 11714963b7b6Smrg NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) 11724963b7b6Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 11734963b7b6Smrg exit 0 ;; 11744963b7b6Smrg *:NonStop-UX:*:*) 11754963b7b6Smrg echo mips-compaq-nonstopux 11764963b7b6Smrg exit 0 ;; 11774963b7b6Smrg BS2000:POSIX*:*:*) 11784963b7b6Smrg echo bs2000-siemens-sysv 11794963b7b6Smrg exit 0 ;; 11804963b7b6Smrg DS/*:UNIX_System_V:*:*) 11814963b7b6Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 11824963b7b6Smrg exit 0 ;; 11834963b7b6Smrg *:Plan9:*:*) 11844963b7b6Smrg # "uname -m" is not consistent, so use $cputype instead. 386 11854963b7b6Smrg # is converted to i386 for consistency with other x86 11864963b7b6Smrg # operating systems. 11874963b7b6Smrg if test "$cputype" = "386"; then 11884963b7b6Smrg UNAME_MACHINE=i386 11894963b7b6Smrg else 11904963b7b6Smrg UNAME_MACHINE="$cputype" 11914963b7b6Smrg fi 11924963b7b6Smrg echo ${UNAME_MACHINE}-unknown-plan9 11934963b7b6Smrg exit 0 ;; 11944963b7b6Smrg *:TOPS-10:*:*) 11954963b7b6Smrg echo pdp10-unknown-tops10 11964963b7b6Smrg exit 0 ;; 11974963b7b6Smrg *:TENEX:*:*) 11984963b7b6Smrg echo pdp10-unknown-tenex 11994963b7b6Smrg exit 0 ;; 12004963b7b6Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 12014963b7b6Smrg echo pdp10-dec-tops20 12024963b7b6Smrg exit 0 ;; 12034963b7b6Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 12044963b7b6Smrg echo pdp10-xkl-tops20 12054963b7b6Smrg exit 0 ;; 12064963b7b6Smrg *:TOPS-20:*:*) 12074963b7b6Smrg echo pdp10-unknown-tops20 12084963b7b6Smrg exit 0 ;; 12094963b7b6Smrg *:ITS:*:*) 12104963b7b6Smrg echo pdp10-unknown-its 12114963b7b6Smrg exit 0 ;; 12124963b7b6Smrg SEI:*:*:SEIUX) 12134963b7b6Smrg echo mips-sei-seiux${UNAME_RELEASE} 12144963b7b6Smrg exit 0 ;; 12154963b7b6Smrgesac 12164963b7b6Smrg 12174963b7b6Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 12184963b7b6Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 12194963b7b6Smrg 12204963b7b6Smrgeval $set_cc_for_build 12214963b7b6Smrgcat >$dummy.c <<EOF 12224963b7b6Smrg#ifdef _SEQUENT_ 12234963b7b6Smrg# include <sys/types.h> 12244963b7b6Smrg# include <sys/utsname.h> 12254963b7b6Smrg#endif 12264963b7b6Smrgmain () 12274963b7b6Smrg{ 12284963b7b6Smrg#if defined (sony) 12294963b7b6Smrg#if defined (MIPSEB) 12304963b7b6Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 12314963b7b6Smrg I don't know.... */ 12324963b7b6Smrg printf ("mips-sony-bsd\n"); exit (0); 12334963b7b6Smrg#else 12344963b7b6Smrg#include <sys/param.h> 12354963b7b6Smrg printf ("m68k-sony-newsos%s\n", 12364963b7b6Smrg#ifdef NEWSOS4 12374963b7b6Smrg "4" 12384963b7b6Smrg#else 12394963b7b6Smrg "" 12404963b7b6Smrg#endif 12414963b7b6Smrg ); exit (0); 12424963b7b6Smrg#endif 12434963b7b6Smrg#endif 12444963b7b6Smrg 12454963b7b6Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 12464963b7b6Smrg printf ("arm-acorn-riscix"); exit (0); 12474963b7b6Smrg#endif 12484963b7b6Smrg 12494963b7b6Smrg#if defined (hp300) && !defined (hpux) 12504963b7b6Smrg printf ("m68k-hp-bsd\n"); exit (0); 12514963b7b6Smrg#endif 12524963b7b6Smrg 12534963b7b6Smrg#if defined (NeXT) 12544963b7b6Smrg#if !defined (__ARCHITECTURE__) 12554963b7b6Smrg#define __ARCHITECTURE__ "m68k" 12564963b7b6Smrg#endif 12574963b7b6Smrg int version; 12584963b7b6Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 12594963b7b6Smrg if (version < 4) 12604963b7b6Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 12614963b7b6Smrg else 12624963b7b6Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 12634963b7b6Smrg exit (0); 12644963b7b6Smrg#endif 12654963b7b6Smrg 12664963b7b6Smrg#if defined (MULTIMAX) || defined (n16) 12674963b7b6Smrg#if defined (UMAXV) 12684963b7b6Smrg printf ("ns32k-encore-sysv\n"); exit (0); 12694963b7b6Smrg#else 12704963b7b6Smrg#if defined (CMU) 12714963b7b6Smrg printf ("ns32k-encore-mach\n"); exit (0); 12724963b7b6Smrg#else 12734963b7b6Smrg printf ("ns32k-encore-bsd\n"); exit (0); 12744963b7b6Smrg#endif 12754963b7b6Smrg#endif 12764963b7b6Smrg#endif 12774963b7b6Smrg 12784963b7b6Smrg#if defined (__386BSD__) 12794963b7b6Smrg printf ("i386-pc-bsd\n"); exit (0); 12804963b7b6Smrg#endif 12814963b7b6Smrg 12824963b7b6Smrg#if defined (sequent) 12834963b7b6Smrg#if defined (i386) 12844963b7b6Smrg printf ("i386-sequent-dynix\n"); exit (0); 12854963b7b6Smrg#endif 12864963b7b6Smrg#if defined (ns32000) 12874963b7b6Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 12884963b7b6Smrg#endif 12894963b7b6Smrg#endif 12904963b7b6Smrg 12914963b7b6Smrg#if defined (_SEQUENT_) 12924963b7b6Smrg struct utsname un; 12934963b7b6Smrg 12944963b7b6Smrg uname(&un); 12954963b7b6Smrg 12964963b7b6Smrg if (strncmp(un.version, "V2", 2) == 0) { 12974963b7b6Smrg printf ("i386-sequent-ptx2\n"); exit (0); 12984963b7b6Smrg } 12994963b7b6Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 13004963b7b6Smrg printf ("i386-sequent-ptx1\n"); exit (0); 13014963b7b6Smrg } 13024963b7b6Smrg printf ("i386-sequent-ptx\n"); exit (0); 13034963b7b6Smrg 13044963b7b6Smrg#endif 13054963b7b6Smrg 13064963b7b6Smrg#if defined (vax) 13074963b7b6Smrg# if !defined (ultrix) 13084963b7b6Smrg# include <sys/param.h> 13094963b7b6Smrg# if defined (BSD) 13104963b7b6Smrg# if BSD == 43 13114963b7b6Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 13124963b7b6Smrg# else 13134963b7b6Smrg# if BSD == 199006 13144963b7b6Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 13154963b7b6Smrg# else 13164963b7b6Smrg printf ("vax-dec-bsd\n"); exit (0); 13174963b7b6Smrg# endif 13184963b7b6Smrg# endif 13194963b7b6Smrg# else 13204963b7b6Smrg printf ("vax-dec-bsd\n"); exit (0); 13214963b7b6Smrg# endif 13224963b7b6Smrg# else 13234963b7b6Smrg printf ("vax-dec-ultrix\n"); exit (0); 13244963b7b6Smrg# endif 13254963b7b6Smrg#endif 13264963b7b6Smrg 13274963b7b6Smrg#if defined (alliant) && defined (i860) 13284963b7b6Smrg printf ("i860-alliant-bsd\n"); exit (0); 13294963b7b6Smrg#endif 13304963b7b6Smrg 13314963b7b6Smrg exit (1); 13324963b7b6Smrg} 13334963b7b6SmrgEOF 13344963b7b6Smrg 13354963b7b6Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 13364963b7b6Smrg 13374963b7b6Smrg# Apollos put the system type in the environment. 13384963b7b6Smrg 13394963b7b6Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 13404963b7b6Smrg 13414963b7b6Smrg# Convex versions that predate uname can use getsysinfo(1) 13424963b7b6Smrg 13434963b7b6Smrgif [ -x /usr/convex/getsysinfo ] 13444963b7b6Smrgthen 13454963b7b6Smrg case `getsysinfo -f cpu_type` in 13464963b7b6Smrg c1*) 13474963b7b6Smrg echo c1-convex-bsd 13484963b7b6Smrg exit 0 ;; 13494963b7b6Smrg c2*) 13504963b7b6Smrg if getsysinfo -f scalar_acc 13514963b7b6Smrg then echo c32-convex-bsd 13524963b7b6Smrg else echo c2-convex-bsd 13534963b7b6Smrg fi 13544963b7b6Smrg exit 0 ;; 13554963b7b6Smrg c34*) 13564963b7b6Smrg echo c34-convex-bsd 13574963b7b6Smrg exit 0 ;; 13584963b7b6Smrg c38*) 13594963b7b6Smrg echo c38-convex-bsd 13604963b7b6Smrg exit 0 ;; 13614963b7b6Smrg c4*) 13624963b7b6Smrg echo c4-convex-bsd 13634963b7b6Smrg exit 0 ;; 13644963b7b6Smrg esac 13654963b7b6Smrgfi 13664963b7b6Smrg 13674963b7b6Smrgcat >&2 <<EOF 13684963b7b6Smrg$0: unable to guess system type 13694963b7b6Smrg 13704963b7b6SmrgThis script, last modified $timestamp, has failed to recognize 13714963b7b6Smrgthe operating system you are using. It is advised that you 13724963b7b6Smrgdownload the most up to date version of the config scripts from 13734963b7b6Smrg 13744963b7b6Smrg ftp://ftp.gnu.org/pub/gnu/config/ 13754963b7b6Smrg 13764963b7b6SmrgIf the version you run ($0) is already up to date, please 13774963b7b6Smrgsend the following data and any information you think might be 13784963b7b6Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 13794963b7b6Smrginformation to handle your system. 13804963b7b6Smrg 13814963b7b6Smrgconfig.guess timestamp = $timestamp 13824963b7b6Smrg 13834963b7b6Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 13844963b7b6Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 13854963b7b6Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 13864963b7b6Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 13874963b7b6Smrg 13884963b7b6Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 13894963b7b6Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 13904963b7b6Smrg 13914963b7b6Smrghostinfo = `(hostinfo) 2>/dev/null` 13924963b7b6Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 13934963b7b6Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 13944963b7b6Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 13954963b7b6Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 13964963b7b6Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 13974963b7b6Smrg 13984963b7b6SmrgUNAME_MACHINE = ${UNAME_MACHINE} 13994963b7b6SmrgUNAME_RELEASE = ${UNAME_RELEASE} 14004963b7b6SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 14014963b7b6SmrgUNAME_VERSION = ${UNAME_VERSION} 14024963b7b6SmrgEOF 14034963b7b6Smrg 14044963b7b6Smrgexit 1 14054963b7b6Smrg 14064963b7b6Smrg# Local variables: 14074963b7b6Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 14084963b7b6Smrg# time-stamp-start: "timestamp='" 14094963b7b6Smrg# time-stamp-format: "%:y-%02m-%02d" 14104963b7b6Smrg# time-stamp-end: "'" 14114963b7b6Smrg# End: 1412