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