Annotation of gforth/config.guess, revision 1.2

1.2     ! anton       1: #! /bin/sh
1.1       pazsan      2: # Attempt to guess a canonical system name.
1.2     ! anton       3: #   Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
1.1       pazsan      4: #
                      5: # This file is free software; you can redistribute it and/or modify it
                      6: # under the terms of the GNU General Public License as published by
                      7: # the Free Software Foundation; either version 2 of the License, or
                      8: # (at your option) any later version.
                      9: #
                     10: # This program is distributed in the hope that it will be useful, but
                     11: # WITHOUT ANY WARRANTY; without even the implied warranty of
                     12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     13: # General Public License for more details.
                     14: #
                     15: # You should have received a copy of the GNU General Public License
                     16: # along with this program; if not, write to the Free Software
1.2     ! anton      17: # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1.1       pazsan     18: #
                     19: # As a special exception to the GNU General Public License, if you
                     20: # distribute this file as part of a program that contains a
                     21: # configuration script generated by Autoconf, you may include it under
                     22: # the same distribution terms that you use for the rest of that program.
                     23: 
                     24: # Written by Per Bothner <bothner@cygnus.com>.
                     25: # The master version of this file is at the FSF in /home/gd/gnu/lib.
                     26: #
                     27: # This script attempts to guess a canonical system name similar to
                     28: # config.sub.  If it succeeds, it prints the system name on stdout, and
                     29: # exits with 0.  Otherwise, it exits with 1.
                     30: #
                     31: # The plan is that this can be called by configure scripts if you
                     32: # don't specify an explicit system type (host/target name).
                     33: #
                     34: # Only a few systems have been added to this list; please add others
                     35: # (but try to keep the structure clean).
                     36: #
                     37: 
                     38: # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
                     39: # (ghazi@noc.rutgers.edu 8/24/94.)
                     40: if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
                     41:        PATH=$PATH:/.attbin ; export PATH
                     42: fi
                     43: 
                     44: UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
                     45: UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
                     46: UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
                     47: UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
                     48: 
                     49: trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
                     50: 
                     51: # Note: order is significant - the case branches are not exclusive.
                     52: 
                     53: case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
                     54:     alpha:OSF1:*:*)
1.2     ! anton      55:        # A Vn.n version is a released version.
        !            56:        # A Tn.n version is a released field test version.
        !            57:        # A Xn.n version is an unreleased experimental baselevel.
1.1       pazsan     58:        # 1.2 uses "1.2" for uname -r.
1.2     ! anton      59:        echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
        !            60:        exit 0 ;;
        !            61:     21064:Windows_NT:50:3)
        !            62:        echo alpha-dec-winnt3.5
        !            63:        exit 0 ;;
        !            64:     Amiga*:UNIX_System_V:4.0:*)
        !            65:        echo m68k-cbm-sysv4
        !            66:        exit 0;;
        !            67:     amiga:NetBSD:*:*)
        !            68:       echo m68k-cbm-netbsd${UNAME_RELEASE}
        !            69:       exit 0 ;;
1.1       pazsan     70:     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
                     71:        echo arm-acorn-riscix${UNAME_RELEASE}
                     72:        exit 0;;
                     73:     Pyramid*:OSx*:*:*)
                     74:        if test "`(/bin/universe) 2>/dev/null`" = att ; then
                     75:                echo pyramid-pyramid-sysv3
                     76:        else
                     77:                echo pyramid-pyramid-bsd
                     78:        fi
                     79:        exit 0 ;;
                     80:     sun4*:SunOS:5.*:*)
                     81:        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                     82:        exit 0 ;;
1.2     ! anton      83:     i86pc:SunOS:5.*:*)
        !            84:        echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        !            85:        exit 0 ;;
1.1       pazsan     86:     sun4*:SunOS:6*:*)
                     87:        # According to config.sub, this is the proper way to canonicalize
                     88:        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
                     89:        # it's likely to be more like Solaris than SunOS4.
                     90:        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
                     91:        exit 0 ;;
                     92:     sun4*:SunOS:*:*)
1.2     ! anton      93:        case "`/usr/bin/arch -k`" in
        !            94:            Series*|S4*)
        !            95:                UNAME_RELEASE=`uname -v`
        !            96:                ;;
        !            97:        esac
