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