root/gs2-extensions/parallel-building/trunk/src/src/mpiimport-src/config.guess @ 24589

Revision 24589, 45.2 KB (checked in by jmt12, 8 years ago)

Initial checkin

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