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