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