source: trunk/third/gmake/config.guess @ 15972

Revision 15972, 34.6 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15971, which included commits to RCS files with non-trunk default branches.
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
4#   Free Software Foundation, Inc.
5
6version='2000-06-13'
7
8# This file is free software; you can redistribute it and/or modify it
9# under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16# General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21#
22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under
25# the same distribution terms that you use for the rest of that program.
26
27# Written by Per Bothner <bothner@cygnus.com>.
28# Please send patches to <config-patches@gnu.org>.
29#
30# This script attempts to guess a canonical system name similar to
31# config.sub.  If it succeeds, it prints the system name on stdout, and
32# exits with 0.  Otherwise, it exits with 1.
33#
34# The plan is that this can be called by configure scripts if you
35# don't specify an explicit system type (host/target name).
36#
37# Only a few systems have been added to this list; please add others
38# (but try to keep the structure clean).
39#
40
41me=`echo "$0" | sed -e 's,.*/,,'`
42
43usage="\
44Usage: $0 [OPTION]
45
46Output the configuration name of this system.
47
48Operation modes:
49  -h, --help               print this help, then exit
50  -V, --version            print version number, then exit"
51
52help="
53Try \`$me --help' for more information."
54
55# Parse command line
56while test $# -gt 0 ; do
57  case "$1" in
58    --version | --vers* | -V )
59       echo "$version" ; exit 0 ;;
60    --help | --h* | -h )
61       echo "$usage"; exit 0 ;;
62    -- )     # Stop option processing
63       shift; break ;;
64    - ) # Use stdin as input.
65       break ;;
66    -* )
67       exec >&2
68       echo "$me: invalid option $1"
69       echo "$help"
70       exit 1 ;;
71    * )
72       break ;;
73  esac
74done
75
76if test $# != 0; then
77  echo "$me: too many arguments$help" >&2
78  exit 1
79fi
80
81# Use $HOST_CC if defined. $CC may point to a cross-compiler
82if test x"$CC_FOR_BUILD" = x; then
83  if test x"$HOST_CC" != x; then
84    CC_FOR_BUILD="$HOST_CC"
85  else
86    if test x"$CC" != x; then
87      CC_FOR_BUILD="$CC"
88    else
89      CC_FOR_BUILD=cc
90    fi
91  fi
92fi
93
94
95# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
96# (ghazi@noc.rutgers.edu 8/24/94.)
97if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
98        PATH=$PATH:/.attbin ; export PATH
99fi
100
101UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
102UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
103UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
104UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
105
106dummy=dummy-$$
107trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
108
109# Note: order is significant - the case branches are not exclusive.
110
111case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
112    *:NetBSD:*:*)
113        # Netbsd (nbsd) targets should (where applicable) match one or
114        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
115        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
116        # switched to ELF, *-*-netbsd* would select the old
117        # object file format.  This provides both forward
118        # compatibility and a consistent mechanism for selecting the
119        # object file format.
120        # Determine the machine/vendor (is the vendor relevant).
121        case "${UNAME_MACHINE}" in
122            amiga) machine=m68k-cbm ;;
123            arm32) machine=arm-unknown ;;
124            atari*) machine=m68k-atari ;;
125            sun3*) machine=m68k-sun ;;
126            mac68k) machine=m68k-apple ;;
127            macppc) machine=powerpc-apple ;;
128            hp3[0-9][05]) machine=m68k-hp ;;
129            ibmrt|romp-ibm) machine=romp-ibm ;;
130            *) machine=${UNAME_MACHINE}-unknown ;;
131        esac
132        # The Operating System including object format.
133        if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
134                | grep __ELF__ >/dev/null
135        then
136            # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
137            # Return netbsd for either.  FIX?
138            os=netbsd
139        else
140            os=netbsdelf
141        fi
142        # The OS release
143        release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
144        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
145        # contains redundant information, the shorter form:
146        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
147        echo "${machine}-${os}${release}"
148        exit 0 ;;
149    alpha:OSF1:*:*)
150        if test $UNAME_RELEASE = "V4.0"; then
151                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
152        fi
153        # A Vn.n version is a released version.
154        # A Tn.n version is a released field test version.
155        # A Xn.n version is an unreleased experimental baselevel.
156        # 1.2 uses "1.2" for uname -r.
157        cat <<EOF >$dummy.s
158        .data
159\$Lformat:
160        .byte 37,100,45,37,120,10,0     # "%d-%x\n"
161
162        .text
163        .globl main
164        .align 4
165        .ent main
166main:
167        .frame \$30,16,\$26,0
168        ldgp \$29,0(\$27)
169        .prologue 1
170        .long 0x47e03d80 # implver \$0
171        lda \$2,-1
172        .long 0x47e20c21 # amask \$2,\$1
173        lda \$16,\$Lformat
174        mov \$0,\$17
175        not \$1,\$18
176        jsr \$26,printf
177        ldgp \$29,0(\$26)
178        mov 0,\$16
179        jsr \$26,exit
180        .end main
181EOF
182        $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
183        if test "$?" = 0 ; then
184                case `./$dummy` in
185                        0-0)
186                                UNAME_MACHINE="alpha"
187                                ;;
188                        1-0)
189                                UNAME_MACHINE="alphaev5"
190                                ;;
191                        1-1)
192                                UNAME_MACHINE="alphaev56"
193                                ;;
194                        1-101)
195                                UNAME_MACHINE="alphapca56"
196                                ;;
197                        2-303)
198                                UNAME_MACHINE="alphaev6"
199                                ;;
200                        2-307)
201                                UNAME_MACHINE="alphaev67"
202                                ;;
203                esac
204        fi
205        rm -f $dummy.s $dummy
206        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
207        exit 0 ;;
208    Alpha\ *:Windows_NT*:*)
209        # How do we know it's Interix rather than the generic POSIX subsystem?
210        # Should we change UNAME_MACHINE based on the output of uname instead
211        # of the specific Alpha model?
212        echo alpha-pc-interix
213        exit 0 ;;
214    21064:Windows_NT:50:3)
215        echo alpha-dec-winnt3.5
216        exit 0 ;;
217    Amiga*:UNIX_System_V:4.0:*)
218        echo m68k-cbm-sysv4
219        exit 0;;
220    amiga:OpenBSD:*:*)
221        echo m68k-unknown-openbsd${UNAME_RELEASE}
222        exit 0 ;;
223    *:[Aa]miga[Oo][Ss]:*:*)
224        echo ${UNAME_MACHINE}-unknown-amigaos
225        exit 0 ;;
226    arc64:OpenBSD:*:*)
227        echo mips64el-unknown-openbsd${UNAME_RELEASE}
228        exit 0 ;;
229    arc:OpenBSD:*:*)
230        echo mipsel-unknown-openbsd${UNAME_RELEASE}
231        exit 0 ;;
232    hkmips:OpenBSD:*:*)
233        echo mips-unknown-openbsd${UNAME_RELEASE}
234        exit 0 ;;
235    pmax:OpenBSD:*:*)
236        echo mipsel-unknown-openbsd${UNAME_RELEASE}
237        exit 0 ;;
238    sgi:OpenBSD:*:*)
239        echo mips-unknown-openbsd${UNAME_RELEASE}
240        exit 0 ;;
241    wgrisc:OpenBSD:*:*)
242        echo mipsel-unknown-openbsd${UNAME_RELEASE}
243        exit 0 ;;
244    *:OS/390:*:*)
245        echo i370-ibm-openedition
246        exit 0 ;;
247    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
248        echo arm-acorn-riscix${UNAME_RELEASE}
249        exit 0;;
250    SR2?01:HI-UX/MPP:*:*)
251        echo hppa1.1-hitachi-hiuxmpp
252        exit 0;;
253    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
254        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
255        if test "`(/bin/universe) 2>/dev/null`" = att ; then
256                echo pyramid-pyramid-sysv3
257        else
258                echo pyramid-pyramid-bsd
259        fi
260        exit 0 ;;
261    NILE*:*:*:dcosx)
262        echo pyramid-pyramid-svr4
263        exit 0 ;;
264    sun4H:SunOS:5.*:*)
265        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
266        exit 0 ;;
267    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
268        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
269        exit 0 ;;
270    i86pc:SunOS:5.*:*)
271        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
272        exit 0 ;;
273    sun4*:SunOS:6*:*)
274        # According to config.sub, this is the proper way to canonicalize
275        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
276        # it's likely to be more like Solaris than SunOS4.
277        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
278        exit 0 ;;
279    sun4*:SunOS:*:*)
280        case "`/usr/bin/arch -k`" in
281            Series*|S4*)
282                UNAME_RELEASE=`uname -v`
283                ;;
284        esac
285        # Japanese Language versions have a version number like `4.1.3-JL'.
286        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
287        exit 0 ;;
288    sun3*:SunOS:*:*)
289        echo m68k-sun-sunos${UNAME_RELEASE}
290        exit 0 ;;
291    sun*:*:4.2BSD:*)
292        UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
293        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
294        case "`/bin/arch`" in
295            sun3)
296                echo m68k-sun-sunos${UNAME_RELEASE}
297                ;;
298            sun4)
299                echo sparc-sun-sunos${UNAME_RELEASE}
300                ;;
301        esac
302        exit 0 ;;
303    aushp:SunOS:*:*)
304        echo sparc-auspex-sunos${UNAME_RELEASE}
305        exit 0 ;;
306    atari*:OpenBSD:*:*)
307        echo m68k-unknown-openbsd${UNAME_RELEASE}
308        exit 0 ;;
309    # The situation for MiNT is a little confusing.  The machine name
310    # can be virtually everything (everything which is not
311    # "atarist" or "atariste" at least should have a processor
312    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
313    # to the lowercase version "mint" (or "freemint").  Finally
314    # the system name "TOS" denotes a system which is actually not
315    # MiNT.  But MiNT is downward compatible to TOS, so this should
316    # be no problem.
317    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
318        echo m68k-atari-mint${UNAME_RELEASE}
319        exit 0 ;;
320    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
321        echo m68k-atari-mint${UNAME_RELEASE}
322        exit 0 ;;
323    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
324        echo m68k-atari-mint${UNAME_RELEASE}
325        exit 0 ;;
326    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
327        echo m68k-milan-mint${UNAME_RELEASE}
328        exit 0 ;;
329    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
330        echo m68k-hades-mint${UNAME_RELEASE}
331        exit 0 ;;
332    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
333        echo m68k-unknown-mint${UNAME_RELEASE}
334        exit 0 ;;
335    sun3*:OpenBSD:*:*)
336        echo m68k-unknown-openbsd${UNAME_RELEASE}
337        exit 0 ;;
338    mac68k:OpenBSD:*:*)
339        echo m68k-unknown-openbsd${UNAME_RELEASE}
340        exit 0 ;;
341    mvme68k:OpenBSD:*:*)
342        echo m68k-unknown-openbsd${UNAME_RELEASE}
343        exit 0 ;;
344    mvme88k:OpenBSD:*:*)
345        echo m88k-unknown-openbsd${UNAME_RELEASE}
346        exit 0 ;;
347    powerpc:machten:*:*)
348        echo powerpc-apple-machten${UNAME_RELEASE}
349        exit 0 ;;
350    RISC*:Mach:*:*)
351        echo mips-dec-mach_bsd4.3
352        exit 0 ;;
353    RISC*:ULTRIX:*:*)
354        echo mips-dec-ultrix${UNAME_RELEASE}
355        exit 0 ;;
356    VAX*:ULTRIX*:*:*)
357        echo vax-dec-ultrix${UNAME_RELEASE}
358        exit 0 ;;
359    2020:CLIX:*:* | 2430:CLIX:*:*)
360        echo clipper-intergraph-clix${UNAME_RELEASE}
361        exit 0 ;;
362    mips:*:*:UMIPS | mips:*:*:RISCos)
363        sed 's/^        //' << EOF >$dummy.c
364#ifdef __cplusplus
365#include <stdio.h>  /* for printf() prototype */
366        int main (int argc, char *argv[]) {
367#else
368        int main (argc, argv) int argc; char *argv[]; {
369#endif
370        #if defined (host_mips) && defined (MIPSEB)
371        #if defined (SYSTYPE_SYSV)
372          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
373        #endif
374        #if defined (SYSTYPE_SVR4)
375          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
376        #endif
377        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
378          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
379        #endif
380        #endif
381          exit (-1);
382        }
383EOF
384        $CC_FOR_BUILD $dummy.c -o $dummy \
385          && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
386          && rm $dummy.c $dummy && exit 0
387        rm -f $dummy.c $dummy
388        echo mips-mips-riscos${UNAME_RELEASE}
389        exit 0 ;;
390    Night_Hawk:Power_UNIX:*:*)
391        echo powerpc-harris-powerunix
392        exit 0 ;;
393    m88k:CX/UX:7*:*)
394        echo m88k-harris-cxux7
395        exit 0 ;;
396    m88k:*:4*:R4*)
397        echo m88k-motorola-sysv4
398        exit 0 ;;
399    m88k:*:3*:R3*)
400        echo m88k-motorola-sysv3
401        exit 0 ;;
402    AViiON:dgux:*:*)
403        # DG/UX returns AViiON for all architectures
404        UNAME_PROCESSOR=`/usr/bin/uname -p`
405        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
406        then
407            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
408               [ ${TARGET_BINARY_INTERFACE}x = x ]
409            then
410                echo m88k-dg-dgux${UNAME_RELEASE}
411            else
412                echo m88k-dg-dguxbcs${UNAME_RELEASE}
413            fi
414        else
415            echo i586-dg-dgux${UNAME_RELEASE}
416        fi
417        exit 0 ;;
418    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
419        echo m88k-dolphin-sysv3
420        exit 0 ;;
421    M88*:*:R3*:*)
422        # Delta 88k system running SVR3
423        echo m88k-motorola-sysv3
424        exit 0 ;;
425    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
426        echo m88k-tektronix-sysv3
427        exit 0 ;;
428    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
429        echo m68k-tektronix-bsd
430        exit 0 ;;
431    *:IRIX*:*:*)
432        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
433        exit 0 ;;
434    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
435        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
436        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
437    i?86:AIX:*:*)
438        echo i386-ibm-aix
439        exit 0 ;;
440    *:AIX:2:3)
441        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
442                sed 's/^                //' << EOF >$dummy.c
443                #include <sys/systemcfg.h>
444
445                main()
446                        {
447                        if (!__power_pc())
448                                exit(1);
449                        puts("powerpc-ibm-aix3.2.5");
450                        exit(0);
451                        }
452EOF
453                $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
454                rm -f $dummy.c $dummy
455                echo rs6000-ibm-aix3.2.5
456        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
457                echo rs6000-ibm-aix3.2.4
458        else
459                echo rs6000-ibm-aix3.2
460        fi
461        exit 0 ;;
462    *:AIX:*:4)
463        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
464        if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
465                IBM_ARCH=rs6000
466        else
467                IBM_ARCH=powerpc
468        fi
469        if [ -x /usr/bin/oslevel ] ; then
470                IBM_REV=`/usr/bin/oslevel`
471        else
472                IBM_REV=4.${UNAME_RELEASE}
473        fi
474        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
475        exit 0 ;;
476    *:AIX:*:*)
477        echo rs6000-ibm-aix
478        exit 0 ;;
479    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
480        echo romp-ibm-bsd4.4
481        exit 0 ;;
482    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
483        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
484        exit 0 ;;                           # report: romp-ibm BSD 4.3
485    *:BOSX:*:*)
486        echo rs6000-bull-bosx
487        exit 0 ;;
488    DPX/2?00:B.O.S.:*:*)
489        echo m68k-bull-sysv3
490        exit 0 ;;
491    9000/[34]??:4.3bsd:1.*:*)
492        echo m68k-hp-bsd
493        exit 0 ;;
494    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
495        echo m68k-hp-bsd4.4
496        exit 0 ;;
497    9000/[34678]??:HP-UX:*:*)
498        case "${UNAME_MACHINE}" in
499            9000/31? )            HP_ARCH=m68000 ;;
500            9000/[34]?? )         HP_ARCH=m68k ;;
501            9000/[678][0-9][0-9])
502              sed 's/^              //' << EOF >$dummy.c
503
504              #define _HPUX_SOURCE
505              #include <stdlib.h>
506              #include <unistd.h>
507
508              int main ()
509              {
510              #if defined(_SC_KERNEL_BITS)
511                  long bits = sysconf(_SC_KERNEL_BITS);
512              #endif
513                  long cpu  = sysconf (_SC_CPU_VERSION);
514
515                  switch (cpu)
516                {
517                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
518                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
519                case CPU_PA_RISC2_0:
520              #if defined(_SC_KERNEL_BITS)
521                    switch (bits)
522                        {
523                        case 64: puts ("hppa2.0w"); break;
524                        case 32: puts ("hppa2.0n"); break;
525                        default: puts ("hppa2.0"); break;
526                        } break;
527              #else  /* !defined(_SC_KERNEL_BITS) */
528                    puts ("hppa2.0"); break;
529              #endif
530                default: puts ("hppa1.0"); break;
531                }
532                  exit (0);
533              }
534EOF
535        (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
536        rm -f $dummy.c $dummy
537        esac
538        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
539        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
540        exit 0 ;;
541    3050*:HI-UX:*:*)
542        sed 's/^        //' << EOF >$dummy.c
543        #include <unistd.h>
544        int
545        main ()
546        {
547          long cpu = sysconf (_SC_CPU_VERSION);
548          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
549             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
550             results, however.  */
551          if (CPU_IS_PA_RISC (cpu))
552            {
553              switch (cpu)
554                {
555                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
556                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
557                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
558                  default: puts ("hppa-hitachi-hiuxwe2"); break;
559                }
560            }
561          else if (CPU_IS_HP_MC68K (cpu))
562            puts ("m68k-hitachi-hiuxwe2");
563          else puts ("unknown-hitachi-hiuxwe2");
564          exit (0);
565        }
566EOF
567        $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
568        rm -f $dummy.c $dummy
569        echo unknown-hitachi-hiuxwe2
570        exit 0 ;;
571    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
572        echo hppa1.1-hp-bsd
573        exit 0 ;;
574    9000/8??:4.3bsd:*:*)
575        echo hppa1.0-hp-bsd
576        exit 0 ;;
577    *9??*:MPE/iX:*:*)
578        echo hppa1.0-hp-mpeix
579        exit 0 ;;
580    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
581        echo hppa1.1-hp-osf
582        exit 0 ;;
583    hp8??:OSF1:*:*)
584        echo hppa1.0-hp-osf
585        exit 0 ;;
586    i?86:OSF1:*:*)
587        if [ -x /usr/sbin/sysversion ] ; then
588            echo ${UNAME_MACHINE}-unknown-osf1mk
589        else
590            echo ${UNAME_MACHINE}-unknown-osf1
591        fi
592        exit 0 ;;
593    parisc*:Lites*:*:*)
594        echo hppa1.1-hp-lites
595        exit 0 ;;
596    hppa*:OpenBSD:*:*)
597        echo hppa-unknown-openbsd
598        exit 0 ;;
599    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
600        echo c1-convex-bsd
601        exit 0 ;;
602    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
603        if getsysinfo -f scalar_acc
604        then echo c32-convex-bsd
605        else echo c2-convex-bsd
606        fi
607        exit 0 ;;
608    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
609        echo c34-convex-bsd
610        exit 0 ;;
611    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
612        echo c38-convex-bsd
613        exit 0 ;;
614    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
615        echo c4-convex-bsd
616        exit 0 ;;
617    CRAY*X-MP:*:*:*)
618        echo xmp-cray-unicos
619        exit 0 ;;
620    CRAY*Y-MP:*:*:*)
621        echo ymp-cray-unicos${UNAME_RELEASE}
622        exit 0 ;;
623    CRAY*[A-Z]90:*:*:*)
624        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
625        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
626              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
627        exit 0 ;;
628    CRAY*TS:*:*:*)
629        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
630        exit 0 ;;
631    CRAY*T3E:*:*:*)
632        echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
633        exit 0 ;;
634    CRAY*SV1:*:*:*)
635        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
636        exit 0 ;;
637    CRAY-2:*:*:*)
638        echo cray2-cray-unicos
639        exit 0 ;;
640    F300:UNIX_System_V:*:*)
641        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
642        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
643        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
644        exit 0 ;;
645    F301:UNIX_System_V:*:*)
646       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
647       exit 0 ;;
648    hp300:OpenBSD:*:*)
649        echo m68k-unknown-openbsd${UNAME_RELEASE}
650        exit 0 ;;
651    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
652        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
653        exit 0 ;;
654    sparc*:BSD/OS:*:*)
655        echo sparc-unknown-bsdi${UNAME_RELEASE}
656        exit 0 ;;
657    *:BSD/OS:*:*)
658        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
659        exit 0 ;;
660    *:FreeBSD:*:*)
661        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
662        exit 0 ;;
663    *:OpenBSD:*:*)
664        echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
665        exit 0 ;;
666    i*:CYGWIN*:*)
667        echo ${UNAME_MACHINE}-pc-cygwin
668        exit 0 ;;
669    i*:MINGW*:*)
670        echo ${UNAME_MACHINE}-pc-mingw32
671        exit 0 ;;
672    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
673        # How do we know it's Interix rather than the generic POSIX subsystem?
674        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
675        # UNAME_MACHINE based on the output of uname instead of i386?
676        echo i386-pc-interix
677        exit 0 ;;
678    i*:UWIN*:*)
679        echo ${UNAME_MACHINE}-pc-uwin
680        exit 0 ;;
681    p*:CYGWIN*:*)
682        echo powerpcle-unknown-cygwin
683        exit 0 ;;
684    prep*:SunOS:5.*:*)
685        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
686        exit 0 ;;
687    *:GNU:*:*)
688        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
689        exit 0 ;;
690    i*86:Minix:*:*)
691        echo ${UNAME_MACHINE}-pc-minix
692        exit 0 ;;
693    *:Linux:*:*)
694
695        # The BFD linker knows what the default object file format is, so
696        # first see if it will tell us. cd to the root directory to prevent
697        # problems with other programs or directories called `ld' in the path.
698        ld_help_string=`cd /; ld --help 2>&1`
699        ld_supported_emulations=`echo $ld_help_string \
700                         | sed -ne '/supported emulations:/!d
701                                    s/[         ][      ]*/ /g
702                                    s/.*supported emulations: *//
703                                    s/ .*//
704                                    p'`
705        case "$ld_supported_emulations" in
706          *ia64)
707                echo "${UNAME_MACHINE}-unknown-linux"
708                exit 0
709                ;;
710          i?86linux)
711                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
712                exit 0
713                ;;
714          elf_i?86)
715                echo "${UNAME_MACHINE}-pc-linux"
716                exit 0
717                ;;
718          i?86coff)
719                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
720                exit 0
721                ;;
722          sparclinux)
723                echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
724                exit 0
725                ;;
726          armlinux)
727                echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
728                exit 0
729                ;;
730          elf32arm*)
731                echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
732                exit 0
733                ;;
734          armelf_linux*)
735                echo "${UNAME_MACHINE}-unknown-linux-gnu"
736                exit 0
737                ;;
738          m68klinux)
739                echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
740                exit 0
741                ;;
742          elf32ppc | elf32ppclinux)
743                # Determine Lib Version
744                cat >$dummy.c <<EOF
745#include <features.h>
746#if defined(__GLIBC__)
747extern char __libc_version[];
748extern char __libc_release[];
749#endif
750main(argc, argv)
751     int argc;
752     char *argv[];
753{
754#if defined(__GLIBC__)
755  printf("%s %s\n", __libc_version, __libc_release);
756#else
757  printf("unkown\n");
758#endif
759  return 0;
760}
761EOF
762                LIBC=""
763                $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
764                if test "$?" = 0 ; then
765                        ./$dummy | grep 1\.99 > /dev/null
766                        if test "$?" = 0 ; then
767                                LIBC="libc1"
768                        fi
769                fi
770                rm -f $dummy.c $dummy
771                echo powerpc-unknown-linux-gnu${LIBC}
772                exit 0
773                ;;
774          shelf_linux)
775                echo "${UNAME_MACHINE}-unknown-linux-gnu"
776                exit 0
777                ;;
778        esac
779
780        if test "${UNAME_MACHINE}" = "alpha" ; then
781                cat <<EOF >$dummy.s
782                        .data
783                \$Lformat:
784                        .byte 37,100,45,37,120,10,0     # "%d-%x\n"
785
786                        .text
787                        .globl main
788                        .align 4
789                        .ent main
790                main:
791                        .frame \$30,16,\$26,0
792                        ldgp \$29,0(\$27)
793                        .prologue 1
794                        .long 0x47e03d80 # implver \$0
795                        lda \$2,-1
796                        .long 0x47e20c21 # amask \$2,\$1
797                        lda \$16,\$Lformat
798                        mov \$0,\$17
799                        not \$1,\$18
800                        jsr \$26,printf
801                        ldgp \$29,0(\$26)
802                        mov 0,\$16
803                        jsr \$26,exit
804                        .end main
805EOF
806                LIBC=""
807                $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
808                if test "$?" = 0 ; then
809                        case `./$dummy` in
810                        0-0)
811                                UNAME_MACHINE="alpha"
812                                ;;
813                        1-0)
814                                UNAME_MACHINE="alphaev5"
815                                ;;
816                        1-1)
817                                UNAME_MACHINE="alphaev56"
818                                ;;
819                        1-101)
820                                UNAME_MACHINE="alphapca56"
821                                ;;
822                        2-303)
823                                UNAME_MACHINE="alphaev6"
824                                ;;
825                        2-307)
826                                UNAME_MACHINE="alphaev67"
827                                ;;
828                        esac
829
830                        objdump --private-headers $dummy | \
831                          grep ld.so.1 > /dev/null
832                        if test "$?" = 0 ; then
833                                LIBC="libc1"
834                        fi
835                fi
836                rm -f $dummy.s $dummy
837                echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
838        elif test "${UNAME_MACHINE}" = "mips" ; then
839          cat >$dummy.c <<EOF
840#ifdef __cplusplus
841#include <stdio.h>  /* for printf() prototype */
842        int main (int argc, char *argv[]) {
843#else
844        int main (argc, argv) int argc; char *argv[]; {
845#endif
846#ifdef __MIPSEB__
847  printf ("%s-unknown-linux-gnu\n", argv[1]);
848#endif
849#ifdef __MIPSEL__
850  printf ("%sel-unknown-linux-gnu\n", argv[1]);
851#endif
852  return 0;
853}
854EOF
855          $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
856          rm -f $dummy.c $dummy
857        elif test "${UNAME_MACHINE}" = "s390"; then
858          echo s390-ibm-linux && exit 0
859        else
860          # Either a pre-BFD a.out linker (linux-gnuoldld)
861          # or one that does not give us useful --help.
862          # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
863          # If ld does not provide *any* "supported emulations:"
864          # that means it is gnuoldld.
865          echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
866          test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
867
868          case "${UNAME_MACHINE}" in
869          i?86)
870            VENDOR=pc;
871            ;;
872          *)
873            VENDOR=unknown;
874            ;;
875          esac
876          # Determine whether the default compiler is a.out or elf
877          cat >$dummy.c <<EOF
878#include <features.h>
879#ifdef __cplusplus
880#include <stdio.h>  /* for printf() prototype */
881        int main (int argc, char *argv[]) {
882#else
883        int main (argc, argv) int argc; char *argv[]; {
884#endif
885#ifdef __ELF__
886# ifdef __GLIBC__
887#  if __GLIBC__ >= 2
888    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
889#  else
890    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
891#  endif
892# else
893   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
894# endif
895#else
896  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
897#endif
898  return 0;
899}
900EOF
901          $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
902          rm -f $dummy.c $dummy
903        fi ;;
904# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
905# are messed up and put the nodename in both sysname and nodename.
906    i?86:DYNIX/ptx:4*:*)
907        echo i386-sequent-sysv4
908        exit 0 ;;
909    i?86:UNIX_SV:4.2MP:2.*)
910        # Unixware is an offshoot of SVR4, but it has its own version
911        # number series starting with 2...
912        # I am not positive that other SVR4 systems won't match this,
913        # I just have to hope.  -- rms.
914        # Use sysv4.2uw... so that sysv4* matches it.
915        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
916        exit 0 ;;
917    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
918        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
919        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
920                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
921        else
922                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
923        fi
924        exit 0 ;;
925    i?86:*:5:7*)
926        # Fixed at (any) Pentium or better
927        UNAME_MACHINE=i586
928        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
929            echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
930        else
931            echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
932        fi
933        exit 0 ;;
934    i?86:*:3.2:*)
935        if test -f /usr/options/cb.name; then
936                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
937                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
938        elif /bin/uname -X 2>/dev/null >/dev/null ; then
939                UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
940                (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
941                (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
942                        && UNAME_MACHINE=i586
943                (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
944                        && UNAME_MACHINE=i686
945                (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
946                        && UNAME_MACHINE=i686
947                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
948        else
949                echo ${UNAME_MACHINE}-pc-sysv32
950        fi
951        exit 0 ;;
952    i?86:*DOS:*:*)
953        echo ${UNAME_MACHINE}-pc-msdosdjgpp
954        exit 0 ;;
955    pc:*:*:*)
956        # Left here for compatibility:
957        # uname -m prints for DJGPP always 'pc', but it prints nothing about
958        # the processor, so we play safe by assuming i386.
959        echo i386-pc-msdosdjgpp
960        exit 0 ;;
961    Intel:Mach:3*:*)
962        echo i386-pc-mach3
963        exit 0 ;;
964    paragon:*:*:*)
965        echo i860-intel-osf1
966        exit 0 ;;
967    i860:*:4.*:*) # i860-SVR4
968        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
969          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
970        else # Add other i860-SVR4 vendors below as they are discovered.
971          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
972        fi
973        exit 0 ;;
974    mini*:CTIX:SYS*5:*)
975        # "miniframe"
976        echo m68010-convergent-sysv
977        exit 0 ;;
978    M68*:*:R3V[567]*:*)
979        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
980    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
981        OS_REL=''
982        test -r /etc/.relid \
983        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
984        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
985          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
986        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
987          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
988    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
989        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
990          && echo i486-ncr-sysv4 && exit 0 ;;
991    m68*:LynxOS:2.*:*)
992        echo m68k-unknown-lynxos${UNAME_RELEASE}
993        exit 0 ;;
994    mc68030:UNIX_System_V:4.*:*)
995        echo m68k-atari-sysv4
996        exit 0 ;;
997    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
998        echo i386-unknown-lynxos${UNAME_RELEASE}
999        exit 0 ;;
1000    TSUNAMI:LynxOS:2.*:*)
1001        echo sparc-unknown-lynxos${UNAME_RELEASE}
1002        exit 0 ;;
1003    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
1004        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1005        exit 0 ;;
1006    SM[BE]S:UNIX_SV:*:*)
1007        echo mips-dde-sysv${UNAME_RELEASE}
1008        exit 0 ;;
1009    RM*:ReliantUNIX-*:*:*)
1010        echo mips-sni-sysv4
1011        exit 0 ;;
1012    RM*:SINIX-*:*:*)
1013        echo mips-sni-sysv4
1014        exit 0 ;;
1015    *:SINIX-*:*:*)
1016        if uname -p 2>/dev/null >/dev/null ; then
1017                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1018                echo ${UNAME_MACHINE}-sni-sysv4
1019        else
1020                echo ns32k-sni-sysv
1021        fi
1022        exit 0 ;;
1023    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1024                           # says <Richard.M.Bartel@ccMail.Census.GOV>
1025        echo i586-unisys-sysv4
1026        exit 0 ;;
1027    *:UNIX_System_V:4*:FTX*)
1028        # From Gerald Hewes <hewes@openmarket.com>.
1029        # How about differentiating between stratus architectures? -djm
1030        echo hppa1.1-stratus-sysv4
1031        exit 0 ;;
1032    *:*:*:FTX*)
1033        # From seanf@swdc.stratus.com.
1034        echo i860-stratus-sysv4
1035        exit 0 ;;
1036    mc68*:A/UX:*:*)
1037        echo m68k-apple-aux${UNAME_RELEASE}
1038        exit 0 ;;
1039    news*:NEWS-OS:*:6*)
1040        echo mips-sony-newsos6
1041        exit 0 ;;
1042    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1043        if [ -d /usr/nec ]; then
1044                echo mips-nec-sysv${UNAME_RELEASE}
1045        else
1046                echo mips-unknown-sysv${UNAME_RELEASE}
1047        fi
1048        exit 0 ;;
1049    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1050        echo powerpc-be-beos
1051        exit 0 ;;
1052    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1053        echo powerpc-apple-beos
1054        exit 0 ;;
1055    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1056        echo i586-pc-beos
1057        exit 0 ;;
1058    SX-4:SUPER-UX:*:*)
1059        echo sx4-nec-superux${UNAME_RELEASE}
1060        exit 0 ;;
1061    SX-5:SUPER-UX:*:*)
1062        echo sx5-nec-superux${UNAME_RELEASE}
1063        exit 0 ;;
1064    Power*:Rhapsody:*:*)
1065        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1066        exit 0 ;;
1067    *:Rhapsody:*:*)
1068        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1069        exit 0 ;;
1070    *:Darwin:*:*)
1071        echo `uname -p`-apple-darwin${UNAME_RELEASE}
1072        exit 0 ;;
1073    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1074        if test "${UNAME_MACHINE}" = "x86pc"; then
1075                UNAME_MACHINE=pc
1076        fi
1077        echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1078        exit 0 ;;
1079    *:QNX:*:4*)
1080        echo i386-pc-qnx
1081        exit 0 ;;
1082    NSR-W:NONSTOP_KERNEL:*:*)
1083        echo nsr-tandem-nsk${UNAME_RELEASE}
1084        exit 0 ;;
1085    BS2000:POSIX*:*:*)
1086        echo bs2000-siemens-sysv
1087        exit 0 ;;
1088    DS/*:UNIX_System_V:*:*)
1089        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1090        exit 0 ;;
1091esac
1092
1093#echo '(No uname command or uname output not recognized.)' 1>&2
1094#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1095
1096cat >$dummy.c <<EOF
1097#ifdef _SEQUENT_
1098# include <sys/types.h>
1099# include <sys/utsname.h>
1100#endif
1101main ()
1102{
1103#if defined (sony)
1104#if defined (MIPSEB)
1105  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1106     I don't know....  */
1107  printf ("mips-sony-bsd\n"); exit (0);
1108#else
1109#include <sys/param.h>
1110  printf ("m68k-sony-newsos%s\n",
1111#ifdef NEWSOS4
1112          "4"
1113#else
1114          ""
1115#endif
1116         ); exit (0);
1117#endif
1118#endif
1119
1120#if defined (__arm) && defined (__acorn) && defined (__unix)
1121  printf ("arm-acorn-riscix"); exit (0);
1122#endif
1123
1124#if defined (hp300) && !defined (hpux)
1125  printf ("m68k-hp-bsd\n"); exit (0);
1126#endif
1127
1128#if defined (NeXT)
1129#if !defined (__ARCHITECTURE__)
1130#define __ARCHITECTURE__ "m68k"
1131#endif
1132  int version;
1133  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1134  if (version < 4)
1135    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1136  else
1137    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1138  exit (0);
1139#endif
1140
1141#if defined (MULTIMAX) || defined (n16)
1142#if defined (UMAXV)
1143  printf ("ns32k-encore-sysv\n"); exit (0);
1144#else
1145#if defined (CMU)
1146  printf ("ns32k-encore-mach\n"); exit (0);
1147#else
1148  printf ("ns32k-encore-bsd\n"); exit (0);
1149#endif
1150#endif
1151#endif
1152
1153#if defined (__386BSD__)
1154  printf ("i386-pc-bsd\n"); exit (0);
1155#endif
1156
1157#if defined (sequent)
1158#if defined (i386)
1159  printf ("i386-sequent-dynix\n"); exit (0);
1160#endif
1161#if defined (ns32000)
1162  printf ("ns32k-sequent-dynix\n"); exit (0);
1163#endif
1164#endif
1165
1166#if defined (_SEQUENT_)
1167    struct utsname un;
1168
1169    uname(&un);
1170
1171    if (strncmp(un.version, "V2", 2) == 0) {
1172        printf ("i386-sequent-ptx2\n"); exit (0);
1173    }
1174    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1175        printf ("i386-sequent-ptx1\n"); exit (0);
1176    }
1177    printf ("i386-sequent-ptx\n"); exit (0);
1178
1179#endif
1180
1181#if defined (vax)
1182#if !defined (ultrix)
1183  printf ("vax-dec-bsd\n"); exit (0);
1184#else
1185  printf ("vax-dec-ultrix\n"); exit (0);
1186#endif
1187#endif
1188
1189#if defined (alliant) && defined (i860)
1190  printf ("i860-alliant-bsd\n"); exit (0);
1191#endif
1192
1193  exit (1);
1194}
1195EOF
1196
1197$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
1198rm -f $dummy.c $dummy
1199
1200# Apollos put the system type in the environment.
1201
1202test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1203
1204# Convex versions that predate uname can use getsysinfo(1)
1205
1206if [ -x /usr/convex/getsysinfo ]
1207then
1208    case `getsysinfo -f cpu_type` in
1209    c1*)
1210        echo c1-convex-bsd
1211        exit 0 ;;
1212    c2*)
1213        if getsysinfo -f scalar_acc
1214        then echo c32-convex-bsd
1215        else echo c2-convex-bsd
1216        fi
1217        exit 0 ;;
1218    c34*)
1219        echo c34-convex-bsd
1220        exit 0 ;;
1221    c38*)
1222        echo c38-convex-bsd
1223        exit 0 ;;
1224    c4*)
1225        echo c4-convex-bsd
1226        exit 0 ;;
1227    esac
1228fi
1229
1230cat >&2 <<EOF
1231$0: unable to guess system type
1232
1233The $version version of this script cannot recognize your system type.
1234Please download the most up to date version of the config scripts:
1235
1236    ftp://ftp.gnu.org/pub/gnu/config/
1237
1238If the version you run ($0) is already up to date, please
1239send the following data and any information you think might be
1240pertinent to <config-patches@gnu.org> in order to provide the needed
1241information to handle your system.
1242
1243config.guess version = $version
1244
1245uname -m = `(uname -m) 2>/dev/null || echo unknown`
1246uname -r = `(uname -r) 2>/dev/null || echo unknown`
1247uname -s = `(uname -s) 2>/dev/null || echo unknown`
1248uname -v = `(uname -v) 2>/dev/null || echo unknown`
1249
1250/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1251/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1252
1253hostinfo               = `(hostinfo) 2>/dev/null`
1254/bin/universe          = `(/bin/universe) 2>/dev/null`
1255/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1256/bin/arch              = `(/bin/arch) 2>/dev/null`
1257/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1258/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1259
1260UNAME_MACHINE = ${UNAME_MACHINE}
1261UNAME_RELEASE = ${UNAME_RELEASE}
1262UNAME_SYSTEM  = ${UNAME_SYSTEM}
1263UNAME_VERSION = ${UNAME_VERSION}
1264EOF
1265
1266exit 1
1267
1268# Local variables:
1269# eval: (add-hook 'write-file-hooks 'time-stamp)
1270# time-stamp-start: "version='"
1271# time-stamp-format: "%:y-%02m-%02d"
1272# time-stamp-end: "'"
1273# End:
Note: See TracBrowser for help on using the repository browser.