source: trunk/base/config.guess @ 49076

Last change on this file since 49076 was 49076, checked in by toby@…, 11 years ago

Update config.(guess|sub), not that it matters. Also remove useless svn:keywords

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