ncurses 5.9 - patch 20130608
[ncurses.git] / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 #   Copyright 1992-2013 Free Software Foundation, Inc.
4
5 timestamp='2013-02-04'
6
7 # This file is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
19 #
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that
24 # program.  This Exception is an additional permission under section 7
25 # of the GNU General Public License, version 3 ("GPLv3").
26 #
27 # Originally written by Per Bothner.
28 #
29 # You can get the latest version of this script from:
30 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
31 #
32 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
33
34
35 me=`echo "$0" | sed -e 's,.*/,,'`
36
37 usage="\
38 Usage: $0 [OPTION]
39
40 Output the configuration name of the system \`$me' is run on.
41
42 Operation modes:
43   -h, --help         print this help, then exit
44   -t, --time-stamp   print date of last modification, then exit
45   -v, --version      print version number, then exit
46
47 Report bugs and patches to <config-patches@gnu.org>."
48
49 version="\
50 GNU config.guess ($timestamp)
51
52 Originally written by Per Bothner.
53 Copyright 1992-2013 Free Software Foundation, Inc.
54
55 This is free software; see the source for copying conditions.  There is NO
56 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57
58 help="
59 Try \`$me --help' for more information."
60
61 # Parse command line
62 while test $# -gt 0 ; do
63   case $1 in
64     --time-stamp | --time* | -t )
65        echo "$timestamp" ; exit ;;
66     --version | -v )
67        echo "$version" ; exit ;;
68     --help | --h* | -h )
69        echo "$usage"; exit ;;
70     -- )     # Stop option processing
71        shift; break ;;
72     - ) # Use stdin as input.
73        break ;;
74     -* )
75        echo "$me: invalid option $1$help" >&2
76        exit 1 ;;
77     * )
78        break ;;
79   esac
80 done
81
82 if test $# != 0; then
83   echo "$me: too many arguments$help" >&2
84   exit 1
85 fi
86
87 trap 'exit 1' 1 2 15
88
89 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90 # compiler to aid in system detection is discouraged as it requires
91 # temporary files to be created and, as you can see below, it is a
92 # headache to deal with in a portable fashion.
93
94 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95 # use `HOST_CC' if defined, but it is deprecated.
96
97 # Portable tmp directory creation inspired by the Autoconf team.
98
99 set_cc_for_build='
100 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102 : ${TMPDIR=/tmp} ;
103  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107 dummy=$tmp/dummy ;
108 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109 case $CC_FOR_BUILD,$HOST_CC,$CC in
110  ,,)    echo "int x;" > $dummy.c ;
111         for c in cc gcc c89 c99 ; do
112           if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113              CC_FOR_BUILD="$c"; break ;
114           fi ;
115         done ;
116         if test x"$CC_FOR_BUILD" = x ; then
117           CC_FOR_BUILD=no_compiler_found ;
118         fi
119         ;;
120  ,,*)   CC_FOR_BUILD=$CC ;;
121  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
122 esac ; set_cc_for_build= ;'
123
124 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125 # (ghazi@noc.rutgers.edu 1994-08-24)
126 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127         PATH=$PATH:/.attbin ; export PATH
128 fi
129
130 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
133 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134
135 # Note: order is significant - the case branches are not exclusive.
136
137 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
138     *:NetBSD:*:*)
139         # NetBSD (nbsd) targets should (where applicable) match one or
140         # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
141         # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
142         # switched to ELF, *-*-netbsd* would select the old
143         # object file format.  This provides both forward
144         # compatibility and a consistent mechanism for selecting the
145         # object file format.
146         #
147         # Note: NetBSD doesn't particularly care about the vendor
148         # portion of the name.  We always set it to "unknown".
149         sysctl="sysctl -n hw.machine_arch"
150         UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
151             /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
152         case "${UNAME_MACHINE_ARCH}" in
153             armeb) machine=armeb-unknown ;;
154             arm*) machine=arm-unknown ;;
155             sh3el) machine=shl-unknown ;;
156             sh3eb) machine=sh-unknown ;;
157             sh5el) machine=sh5le-unknown ;;
158             *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
159         esac
160         # The Operating System including object format, if it has switched
161         # to ELF recently, or will in the future.
162         case "${UNAME_MACHINE_ARCH}" in
163             arm*|i386|m68k|ns32k|sh3*|sparc|vax)
164                 eval $set_cc_for_build
165                 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
166                         | grep -q __ELF__
167                 then
168                     # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
169                     # Return netbsd for either.  FIX?
170                     os=netbsd
171                 else
172                     os=netbsdelf
173                 fi
174                 ;;
175             *)
176                 os=netbsd
177                 ;;
178         esac
179         # The OS release
180         # Debian GNU/NetBSD machines have a different userland, and
181         # thus, need a distinct triplet. However, they do not need
182         # kernel version information, so it can be replaced with a
183         # suitable tag, in the style of linux-gnu.
184         case "${UNAME_VERSION}" in
185             Debian*)
186                 release='-gnu'
187                 ;;
188             *)
189                 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
190                 ;;
191         esac
192         # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
193         # contains redundant information, the shorter form:
194         # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
195         echo "${machine}-${os}${release}"
196         exit ;;
197     *:Bitrig:*:*)
198         UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
199         echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
200         exit ;;
201     *:OpenBSD:*:*)
202         UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
203         echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
204         exit ;;
205     *:ekkoBSD:*:*)
206         echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
207         exit ;;
208     *:SolidBSD:*:*)
209         echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
210         exit ;;
211     macppc:MirBSD:*:*)
212         echo powerpc-unknown-mirbsd${UNAME_RELEASE}
213         exit ;;
214     *:MirBSD:*:*)
215         echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
216         exit ;;
217     alpha:OSF1:*:*)
218         case $UNAME_RELEASE in
219         *4.0)
220                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
221                 ;;
222         *5.*)
223                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
224                 ;;
225         esac
226         # According to Compaq, /usr/sbin/psrinfo has been available on
227         # OSF/1 and Tru64 systems produced since 1995.  I hope that
228         # covers most systems running today.  This code pipes the CPU
229         # types through head -n 1, so we only detect the type of CPU 0.
230         ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
231         case "$ALPHA_CPU_TYPE" in
232             "EV4 (21064)")
233                 UNAME_MACHINE="alpha" ;;
234             "EV4.5 (21064)")
235                 UNAME_MACHINE="alpha" ;;
236             "LCA4 (21066/21068)")
237                 UNAME_MACHINE="alpha" ;;
238             "EV5 (21164)")
239                 UNAME_MACHINE="alphaev5" ;;
240             "EV5.6 (21164A)")
241                 UNAME_MACHINE="alphaev56" ;;
242             "EV5.6 (21164PC)")
243                 UNAME_MACHINE="alphapca56" ;;
244             "EV5.7 (21164PC)")
245                 UNAME_MACHINE="alphapca57" ;;
246             "EV6 (21264)")
247                 UNAME_MACHINE="alphaev6" ;;
248             "EV6.7 (21264A)")
249                 UNAME_MACHINE="alphaev67" ;;
250             "EV6.8CB (21264C)")
251                 UNAME_MACHINE="alphaev68" ;;
252             "EV6.8AL (21264B)")
253                 UNAME_MACHINE="alphaev68" ;;
254             "EV6.8CX (21264D)")
255                 UNAME_MACHINE="alphaev68" ;;
256             "EV6.9A (21264/EV69A)")
257                 UNAME_MACHINE="alphaev69" ;;
258             "EV7 (21364)")
259                 UNAME_MACHINE="alphaev7" ;;
260             "EV7.9 (21364A)")
261                 UNAME_MACHINE="alphaev79" ;;
262         esac
263         # A Pn.n version is a patched version.
264         # A Vn.n version is a released version.
265         # A Tn.n version is a released field test version.
266         # A Xn.n version is an unreleased experimental baselevel.
267         # 1.2 uses "1.2" for uname -r.
268         echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
269         # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
270         exitcode=$?
271         trap '' 0
272         exit $exitcode ;;
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:*:[4567])
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         UNAME_PROCESSOR=`/usr/bin/uname -p`
792         case ${UNAME_PROCESSOR} in
793             amd64)
794                 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795             *)
796                 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797         esac
798         exit ;;
799     i*:CYGWIN*:*)
800         echo ${UNAME_MACHINE}-pc-cygwin
801         exit ;;
802     *:MINGW64*:*)
803         echo ${UNAME_MACHINE}-pc-mingw64
804         exit ;;
805     *:MINGW*:*)
806         echo ${UNAME_MACHINE}-pc-mingw32
807         exit ;;
808     i*:MSYS*:*)
809         echo ${UNAME_MACHINE}-pc-msys
810         exit ;;
811     i*:windows32*:*)
812         # uname -m includes "-pc" on this system.
813         echo ${UNAME_MACHINE}-mingw32
814         exit ;;
815     i*:PW*:*)
816         echo ${UNAME_MACHINE}-pc-pw32
817         exit ;;
818     *:Interix*:*)
819         case ${UNAME_MACHINE} in
820             x86)
821                 echo i586-pc-interix${UNAME_RELEASE}
822                 exit ;;
823             authenticamd | genuineintel | EM64T)
824                 echo x86_64-unknown-interix${UNAME_RELEASE}
825                 exit ;;
826             IA64)
827                 echo ia64-unknown-interix${UNAME_RELEASE}
828                 exit ;;
829         esac ;;
830     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
831         echo i${UNAME_MACHINE}-pc-mks
832         exit ;;
833     8664:Windows_NT:*)
834         echo x86_64-pc-mks
835         exit ;;
836     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
837         # How do we know it's Interix rather than the generic POSIX subsystem?
838         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
839         # UNAME_MACHINE based on the output of uname instead of i386?
840         echo i586-pc-interix
841         exit ;;
842     i*:UWIN*:*)
843         echo ${UNAME_MACHINE}-pc-uwin
844         exit ;;
845     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
846         echo x86_64-unknown-cygwin
847         exit ;;
848     p*:CYGWIN*:*)
849         echo powerpcle-unknown-cygwin
850         exit ;;
851     prep*:SunOS:5.*:*)
852         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
853         exit ;;
854     *:GNU:*:*)
855         # the GNU system
856         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
857         exit ;;
858     *:GNU/*:*:*)
859         # other systems with GNU libc and userland
860         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
861         exit ;;
862     i*86:Minix:*:*)
863         echo ${UNAME_MACHINE}-pc-minix
864         exit ;;
865     aarch64:Linux:*:*)
866         echo ${UNAME_MACHINE}-unknown-linux-gnu
867         exit ;;
868     aarch64_be:Linux:*:*)
869         UNAME_MACHINE=aarch64_be
870         echo ${UNAME_MACHINE}-unknown-linux-gnu
871         exit ;;
872     alpha:Linux:*:*)
873         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
874           EV5)   UNAME_MACHINE=alphaev5 ;;
875           EV56)  UNAME_MACHINE=alphaev56 ;;
876           PCA56) UNAME_MACHINE=alphapca56 ;;
877           PCA57) UNAME_MACHINE=alphapca56 ;;
878           EV6)   UNAME_MACHINE=alphaev6 ;;
879           EV67)  UNAME_MACHINE=alphaev67 ;;
880           EV68*) UNAME_MACHINE=alphaev68 ;;
881         esac
882         objdump --private-headers /bin/sh | grep -q ld.so.1
883         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
884         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
885         exit ;;
886     arm*:Linux:*:*)
887         eval $set_cc_for_build
888         if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
889             | grep -q __ARM_EABI__
890         then
891             echo ${UNAME_MACHINE}-unknown-linux-gnu
892         else
893             if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
894                 | grep -q __ARM_PCS_VFP
895             then
896                 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
897             else
898                 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
899             fi
900         fi
901         exit ;;
902     avr32*:Linux:*:*)
903         echo ${UNAME_MACHINE}-unknown-linux-gnu
904         exit ;;
905     cris:Linux:*:*)
906         echo ${UNAME_MACHINE}-axis-linux-gnu
907         exit ;;
908     crisv32:Linux:*:*)
909         echo ${UNAME_MACHINE}-axis-linux-gnu
910         exit ;;
911     frv:Linux:*:*)
912         echo ${UNAME_MACHINE}-unknown-linux-gnu
913         exit ;;
914     hexagon:Linux:*:*)
915         echo ${UNAME_MACHINE}-unknown-linux-gnu
916         exit ;;
917     i*86:Linux:*:*)
918         LIBC=gnu
919         eval $set_cc_for_build
920         sed 's/^        //' << EOF >$dummy.c
921         #ifdef __dietlibc__
922         LIBC=dietlibc
923         #endif
924 EOF
925         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
926         echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
927         exit ;;
928     ia64:Linux:*:*)
929         echo ${UNAME_MACHINE}-unknown-linux-gnu
930         exit ;;
931     m32r*:Linux:*:*)
932         echo ${UNAME_MACHINE}-unknown-linux-gnu
933         exit ;;
934     m68*:Linux:*:*)
935         echo ${UNAME_MACHINE}-unknown-linux-gnu
936         exit ;;
937     mips:Linux:*:* | mips64:Linux:*:*)
938         eval $set_cc_for_build
939         sed 's/^        //' << EOF >$dummy.c
940         #undef CPU
941         #undef ${UNAME_MACHINE}
942         #undef ${UNAME_MACHINE}el
943         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
944         CPU=${UNAME_MACHINE}el
945         #else
946         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
947         CPU=${UNAME_MACHINE}
948         #else
949         CPU=
950         #endif
951         #endif
952 EOF
953         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
954         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
955         ;;
956     or32:Linux:*:*)
957         echo ${UNAME_MACHINE}-unknown-linux-gnu
958         exit ;;
959     padre:Linux:*:*)
960         echo sparc-unknown-linux-gnu
961         exit ;;
962     parisc64:Linux:*:* | hppa64:Linux:*:*)
963         echo hppa64-unknown-linux-gnu
964         exit ;;
965     parisc:Linux:*:* | hppa:Linux:*:*)
966         # Look for CPU level
967         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
968           PA7*) echo hppa1.1-unknown-linux-gnu ;;
969           PA8*) echo hppa2.0-unknown-linux-gnu ;;
970           *)    echo hppa-unknown-linux-gnu ;;
971         esac
972         exit ;;
973     ppc64:Linux:*:*)
974         echo powerpc64-unknown-linux-gnu
975         exit ;;
976     ppc:Linux:*:*)
977         echo powerpc-unknown-linux-gnu
978         exit ;;
979     s390:Linux:*:* | s390x:Linux:*:*)
980         echo ${UNAME_MACHINE}-ibm-linux
981         exit ;;
982     sh64*:Linux:*:*)
983         echo ${UNAME_MACHINE}-unknown-linux-gnu
984         exit ;;
985     sh*:Linux:*:*)
986         echo ${UNAME_MACHINE}-unknown-linux-gnu
987         exit ;;
988     sparc:Linux:*:* | sparc64:Linux:*:*)
989         echo ${UNAME_MACHINE}-unknown-linux-gnu
990         exit ;;
991     tile*:Linux:*:*)
992         echo ${UNAME_MACHINE}-unknown-linux-gnu
993         exit ;;
994     vax:Linux:*:*)
995         echo ${UNAME_MACHINE}-dec-linux-gnu
996         exit ;;
997     x86_64:Linux:*:*)
998         echo ${UNAME_MACHINE}-unknown-linux-gnu
999         exit ;;
1000     xtensa*:Linux:*:*)
1001         echo ${UNAME_MACHINE}-unknown-linux-gnu
1002         exit ;;
1003     i*86:DYNIX/ptx:4*:*)
1004         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1005         # earlier versions are messed up and put the nodename in both
1006         # sysname and nodename.
1007         echo i386-sequent-sysv4
1008         exit ;;
1009     i*86:UNIX_SV:4.2MP:2.*)
1010         # Unixware is an offshoot of SVR4, but it has its own version
1011         # number series starting with 2...
1012         # I am not positive that other SVR4 systems won't match this,
1013         # I just have to hope.  -- rms.
1014         # Use sysv4.2uw... so that sysv4* matches it.
1015         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1016         exit ;;
1017     i*86:OS/2:*:*)
1018         # If we were able to find `uname', then EMX Unix compatibility
1019         # is probably installed.
1020         echo ${UNAME_MACHINE}-pc-os2-emx
1021         exit ;;
1022     i*86:XTS-300:*:STOP)
1023         echo ${UNAME_MACHINE}-unknown-stop
1024         exit ;;
1025     i*86:atheos:*:*)
1026         echo ${UNAME_MACHINE}-unknown-atheos
1027         exit ;;
1028     i*86:syllable:*:*)
1029         echo ${UNAME_MACHINE}-pc-syllable
1030         exit ;;
1031     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1032         echo i386-unknown-lynxos${UNAME_RELEASE}
1033         exit ;;
1034     i*86:*DOS:*:*)
1035         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1036         exit ;;
1037     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1038         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1039         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1040                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1041         else
1042                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1043         fi
1044         exit ;;
1045     i*86:*:5:[678]*)
1046         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1047         case `/bin/uname -X | grep "^Machine"` in
1048             *486*)           UNAME_MACHINE=i486 ;;
1049             *Pentium)        UNAME_MACHINE=i586 ;;
1050             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1051         esac
1052         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1053         exit ;;
1054     i*86:*:3.2:*)
1055         if test -f /usr/options/cb.name; then
1056                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1057                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1058         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1059                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1060                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1061                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1062                         && UNAME_MACHINE=i586
1063                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1064                         && UNAME_MACHINE=i686
1065                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1066                         && UNAME_MACHINE=i686
1067                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1068         else
1069                 echo ${UNAME_MACHINE}-pc-sysv32
1070         fi
1071         exit ;;
1072     pc:*:*:*)
1073         # Left here for compatibility:
1074         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1075         # the processor, so we play safe by assuming i586.
1076         # Note: whatever this is, it MUST be the same as what config.sub
1077         # prints for the "djgpp" host, or else GDB configury will decide that
1078         # this is a cross-build.
1079         echo i586-pc-msdosdjgpp
1080         exit ;;
1081     Intel:Mach:3*:*)
1082         echo i386-pc-mach3
1083         exit ;;
1084     paragon:*:*:*)
1085         echo i860-intel-osf1
1086         exit ;;
1087     i860:*:4.*:*) # i860-SVR4
1088         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1089           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1090         else # Add other i860-SVR4 vendors below as they are discovered.
1091           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1092         fi
1093         exit ;;
1094     mini*:CTIX:SYS*5:*)
1095         # "miniframe"
1096         echo m68010-convergent-sysv
1097         exit ;;
1098     mc68k:UNIX:SYSTEM5:3.51m)
1099         echo m68k-convergent-sysv
1100         exit ;;
1101     M680?0:D-NIX:5.3:*)
1102         echo m68k-diab-dnix
1103         exit ;;
1104     M68*:*:R3V[5678]*:*)
1105         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1106     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)
1107         OS_REL=''
1108         test -r /etc/.relid \
1109         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1110         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1111           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1112         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1113           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1114     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1115         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1116           && { echo i486-ncr-sysv4; exit; } ;;
1117     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1118         OS_REL='.3'
1119         test -r /etc/.relid \
1120             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1121         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1122             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1123         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1124             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1125         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1126             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1127     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1128         echo m68k-unknown-lynxos${UNAME_RELEASE}
1129         exit ;;
1130     mc68030:UNIX_System_V:4.*:*)
1131         echo m68k-atari-sysv4
1132         exit ;;
1133     TSUNAMI:LynxOS:2.*:*)
1134         echo sparc-unknown-lynxos${UNAME_RELEASE}
1135         exit ;;
1136     rs6000:LynxOS:2.*:*)
1137         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1138         exit ;;
1139     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1140         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1141         exit ;;
1142     SM[BE]S:UNIX_SV:*:*)
1143         echo mips-dde-sysv${UNAME_RELEASE}
1144         exit ;;
1145     RM*:ReliantUNIX-*:*:*)
1146         echo mips-sni-sysv4
1147         exit ;;
1148     RM*:SINIX-*:*:*)
1149         echo mips-sni-sysv4
1150         exit ;;
1151     *:SINIX-*:*:*)
1152         if uname -p 2>/dev/null >/dev/null ; then
1153                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1154                 echo ${UNAME_MACHINE}-sni-sysv4
1155         else
1156                 echo ns32k-sni-sysv
1157         fi
1158         exit ;;
1159     PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1160                         # says <Richard.M.Bartel@ccMail.Census.GOV>
1161         echo i586-unisys-sysv4
1162         exit ;;
1163     *:UNIX_System_V:4*:FTX*)
1164         # From Gerald Hewes <hewes@openmarket.com>.
1165         # How about differentiating between stratus architectures? -djm
1166         echo hppa1.1-stratus-sysv4
1167         exit ;;
1168     *:*:*:FTX*)
1169         # From seanf@swdc.stratus.com.
1170         echo i860-stratus-sysv4
1171         exit ;;
1172     i*86:VOS:*:*)
1173         # From Paul.Green@stratus.com.
1174         echo ${UNAME_MACHINE}-stratus-vos
1175         exit ;;
1176     *:VOS:*:*)
1177         # From Paul.Green@stratus.com.
1178         echo hppa1.1-stratus-vos
1179         exit ;;
1180     mc68*:A/UX:*:*)
1181         echo m68k-apple-aux${UNAME_RELEASE}
1182         exit ;;
1183     news*:NEWS-OS:6*:*)
1184         echo mips-sony-newsos6
1185         exit ;;
1186     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1187         if [ -d /usr/nec ]; then
1188                 echo mips-nec-sysv${UNAME_RELEASE}
1189         else
1190                 echo mips-unknown-sysv${UNAME_RELEASE}
1191         fi
1192         exit ;;
1193     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1194         echo powerpc-be-beos
1195         exit ;;
1196     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1197         echo powerpc-apple-beos
1198         exit ;;
1199     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1200         echo i586-pc-beos
1201         exit ;;
1202     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1203         echo i586-pc-haiku
1204         exit ;;
1205     x86_64:Haiku:*:*)
1206         echo x86_64-unknown-haiku
1207         exit ;;
1208     SX-4:SUPER-UX:*:*)
1209         echo sx4-nec-superux${UNAME_RELEASE}
1210         exit ;;
1211     SX-5:SUPER-UX:*:*)
1212         echo sx5-nec-superux${UNAME_RELEASE}
1213         exit ;;
1214     SX-6:SUPER-UX:*:*)
1215         echo sx6-nec-superux${UNAME_RELEASE}
1216         exit ;;
1217     SX-7:SUPER-UX:*:*)
1218         echo sx7-nec-superux${UNAME_RELEASE}
1219         exit ;;
1220     SX-8:SUPER-UX:*:*)
1221         echo sx8-nec-superux${UNAME_RELEASE}
1222         exit ;;
1223     SX-8R:SUPER-UX:*:*)
1224         echo sx8r-nec-superux${UNAME_RELEASE}
1225         exit ;;
1226     Power*:Rhapsody:*:*)
1227         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1228         exit ;;
1229     *:Rhapsody:*:*)
1230         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1231         exit ;;
1232     *:Darwin:*:*)
1233         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1234         case $UNAME_PROCESSOR in
1235             i386)
1236                 eval $set_cc_for_build
1237                 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1238                   if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1239                       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1240                       grep IS_64BIT_ARCH >/dev/null
1241                   then
1242                       UNAME_PROCESSOR="x86_64"
1243                   fi
1244                 fi ;;
1245             unknown) UNAME_PROCESSOR=powerpc ;;
1246         esac
1247         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1248         exit ;;
1249     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1250         UNAME_PROCESSOR=`uname -p`
1251         if test "$UNAME_PROCESSOR" = "x86"; then
1252                 UNAME_PROCESSOR=i386
1253                 UNAME_MACHINE=pc
1254         fi
1255         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1256         exit ;;
1257     *:QNX:*:4*)
1258         echo i386-pc-qnx
1259         exit ;;
1260     NEO-?:NONSTOP_KERNEL:*:*)
1261         echo neo-tandem-nsk${UNAME_RELEASE}
1262         exit ;;
1263     NSE-*:NONSTOP_KERNEL:*:*)
1264         echo nse-tandem-nsk${UNAME_RELEASE}
1265         exit ;;
1266     NSR-?:NONSTOP_KERNEL:*:*)
1267         echo nsr-tandem-nsk${UNAME_RELEASE}
1268         exit ;;
1269     *:NonStop-UX:*:*)
1270         echo mips-compaq-nonstopux
1271         exit ;;
1272     BS2000:POSIX*:*:*)
1273         echo bs2000-siemens-sysv
1274         exit ;;
1275     DS/*:UNIX_System_V:*:*)
1276         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1277         exit ;;
1278     *:Plan9:*:*)
1279         # "uname -m" is not consistent, so use $cputype instead. 386
1280         # is converted to i386 for consistency with other x86
1281         # operating systems.
1282         if test "$cputype" = "386"; then
1283             UNAME_MACHINE=i386
1284         else
1285             UNAME_MACHINE="$cputype"
1286         fi
1287         echo ${UNAME_MACHINE}-unknown-plan9
1288         exit ;;
1289     *:TOPS-10:*:*)
1290         echo pdp10-unknown-tops10
1291         exit ;;
1292     *:TENEX:*:*)
1293         echo pdp10-unknown-tenex
1294         exit ;;
1295     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1296         echo pdp10-dec-tops20
1297         exit ;;
1298     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1299         echo pdp10-xkl-tops20
1300         exit ;;
1301     *:TOPS-20:*:*)
1302         echo pdp10-unknown-tops20
1303         exit ;;
1304     *:ITS:*:*)
1305         echo pdp10-unknown-its
1306         exit ;;
1307     SEI:*:*:SEIUX)
1308         echo mips-sei-seiux${UNAME_RELEASE}
1309         exit ;;
1310     *:DragonFly:*:*)
1311         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1312         exit ;;
1313     *:*VMS:*:*)
1314         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1315         case "${UNAME_MACHINE}" in
1316             A*) echo alpha-dec-vms ; exit ;;
1317             I*) echo ia64-dec-vms ; exit ;;
1318             V*) echo vax-dec-vms ; exit ;;
1319         esac ;;
1320     *:XENIX:*:SysV)
1321         echo i386-pc-xenix
1322         exit ;;
1323     i*86:skyos:*:*)
1324         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1325         exit ;;
1326     i*86:rdos:*:*)
1327         echo ${UNAME_MACHINE}-pc-rdos
1328         exit ;;
1329     i*86:AROS:*:*)
1330         echo ${UNAME_MACHINE}-pc-aros
1331         exit ;;
1332     x86_64:VMkernel:*:*)
1333         echo ${UNAME_MACHINE}-unknown-esx
1334         exit ;;
1335 esac
1336
1337 eval $set_cc_for_build
1338 cat >$dummy.c <<EOF
1339 #ifdef _SEQUENT_
1340 # include <sys/types.h>
1341 # include <sys/utsname.h>
1342 #endif
1343 main ()
1344 {
1345 #if defined (sony)
1346 #if defined (MIPSEB)
1347   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1348      I don't know....  */
1349   printf ("mips-sony-bsd\n"); exit (0);
1350 #else
1351 #include <sys/param.h>
1352   printf ("m68k-sony-newsos%s\n",
1353 #ifdef NEWSOS4
1354         "4"
1355 #else
1356         ""
1357 #endif
1358         ); exit (0);
1359 #endif
1360 #endif
1361
1362 #if defined (__arm) && defined (__acorn) && defined (__unix)
1363   printf ("arm-acorn-riscix\n"); exit (0);
1364 #endif
1365
1366 #if defined (hp300) && !defined (hpux)
1367   printf ("m68k-hp-bsd\n"); exit (0);
1368 #endif
1369
1370 #if defined (NeXT)
1371 #if !defined (__ARCHITECTURE__)
1372 #define __ARCHITECTURE__ "m68k"
1373 #endif
1374   int version;
1375   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1376   if (version < 4)
1377     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1378   else
1379     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1380   exit (0);
1381 #endif
1382
1383 #if defined (MULTIMAX) || defined (n16)
1384 #if defined (UMAXV)
1385   printf ("ns32k-encore-sysv\n"); exit (0);
1386 #else
1387 #if defined (CMU)
1388   printf ("ns32k-encore-mach\n"); exit (0);
1389 #else
1390   printf ("ns32k-encore-bsd\n"); exit (0);
1391 #endif
1392 #endif
1393 #endif
1394
1395 #if defined (__386BSD__)
1396   printf ("i386-pc-bsd\n"); exit (0);
1397 #endif
1398
1399 #if defined (sequent)
1400 #if defined (i386)
1401   printf ("i386-sequent-dynix\n"); exit (0);
1402 #endif
1403 #if defined (ns32000)
1404   printf ("ns32k-sequent-dynix\n"); exit (0);
1405 #endif
1406 #endif
1407
1408 #if defined (_SEQUENT_)
1409     struct utsname un;
1410
1411     uname(&un);
1412
1413     if (strncmp(un.version, "V2", 2) == 0) {
1414         printf ("i386-sequent-ptx2\n"); exit (0);
1415     }
1416     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1417         printf ("i386-sequent-ptx1\n"); exit (0);
1418     }
1419     printf ("i386-sequent-ptx\n"); exit (0);
1420
1421 #endif
1422
1423 #if defined (vax)
1424 # if !defined (ultrix)
1425 #  include <sys/param.h>
1426 #  if defined (BSD)
1427 #   if BSD == 43
1428       printf ("vax-dec-bsd4.3\n"); exit (0);
1429 #   else
1430 #    if BSD == 199006
1431       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1432 #    else
1433       printf ("vax-dec-bsd\n"); exit (0);
1434 #    endif
1435 #   endif
1436 #  else
1437     printf ("vax-dec-bsd\n"); exit (0);
1438 #  endif
1439 # else
1440     printf ("vax-dec-ultrix\n"); exit (0);
1441 # endif
1442 #endif
1443
1444 #if defined (alliant) && defined (i860)
1445   printf ("i860-alliant-bsd\n"); exit (0);
1446 #endif
1447
1448   exit (1);
1449 }
1450 EOF
1451
1452 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1453         { echo "$SYSTEM_NAME"; exit; }
1454
1455 # Apollos put the system type in the environment.
1456
1457 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1458
1459 # Convex versions that predate uname can use getsysinfo(1)
1460
1461 if [ -x /usr/convex/getsysinfo ]
1462 then
1463     case `getsysinfo -f cpu_type` in
1464     c1*)
1465         echo c1-convex-bsd
1466         exit ;;
1467     c2*)
1468         if getsysinfo -f scalar_acc
1469         then echo c32-convex-bsd
1470         else echo c2-convex-bsd
1471         fi
1472         exit ;;
1473     c34*)
1474         echo c34-convex-bsd
1475         exit ;;
1476     c38*)
1477         echo c38-convex-bsd
1478         exit ;;
1479     c4*)
1480         echo c4-convex-bsd
1481         exit ;;
1482     esac
1483 fi
1484
1485 cat >&2 <<EOF
1486 $0: unable to guess system type
1487
1488 This script, last modified $timestamp, has failed to recognize
1489 the operating system you are using. It is advised that you
1490 download the most up to date version of the config scripts from
1491
1492   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1493 and
1494   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1495
1496 If the version you run ($0) is already up to date, please
1497 send the following data and any information you think might be
1498 pertinent to <config-patches@gnu.org> in order to provide the needed
1499 information to handle your system.
1500
1501 config.guess timestamp = $timestamp
1502
1503 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1504 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1505 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1506 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1507
1508 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1509 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1510
1511 hostinfo               = `(hostinfo) 2>/dev/null`
1512 /bin/universe          = `(/bin/universe) 2>/dev/null`
1513 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1514 /bin/arch              = `(/bin/arch) 2>/dev/null`
1515 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1516 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1517
1518 UNAME_MACHINE = ${UNAME_MACHINE}
1519 UNAME_RELEASE = ${UNAME_RELEASE}
1520 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1521 UNAME_VERSION = ${UNAME_VERSION}
1522 EOF
1523
1524 exit 1
1525
1526 # Local variables:
1527 # eval: (add-hook 'write-file-hooks 'time-stamp)
1528 # time-stamp-start: "timestamp='"
1529 # time-stamp-format: "%:y-%02m-%02d"
1530 # time-stamp-end: "'"
1531 # End: