source: trunk/third/gettext/config.guess @ 16931

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