]> ncurses.scripts.mit.edu Git - ncurses.git/blob - config.guess
b3f905370ac63a60097a2d83dded1dee3387581f
[ncurses.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-10-21'
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     k1om:Linux:*:*)
969         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
970         exit ;;
971     m32r*:Linux:*:*)
972         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
973         exit ;;
974     m68*:Linux:*:*)
975         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
976         exit ;;
977     mips:Linux:*:* | mips64:Linux:*:*)
978         eval $set_cc_for_build
979         sed 's/^        //' << EOF >$dummy.c
980         #undef CPU
981         #undef ${UNAME_MACHINE}
982         #undef ${UNAME_MACHINE}el
983         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
984         CPU=${UNAME_MACHINE}el
985         #else
986         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
987         CPU=${UNAME_MACHINE}
988         #else
989         CPU=
990         #endif
991         #endif
992 EOF
993         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
994         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
995         ;;
996     openrisc*:Linux:*:*)
997         echo or1k-unknown-linux-${LIBC}
998         exit ;;
999     or32:Linux:*:* | or1k*:Linux:*:*)
1000         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1001         exit ;;
1002     padre:Linux:*:*)
1003         echo sparc-unknown-linux-${LIBC}
1004         exit ;;
1005     parisc64:Linux:*:* | hppa64:Linux:*:*)
1006         echo hppa64-unknown-linux-${LIBC}
1007         exit ;;
1008     parisc:Linux:*:* | hppa:Linux:*:*)
1009         # Look for CPU level
1010         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1011           PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1012           PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1013           *)    echo hppa-unknown-linux-${LIBC} ;;
1014         esac
1015         exit ;;
1016     ppc64:Linux:*:*)
1017         echo powerpc64-unknown-linux-${LIBC}
1018         exit ;;
1019     ppc:Linux:*:*)
1020         echo powerpc-unknown-linux-${LIBC}
1021         exit ;;
1022     ppc64le:Linux:*:*)
1023         echo powerpc64le-unknown-linux-${LIBC}
1024         exit ;;
1025     ppcle:Linux:*:*)
1026         echo powerpcle-unknown-linux-${LIBC}
1027         exit ;;
1028     s390:Linux:*:* | s390x:Linux:*:*)
1029         echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1030         exit ;;
1031     sh64*:Linux:*:*)
1032         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1033         exit ;;
1034     sh*:Linux:*:*)
1035         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1036         exit ;;
1037     sparc:Linux:*:* | sparc64:Linux:*:*)
1038         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1039         exit ;;
1040     tile*:Linux:*:*)
1041         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1042         exit ;;
1043     vax:Linux:*:*)
1044         echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1045         exit ;;
1046     x86_64:Linux:*:*)
1047         echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1048         exit ;;
1049     xtensa*:Linux:*:*)
1050         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1051         exit ;;
1052     i*86:DYNIX/ptx:4*:*)
1053         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1054         # earlier versions are messed up and put the nodename in both
1055         # sysname and nodename.
1056         echo i386-sequent-sysv4
1057         exit ;;
1058     i*86:UNIX_SV:4.2MP:2.*)
1059         # Unixware is an offshoot of SVR4, but it has its own version
1060         # number series starting with 2...
1061         # I am not positive that other SVR4 systems won't match this,
1062         # I just have to hope.  -- rms.
1063         # Use sysv4.2uw... so that sysv4* matches it.
1064         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1065         exit ;;
1066     i*86:OS/2:*:*)
1067         # If we were able to find `uname', then EMX Unix compatibility
1068         # is probably installed.
1069         echo ${UNAME_MACHINE}-pc-os2-emx
1070         exit ;;
1071     i*86:XTS-300:*:STOP)
1072         echo ${UNAME_MACHINE}-unknown-stop
1073         exit ;;
1074     i*86:atheos:*:*)
1075         echo ${UNAME_MACHINE}-unknown-atheos
1076         exit ;;
1077     i*86:syllable:*:*)
1078         echo ${UNAME_MACHINE}-pc-syllable
1079         exit ;;
1080     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1081         echo i386-unknown-lynxos${UNAME_RELEASE}
1082         exit ;;
1083     i*86:*DOS:*:*)
1084         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1085         exit ;;
1086     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1087         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1088         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1089                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1090         else
1091                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1092         fi
1093         exit ;;
1094     i*86:*:5:[678]*)
1095         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1096         case `/bin/uname -X | grep "^Machine"` in
1097             *486*)           UNAME_MACHINE=i486 ;;
1098             *Pentium)        UNAME_MACHINE=i586 ;;
1099             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1100         esac
1101         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1102         exit ;;
1103     i*86:*:3.2:*)
1104         if test -f /usr/options/cb.name; then
1105                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1106                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1107         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1108                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1109                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1110                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1111                         && UNAME_MACHINE=i586
1112                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1113                         && UNAME_MACHINE=i686
1114                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1115                         && UNAME_MACHINE=i686
1116                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1117         else
1118                 echo ${UNAME_MACHINE}-pc-sysv32
1119         fi
1120         exit ;;
1121     pc:*:*:*)
1122         # Left here for compatibility:
1123         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1124         # the processor, so we play safe by assuming i586.
1125         # Note: whatever this is, it MUST be the same as what config.sub
1126         # prints for the "djgpp" host, or else GDB configure will decide that
1127         # this is a cross-build.
1128         echo i586-pc-msdosdjgpp
1129         exit ;;
1130     Intel:Mach:3*:*)
1131         echo i386-pc-mach3
1132         exit ;;
1133     paragon:*:*:*)
1134         echo i860-intel-osf1
1135         exit ;;
1136     i860:*:4.*:*) # i860-SVR4
1137         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1138           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1139         else # Add other i860-SVR4 vendors below as they are discovered.
1140           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1141         fi
1142         exit ;;
1143     mini*:CTIX:SYS*5:*)
1144         # "miniframe"
1145         echo m68010-convergent-sysv
1146         exit ;;
1147     mc68k:UNIX:SYSTEM5:3.51m)
1148         echo m68k-convergent-sysv
1149         exit ;;
1150     M680?0:D-NIX:5.3:*)
1151         echo m68k-diab-dnix
1152         exit ;;
1153     M68*:*:R3V[5678]*:*)
1154         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1155     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)
1156         OS_REL=''
1157         test -r /etc/.relid \
1158         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1159         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1160           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1161         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1162           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1163     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1164         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1165           && { echo i486-ncr-sysv4; exit; } ;;
1166     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1167         OS_REL='.3'
1168         test -r /etc/.relid \
1169             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1170         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1171             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1172         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1173             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1174         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1175             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1176     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1177         echo m68k-unknown-lynxos${UNAME_RELEASE}
1178         exit ;;
1179     mc68030:UNIX_System_V:4.*:*)
1180         echo m68k-atari-sysv4
1181         exit ;;
1182     TSUNAMI:LynxOS:2.*:*)
1183         echo sparc-unknown-lynxos${UNAME_RELEASE}
1184         exit ;;
1185     rs6000:LynxOS:2.*:*)
1186         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1187         exit ;;
1188     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1189         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1190         exit ;;
1191     SM[BE]S:UNIX_SV:*:*)
1192         echo mips-dde-sysv${UNAME_RELEASE}
1193         exit ;;
1194     RM*:ReliantUNIX-*:*:*)
1195         echo mips-sni-sysv4
1196         exit ;;
1197     RM*:SINIX-*:*:*)
1198         echo mips-sni-sysv4
1199         exit ;;
1200     *:SINIX-*:*:*)
1201         if uname -p 2>/dev/null >/dev/null ; then
1202                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1203                 echo ${UNAME_MACHINE}-sni-sysv4
1204         else
1205                 echo ns32k-sni-sysv
1206         fi
1207         exit ;;
1208     PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1209                         # says <Richard.M.Bartel@ccMail.Census.GOV>
1210         echo i586-unisys-sysv4
1211         exit ;;
1212     *:UNIX_System_V:4*:FTX*)
1213         # From Gerald Hewes <hewes@openmarket.com>.
1214         # How about differentiating between stratus architectures? -djm
1215         echo hppa1.1-stratus-sysv4
1216         exit ;;
1217     *:*:*:FTX*)
1218         # From seanf@swdc.stratus.com.
1219         echo i860-stratus-sysv4
1220         exit ;;
1221     i*86:VOS:*:*)
1222         # From Paul.Green@stratus.com.
1223         echo ${UNAME_MACHINE}-stratus-vos
1224         exit ;;
1225     *:VOS:*:*)
1226         # From Paul.Green@stratus.com.
1227         echo hppa1.1-stratus-vos
1228         exit ;;
1229     mc68*:A/UX:*:*)
1230         echo m68k-apple-aux${UNAME_RELEASE}
1231         exit ;;
1232     news*:NEWS-OS:6*:*)
1233         echo mips-sony-newsos6
1234         exit ;;
1235     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1236         if [ -d /usr/nec ]; then
1237                 echo mips-nec-sysv${UNAME_RELEASE}
1238         else
1239                 echo mips-unknown-sysv${UNAME_RELEASE}
1240         fi
1241         exit ;;
1242     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1243         echo powerpc-be-beos
1244         exit ;;
1245     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1246         echo powerpc-apple-beos
1247         exit ;;
1248     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1249         echo i586-pc-beos
1250         exit ;;
1251     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1252         echo i586-pc-haiku
1253         exit ;;
1254     x86_64:Haiku:*:*)
1255         echo x86_64-unknown-haiku
1256         exit ;;
1257     SX-4:SUPER-UX:*:*)
1258         echo sx4-nec-superux${UNAME_RELEASE}
1259         exit ;;
1260     SX-5:SUPER-UX:*:*)
1261         echo sx5-nec-superux${UNAME_RELEASE}
1262         exit ;;
1263     SX-6:SUPER-UX:*:*)
1264         echo sx6-nec-superux${UNAME_RELEASE}
1265         exit ;;
1266     SX-7:SUPER-UX:*:*)
1267         echo sx7-nec-superux${UNAME_RELEASE}
1268         exit ;;
1269     SX-8:SUPER-UX:*:*)
1270         echo sx8-nec-superux${UNAME_RELEASE}
1271         exit ;;
1272     SX-8R:SUPER-UX:*:*)
1273         echo sx8r-nec-superux${UNAME_RELEASE}
1274         exit ;;
1275     Power*:Rhapsody:*:*)
1276         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1277         exit ;;
1278     *:Rhapsody:*:*)
1279         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1280         exit ;;
1281     *:Darwin:*:*)
1282         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1283         eval $set_cc_for_build
1284         if test "$UNAME_PROCESSOR" = unknown ; then
1285             UNAME_PROCESSOR=powerpc
1286         fi
1287         if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1288             if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1289                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1290                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1291                     grep IS_64BIT_ARCH >/dev/null
1292                 then
1293                     case $UNAME_PROCESSOR in
1294                         i386) UNAME_PROCESSOR=x86_64 ;;
1295                         powerpc) UNAME_PROCESSOR=powerpc64 ;;
1296                     esac
1297                 fi
1298             fi
1299         elif test "$UNAME_PROCESSOR" = i386 ; then
1300             # Avoid executing cc on OS X 10.9, as it ships with a stub
1301             # that puts up a graphical alert prompting to install
1302             # developer tools.  Any system running Mac OS X 10.7 or
1303             # later (Darwin 11 and later) is required to have a 64-bit
1304             # processor. This is not true of the ARM version of Darwin
1305             # that Apple uses in portable devices.
1306             UNAME_PROCESSOR=x86_64
1307         fi
1308         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1309         exit ;;
1310     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1311         UNAME_PROCESSOR=`uname -p`
1312         if test "$UNAME_PROCESSOR" = "x86"; then
1313                 UNAME_PROCESSOR=i386
1314                 UNAME_MACHINE=pc
1315         fi
1316         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1317         exit ;;
1318     *:QNX:*:4*)
1319         echo i386-pc-qnx
1320         exit ;;
1321     NEO-?:NONSTOP_KERNEL:*:*)
1322         echo neo-tandem-nsk${UNAME_RELEASE}
1323         exit ;;
1324     NSE-*:NONSTOP_KERNEL:*:*)
1325         echo nse-tandem-nsk${UNAME_RELEASE}
1326         exit ;;
1327     NSR-?:NONSTOP_KERNEL:*:*)
1328         echo nsr-tandem-nsk${UNAME_RELEASE}
1329         exit ;;
1330     *:NonStop-UX:*:*)
1331         echo mips-compaq-nonstopux
1332         exit ;;
1333     BS2000:POSIX*:*:*)
1334         echo bs2000-siemens-sysv
1335         exit ;;
1336     DS/*:UNIX_System_V:*:*)
1337         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1338         exit ;;
1339     *:Plan9:*:*)
1340         # "uname -m" is not consistent, so use $cputype instead. 386
1341         # is converted to i386 for consistency with other x86
1342         # operating systems.
1343         if test "$cputype" = "386"; then
1344             UNAME_MACHINE=i386
1345         else
1346             UNAME_MACHINE="$cputype"
1347         fi
1348         echo ${UNAME_MACHINE}-unknown-plan9
1349         exit ;;
1350     *:TOPS-10:*:*)
1351         echo pdp10-unknown-tops10
1352         exit ;;
1353     *:TENEX:*:*)
1354         echo pdp10-unknown-tenex
1355         exit ;;
1356     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1357         echo pdp10-dec-tops20
1358         exit ;;
1359     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1360         echo pdp10-xkl-tops20
1361         exit ;;
1362     *:TOPS-20:*:*)
1363         echo pdp10-unknown-tops20
1364         exit ;;
1365     *:ITS:*:*)
1366         echo pdp10-unknown-its
1367         exit ;;
1368     SEI:*:*:SEIUX)
1369         echo mips-sei-seiux${UNAME_RELEASE}
1370         exit ;;
1371     *:DragonFly:*:*)
1372         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1373         exit ;;
1374     *:*VMS:*:*)
1375         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1376         case "${UNAME_MACHINE}" in
1377             A*) echo alpha-dec-vms ; exit ;;
1378             I*) echo ia64-dec-vms ; exit ;;
1379             V*) echo vax-dec-vms ; exit ;;
1380         esac ;;
1381     *:XENIX:*:SysV)
1382         echo i386-pc-xenix
1383         exit ;;
1384     i*86:skyos:*:*)
1385         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1386         exit ;;
1387     i*86:rdos:*:*)
1388         echo ${UNAME_MACHINE}-pc-rdos
1389         exit ;;
1390     i*86:AROS:*:*)
1391         echo ${UNAME_MACHINE}-pc-aros
1392         exit ;;
1393     x86_64:VMkernel:*:*)
1394         echo ${UNAME_MACHINE}-unknown-esx
1395         exit ;;
1396 esac
1397
1398 cat >&2 <<EOF
1399 $0: unable to guess system type
1400
1401 This script, last modified $timestamp, has failed to recognize
1402 the operating system you are using. It is advised that you
1403 download the most up to date version of the config scripts from
1404
1405   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1406 and
1407   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1408
1409 If the version you run ($0) is already up to date, please
1410 send the following data and any information you think might be
1411 pertinent to <config-patches@gnu.org> in order to provide the needed
1412 information to handle your system.
1413
1414 config.guess timestamp = $timestamp
1415
1416 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1417 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1418 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1419 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1420
1421 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1422 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1423
1424 hostinfo               = `(hostinfo) 2>/dev/null`
1425 /bin/universe          = `(/bin/universe) 2>/dev/null`
1426 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1427 /bin/arch              = `(/bin/arch) 2>/dev/null`
1428 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1429 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1430
1431 UNAME_MACHINE = ${UNAME_MACHINE}
1432 UNAME_RELEASE = ${UNAME_RELEASE}
1433 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1434 UNAME_VERSION = ${UNAME_VERSION}
1435 EOF
1436
1437 exit 1
1438
1439 # Local variables:
1440 # eval: (add-hook 'write-file-hooks 'time-stamp)
1441 # time-stamp-start: "timestamp='"
1442 # time-stamp-format: "%:y-%02m-%02d"
1443 # time-stamp-end: "'"
1444 # End: