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