OSDN Git Service

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