source: trunk/third/libwnck/config.guess @ 18594

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