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