1.1       pazsan     98:        # Japanese Language versions have a version number like `4.1.3-JL'.
                     99:        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
                    100:        exit 0 ;;
                    101:     sun3*:SunOS:*:*)
                    102:        echo m68k-sun-sunos${UNAME_RELEASE}
                    103:        exit 0 ;;
1.2     ! anton     104:     atari*:NetBSD:*:*)
        !           105:        echo m68k-atari-netbsd${UNAME_RELEASE}
        !           106:        exit 0 ;;
        !           107:     sun3*:NetBSD:*:*)
        !           108:        echo m68k-sun-netbsd${UNAME_RELEASE}
        !           109:        exit 0 ;;
        !           110:     mac68k:NetBSD:*:*)
        !           111:        echo m68k-apple-netbsd${UNAME_RELEASE}
        !           112:        exit 0 ;;
1.1       pazsan    113:     RISC*:ULTRIX:*:*)
                    114:        echo mips-dec-ultrix${UNAME_RELEASE}
                    115:        exit 0 ;;
                    116:     VAX*:ULTRIX*:*:*)
                    117:        echo vax-dec-ultrix${UNAME_RELEASE}
                    118:        exit 0 ;;
1.2     ! anton     119:     mips:*:4*:UMIPS)
        !           120:        echo mips-mips-riscos4sysv
        !           121:        exit 0 ;;
1.1       pazsan    122:     mips:*:5*:RISCos)
                    123:        echo mips-mips-riscos${UNAME_RELEASE}
                    124:        exit 0 ;;
1.2     ! anton     125:     Night_Hawk:Power_UNIX:*:*)
        !           126:        echo powerpc-harris-powerunix
        !           127:        exit 0 ;;
1.1       pazsan    128:     m88k:CX/UX:7*:*)
                    129:        echo m88k-harris-cxux7
                    130:        exit 0 ;;
                    131:     m88k:*:4*:R4*)
                    132:        echo m88k-motorola-sysv4
                    133:        exit 0 ;;
                    134:     m88k:*:3*:R3*)
                    135:        echo m88k-motorola-sysv3
                    136:        exit 0 ;;
                    137:     AViiON:dgux:*:*)
1.2     ! anton     138:         # DG/UX returns AViiON for all architectures
        !           139:         UNAME_PROCESSOR=`/usr/bin/uname -p`
        !           140:         if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88100 ] ; then
1.1       pazsan    141:        if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
                    142:             -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
                    143:                echo m88k-dg-dgux${UNAME_RELEASE}
                    144:        else
                    145:                echo m88k-dg-dguxbcs${UNAME_RELEASE}
                    146:        fi
1.2     ! anton     147:         else echo i586-dg-dgux${UNAME_RELEASE}
        !           148:         fi
1.1       pazsan    149:        exit 0 ;;
                    150:     M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
                    151:        echo m88k-dolphin-sysv3
                    152:        exit 0 ;;
                    153:     M88*:*:R3*:*)
                    154:        # Delta 88k system running SVR3
                    155:        echo m88k-motorola-sysv3
                    156:        exit 0 ;;
                    157:     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
                    158:        echo m88k-tektronix-sysv3
                    159:        exit 0 ;;
                    160:     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
                    161:        echo m68k-tektronix-bsd
                    162:        exit 0 ;;
1.2     ! anton     163:     *:IRIX*:*:*)
        !           164:        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
1.1       pazsan    165:        exit 0 ;;
1.2     ! anton     166:    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
        !           167:        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
        !           168:        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
1.1       pazsan    169:     i[34]86:AIX:*:*)
                    170:        echo i386-ibm-aix
                    171:        exit 0 ;;
                    172:     *:AIX:2:3)
                    173:        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
                    174:                sed 's/^                //' << EOF >dummy.c
                    175:                #include <sys/systemcfg.h>
                    176: 
                    177:                main()
                    178:                        {
                    179:                        if (!__power_pc())
                    180:                                exit(1);
                    181:                        puts("powerpc-ibm-aix3.2.5");
                    182:                        exit(0);
                    183:                        }
                    184: EOF
                    185:                ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
                    186:                rm -f dummy.c dummy
                    187:                echo rs6000-ibm-aix3.2.5
                    188:        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
                    189:                echo rs6000-ibm-aix3.2.4
                    190:        else
                    191:                echo rs6000-ibm-aix3.2
                    192:        fi
                    193:        exit 0 ;;
                    194:     *:AIX:*:4)
                    195:        if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
                    196:                IBM_ARCH=rs6000
                    197:        else
                    198:                IBM_ARCH=powerpc
                    199:        fi
