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