source: trunk/third/aspell/config.guess @ 20163

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