1.2     ! anton     200:        if [ -x /usr/bin/oslevel ] ; then
        !           201:                IBM_REV=`/usr/bin/oslevel`
1.1       pazsan    202:        else
                    203:                IBM_REV=4.${UNAME_RELEASE}
                    204:        fi
                    205:        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
                    206:        exit 0 ;;
                    207:     *:AIX:*:*)
                    208:        echo rs6000-ibm-aix
                    209:        exit 0 ;;
1.2     ! anton     210:     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
        !           211:        echo romp-ibm-bsd4.4
        !           212:        exit 0 ;;
        !           213:     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
        !           214:        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to 
        !           215:        exit 0 ;;                           # report: romp-ibm BSD 4.3
1.1       pazsan    216:     *:BOSX:*:*)
                    217:        echo rs6000-bull-bosx
                    218:        exit 0 ;;
                    219:     DPX/2?00:B.O.S.:*:*)
                    220:        echo m68k-bull-sysv3
                    221:        exit 0 ;;
                    222:     9000/[34]??:4.3bsd:1.*:*)
                    223:        echo m68k-hp-bsd
                    224:        exit 0 ;;
                    225:     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
                    226:        echo m68k-hp-bsd4.4
                    227:        exit 0 ;;
                    228:     9000/[3478]??:HP-UX:*:*)
                    229:        case "${UNAME_MACHINE}" in
                    230:            9000/31? )            HP_ARCH=m68000 ;;
                    231:            9000/[34]?? )         HP_ARCH=m68k ;;
1.2     ! anton     232:            9000/7?? | 9000/8?[679] ) HP_ARCH=hppa1.1 ;;
1.1       pazsan    233:            9000/8?? )            HP_ARCH=hppa1.0 ;;
                    234:        esac
                    235:        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
                    236:        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
                    237:        exit 0 ;;
                    238:     3050*:HI-UX:*:*)
                    239:        sed 's/^        //' << EOF >dummy.c
                    240:        #include <unistd.h>
                    241:        int
                    242:        main ()
                    243:        {
                    244:          long cpu = sysconf (_SC_CPU_VERSION);
                    245:          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
                    246:             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
                    247:             results, however.  */
                    248:          if (CPU_IS_PA_RISC (cpu))
                    249:            {
                    250:              switch (cpu)
                    251:                {
                    252:                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
                    253:                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
                    254:                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
                    255:                  default: puts ("hppa-hitachi-hiuxwe2"); break;
                    256:                }
                    257:            }
                    258:          else if (CPU_IS_HP_MC68K (cpu))
                    259:            puts ("m68k-hitachi-hiuxwe2");
                    260:          else puts ("unknown-hitachi-hiuxwe2");
                    261:          exit (0);
                    262:        }
                    263: EOF
                    264:        ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
                    265:        rm -f dummy.c dummy
                    266:        echo unknown-hitachi-hiuxwe2
                    267:        exit 0 ;;
1.2     ! anton     268:     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
1.1       pazsan    269:        echo hppa1.1-hp-bsd
                    270:        exit 0 ;;
                    271:     9000/8??:4.3bsd:*:*)
                    272:        echo hppa1.0-hp-bsd
                    273:        exit 0 ;;
1.2     ! anton     274:     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
1.1       pazsan    275:        echo hppa1.1-hp-osf
                    276:        exit 0 ;;
                    277:     hp8??:OSF1:*:*)
                    278:        echo hppa1.0-hp-osf
                    279:        exit 0 ;;
1.2     ! anton     280:     parisc*:Lites*:*:*)
        !           281:        echo hppa1.1-hp-lites
        !           282:        exit 0 ;;
