source: trunk/third/nautilus/config.guess @ 20932

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