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