1.1       pazsan    283:     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
                    284:        echo c1-convex-bsd
                    285:         exit 0 ;;
                    286:     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
                    287:        if getsysinfo -f scalar_acc
                    288:        then echo c32-convex-bsd
                    289:        else echo c2-convex-bsd
                    290:        fi
                    291:         exit 0 ;;
                    292:     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
                    293:        echo c34-convex-bsd
                    294:         exit 0 ;;
                    295:     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
                    296:        echo c38-convex-bsd
                    297:         exit 0 ;;
                    298:     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
                    299:        echo c4-convex-bsd
                    300:         exit 0 ;;
1.2     ! anton     301:     CRAY*X-MP:*:*:*)
1.1       pazsan    302:        echo xmp-cray-unicos
                    303:         exit 0 ;;
1.2     ! anton     304:     CRAY*Y-MP:*:*:*)
        !           305:        echo ymp-cray-unicos${UNAME_RELEASE}
        !           306:        exit 0 ;;
        !           307:     CRAY*C90:*:*:*)
        !           308:        echo c90-cray-unicos${UNAME_RELEASE}
        !           309:        exit 0 ;;
        !           310:     CRAY-2:*:*:*)
1.1       pazsan    311:        echo cray2-cray-unicos
                    312:         exit 0 ;;
                    313:     hp3[0-9][05]:NetBSD:*:*)
                    314:        echo m68k-hp-netbsd${UNAME_RELEASE}
                    315:        exit 0 ;;
1.2     ! anton     316:     i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
1.1       pazsan    317:        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
                    318:        exit 0 ;;
                    319:     *:FreeBSD:*:*)
                    320:        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
                    321:        exit 0 ;;
                    322:     *:NetBSD:*:*)
                    323:        echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
                    324:        exit 0 ;;
1.2     ! anton     325:     i*:CYGWIN*:*)
        !           326:        echo i386-unknown-cygwin32
        !           327:        exit 0 ;;
        !           328:     p*:CYGWIN*:*)
        !           329:        echo powerpcle-unknown-cygwin32
        !           330:        exit 0 ;;
        !           331:     prep*:SunOS:5.*:*)
        !           332:        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        !           333:        exit 0 ;;
1.1       pazsan    334:     *:GNU:*:*)
                    335:        echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
                    336:        exit 0 ;;
                    337:     *:Linux:*:*)
1.2     ! anton     338:        # The BFD linker knows what the default object file format is, so
        !           339:        # first see if it will tell us.
        !           340:        ld_help_string=`ld --help 2>&1`
        !           341:        if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
        !           342:          echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
        !           343:        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
        !           344:          echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
        !           345:        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
        !           346:          echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
        !           347:        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
        !           348:          echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
        !           349:        elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
        !           350:          echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
        !           351:        elif test "${UNAME_MACHINE}" = "alpha" ; then
        !           352:          echo alpha-unknown-linux ; exit 0
        !           353:        else
        !           354:          # Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
        !           355:          # useful --help.  Gcc wants to distinguish between linuxoldld and linuxaout.
        !           356:          test ! -d /usr/lib/ldscripts/. \
        !           357:            && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
        !           358:          # Determine whether the default compiler is a.out or elf
        !           359:          cat >dummy.c <<EOF
        !           360: main(argc, argv)
        !           361: int argc;
        !           362: char *argv[];
        !           363: {
        !           364: #ifdef __ELF__
        !           365:   printf ("%s-unknown-linux\n", argv[1]);
        !           366: #else
        !           367:   printf ("%s-unknown-linuxaout\n", argv[1]);
        !           368: #endif
        !           369:   return 0;
        !           370: }
        !           371: EOF
        !           372:          ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
        !           373:          rm -f dummy.c dummy
        !           374:        fi ;;
1.1       pazsan    375: # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
                    376: # are messed up and put the nodename in both sysname and nodename.
                    377:     i[34]86:DYNIX/ptx:4*:*)
                    378:        echo i386-sequent-sysv4
                    379:        exit 0 ;;
                    380:     i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
                    381:        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
                    382:                echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
                    383:        else
                    384:                echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
                    385:        fi
                    386:        exit 0 ;;
                    387:     i[34]86:*:3.2:*)
1.2     ! anton     388:        if test -f /usr/options/cb.name; then
        !           389:                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
        !           390:                echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
        !           391:        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1.1       pazsan    392:                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
                    393:                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
