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