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