1.2     ! anton     394:                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
        !           395:                        && UNAME_MACHINE=i586
1.1       pazsan    396:                echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
                    397:        else
                    398:                echo ${UNAME_MACHINE}-unknown-sysv32
                    399:        fi
                    400:        exit 0 ;;
                    401:     Intel:Mach:3*:*)
                    402:        echo i386-unknown-mach3
                    403:        exit 0 ;;
1.2     ! anton     404:     paragon:*:*:*)
        !           405:        echo i860-intel-osf1
        !           406:        exit 0 ;;
1.1       pazsan    407:     i860:*:4.*:*) # i860-SVR4
                    408:        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
                    409:          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
                    410:        else # Add other i860-SVR4 vendors below as they are discovered.
                    411:          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
                    412:        fi
                    413:        exit 0 ;;
                    414:     mini*:CTIX:SYS*5:*)
                    415:        # "miniframe"
                    416:        echo m68010-convergent-sysv
                    417:        exit 0 ;;
                    418:     M680[234]0:*:R3V[567]*:*)
                    419:        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
                    420:     3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
                    421:         uname -p 2>/dev/null | grep 86 >/dev/null \
                    422:           && echo i486-ncr-sysv4.3 && exit 0 ;;
                    423:     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
                    424:         uname -p 2>/dev/null | grep 86 >/dev/null \
                    425:           && echo i486-ncr-sysv4 && exit 0 ;;
1.2     ! anton     426:     m680[234]0:LynxOS:2.[23]*:*)
1.1       pazsan    427:        echo m68k-lynx-lynxos${UNAME_RELEASE}
                    428:        exit 0 ;;
                    429:     mc68030:UNIX_System_V:4.*:*)
                    430:        echo m68k-atari-sysv4
                    431:        exit 0 ;;
1.2     ! anton     432:     i[34]86:LynxOS:2.[23]*:*)
1.1       pazsan    433:        echo i386-lynx-lynxos${UNAME_RELEASE}
                    434:        exit 0 ;;
1.2     ! anton     435:     TSUNAMI:LynxOS:2.[23]*:*)
1.1       pazsan    436:        echo sparc-lynx-lynxos${UNAME_RELEASE}
                    437:        exit 0 ;;
1.2     ! anton     438:     rs6000:LynxOS:2.[23]*:*)
1.1       pazsan    439:        echo rs6000-lynx-lynxos${UNAME_RELEASE}
                    440:        exit 0 ;;
                    441:     RM*:SINIX-*:*:*)
                    442:        echo mips-sni-sysv4
                    443:        exit 0 ;;
                    444:     *:SINIX-*:*:*)
                    445:        if uname -p 2>/dev/null >/dev/null ; then
                    446:                UNAME_MACHINE=`(uname -p) 2>/dev/null`
                    447:                echo ${UNAME_MACHINE}-sni-sysv4
                    448:        else
                    449:                echo ns32k-sni-sysv
                    450:        fi
                    451:        exit 0 ;;
1.2     ! anton     452:     mc68*:A/UX:*:*)
        !           453:        echo m68k-apple-aux${UNAME_RELEASE}
        !           454:        exit 0 ;;
        !           455:     R3000:*System_V*:*:*)
        !           456:        if [ -d /usr/nec ]; then
        !           457:                echo mips-nec-sysv${UNAME_RELEASE}
        !           458:        else
        !           459:                echo mips-unknown-sysv${UNAME_RELEASE}
        !           460:        fi
        !           461:         exit 0 ;;
1.1       pazsan    462: esac
                    463: 
                    464: #echo '(No uname command or uname output not recognized.)' 1>&2
                    465: #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
                    466: 
                    467: cat >dummy.c <<EOF
1.2     ! anton     468: #ifdef _SEQUENT_
        !           469: # include <sys/types.h>
        !           470: # include <sys/utsname.h>
        !           471: #endif
1.1       pazsan    472: main ()
                    473: {
                    474: #if defined (sony)
                    475: #if defined (MIPSEB)
                    476:   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
                    477:      I don't know....  */
                    478:   printf ("mips-sony-bsd\n"); exit (0);
                    479: #else
1.2     ! anton     480: #include <sys/param.h>
        !           481:   printf ("m68k-sony-newsos%s\n",
        !           482: #ifdef NEWSOS4
        !           483:           "4"
        !           484: #else
        !           485:          ""
        !           486: #endif
        !           487:          ); exit (0);
1.1       pazsan    488: #endif
                    489: #endif
                    490: 
                    491: #if defined (__arm) && defined (__acorn) && defined (__unix)
                    492:   printf ("arm-acorn-riscix"); exit (0);
                    493: #endif
                    494: 
                    495: #if defined (hp300) && !defined (hpux)
                    496:   printf ("m68k-hp-bsd\n"); exit (0);
                    497: #endif
                    498: 
                    499: #if defined (NeXT)
                    500: #if !defined (__ARCHITECTURE__)
                    501: #define __ARCHITECTURE__ "m68k"
                    502: #endif
                    503:   int version;
                    504:   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
                    505:   printf ("%s-next-nextstep%s\n", __ARCHITECTURE__,  version==2 ? "2" : "3");
                    506:   exit (0);
                    507: #endif
                    508: 
                    509: #if defined (MULTIMAX) || defined (n16)
                    510: #if defined (UMAXV)
                    511:   printf ("ns32k-encore-sysv\n"); exit (0);
                    512: #else
                    513: #if defined (CMU)
                    514:   printf ("ns32k-encore-mach\n"); exit (0);
                    515: #else
                    516:   printf ("ns32k-encore-bsd\n"); exit (0);
                    517: #endif
                    518: #endif
                    519: #endif
                    520: 
                    521: #if defined (__386BSD__)
                    522:   printf ("i386-unknown-bsd\n"); exit (0);
                    523: #endif
                    524: 
                    525: #if defined (sequent)
                    526: #if defined (i386)
                    527:   printf ("i386-sequent-dynix\n"); exit (0);
                    528: #endif
                    529: #if defined (ns32000)
                    530:   printf ("ns32k-sequent-dynix\n"); exit (0);
                    531: #endif
                    532: #endif
                    533: 
                    534: #if defined (_SEQUENT_)
1.2     ! anton     535:     struct utsname un;
        !           536: 
        !           537:     uname(&un);
        !           538: 
        !           539:     if (strncmp(un.version, "V2", 2) == 0) {
        !           540:        printf ("i386-sequent-ptx2\n"); exit (0);
        !           541:     }
        !           542:     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
        !           543:        printf ("i386-sequent-ptx1\n"); exit (0);
        !           544:     }
        !           545:     printf ("i386-sequent-ptx\n"); exit (0);
        !           546: 
1.1       pazsan    547: #endif
                    548: 
                    549: #if defined (vax)
                    550: #if !defined (ultrix)
                    551:   printf ("vax-dec-bsd\n"); exit (0);
                    552: #else
                    553:   printf ("vax-dec-ultrix\n"); exit (0);
                    554: #endif
                    555: #endif
                    556: 
                    557: #if defined (alliant) && defined (i860)
                    558:   printf ("i860-alliant-bsd\n"); exit (0);
                    559: #endif
                    560: 
                    561:   exit (1);
                    562: }
                    563: EOF
                    564: 
                    565: ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
                    566: rm -f dummy.c dummy
                    567: 
                    568: # Apollos put the system type in the environment.
                    569: 
                    570: test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
                    571: 
                    572: # Convex versions that predate uname can use getsysinfo(1)
                    573: 
                    574: if [ -x /usr/convex/getsysinfo ]
                    575: then
                    576:     case `getsysinfo -f cpu_type` in
                    577:     c1*)
                    578:        echo c1-convex-bsd
                    579:        exit 0 ;;
                    580:     c2*)
                    581:        if getsysinfo -f scalar_acc
                    582:        then echo c32-convex-bsd
                    583:        else echo c2-convex-bsd
                    584:        fi
                    585:        exit 0 ;;
                    586:     c34*)
                    587:        echo c34-convex-bsd
                    588:        exit 0 ;;
                    589:     c38*)
                    590:        echo c38-convex-bsd
                    591:        exit 0 ;;
                    592:     c4*)
                    593:        echo c4-convex-bsd
                    594:        exit 0 ;;
                    595:     esac
                    596: fi
                    597: 
                    598: #echo '(Unable to guess system type)' 1>&2
                    599: 
                    600: exit 1

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