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