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