source: trunk/third/atk/config.guess @ 20776

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