config.guess revision 5b944e2a
1b1297603Smrg#! /bin/sh 2b1297603Smrg# Attempt to guess a canonical system name. 3b1297603Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 45b944e2aSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 55b944e2aSmrg# Inc. 6b1297603Smrg 75b944e2aSmrgtimestamp='2006-07-02' 8b1297603Smrg 9b1297603Smrg# This file is free software; you can redistribute it and/or modify it 10b1297603Smrg# under the terms of the GNU General Public License as published by 11b1297603Smrg# the Free Software Foundation; either version 2 of the License, or 12b1297603Smrg# (at your option) any later version. 13b1297603Smrg# 14b1297603Smrg# This program is distributed in the hope that it will be useful, but 15b1297603Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16b1297603Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17b1297603Smrg# General Public License for more details. 18b1297603Smrg# 19b1297603Smrg# You should have received a copy of the GNU General Public License 20b1297603Smrg# along with this program; if not, write to the Free Software 21b1297603Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22b1297603Smrg# 02110-1301, USA. 23b1297603Smrg# 24b1297603Smrg# As a special exception to the GNU General Public License, if you 25b1297603Smrg# distribute this file as part of a program that contains a 26b1297603Smrg# configuration script generated by Autoconf, you may include it under 27b1297603Smrg# the same distribution terms that you use for the rest of that program. 28b1297603Smrg 29b1297603Smrg 30b1297603Smrg# Originally written by Per Bothner <per@bothner.com>. 31b1297603Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 32b1297603Smrg# diff and a properly formatted ChangeLog entry. 33b1297603Smrg# 34b1297603Smrg# This script attempts to guess a canonical system name similar to 35b1297603Smrg# config.sub. If it succeeds, it prints the system name on stdout, and 36b1297603Smrg# exits with 0. Otherwise, it exits with 1. 37b1297603Smrg# 38b1297603Smrg# The plan is that this can be called by configure scripts if you 39b1297603Smrg# don't specify an explicit build system type. 40b1297603Smrg 41b1297603Smrgme=`echo "$0" | sed -e 's,.*/,,'` 42b1297603Smrg 43b1297603Smrgusage="\ 44b1297603SmrgUsage: $0 [OPTION] 45b1297603Smrg 46b1297603SmrgOutput the configuration name of the system \`$me' is run on. 47b1297603Smrg 48b1297603SmrgOperation modes: 49b1297603Smrg -h, --help print this help, then exit 50b1297603Smrg -t, --time-stamp print date of last modification, then exit 51b1297603Smrg -v, --version print version number, then exit 52b1297603Smrg 53b1297603SmrgReport bugs and patches to <config-patches@gnu.org>." 54b1297603Smrg 55b1297603Smrgversion="\ 56b1297603SmrgGNU config.guess ($timestamp) 57b1297603Smrg 58b1297603SmrgOriginally written by Per Bothner. 59b1297603SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 60b1297603SmrgFree Software Foundation, Inc. 61b1297603Smrg 62b1297603SmrgThis is free software; see the source for copying conditions. There is NO 63b1297603Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 64b1297603Smrg 65b1297603Smrghelp=" 66b1297603SmrgTry \`$me --help' for more information." 67b1297603Smrg 68b1297603Smrg# Parse command line 69b1297603Smrgwhile test $# -gt 0 ; do 70b1297603Smrg case $1 in 71b1297603Smrg --time-stamp | --time* | -t ) 72b1297603Smrg echo "$timestamp" ; exit ;; 73b1297603Smrg --version | -v ) 74b1297603Smrg echo "$version" ; exit ;; 75b1297603Smrg --help | --h* | -h ) 76b1297603Smrg echo "$usage"; exit ;; 77b1297603Smrg -- ) # Stop option processing 78b1297603Smrg shift; break ;; 79b1297603Smrg - ) # Use stdin as input. 80b1297603Smrg break ;; 81b1297603Smrg -* ) 82b1297603Smrg echo "$me: invalid option $1$help" >&2 83b1297603Smrg exit 1 ;; 84b1297603Smrg * ) 85b1297603Smrg break ;; 86b1297603Smrg esac 87b1297603Smrgdone 88b1297603Smrg 89b1297603Smrgif test $# != 0; then 90b1297603Smrg echo "$me: too many arguments$help" >&2 91b1297603Smrg exit 1 92b1297603Smrgfi 93b1297603Smrg 94b1297603Smrgtrap 'exit 1' 1 2 15 95b1297603Smrg 96b1297603Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 97b1297603Smrg# compiler to aid in system detection is discouraged as it requires 98b1297603Smrg# temporary files to be created and, as you can see below, it is a 99b1297603Smrg# headache to deal with in a portable fashion. 100b1297603Smrg 101b1297603Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still 102b1297603Smrg# use `HOST_CC' if defined, but it is deprecated. 103b1297603Smrg 104b1297603Smrg# Portable tmp directory creation inspired by the Autoconf team. 105b1297603Smrg 106b1297603Smrgset_cc_for_build=' 107b1297603Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; 108b1297603Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 109b1297603Smrg: ${TMPDIR=/tmp} ; 1105b944e2aSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 111b1297603Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 112b1297603Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || 113b1297603Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; 114b1297603Smrgdummy=$tmp/dummy ; 115b1297603Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; 116b1297603Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in 117b1297603Smrg ,,) echo "int x;" > $dummy.c ; 118b1297603Smrg for c in cc gcc c89 c99 ; do 119b1297603Smrg if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then 120b1297603Smrg CC_FOR_BUILD="$c"; break ; 121b1297603Smrg fi ; 122b1297603Smrg done ; 123b1297603Smrg if test x"$CC_FOR_BUILD" = x ; then 124b1297603Smrg CC_FOR_BUILD=no_compiler_found ; 125b1297603Smrg fi 126b1297603Smrg ;; 127b1297603Smrg ,,*) CC_FOR_BUILD=$CC ;; 128b1297603Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 129b1297603Smrgesac ; set_cc_for_build= ;' 130b1297603Smrg 131b1297603Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 132b1297603Smrg# (ghazi@noc.rutgers.edu 1994-08-24) 133b1297603Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then 134b1297603Smrg PATH=$PATH:/.attbin ; export PATH 135b1297603Smrgfi 136b1297603Smrg 137b1297603SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 138b1297603SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 139b1297603SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 140b1297603SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 141b1297603Smrg 142b1297603Smrg# Note: order is significant - the case branches are not exclusive. 143b1297603Smrg 144b1297603Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in 145b1297603Smrg *:NetBSD:*:*) 146b1297603Smrg # NetBSD (nbsd) targets should (where applicable) match one or 147b1297603Smrg # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, 148b1297603Smrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 149b1297603Smrg # switched to ELF, *-*-netbsd* would select the old 150b1297603Smrg # object file format. This provides both forward 151b1297603Smrg # compatibility and a consistent mechanism for selecting the 152b1297603Smrg # object file format. 153b1297603Smrg # 154b1297603Smrg # Note: NetBSD doesn't particularly care about the vendor 155b1297603Smrg # portion of the name. We always set it to "unknown". 156b1297603Smrg sysctl="sysctl -n hw.machine_arch" 157b1297603Smrg UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ 158b1297603Smrg /usr/sbin/$sysctl 2>/dev/null || echo unknown)` 159b1297603Smrg case "${UNAME_MACHINE_ARCH}" in 160b1297603Smrg armeb) machine=armeb-unknown ;; 161b1297603Smrg arm*) machine=arm-unknown ;; 162b1297603Smrg sh3el) machine=shl-unknown ;; 163b1297603Smrg sh3eb) machine=sh-unknown ;; 164b1297603Smrg *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 165b1297603Smrg esac 166b1297603Smrg # The Operating System including object format, if it has switched 167b1297603Smrg # to ELF recently, or will in the future. 168b1297603Smrg case "${UNAME_MACHINE_ARCH}" in 169b1297603Smrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 170b1297603Smrg eval $set_cc_for_build 171b1297603Smrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 172b1297603Smrg | grep __ELF__ >/dev/null 173b1297603Smrg then 174b1297603Smrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 175b1297603Smrg # Return netbsd for either. FIX? 176b1297603Smrg os=netbsd 177b1297603Smrg else 178b1297603Smrg os=netbsdelf 179b1297603Smrg fi 180b1297603Smrg ;; 181b1297603Smrg *) 182b1297603Smrg os=netbsd 183b1297603Smrg ;; 184b1297603Smrg esac 185b1297603Smrg # The OS release 186b1297603Smrg # Debian GNU/NetBSD machines have a different userland, and 187b1297603Smrg # thus, need a distinct triplet. However, they do not need 188b1297603Smrg # kernel version information, so it can be replaced with a 189b1297603Smrg # suitable tag, in the style of linux-gnu. 190b1297603Smrg case "${UNAME_VERSION}" in 191b1297603Smrg Debian*) 192b1297603Smrg release='-gnu' 193b1297603Smrg ;; 194b1297603Smrg *) 195b1297603Smrg release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` 196b1297603Smrg ;; 197b1297603Smrg esac 198b1297603Smrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 199b1297603Smrg # contains redundant information, the shorter form: 200b1297603Smrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 201b1297603Smrg echo "${machine}-${os}${release}" 202b1297603Smrg exit ;; 203b1297603Smrg *:OpenBSD:*:*) 204b1297603Smrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 205b1297603Smrg echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 206b1297603Smrg exit ;; 207b1297603Smrg *:ekkoBSD:*:*) 208b1297603Smrg echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 209b1297603Smrg exit ;; 2105b944e2aSmrg *:SolidBSD:*:*) 2115b944e2aSmrg echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 2125b944e2aSmrg exit ;; 213b1297603Smrg macppc:MirBSD:*:*) 2145b944e2aSmrg echo powerpc-unknown-mirbsd${UNAME_RELEASE} 215b1297603Smrg exit ;; 216b1297603Smrg *:MirBSD:*:*) 217b1297603Smrg echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 218b1297603Smrg exit ;; 219b1297603Smrg alpha:OSF1:*:*) 220b1297603Smrg case $UNAME_RELEASE in 221b1297603Smrg *4.0) 222b1297603Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 223b1297603Smrg ;; 224b1297603Smrg *5.*) 225b1297603Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 226b1297603Smrg ;; 227b1297603Smrg esac 228b1297603Smrg # According to Compaq, /usr/sbin/psrinfo has been available on 229b1297603Smrg # OSF/1 and Tru64 systems produced since 1995. I hope that 230b1297603Smrg # covers most systems running today. This code pipes the CPU 231b1297603Smrg # types through head -n 1, so we only detect the type of CPU 0. 232b1297603Smrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 233b1297603Smrg case "$ALPHA_CPU_TYPE" in 234b1297603Smrg "EV4 (21064)") 235b1297603Smrg UNAME_MACHINE="alpha" ;; 236b1297603Smrg "EV4.5 (21064)") 237b1297603Smrg UNAME_MACHINE="alpha" ;; 238b1297603Smrg "LCA4 (21066/21068)") 239b1297603Smrg UNAME_MACHINE="alpha" ;; 240b1297603Smrg "EV5 (21164)") 241b1297603Smrg UNAME_MACHINE="alphaev5" ;; 242b1297603Smrg "EV5.6 (21164A)") 243b1297603Smrg UNAME_MACHINE="alphaev56" ;; 244b1297603Smrg "EV5.6 (21164PC)") 245b1297603Smrg UNAME_MACHINE="alphapca56" ;; 246b1297603Smrg "EV5.7 (21164PC)") 247b1297603Smrg UNAME_MACHINE="alphapca57" ;; 248b1297603Smrg "EV6 (21264)") 249b1297603Smrg UNAME_MACHINE="alphaev6" ;; 250b1297603Smrg "EV6.7 (21264A)") 251b1297603Smrg UNAME_MACHINE="alphaev67" ;; 252b1297603Smrg "EV6.8CB (21264C)") 253b1297603Smrg UNAME_MACHINE="alphaev68" ;; 254b1297603Smrg "EV6.8AL (21264B)") 255b1297603Smrg UNAME_MACHINE="alphaev68" ;; 256b1297603Smrg "EV6.8CX (21264D)") 257b1297603Smrg UNAME_MACHINE="alphaev68" ;; 258b1297603Smrg "EV6.9A (21264/EV69A)") 259b1297603Smrg UNAME_MACHINE="alphaev69" ;; 260b1297603Smrg "EV7 (21364)") 261b1297603Smrg UNAME_MACHINE="alphaev7" ;; 262b1297603Smrg "EV7.9 (21364A)") 263b1297603Smrg UNAME_MACHINE="alphaev79" ;; 264b1297603Smrg esac 265b1297603Smrg # A Pn.n version is a patched version. 266b1297603Smrg # A Vn.n version is a released version. 267b1297603Smrg # A Tn.n version is a released field test version. 268b1297603Smrg # A Xn.n version is an unreleased experimental baselevel. 269b1297603Smrg # 1.2 uses "1.2" for uname -r. 270b1297603Smrg echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 271b1297603Smrg exit ;; 272b1297603Smrg Alpha\ *:Windows_NT*:*) 273b1297603Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 274b1297603Smrg # Should we change UNAME_MACHINE based on the output of uname instead 275b1297603Smrg # of the specific Alpha model? 276b1297603Smrg echo alpha-pc-interix 277b1297603Smrg exit ;; 278b1297603Smrg 21064:Windows_NT:50:3) 279b1297603Smrg echo alpha-dec-winnt3.5 280b1297603Smrg exit ;; 281b1297603Smrg Amiga*:UNIX_System_V:4.0:*) 282b1297603Smrg echo m68k-unknown-sysv4 283b1297603Smrg exit ;; 284b1297603Smrg *:[Aa]miga[Oo][Ss]:*:*) 285b1297603Smrg echo ${UNAME_MACHINE}-unknown-amigaos 286b1297603Smrg exit ;; 287b1297603Smrg *:[Mm]orph[Oo][Ss]:*:*) 288b1297603Smrg echo ${UNAME_MACHINE}-unknown-morphos 289b1297603Smrg exit ;; 290b1297603Smrg *:OS/390:*:*) 291b1297603Smrg echo i370-ibm-openedition 292b1297603Smrg exit ;; 293b1297603Smrg *:z/VM:*:*) 294b1297603Smrg echo s390-ibm-zvmoe 295b1297603Smrg exit ;; 296b1297603Smrg *:OS400:*:*) 297b1297603Smrg echo powerpc-ibm-os400 298b1297603Smrg exit ;; 299b1297603Smrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 300b1297603Smrg echo arm-acorn-riscix${UNAME_RELEASE} 301b1297603Smrg exit ;; 302b1297603Smrg arm:riscos:*:*|arm:RISCOS:*:*) 303b1297603Smrg echo arm-unknown-riscos 304b1297603Smrg exit ;; 305b1297603Smrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 306b1297603Smrg echo hppa1.1-hitachi-hiuxmpp 307b1297603Smrg exit ;; 308b1297603Smrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 309b1297603Smrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 310b1297603Smrg if test "`(/bin/universe) 2>/dev/null`" = att ; then 311b1297603Smrg echo pyramid-pyramid-sysv3 312b1297603Smrg else 313b1297603Smrg echo pyramid-pyramid-bsd 314b1297603Smrg fi 315b1297603Smrg exit ;; 316b1297603Smrg NILE*:*:*:dcosx) 317b1297603Smrg echo pyramid-pyramid-svr4 318b1297603Smrg exit ;; 319b1297603Smrg DRS?6000:unix:4.0:6*) 320b1297603Smrg echo sparc-icl-nx6 321b1297603Smrg exit ;; 322b1297603Smrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 323b1297603Smrg case `/usr/bin/uname -p` in 324b1297603Smrg sparc) echo sparc-icl-nx7; exit ;; 325b1297603Smrg esac ;; 326b1297603Smrg sun4H:SunOS:5.*:*) 327b1297603Smrg echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 328b1297603Smrg exit ;; 329b1297603Smrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 330b1297603Smrg echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 331b1297603Smrg exit ;; 332b1297603Smrg i86pc:SunOS:5.*:*) 333b1297603Smrg echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 334b1297603Smrg exit ;; 335b1297603Smrg sun4*:SunOS:6*:*) 336b1297603Smrg # According to config.sub, this is the proper way to canonicalize 337b1297603Smrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 338b1297603Smrg # it's likely to be more like Solaris than SunOS4. 339b1297603Smrg echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 340b1297603Smrg exit ;; 341b1297603Smrg sun4*:SunOS:*:*) 342b1297603Smrg case "`/usr/bin/arch -k`" in 343b1297603Smrg Series*|S4*) 344b1297603Smrg UNAME_RELEASE=`uname -v` 345b1297603Smrg ;; 346b1297603Smrg esac 347b1297603Smrg # Japanese Language versions have a version number like `4.1.3-JL'. 348b1297603Smrg echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 349b1297603Smrg exit ;; 350b1297603Smrg sun3*:SunOS:*:*) 351b1297603Smrg echo m68k-sun-sunos${UNAME_RELEASE} 352b1297603Smrg exit ;; 353b1297603Smrg sun*:*:4.2BSD:*) 354b1297603Smrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 355b1297603Smrg test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 356b1297603Smrg case "`/bin/arch`" in 357b1297603Smrg sun3) 358b1297603Smrg echo m68k-sun-sunos${UNAME_RELEASE} 359b1297603Smrg ;; 360b1297603Smrg sun4) 361b1297603Smrg echo sparc-sun-sunos${UNAME_RELEASE} 362b1297603Smrg ;; 363b1297603Smrg esac 364b1297603Smrg exit ;; 365b1297603Smrg aushp:SunOS:*:*) 366b1297603Smrg echo sparc-auspex-sunos${UNAME_RELEASE} 367b1297603Smrg exit ;; 368b1297603Smrg # The situation for MiNT is a little confusing. The machine name 369b1297603Smrg # can be virtually everything (everything which is not 370b1297603Smrg # "atarist" or "atariste" at least should have a processor 371b1297603Smrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 372b1297603Smrg # to the lowercase version "mint" (or "freemint"). Finally 373b1297603Smrg # the system name "TOS" denotes a system which is actually not 374b1297603Smrg # MiNT. But MiNT is downward compatible to TOS, so this should 375b1297603Smrg # be no problem. 376b1297603Smrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 377b1297603Smrg echo m68k-atari-mint${UNAME_RELEASE} 378b1297603Smrg exit ;; 379b1297603Smrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 380b1297603Smrg echo m68k-atari-mint${UNAME_RELEASE} 381b1297603Smrg exit ;; 382b1297603Smrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 383b1297603Smrg echo m68k-atari-mint${UNAME_RELEASE} 384b1297603Smrg exit ;; 385b1297603Smrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 386b1297603Smrg echo m68k-milan-mint${UNAME_RELEASE} 387b1297603Smrg exit ;; 388b1297603Smrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 389b1297603Smrg echo m68k-hades-mint${UNAME_RELEASE} 390b1297603Smrg exit ;; 391b1297603Smrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 392b1297603Smrg echo m68k-unknown-mint${UNAME_RELEASE} 393b1297603Smrg exit ;; 394b1297603Smrg m68k:machten:*:*) 395b1297603Smrg echo m68k-apple-machten${UNAME_RELEASE} 396b1297603Smrg exit ;; 397b1297603Smrg powerpc:machten:*:*) 398b1297603Smrg echo powerpc-apple-machten${UNAME_RELEASE} 399b1297603Smrg exit ;; 400b1297603Smrg RISC*:Mach:*:*) 401b1297603Smrg echo mips-dec-mach_bsd4.3 402b1297603Smrg exit ;; 403b1297603Smrg RISC*:ULTRIX:*:*) 404b1297603Smrg echo mips-dec-ultrix${UNAME_RELEASE} 405b1297603Smrg exit ;; 406b1297603Smrg VAX*:ULTRIX*:*:*) 407b1297603Smrg echo vax-dec-ultrix${UNAME_RELEASE} 408b1297603Smrg exit ;; 409b1297603Smrg 2020:CLIX:*:* | 2430:CLIX:*:*) 410b1297603Smrg echo clipper-intergraph-clix${UNAME_RELEASE} 411b1297603Smrg exit ;; 412b1297603Smrg mips:*:*:UMIPS | mips:*:*:RISCos) 413b1297603Smrg eval $set_cc_for_build 414b1297603Smrg sed 's/^ //' << EOF >$dummy.c 415b1297603Smrg#ifdef __cplusplus 416b1297603Smrg#include <stdio.h> /* for printf() prototype */ 417b1297603Smrg int main (int argc, char *argv[]) { 418b1297603Smrg#else 419b1297603Smrg int main (argc, argv) int argc; char *argv[]; { 420b1297603Smrg#endif 421b1297603Smrg #if defined (host_mips) && defined (MIPSEB) 422b1297603Smrg #if defined (SYSTYPE_SYSV) 423b1297603Smrg printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); 424b1297603Smrg #endif 425b1297603Smrg #if defined (SYSTYPE_SVR4) 426b1297603Smrg printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); 427b1297603Smrg #endif 428b1297603Smrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 429b1297603Smrg printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); 430b1297603Smrg #endif 431b1297603Smrg #endif 432b1297603Smrg exit (-1); 433b1297603Smrg } 434b1297603SmrgEOF 435b1297603Smrg $CC_FOR_BUILD -o $dummy $dummy.c && 436b1297603Smrg dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 437b1297603Smrg SYSTEM_NAME=`$dummy $dummyarg` && 438b1297603Smrg { echo "$SYSTEM_NAME"; exit; } 439b1297603Smrg echo mips-mips-riscos${UNAME_RELEASE} 440b1297603Smrg exit ;; 441b1297603Smrg Motorola:PowerMAX_OS:*:*) 442b1297603Smrg echo powerpc-motorola-powermax 443b1297603Smrg exit ;; 444b1297603Smrg Motorola:*:4.3:PL8-*) 445b1297603Smrg echo powerpc-harris-powermax 446b1297603Smrg exit ;; 447b1297603Smrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 448b1297603Smrg echo powerpc-harris-powermax 449b1297603Smrg exit ;; 450b1297603Smrg Night_Hawk:Power_UNIX:*:*) 451b1297603Smrg echo powerpc-harris-powerunix 452b1297603Smrg exit ;; 453b1297603Smrg m88k:CX/UX:7*:*) 454b1297603Smrg echo m88k-harris-cxux7 455b1297603Smrg exit ;; 456b1297603Smrg m88k:*:4*:R4*) 457b1297603Smrg echo m88k-motorola-sysv4 458b1297603Smrg exit ;; 459b1297603Smrg m88k:*:3*:R3*) 460b1297603Smrg echo m88k-motorola-sysv3 461b1297603Smrg exit ;; 462b1297603Smrg AViiON:dgux:*:*) 463b1297603Smrg # DG/UX returns AViiON for all architectures 464b1297603Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 465b1297603Smrg if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] 466b1297603Smrg then 467b1297603Smrg if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ 468b1297603Smrg [ ${TARGET_BINARY_INTERFACE}x = x ] 469b1297603Smrg then 470b1297603Smrg echo m88k-dg-dgux${UNAME_RELEASE} 471b1297603Smrg else 472b1297603Smrg echo m88k-dg-dguxbcs${UNAME_RELEASE} 473b1297603Smrg fi 474b1297603Smrg else 475b1297603Smrg echo i586-dg-dgux${UNAME_RELEASE} 476b1297603Smrg fi 477b1297603Smrg exit ;; 478b1297603Smrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 479b1297603Smrg echo m88k-dolphin-sysv3 480b1297603Smrg exit ;; 481b1297603Smrg M88*:*:R3*:*) 482b1297603Smrg # Delta 88k system running SVR3 483b1297603Smrg echo m88k-motorola-sysv3 484b1297603Smrg exit ;; 485b1297603Smrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 486b1297603Smrg echo m88k-tektronix-sysv3 487b1297603Smrg exit ;; 488b1297603Smrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 489b1297603Smrg echo m68k-tektronix-bsd 490b1297603Smrg exit ;; 491b1297603Smrg *:IRIX*:*:*) 492b1297603Smrg echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 493b1297603Smrg exit ;; 494b1297603Smrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 495b1297603Smrg echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 496b1297603Smrg exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 497b1297603Smrg i*86:AIX:*:*) 498b1297603Smrg echo i386-ibm-aix 499b1297603Smrg exit ;; 500b1297603Smrg ia64:AIX:*:*) 501b1297603Smrg if [ -x /usr/bin/oslevel ] ; then 502b1297603Smrg IBM_REV=`/usr/bin/oslevel` 503b1297603Smrg else 504b1297603Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 505b1297603Smrg fi 506b1297603Smrg echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 507b1297603Smrg exit ;; 508b1297603Smrg *:AIX:2:3) 509b1297603Smrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 510b1297603Smrg eval $set_cc_for_build 511b1297603Smrg sed 's/^ //' << EOF >$dummy.c 512b1297603Smrg #include <sys/systemcfg.h> 513b1297603Smrg 514b1297603Smrg main() 515b1297603Smrg { 516b1297603Smrg if (!__power_pc()) 517b1297603Smrg exit(1); 518b1297603Smrg puts("powerpc-ibm-aix3.2.5"); 519b1297603Smrg exit(0); 520b1297603Smrg } 521b1297603SmrgEOF 522b1297603Smrg if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 523b1297603Smrg then 524b1297603Smrg echo "$SYSTEM_NAME" 525b1297603Smrg else 526b1297603Smrg echo rs6000-ibm-aix3.2.5 527b1297603Smrg fi 528b1297603Smrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 529b1297603Smrg echo rs6000-ibm-aix3.2.4 530b1297603Smrg else 531b1297603Smrg echo rs6000-ibm-aix3.2 532b1297603Smrg fi 533b1297603Smrg exit ;; 534b1297603Smrg *:AIX:*:[45]) 535b1297603Smrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 536b1297603Smrg if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then 537b1297603Smrg IBM_ARCH=rs6000 538b1297603Smrg else 539b1297603Smrg IBM_ARCH=powerpc 540b1297603Smrg fi 541b1297603Smrg if [ -x /usr/bin/oslevel ] ; then 542b1297603Smrg IBM_REV=`/usr/bin/oslevel` 543b1297603Smrg else 544b1297603Smrg IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} 545b1297603Smrg fi 546b1297603Smrg echo ${IBM_ARCH}-ibm-aix${IBM_REV} 547b1297603Smrg exit ;; 548b1297603Smrg *:AIX:*:*) 549b1297603Smrg echo rs6000-ibm-aix 550b1297603Smrg exit ;; 551b1297603Smrg ibmrt:4.4BSD:*|romp-ibm:BSD:*) 552b1297603Smrg echo romp-ibm-bsd4.4 553b1297603Smrg exit ;; 554b1297603Smrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 555b1297603Smrg echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 556b1297603Smrg exit ;; # report: romp-ibm BSD 4.3 557b1297603Smrg *:BOSX:*:*) 558b1297603Smrg echo rs6000-bull-bosx 559b1297603Smrg exit ;; 560b1297603Smrg DPX/2?00:B.O.S.:*:*) 561b1297603Smrg echo m68k-bull-sysv3 562b1297603Smrg exit ;; 563b1297603Smrg 9000/[34]??:4.3bsd:1.*:*) 564b1297603Smrg echo m68k-hp-bsd 565b1297603Smrg exit ;; 566b1297603Smrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 567b1297603Smrg echo m68k-hp-bsd4.4 568b1297603Smrg exit ;; 569b1297603Smrg 9000/[34678]??:HP-UX:*:*) 570b1297603Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 571b1297603Smrg case "${UNAME_MACHINE}" in 572b1297603Smrg 9000/31? ) HP_ARCH=m68000 ;; 573b1297603Smrg 9000/[34]?? ) HP_ARCH=m68k ;; 574b1297603Smrg 9000/[678][0-9][0-9]) 575b1297603Smrg if [ -x /usr/bin/getconf ]; then 576b1297603Smrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 577b1297603Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 578b1297603Smrg case "${sc_cpu_version}" in 579b1297603Smrg 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 580b1297603Smrg 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 581b1297603Smrg 532) # CPU_PA_RISC2_0 582b1297603Smrg case "${sc_kernel_bits}" in 583b1297603Smrg 32) HP_ARCH="hppa2.0n" ;; 584b1297603Smrg 64) HP_ARCH="hppa2.0w" ;; 585b1297603Smrg '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 586b1297603Smrg esac ;; 587b1297603Smrg esac 588b1297603Smrg fi 589b1297603Smrg if [ "${HP_ARCH}" = "" ]; then 590b1297603Smrg eval $set_cc_for_build 591b1297603Smrg sed 's/^ //' << EOF >$dummy.c 592b1297603Smrg 593b1297603Smrg #define _HPUX_SOURCE 594b1297603Smrg #include <stdlib.h> 595b1297603Smrg #include <unistd.h> 596b1297603Smrg 597b1297603Smrg int main () 598b1297603Smrg { 599b1297603Smrg #if defined(_SC_KERNEL_BITS) 600b1297603Smrg long bits = sysconf(_SC_KERNEL_BITS); 601b1297603Smrg #endif 602b1297603Smrg long cpu = sysconf (_SC_CPU_VERSION); 603b1297603Smrg 604b1297603Smrg switch (cpu) 605b1297603Smrg { 606b1297603Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 607b1297603Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 608b1297603Smrg case CPU_PA_RISC2_0: 609b1297603Smrg #if defined(_SC_KERNEL_BITS) 610b1297603Smrg switch (bits) 611b1297603Smrg { 612b1297603Smrg case 64: puts ("hppa2.0w"); break; 613b1297603Smrg case 32: puts ("hppa2.0n"); break; 614b1297603Smrg default: puts ("hppa2.0"); break; 615b1297603Smrg } break; 616b1297603Smrg #else /* !defined(_SC_KERNEL_BITS) */ 617b1297603Smrg puts ("hppa2.0"); break; 618b1297603Smrg #endif 619b1297603Smrg default: puts ("hppa1.0"); break; 620b1297603Smrg } 621b1297603Smrg exit (0); 622b1297603Smrg } 623b1297603SmrgEOF 624b1297603Smrg (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` 625b1297603Smrg test -z "$HP_ARCH" && HP_ARCH=hppa 626b1297603Smrg fi ;; 627b1297603Smrg esac 628b1297603Smrg if [ ${HP_ARCH} = "hppa2.0w" ] 629b1297603Smrg then 630b1297603Smrg eval $set_cc_for_build 631b1297603Smrg 632b1297603Smrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 633b1297603Smrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 634b1297603Smrg # generating 64-bit code. GNU and HP use different nomenclature: 635b1297603Smrg # 636b1297603Smrg # $ CC_FOR_BUILD=cc ./config.guess 637b1297603Smrg # => hppa2.0w-hp-hpux11.23 638b1297603Smrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 639b1297603Smrg # => hppa64-hp-hpux11.23 640b1297603Smrg 641b1297603Smrg if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 642b1297603Smrg grep __LP64__ >/dev/null 643b1297603Smrg then 644b1297603Smrg HP_ARCH="hppa2.0w" 645b1297603Smrg else 646b1297603Smrg HP_ARCH="hppa64" 647b1297603Smrg fi 648b1297603Smrg fi 649b1297603Smrg echo ${HP_ARCH}-hp-hpux${HPUX_REV} 650b1297603Smrg exit ;; 651b1297603Smrg ia64:HP-UX:*:*) 652b1297603Smrg HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 653b1297603Smrg echo ia64-hp-hpux${HPUX_REV} 654b1297603Smrg exit ;; 655b1297603Smrg 3050*:HI-UX:*:*) 656b1297603Smrg eval $set_cc_for_build 657b1297603Smrg sed 's/^ //' << EOF >$dummy.c 658b1297603Smrg #include <unistd.h> 659b1297603Smrg int 660b1297603Smrg main () 661b1297603Smrg { 662b1297603Smrg long cpu = sysconf (_SC_CPU_VERSION); 663b1297603Smrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 664b1297603Smrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 665b1297603Smrg results, however. */ 666b1297603Smrg if (CPU_IS_PA_RISC (cpu)) 667b1297603Smrg { 668b1297603Smrg switch (cpu) 669b1297603Smrg { 670b1297603Smrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 671b1297603Smrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 672b1297603Smrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 673b1297603Smrg default: puts ("hppa-hitachi-hiuxwe2"); break; 674b1297603Smrg } 675b1297603Smrg } 676b1297603Smrg else if (CPU_IS_HP_MC68K (cpu)) 677b1297603Smrg puts ("m68k-hitachi-hiuxwe2"); 678b1297603Smrg else puts ("unknown-hitachi-hiuxwe2"); 679b1297603Smrg exit (0); 680b1297603Smrg } 681b1297603SmrgEOF 682b1297603Smrg $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 683b1297603Smrg { echo "$SYSTEM_NAME"; exit; } 684b1297603Smrg echo unknown-hitachi-hiuxwe2 685b1297603Smrg exit ;; 686b1297603Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 687b1297603Smrg echo hppa1.1-hp-bsd 688b1297603Smrg exit ;; 689b1297603Smrg 9000/8??:4.3bsd:*:*) 690b1297603Smrg echo hppa1.0-hp-bsd 691b1297603Smrg exit ;; 692b1297603Smrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 693b1297603Smrg echo hppa1.0-hp-mpeix 694b1297603Smrg exit ;; 695b1297603Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 696b1297603Smrg echo hppa1.1-hp-osf 697b1297603Smrg exit ;; 698b1297603Smrg hp8??:OSF1:*:*) 699b1297603Smrg echo hppa1.0-hp-osf 700b1297603Smrg exit ;; 701b1297603Smrg i*86:OSF1:*:*) 702b1297603Smrg if [ -x /usr/sbin/sysversion ] ; then 703b1297603Smrg echo ${UNAME_MACHINE}-unknown-osf1mk 704b1297603Smrg else 705b1297603Smrg echo ${UNAME_MACHINE}-unknown-osf1 706b1297603Smrg fi 707b1297603Smrg exit ;; 708b1297603Smrg parisc*:Lites*:*:*) 709b1297603Smrg echo hppa1.1-hp-lites 710b1297603Smrg exit ;; 711b1297603Smrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 712b1297603Smrg echo c1-convex-bsd 713b1297603Smrg exit ;; 714b1297603Smrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 715b1297603Smrg if getsysinfo -f scalar_acc 716b1297603Smrg then echo c32-convex-bsd 717b1297603Smrg else echo c2-convex-bsd 718b1297603Smrg fi 719b1297603Smrg exit ;; 720b1297603Smrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 721b1297603Smrg echo c34-convex-bsd 722b1297603Smrg exit ;; 723b1297603Smrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 724b1297603Smrg echo c38-convex-bsd 725b1297603Smrg exit ;; 726b1297603Smrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 727b1297603Smrg echo c4-convex-bsd 728b1297603Smrg exit ;; 729b1297603Smrg CRAY*Y-MP:*:*:*) 730b1297603Smrg echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 731b1297603Smrg exit ;; 732b1297603Smrg CRAY*[A-Z]90:*:*:*) 733b1297603Smrg echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ 734b1297603Smrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 735b1297603Smrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 736b1297603Smrg -e 's/\.[^.]*$/.X/' 737b1297603Smrg exit ;; 738b1297603Smrg CRAY*TS:*:*:*) 739b1297603Smrg echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 740b1297603Smrg exit ;; 741b1297603Smrg CRAY*T3E:*:*:*) 742b1297603Smrg echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 743b1297603Smrg exit ;; 744b1297603Smrg CRAY*SV1:*:*:*) 745b1297603Smrg echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 746b1297603Smrg exit ;; 747b1297603Smrg *:UNICOS/mp:*:*) 748b1297603Smrg echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 749b1297603Smrg exit ;; 750b1297603Smrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 751b1297603Smrg FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 752b1297603Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 753b1297603Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 754b1297603Smrg echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 755b1297603Smrg exit ;; 756b1297603Smrg 5000:UNIX_System_V:4.*:*) 757b1297603Smrg FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 758b1297603Smrg FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 759b1297603Smrg echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 760b1297603Smrg exit ;; 761b1297603Smrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 762b1297603Smrg echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 763b1297603Smrg exit ;; 764b1297603Smrg sparc*:BSD/OS:*:*) 765b1297603Smrg echo sparc-unknown-bsdi${UNAME_RELEASE} 766b1297603Smrg exit ;; 767b1297603Smrg *:BSD/OS:*:*) 768b1297603Smrg echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 769b1297603Smrg exit ;; 770b1297603Smrg *:FreeBSD:*:*) 7715b944e2aSmrg case ${UNAME_MACHINE} in 7725b944e2aSmrg pc98) 7735b944e2aSmrg echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 7745b944e2aSmrg amd64) 7755b944e2aSmrg echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 7765b944e2aSmrg *) 7775b944e2aSmrg echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 7785b944e2aSmrg esac 779b1297603Smrg exit ;; 780b1297603Smrg i*:CYGWIN*:*) 781b1297603Smrg echo ${UNAME_MACHINE}-pc-cygwin 782b1297603Smrg exit ;; 783b1297603Smrg i*:MINGW*:*) 784b1297603Smrg echo ${UNAME_MACHINE}-pc-mingw32 785b1297603Smrg exit ;; 786b1297603Smrg i*:windows32*:*) 787b1297603Smrg # uname -m includes "-pc" on this system. 788b1297603Smrg echo ${UNAME_MACHINE}-mingw32 789b1297603Smrg exit ;; 790b1297603Smrg i*:PW*:*) 791b1297603Smrg echo ${UNAME_MACHINE}-pc-pw32 792b1297603Smrg exit ;; 7935b944e2aSmrg x86:Interix*:[3456]*) 7945b944e2aSmrg echo i586-pc-interix${UNAME_RELEASE} 7955b944e2aSmrg exit ;; 7965b944e2aSmrg EM64T:Interix*:[3456]*) 7975b944e2aSmrg echo x86_64-unknown-interix${UNAME_RELEASE} 798b1297603Smrg exit ;; 799b1297603Smrg [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 800b1297603Smrg echo i${UNAME_MACHINE}-pc-mks 801b1297603Smrg exit ;; 802b1297603Smrg i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 803b1297603Smrg # How do we know it's Interix rather than the generic POSIX subsystem? 804b1297603Smrg # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we 805b1297603Smrg # UNAME_MACHINE based on the output of uname instead of i386? 806b1297603Smrg echo i586-pc-interix 807b1297603Smrg exit ;; 808b1297603Smrg i*:UWIN*:*) 809b1297603Smrg echo ${UNAME_MACHINE}-pc-uwin 810b1297603Smrg exit ;; 8115b944e2aSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 812b1297603Smrg echo x86_64-unknown-cygwin 813b1297603Smrg exit ;; 814b1297603Smrg p*:CYGWIN*:*) 815b1297603Smrg echo powerpcle-unknown-cygwin 816b1297603Smrg exit ;; 817b1297603Smrg prep*:SunOS:5.*:*) 818b1297603Smrg echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 819b1297603Smrg exit ;; 820b1297603Smrg *:GNU:*:*) 821b1297603Smrg # the GNU system 822b1297603Smrg echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 823b1297603Smrg exit ;; 824b1297603Smrg *:GNU/*:*:*) 825b1297603Smrg # other systems with GNU libc and userland 826b1297603Smrg echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 827b1297603Smrg exit ;; 828b1297603Smrg i*86:Minix:*:*) 829b1297603Smrg echo ${UNAME_MACHINE}-pc-minix 830b1297603Smrg exit ;; 831b1297603Smrg arm*:Linux:*:*) 832b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 833b1297603Smrg exit ;; 8345b944e2aSmrg avr32*:Linux:*:*) 8355b944e2aSmrg echo ${UNAME_MACHINE}-unknown-linux-gnu 8365b944e2aSmrg exit ;; 837b1297603Smrg cris:Linux:*:*) 838b1297603Smrg echo cris-axis-linux-gnu 839b1297603Smrg exit ;; 840b1297603Smrg crisv32:Linux:*:*) 841b1297603Smrg echo crisv32-axis-linux-gnu 842b1297603Smrg exit ;; 843b1297603Smrg frv:Linux:*:*) 844b1297603Smrg echo frv-unknown-linux-gnu 845b1297603Smrg exit ;; 846b1297603Smrg ia64:Linux:*:*) 847b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 848b1297603Smrg exit ;; 849b1297603Smrg m32r*:Linux:*:*) 850b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 851b1297603Smrg exit ;; 852b1297603Smrg m68*:Linux:*:*) 853b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 854b1297603Smrg exit ;; 855b1297603Smrg mips:Linux:*:*) 856b1297603Smrg eval $set_cc_for_build 857b1297603Smrg sed 's/^ //' << EOF >$dummy.c 858b1297603Smrg #undef CPU 859b1297603Smrg #undef mips 860b1297603Smrg #undef mipsel 861b1297603Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 862b1297603Smrg CPU=mipsel 863b1297603Smrg #else 864b1297603Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 865b1297603Smrg CPU=mips 866b1297603Smrg #else 867b1297603Smrg CPU= 868b1297603Smrg #endif 869b1297603Smrg #endif 870b1297603SmrgEOF 8715b944e2aSmrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 8725b944e2aSmrg /^CPU/{ 8735b944e2aSmrg s: ::g 8745b944e2aSmrg p 8755b944e2aSmrg }'`" 876b1297603Smrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 877b1297603Smrg ;; 878b1297603Smrg mips64:Linux:*:*) 879b1297603Smrg eval $set_cc_for_build 880b1297603Smrg sed 's/^ //' << EOF >$dummy.c 881b1297603Smrg #undef CPU 882b1297603Smrg #undef mips64 883b1297603Smrg #undef mips64el 884b1297603Smrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 885b1297603Smrg CPU=mips64el 886b1297603Smrg #else 887b1297603Smrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 888b1297603Smrg CPU=mips64 889b1297603Smrg #else 890b1297603Smrg CPU= 891b1297603Smrg #endif 892b1297603Smrg #endif 893b1297603SmrgEOF 8945b944e2aSmrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 8955b944e2aSmrg /^CPU/{ 8965b944e2aSmrg s: ::g 8975b944e2aSmrg p 8985b944e2aSmrg }'`" 899b1297603Smrg test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 900b1297603Smrg ;; 9015b944e2aSmrg or32:Linux:*:*) 9025b944e2aSmrg echo or32-unknown-linux-gnu 9035b944e2aSmrg exit ;; 904b1297603Smrg ppc:Linux:*:*) 905b1297603Smrg echo powerpc-unknown-linux-gnu 906b1297603Smrg exit ;; 907b1297603Smrg ppc64:Linux:*:*) 908b1297603Smrg echo powerpc64-unknown-linux-gnu 909b1297603Smrg exit ;; 910b1297603Smrg alpha:Linux:*:*) 911b1297603Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in 912b1297603Smrg EV5) UNAME_MACHINE=alphaev5 ;; 913b1297603Smrg EV56) UNAME_MACHINE=alphaev56 ;; 914b1297603Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 915b1297603Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 916b1297603Smrg EV6) UNAME_MACHINE=alphaev6 ;; 917b1297603Smrg EV67) UNAME_MACHINE=alphaev67 ;; 918b1297603Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 919b1297603Smrg esac 920b1297603Smrg objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 921b1297603Smrg if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 922b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 923b1297603Smrg exit ;; 924b1297603Smrg parisc:Linux:*:* | hppa:Linux:*:*) 925b1297603Smrg # Look for CPU level 926b1297603Smrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 927b1297603Smrg PA7*) echo hppa1.1-unknown-linux-gnu ;; 928b1297603Smrg PA8*) echo hppa2.0-unknown-linux-gnu ;; 929b1297603Smrg *) echo hppa-unknown-linux-gnu ;; 930b1297603Smrg esac 931b1297603Smrg exit ;; 932b1297603Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 933b1297603Smrg echo hppa64-unknown-linux-gnu 934b1297603Smrg exit ;; 935b1297603Smrg s390:Linux:*:* | s390x:Linux:*:*) 936b1297603Smrg echo ${UNAME_MACHINE}-ibm-linux 937b1297603Smrg exit ;; 938b1297603Smrg sh64*:Linux:*:*) 939b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 940b1297603Smrg exit ;; 941b1297603Smrg sh*:Linux:*:*) 942b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 943b1297603Smrg exit ;; 944b1297603Smrg sparc:Linux:*:* | sparc64:Linux:*:*) 945b1297603Smrg echo ${UNAME_MACHINE}-unknown-linux-gnu 946b1297603Smrg exit ;; 9475b944e2aSmrg vax:Linux:*:*) 9485b944e2aSmrg echo ${UNAME_MACHINE}-dec-linux-gnu 9495b944e2aSmrg exit ;; 950b1297603Smrg x86_64:Linux:*:*) 951b1297603Smrg echo x86_64-unknown-linux-gnu 952b1297603Smrg exit ;; 953b1297603Smrg i*86:Linux:*:*) 954b1297603Smrg # The BFD linker knows what the default object file format is, so 955b1297603Smrg # first see if it will tell us. cd to the root directory to prevent 956b1297603Smrg # problems with other programs or directories called `ld' in the path. 957b1297603Smrg # Set LC_ALL=C to ensure ld outputs messages in English. 958b1297603Smrg ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ 959b1297603Smrg | sed -ne '/supported targets:/!d 960b1297603Smrg s/[ ][ ]*/ /g 961b1297603Smrg s/.*supported targets: *// 962b1297603Smrg s/ .*// 963b1297603Smrg p'` 964b1297603Smrg case "$ld_supported_targets" in 965b1297603Smrg elf32-i386) 966b1297603Smrg TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 967b1297603Smrg ;; 968b1297603Smrg a.out-i386-linux) 969b1297603Smrg echo "${UNAME_MACHINE}-pc-linux-gnuaout" 970b1297603Smrg exit ;; 971b1297603Smrg coff-i386) 972b1297603Smrg echo "${UNAME_MACHINE}-pc-linux-gnucoff" 973b1297603Smrg exit ;; 974b1297603Smrg "") 975b1297603Smrg # Either a pre-BFD a.out linker (linux-gnuoldld) or 976b1297603Smrg # one that does not give us useful --help. 977b1297603Smrg echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 978b1297603Smrg exit ;; 979b1297603Smrg esac 980b1297603Smrg # Determine whether the default compiler is a.out or elf 981b1297603Smrg eval $set_cc_for_build 982b1297603Smrg sed 's/^ //' << EOF >$dummy.c 983b1297603Smrg #include <features.h> 984b1297603Smrg #ifdef __ELF__ 985b1297603Smrg # ifdef __GLIBC__ 986b1297603Smrg # if __GLIBC__ >= 2 987b1297603Smrg LIBC=gnu 988b1297603Smrg # else 989b1297603Smrg LIBC=gnulibc1 990b1297603Smrg # endif 991b1297603Smrg # else 992b1297603Smrg LIBC=gnulibc1 993b1297603Smrg # endif 994b1297603Smrg #else 9955b944e2aSmrg #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) 996b1297603Smrg LIBC=gnu 997b1297603Smrg #else 998b1297603Smrg LIBC=gnuaout 999b1297603Smrg #endif 1000b1297603Smrg #endif 1001b1297603Smrg #ifdef __dietlibc__ 1002b1297603Smrg LIBC=dietlibc 1003b1297603Smrg #endif 1004b1297603SmrgEOF 10055b944e2aSmrg eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 10065b944e2aSmrg /^LIBC/{ 10075b944e2aSmrg s: ::g 10085b944e2aSmrg p 10095b944e2aSmrg }'`" 1010b1297603Smrg test x"${LIBC}" != x && { 1011b1297603Smrg echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1012b1297603Smrg exit 1013b1297603Smrg } 1014b1297603Smrg test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 1015b1297603Smrg ;; 1016b1297603Smrg i*86:DYNIX/ptx:4*:*) 1017b1297603Smrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1018b1297603Smrg # earlier versions are messed up and put the nodename in both 1019b1297603Smrg # sysname and nodename. 1020b1297603Smrg echo i386-sequent-sysv4 1021b1297603Smrg exit ;; 1022b1297603Smrg i*86:UNIX_SV:4.2MP:2.*) 1023b1297603Smrg # Unixware is an offshoot of SVR4, but it has its own version 1024b1297603Smrg # number series starting with 2... 1025b1297603Smrg # I am not positive that other SVR4 systems won't match this, 1026b1297603Smrg # I just have to hope. -- rms. 1027b1297603Smrg # Use sysv4.2uw... so that sysv4* matches it. 1028b1297603Smrg echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1029b1297603Smrg exit ;; 1030b1297603Smrg i*86:OS/2:*:*) 1031b1297603Smrg # If we were able to find `uname', then EMX Unix compatibility 1032b1297603Smrg # is probably installed. 1033b1297603Smrg echo ${UNAME_MACHINE}-pc-os2-emx 1034b1297603Smrg exit ;; 1035b1297603Smrg i*86:XTS-300:*:STOP) 1036b1297603Smrg echo ${UNAME_MACHINE}-unknown-stop 1037b1297603Smrg exit ;; 1038b1297603Smrg i*86:atheos:*:*) 1039b1297603Smrg echo ${UNAME_MACHINE}-unknown-atheos 1040b1297603Smrg exit ;; 1041b1297603Smrg i*86:syllable:*:*) 1042b1297603Smrg echo ${UNAME_MACHINE}-pc-syllable 1043b1297603Smrg exit ;; 1044b1297603Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1045b1297603Smrg echo i386-unknown-lynxos${UNAME_RELEASE} 1046b1297603Smrg exit ;; 1047b1297603Smrg i*86:*DOS:*:*) 1048b1297603Smrg echo ${UNAME_MACHINE}-pc-msdosdjgpp 1049b1297603Smrg exit ;; 1050b1297603Smrg i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1051b1297603Smrg UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` 1052b1297603Smrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1053b1297603Smrg echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} 1054b1297603Smrg else 1055b1297603Smrg echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1056b1297603Smrg fi 1057b1297603Smrg exit ;; 1058b1297603Smrg i*86:*:5:[678]*) 1059b1297603Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1060b1297603Smrg case `/bin/uname -X | grep "^Machine"` in 1061b1297603Smrg *486*) UNAME_MACHINE=i486 ;; 1062b1297603Smrg *Pentium) UNAME_MACHINE=i586 ;; 1063b1297603Smrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1064b1297603Smrg esac 1065b1297603Smrg echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1066b1297603Smrg exit ;; 1067b1297603Smrg i*86:*:3.2:*) 1068b1297603Smrg if test -f /usr/options/cb.name; then 1069b1297603Smrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1070b1297603Smrg echo ${UNAME_MACHINE}-pc-isc$UNAME_REL 1071b1297603Smrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1072b1297603Smrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1073b1297603Smrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1074b1297603Smrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1075b1297603Smrg && UNAME_MACHINE=i586 1076b1297603Smrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1077b1297603Smrg && UNAME_MACHINE=i686 1078b1297603Smrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1079b1297603Smrg && UNAME_MACHINE=i686 1080b1297603Smrg echo ${UNAME_MACHINE}-pc-sco$UNAME_REL 1081b1297603Smrg else 1082b1297603Smrg echo ${UNAME_MACHINE}-pc-sysv32 1083b1297603Smrg fi 1084b1297603Smrg exit ;; 1085b1297603Smrg pc:*:*:*) 1086b1297603Smrg # Left here for compatibility: 1087b1297603Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1088b1297603Smrg # the processor, so we play safe by assuming i386. 1089b1297603Smrg echo i386-pc-msdosdjgpp 1090b1297603Smrg exit ;; 1091b1297603Smrg Intel:Mach:3*:*) 1092b1297603Smrg echo i386-pc-mach3 1093b1297603Smrg exit ;; 1094b1297603Smrg paragon:*:*:*) 1095b1297603Smrg echo i860-intel-osf1 1096b1297603Smrg exit ;; 1097b1297603Smrg i860:*:4.*:*) # i860-SVR4 1098b1297603Smrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1099b1297603Smrg echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 1100b1297603Smrg else # Add other i860-SVR4 vendors below as they are discovered. 1101b1297603Smrg echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1102b1297603Smrg fi 1103b1297603Smrg exit ;; 1104b1297603Smrg mini*:CTIX:SYS*5:*) 1105b1297603Smrg # "miniframe" 1106b1297603Smrg echo m68010-convergent-sysv 1107b1297603Smrg exit ;; 1108b1297603Smrg mc68k:UNIX:SYSTEM5:3.51m) 1109b1297603Smrg echo m68k-convergent-sysv 1110b1297603Smrg exit ;; 1111b1297603Smrg M680?0:D-NIX:5.3:*) 1112b1297603Smrg echo m68k-diab-dnix 1113b1297603Smrg exit ;; 1114b1297603Smrg M68*:*:R3V[5678]*:*) 1115b1297603Smrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1116b1297603Smrg 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 1117b1297603Smrg OS_REL='' 1118b1297603Smrg test -r /etc/.relid \ 1119b1297603Smrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1120b1297603Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1121b1297603Smrg && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1122b1297603Smrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1123b1297603Smrg && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1124b1297603Smrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1125b1297603Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1126b1297603Smrg && { echo i486-ncr-sysv4; exit; } ;; 1127b1297603Smrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1128b1297603Smrg echo m68k-unknown-lynxos${UNAME_RELEASE} 1129b1297603Smrg exit ;; 1130b1297603Smrg mc68030:UNIX_System_V:4.*:*) 1131b1297603Smrg echo m68k-atari-sysv4 1132b1297603Smrg exit ;; 1133b1297603Smrg TSUNAMI:LynxOS:2.*:*) 1134b1297603Smrg echo sparc-unknown-lynxos${UNAME_RELEASE} 1135b1297603Smrg exit ;; 1136b1297603Smrg rs6000:LynxOS:2.*:*) 1137b1297603Smrg echo rs6000-unknown-lynxos${UNAME_RELEASE} 1138b1297603Smrg exit ;; 1139b1297603Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1140b1297603Smrg echo powerpc-unknown-lynxos${UNAME_RELEASE} 1141b1297603Smrg exit ;; 1142b1297603Smrg SM[BE]S:UNIX_SV:*:*) 1143b1297603Smrg echo mips-dde-sysv${UNAME_RELEASE} 1144b1297603Smrg exit ;; 1145b1297603Smrg RM*:ReliantUNIX-*:*:*) 1146b1297603Smrg echo mips-sni-sysv4 1147b1297603Smrg exit ;; 1148b1297603Smrg RM*:SINIX-*:*:*) 1149b1297603Smrg echo mips-sni-sysv4 1150b1297603Smrg exit ;; 1151b1297603Smrg *:SINIX-*:*:*) 1152b1297603Smrg if uname -p 2>/dev/null >/dev/null ; then 1153b1297603Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1154b1297603Smrg echo ${UNAME_MACHINE}-sni-sysv4 1155b1297603Smrg else 1156b1297603Smrg echo ns32k-sni-sysv 1157b1297603Smrg fi 1158b1297603Smrg exit ;; 1159b1297603Smrg PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1160b1297603Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1161b1297603Smrg echo i586-unisys-sysv4 1162b1297603Smrg exit ;; 1163b1297603Smrg *:UNIX_System_V:4*:FTX*) 1164b1297603Smrg # From Gerald Hewes <hewes@openmarket.com>. 1165b1297603Smrg # How about differentiating between stratus architectures? -djm 1166b1297603Smrg echo hppa1.1-stratus-sysv4 1167b1297603Smrg exit ;; 1168b1297603Smrg *:*:*:FTX*) 1169b1297603Smrg # From seanf@swdc.stratus.com. 1170b1297603Smrg echo i860-stratus-sysv4 1171b1297603Smrg exit ;; 1172b1297603Smrg i*86:VOS:*:*) 1173b1297603Smrg # From Paul.Green@stratus.com. 1174b1297603Smrg echo ${UNAME_MACHINE}-stratus-vos 1175b1297603Smrg exit ;; 1176b1297603Smrg *:VOS:*:*) 1177b1297603Smrg # From Paul.Green@stratus.com. 1178b1297603Smrg echo hppa1.1-stratus-vos 1179b1297603Smrg exit ;; 1180b1297603Smrg mc68*:A/UX:*:*) 1181b1297603Smrg echo m68k-apple-aux${UNAME_RELEASE} 1182b1297603Smrg exit ;; 1183b1297603Smrg news*:NEWS-OS:6*:*) 1184b1297603Smrg echo mips-sony-newsos6 1185b1297603Smrg exit ;; 1186b1297603Smrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1187b1297603Smrg if [ -d /usr/nec ]; then 1188b1297603Smrg echo mips-nec-sysv${UNAME_RELEASE} 1189b1297603Smrg else 1190b1297603Smrg echo mips-unknown-sysv${UNAME_RELEASE} 1191b1297603Smrg fi 1192b1297603Smrg exit ;; 1193b1297603Smrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1194b1297603Smrg echo powerpc-be-beos 1195b1297603Smrg exit ;; 1196b1297603Smrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1197b1297603Smrg echo powerpc-apple-beos 1198b1297603Smrg exit ;; 1199b1297603Smrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1200b1297603Smrg echo i586-pc-beos 1201b1297603Smrg exit ;; 1202b1297603Smrg SX-4:SUPER-UX:*:*) 1203b1297603Smrg echo sx4-nec-superux${UNAME_RELEASE} 1204b1297603Smrg exit ;; 1205b1297603Smrg SX-5:SUPER-UX:*:*) 1206b1297603Smrg echo sx5-nec-superux${UNAME_RELEASE} 1207b1297603Smrg exit ;; 1208b1297603Smrg SX-6:SUPER-UX:*:*) 1209b1297603Smrg echo sx6-nec-superux${UNAME_RELEASE} 1210b1297603Smrg exit ;; 1211b1297603Smrg Power*:Rhapsody:*:*) 1212b1297603Smrg echo powerpc-apple-rhapsody${UNAME_RELEASE} 1213b1297603Smrg exit ;; 1214b1297603Smrg *:Rhapsody:*:*) 1215b1297603Smrg echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1216b1297603Smrg exit ;; 1217b1297603Smrg *:Darwin:*:*) 1218b1297603Smrg UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1219b1297603Smrg case $UNAME_PROCESSOR in 1220b1297603Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1221b1297603Smrg esac 1222b1297603Smrg echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1223b1297603Smrg exit ;; 1224b1297603Smrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1225b1297603Smrg UNAME_PROCESSOR=`uname -p` 1226b1297603Smrg if test "$UNAME_PROCESSOR" = "x86"; then 1227b1297603Smrg UNAME_PROCESSOR=i386 1228b1297603Smrg UNAME_MACHINE=pc 1229b1297603Smrg fi 1230b1297603Smrg echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1231b1297603Smrg exit ;; 1232b1297603Smrg *:QNX:*:4*) 1233b1297603Smrg echo i386-pc-qnx 1234b1297603Smrg exit ;; 1235b1297603Smrg NSE-?:NONSTOP_KERNEL:*:*) 1236b1297603Smrg echo nse-tandem-nsk${UNAME_RELEASE} 1237b1297603Smrg exit ;; 1238b1297603Smrg NSR-?:NONSTOP_KERNEL:*:*) 1239b1297603Smrg echo nsr-tandem-nsk${UNAME_RELEASE} 1240b1297603Smrg exit ;; 1241b1297603Smrg *:NonStop-UX:*:*) 1242b1297603Smrg echo mips-compaq-nonstopux 1243b1297603Smrg exit ;; 1244b1297603Smrg BS2000:POSIX*:*:*) 1245b1297603Smrg echo bs2000-siemens-sysv 1246b1297603Smrg exit ;; 1247b1297603Smrg DS/*:UNIX_System_V:*:*) 1248b1297603Smrg echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1249b1297603Smrg exit ;; 1250b1297603Smrg *:Plan9:*:*) 1251b1297603Smrg # "uname -m" is not consistent, so use $cputype instead. 386 1252b1297603Smrg # is converted to i386 for consistency with other x86 1253b1297603Smrg # operating systems. 1254b1297603Smrg if test "$cputype" = "386"; then 1255b1297603Smrg UNAME_MACHINE=i386 1256b1297603Smrg else 1257b1297603Smrg UNAME_MACHINE="$cputype" 1258b1297603Smrg fi 1259b1297603Smrg echo ${UNAME_MACHINE}-unknown-plan9 1260b1297603Smrg exit ;; 1261b1297603Smrg *:TOPS-10:*:*) 1262b1297603Smrg echo pdp10-unknown-tops10 1263b1297603Smrg exit ;; 1264b1297603Smrg *:TENEX:*:*) 1265b1297603Smrg echo pdp10-unknown-tenex 1266b1297603Smrg exit ;; 1267b1297603Smrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1268b1297603Smrg echo pdp10-dec-tops20 1269b1297603Smrg exit ;; 1270b1297603Smrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1271b1297603Smrg echo pdp10-xkl-tops20 1272b1297603Smrg exit ;; 1273b1297603Smrg *:TOPS-20:*:*) 1274b1297603Smrg echo pdp10-unknown-tops20 1275b1297603Smrg exit ;; 1276b1297603Smrg *:ITS:*:*) 1277b1297603Smrg echo pdp10-unknown-its 1278b1297603Smrg exit ;; 1279b1297603Smrg SEI:*:*:SEIUX) 1280b1297603Smrg echo mips-sei-seiux${UNAME_RELEASE} 1281b1297603Smrg exit ;; 1282b1297603Smrg *:DragonFly:*:*) 1283b1297603Smrg echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1284b1297603Smrg exit ;; 1285b1297603Smrg *:*VMS:*:*) 1286b1297603Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1287b1297603Smrg case "${UNAME_MACHINE}" in 1288b1297603Smrg A*) echo alpha-dec-vms ; exit ;; 1289b1297603Smrg I*) echo ia64-dec-vms ; exit ;; 1290b1297603Smrg V*) echo vax-dec-vms ; exit ;; 1291b1297603Smrg esac ;; 1292b1297603Smrg *:XENIX:*:SysV) 1293b1297603Smrg echo i386-pc-xenix 1294b1297603Smrg exit ;; 1295b1297603Smrg i*86:skyos:*:*) 1296b1297603Smrg echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1297b1297603Smrg exit ;; 12985b944e2aSmrg i*86:rdos:*:*) 12995b944e2aSmrg echo ${UNAME_MACHINE}-pc-rdos 13005b944e2aSmrg exit ;; 1301b1297603Smrgesac 1302b1297603Smrg 1303b1297603Smrg#echo '(No uname command or uname output not recognized.)' 1>&2 1304b1297603Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 1305b1297603Smrg 1306b1297603Smrgeval $set_cc_for_build 1307b1297603Smrgcat >$dummy.c <<EOF 1308b1297603Smrg#ifdef _SEQUENT_ 1309b1297603Smrg# include <sys/types.h> 1310b1297603Smrg# include <sys/utsname.h> 1311b1297603Smrg#endif 1312b1297603Smrgmain () 1313b1297603Smrg{ 1314b1297603Smrg#if defined (sony) 1315b1297603Smrg#if defined (MIPSEB) 1316b1297603Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1317b1297603Smrg I don't know.... */ 1318b1297603Smrg printf ("mips-sony-bsd\n"); exit (0); 1319b1297603Smrg#else 1320b1297603Smrg#include <sys/param.h> 1321b1297603Smrg printf ("m68k-sony-newsos%s\n", 1322b1297603Smrg#ifdef NEWSOS4 1323b1297603Smrg "4" 1324b1297603Smrg#else 1325b1297603Smrg "" 1326b1297603Smrg#endif 1327b1297603Smrg ); exit (0); 1328b1297603Smrg#endif 1329b1297603Smrg#endif 1330b1297603Smrg 1331b1297603Smrg#if defined (__arm) && defined (__acorn) && defined (__unix) 1332b1297603Smrg printf ("arm-acorn-riscix\n"); exit (0); 1333b1297603Smrg#endif 1334b1297603Smrg 1335b1297603Smrg#if defined (hp300) && !defined (hpux) 1336b1297603Smrg printf ("m68k-hp-bsd\n"); exit (0); 1337b1297603Smrg#endif 1338b1297603Smrg 1339b1297603Smrg#if defined (NeXT) 1340b1297603Smrg#if !defined (__ARCHITECTURE__) 1341b1297603Smrg#define __ARCHITECTURE__ "m68k" 1342b1297603Smrg#endif 1343b1297603Smrg int version; 1344b1297603Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1345b1297603Smrg if (version < 4) 1346b1297603Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1347b1297603Smrg else 1348b1297603Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1349b1297603Smrg exit (0); 1350b1297603Smrg#endif 1351b1297603Smrg 1352b1297603Smrg#if defined (MULTIMAX) || defined (n16) 1353b1297603Smrg#if defined (UMAXV) 1354b1297603Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1355b1297603Smrg#else 1356b1297603Smrg#if defined (CMU) 1357b1297603Smrg printf ("ns32k-encore-mach\n"); exit (0); 1358b1297603Smrg#else 1359b1297603Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1360b1297603Smrg#endif 1361b1297603Smrg#endif 1362b1297603Smrg#endif 1363b1297603Smrg 1364b1297603Smrg#if defined (__386BSD__) 1365b1297603Smrg printf ("i386-pc-bsd\n"); exit (0); 1366b1297603Smrg#endif 1367b1297603Smrg 1368b1297603Smrg#if defined (sequent) 1369b1297603Smrg#if defined (i386) 1370b1297603Smrg printf ("i386-sequent-dynix\n"); exit (0); 1371b1297603Smrg#endif 1372b1297603Smrg#if defined (ns32000) 1373b1297603Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1374b1297603Smrg#endif 1375b1297603Smrg#endif 1376b1297603Smrg 1377b1297603Smrg#if defined (_SEQUENT_) 1378b1297603Smrg struct utsname un; 1379b1297603Smrg 1380b1297603Smrg uname(&un); 1381b1297603Smrg 1382b1297603Smrg if (strncmp(un.version, "V2", 2) == 0) { 1383b1297603Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1384b1297603Smrg } 1385b1297603Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1386b1297603Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1387b1297603Smrg } 1388b1297603Smrg printf ("i386-sequent-ptx\n"); exit (0); 1389b1297603Smrg 1390b1297603Smrg#endif 1391b1297603Smrg 1392b1297603Smrg#if defined (vax) 1393b1297603Smrg# if !defined (ultrix) 1394b1297603Smrg# include <sys/param.h> 1395b1297603Smrg# if defined (BSD) 1396b1297603Smrg# if BSD == 43 1397b1297603Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1398b1297603Smrg# else 1399b1297603Smrg# if BSD == 199006 1400b1297603Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1401b1297603Smrg# else 1402b1297603Smrg printf ("vax-dec-bsd\n"); exit (0); 1403b1297603Smrg# endif 1404b1297603Smrg# endif 1405b1297603Smrg# else 1406b1297603Smrg printf ("vax-dec-bsd\n"); exit (0); 1407b1297603Smrg# endif 1408b1297603Smrg# else 1409b1297603Smrg printf ("vax-dec-ultrix\n"); exit (0); 1410b1297603Smrg# endif 1411b1297603Smrg#endif 1412b1297603Smrg 1413b1297603Smrg#if defined (alliant) && defined (i860) 1414b1297603Smrg printf ("i860-alliant-bsd\n"); exit (0); 1415b1297603Smrg#endif 1416b1297603Smrg 1417b1297603Smrg exit (1); 1418b1297603Smrg} 1419b1297603SmrgEOF 1420b1297603Smrg 1421b1297603Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1422b1297603Smrg { echo "$SYSTEM_NAME"; exit; } 1423b1297603Smrg 1424b1297603Smrg# Apollos put the system type in the environment. 1425b1297603Smrg 1426b1297603Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1427b1297603Smrg 1428b1297603Smrg# Convex versions that predate uname can use getsysinfo(1) 1429b1297603Smrg 1430b1297603Smrgif [ -x /usr/convex/getsysinfo ] 1431b1297603Smrgthen 1432b1297603Smrg case `getsysinfo -f cpu_type` in 1433b1297603Smrg c1*) 1434b1297603Smrg echo c1-convex-bsd 1435b1297603Smrg exit ;; 1436b1297603Smrg c2*) 1437b1297603Smrg if getsysinfo -f scalar_acc 1438b1297603Smrg then echo c32-convex-bsd 1439b1297603Smrg else echo c2-convex-bsd 1440b1297603Smrg fi 1441b1297603Smrg exit ;; 1442b1297603Smrg c34*) 1443b1297603Smrg echo c34-convex-bsd 1444b1297603Smrg exit ;; 1445b1297603Smrg c38*) 1446b1297603Smrg echo c38-convex-bsd 1447b1297603Smrg exit ;; 1448b1297603Smrg c4*) 1449b1297603Smrg echo c4-convex-bsd 1450b1297603Smrg exit ;; 1451b1297603Smrg esac 1452b1297603Smrgfi 1453b1297603Smrg 1454b1297603Smrgcat >&2 <<EOF 1455b1297603Smrg$0: unable to guess system type 1456b1297603Smrg 1457b1297603SmrgThis script, last modified $timestamp, has failed to recognize 1458b1297603Smrgthe operating system you are using. It is advised that you 1459b1297603Smrgdownload the most up to date version of the config scripts from 1460b1297603Smrg 1461b1297603Smrg http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1462b1297603Smrgand 1463b1297603Smrg http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1464b1297603Smrg 1465b1297603SmrgIf the version you run ($0) is already up to date, please 1466b1297603Smrgsend the following data and any information you think might be 1467b1297603Smrgpertinent to <config-patches@gnu.org> in order to provide the needed 1468b1297603Smrginformation to handle your system. 1469b1297603Smrg 1470b1297603Smrgconfig.guess timestamp = $timestamp 1471b1297603Smrg 1472b1297603Smrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1473b1297603Smrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1474b1297603Smrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1475b1297603Smrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1476b1297603Smrg 1477b1297603Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1478b1297603Smrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1479b1297603Smrg 1480b1297603Smrghostinfo = `(hostinfo) 2>/dev/null` 1481b1297603Smrg/bin/universe = `(/bin/universe) 2>/dev/null` 1482b1297603Smrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1483b1297603Smrg/bin/arch = `(/bin/arch) 2>/dev/null` 1484b1297603Smrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1485b1297603Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1486b1297603Smrg 1487b1297603SmrgUNAME_MACHINE = ${UNAME_MACHINE} 1488b1297603SmrgUNAME_RELEASE = ${UNAME_RELEASE} 1489b1297603SmrgUNAME_SYSTEM = ${UNAME_SYSTEM} 1490b1297603SmrgUNAME_VERSION = ${UNAME_VERSION} 1491b1297603SmrgEOF 1492b1297603Smrg 1493b1297603Smrgexit 1 1494b1297603Smrg 1495b1297603Smrg# Local variables: 1496b1297603Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1497b1297603Smrg# time-stamp-start: "timestamp='" 1498b1297603Smrg# time-stamp-format: "%:y-%02m-%02d" 1499b1297603Smrg# time-stamp-end: "'" 1500b1297603Smrg# End: 1501