Annotation of gforth/config.guess, revision 1.6

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>