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