source: trunk/third/libgsf/config.guess @ 22006

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