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