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