source: trunk/third/libole2/config.guess @ 17442

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