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