Change the system name from 'FreeBSD' to 'DragonFly'. We are now officially
[dragonfly.git] / contrib / binutils / 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/contrib/binutils/Attic/config.guess,v 1.2 2003/11/19 00:51:30 dillon Exp $
6
7 timestamp='2002-02-19'
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 ; 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         UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
143             UNAME_MACHINE_ARCH=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     *:DragonFly:*:*)
727         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
728         exit 0 ;;
729     i*:CYGWIN*:*)
730         echo ${UNAME_MACHINE}-pc-cygwin
731         exit 0 ;;
732     i*:MINGW*:*)
733         echo ${UNAME_MACHINE}-pc-mingw32
734         exit 0 ;;
735     i*:PW*:*)
736         echo ${UNAME_MACHINE}-pc-pw32
737         exit 0 ;;
738     x86:Interix*:3*)
739         echo i386-pc-interix3
740         exit 0 ;;
741     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
742         # How do we know it's Interix rather than the generic POSIX subsystem?
743         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
744         # UNAME_MACHINE based on the output of uname instead of i386?
745         echo i386-pc-interix
746         exit 0 ;;
747     i*:UWIN*:*)
748         echo ${UNAME_MACHINE}-pc-uwin
749         exit 0 ;;
750     p*:CYGWIN*:*)
751         echo powerpcle-unknown-cygwin
752         exit 0 ;;
753     prep*:SunOS:5.*:*)
754         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
755         exit 0 ;;
756     *:GNU:*:*)
757         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
758         exit 0 ;;
759     i*86:Minix:*:*)
760         echo ${UNAME_MACHINE}-pc-minix
761         exit 0 ;;
762     arm*:Linux:*:*)
763         echo ${UNAME_MACHINE}-unknown-linux-gnu
764         exit 0 ;;
765     ia64:Linux:*:*)
766         echo ${UNAME_MACHINE}-unknown-linux
767         exit 0 ;;
768     m68*:Linux:*:*)
769         echo ${UNAME_MACHINE}-unknown-linux-gnu
770         exit 0 ;;
771     mips:Linux:*:*)
772         eval $set_cc_for_build
773         sed 's/^        //' << EOF >$dummy.c
774         #undef CPU
775         #undef mips
776         #undef mipsel
777         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 
778         CPU=mipsel 
779         #else
780         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 
781         CPU=mips
782         #else
783         CPU=
784         #endif
785         #endif 
786 EOF
787         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
788         rm -f $dummy.c
789         test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
790         ;;
791     ppc:Linux:*:*)
792         echo powerpc-unknown-linux-gnu
793         exit 0 ;;
794     ppc64:Linux:*:*)
795         echo powerpc64-unknown-linux-gnu
796         exit 0 ;;
797     alpha:Linux:*:*)
798         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
799           EV5)   UNAME_MACHINE=alphaev5 ;;
800           EV56)  UNAME_MACHINE=alphaev56 ;;
801           PCA56) UNAME_MACHINE=alphapca56 ;;
802           PCA57) UNAME_MACHINE=alphapca56 ;;
803           EV6)   UNAME_MACHINE=alphaev6 ;;
804           EV67)  UNAME_MACHINE=alphaev67 ;;
805           EV68*) UNAME_MACHINE=alphaev68 ;;
806         esac
807         objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
808         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
809         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
810         exit 0 ;;
811     parisc:Linux:*:* | hppa:Linux:*:*)
812         # Look for CPU level
813         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
814           PA7*) echo hppa1.1-unknown-linux-gnu ;;
815           PA8*) echo hppa2.0-unknown-linux-gnu ;;
816           *)    echo hppa-unknown-linux-gnu ;;
817         esac
818         exit 0 ;;
819     parisc64:Linux:*:* | hppa64:Linux:*:*)
820         echo hppa64-unknown-linux-gnu
821         exit 0 ;;
822     s390:Linux:*:* | s390x:Linux:*:*)
823         echo ${UNAME_MACHINE}-ibm-linux
824         exit 0 ;;
825     sh*:Linux:*:*)
826         echo ${UNAME_MACHINE}-unknown-linux-gnu
827         exit 0 ;;
828     sparc:Linux:*:* | sparc64:Linux:*:*)
829         echo ${UNAME_MACHINE}-unknown-linux-gnu
830         exit 0 ;;
831     x86_64:Linux:*:*)
832         echo x86_64-unknown-linux-gnu
833         exit 0 ;;
834     i*86:Linux:*:*)
835         # The BFD linker knows what the default object file format is, so
836         # first see if it will tell us. cd to the root directory to prevent
837         # problems with other programs or directories called `ld' in the path.
838         # Set LC_ALL=C to ensure ld outputs messages in English.
839         ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
840                          | sed -ne '/supported targets:/!d
841                                     s/[         ][      ]*/ /g
842                                     s/.*supported targets: *//
843                                     s/ .*//
844                                     p'`
845         case "$ld_supported_targets" in
846           elf32-i386)
847                 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
848                 ;;
849           a.out-i386-linux)
850                 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
851                 exit 0 ;;               
852           coff-i386)
853                 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
854                 exit 0 ;;
855           "")
856                 # Either a pre-BFD a.out linker (linux-gnuoldld) or
857                 # one that does not give us useful --help.
858                 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
859                 exit 0 ;;
860         esac
861         # Determine whether the default compiler is a.out or elf
862         eval $set_cc_for_build
863         sed 's/^        //' << EOF >$dummy.c
864         #include <features.h>
865         #ifdef __ELF__
866         # ifdef __GLIBC__
867         #  if __GLIBC__ >= 2
868         LIBC=gnu
869         #  else
870         LIBC=gnulibc1
871         #  endif
872         # else
873         LIBC=gnulibc1
874         # endif
875         #else
876         #ifdef __INTEL_COMPILER
877         LIBC=gnu
878         #else
879         LIBC=gnuaout
880         #endif
881         #endif
882 EOF
883         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
884         rm -f $dummy.c
885         test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
886         test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
887         ;;
888     i*86:DYNIX/ptx:4*:*)
889         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
890         # earlier versions are messed up and put the nodename in both
891         # sysname and nodename.
892         echo i386-sequent-sysv4
893         exit 0 ;;
894     i*86:UNIX_SV:4.2MP:2.*)
895         # Unixware is an offshoot of SVR4, but it has its own version
896         # number series starting with 2...
897         # I am not positive that other SVR4 systems won't match this,
898         # I just have to hope.  -- rms.
899         # Use sysv4.2uw... so that sysv4* matches it.
900         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
901         exit 0 ;;
902     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
903         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
904         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
905                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
906         else
907                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
908         fi
909         exit 0 ;;
910     i*86:*:5:[78]*)
911         case `/bin/uname -X | grep "^Machine"` in
912             *486*)           UNAME_MACHINE=i486 ;;
913             *Pentium)        UNAME_MACHINE=i586 ;;
914             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
915         esac
916         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
917         exit 0 ;;
918     i*86:*:3.2:*)
919         if test -f /usr/options/cb.name; then
920                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
921                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
922         elif /bin/uname -X 2>/dev/null >/dev/null ; then
923                 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
924                 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
925                 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
926                         && UNAME_MACHINE=i586
927                 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
928                         && UNAME_MACHINE=i686
929                 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
930                         && UNAME_MACHINE=i686
931                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
932         else
933                 echo ${UNAME_MACHINE}-pc-sysv32
934         fi
935         exit 0 ;;
936     i*86:*DOS:*:*)
937         echo ${UNAME_MACHINE}-pc-msdosdjgpp
938         exit 0 ;;
939     pc:*:*:*)
940         # Left here for compatibility:
941         # uname -m prints for DJGPP always 'pc', but it prints nothing about
942         # the processor, so we play safe by assuming i386.
943         echo i386-pc-msdosdjgpp
944         exit 0 ;;
945     Intel:Mach:3*:*)
946         echo i386-pc-mach3
947         exit 0 ;;
948     paragon:*:*:*)
949         echo i860-intel-osf1
950         exit 0 ;;
951     i860:*:4.*:*) # i860-SVR4
952         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
953           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
954         else # Add other i860-SVR4 vendors below as they are discovered.
955           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
956         fi
957         exit 0 ;;
958     mini*:CTIX:SYS*5:*)
959         # "miniframe"
960         echo m68010-convergent-sysv
961         exit 0 ;;
962     M68*:*:R3V[567]*:*)
963         test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
964     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)
965         OS_REL=''
966         test -r /etc/.relid \
967         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
968         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
969           && echo i486-ncr-sysv4.3${OS_REL} && exit 0
970         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
971           && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
972     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
973         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
974           && echo i486-ncr-sysv4 && exit 0 ;;
975     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
976         echo m68k-unknown-lynxos${UNAME_RELEASE}
977         exit 0 ;;
978     mc68030:UNIX_System_V:4.*:*)
979         echo m68k-atari-sysv4
980         exit 0 ;;
981     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
982         echo i386-unknown-lynxos${UNAME_RELEASE}
983         exit 0 ;;
984     TSUNAMI:LynxOS:2.*:*)
985         echo sparc-unknown-lynxos${UNAME_RELEASE}
986         exit 0 ;;
987     rs6000:LynxOS:2.*:*)
988         echo rs6000-unknown-lynxos${UNAME_RELEASE}
989         exit 0 ;;
990     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
991         echo powerpc-unknown-lynxos${UNAME_RELEASE}
992         exit 0 ;;
993     SM[BE]S:UNIX_SV:*:*)
994         echo mips-dde-sysv${UNAME_RELEASE}
995         exit 0 ;;
996     RM*:ReliantUNIX-*:*:*)
997         echo mips-sni-sysv4
998         exit 0 ;;
999     RM*:SINIX-*:*:*)
1000         echo mips-sni-sysv4
1001         exit 0 ;;
1002     *:SINIX-*:*:*)
1003         if uname -p 2>/dev/null >/dev/null ; then
1004                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1005                 echo ${UNAME_MACHINE}-sni-sysv4
1006         else
1007                 echo ns32k-sni-sysv
1008         fi
1009         exit 0 ;;
1010     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1011                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1012         echo i586-unisys-sysv4
1013         exit 0 ;;
1014     *:UNIX_System_V:4*:FTX*)
1015         # From Gerald Hewes <hewes@openmarket.com>.
1016         # How about differentiating between stratus architectures? -djm
1017         echo hppa1.1-stratus-sysv4
1018         exit 0 ;;
1019     *:*:*:FTX*)
1020         # From seanf@swdc.stratus.com.
1021         echo i860-stratus-sysv4
1022         exit 0 ;;
1023     *:VOS:*:*)
1024         # From Paul.Green@stratus.com.
1025         echo hppa1.1-stratus-vos
1026         exit 0 ;;
1027     mc68*:A/UX:*:*)
1028         echo m68k-apple-aux${UNAME_RELEASE}
1029         exit 0 ;;
1030     news*:NEWS-OS:6*:*)
1031         echo mips-sony-newsos6
1032         exit 0 ;;
1033     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1034         if [ -d /usr/nec ]; then
1035                 echo mips-nec-sysv${UNAME_RELEASE}
1036         else
1037                 echo mips-unknown-sysv${UNAME_RELEASE}
1038         fi
1039         exit 0 ;;
1040     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1041         echo powerpc-be-beos
1042         exit 0 ;;
1043     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1044         echo powerpc-apple-beos
1045         exit 0 ;;
1046     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1047         echo i586-pc-beos
1048         exit 0 ;;
1049     SX-4:SUPER-UX:*:*)
1050         echo sx4-nec-superux${UNAME_RELEASE}
1051         exit 0 ;;
1052     SX-5:SUPER-UX:*:*)
1053         echo sx5-nec-superux${UNAME_RELEASE}
1054         exit 0 ;;
1055     Power*:Rhapsody:*:*)
1056         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1057         exit 0 ;;
1058     *:Rhapsody:*:*)
1059         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1060         exit 0 ;;
1061     *:Darwin:*:*)
1062         echo `uname -p`-apple-darwin${UNAME_RELEASE}
1063         exit 0 ;;
1064     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1065         if test "${UNAME_MACHINE}" = "x86pc"; then
1066                 UNAME_MACHINE=pc
1067                 echo i386-${UNAME_MACHINE}-nto-qnx
1068         else
1069                 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1070         fi
1071         exit 0 ;;
1072     *:QNX:*:4*)
1073         echo i386-pc-qnx
1074         exit 0 ;;
1075     NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1076         echo nsr-tandem-nsk${UNAME_RELEASE}
1077         exit 0 ;;
1078     *:NonStop-UX:*:*)
1079         echo mips-compaq-nonstopux
1080         exit 0 ;;
1081     BS2000:POSIX*:*:*)
1082         echo bs2000-siemens-sysv
1083         exit 0 ;;
1084     DS/*:UNIX_System_V:*:*)
1085         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1086         exit 0 ;;
1087     *:Plan9:*:*)
1088         # "uname -m" is not consistent, so use $cputype instead. 386
1089         # is converted to i386 for consistency with other x86
1090         # operating systems.
1091         if test "$cputype" = "386"; then
1092             UNAME_MACHINE=i386
1093         else
1094             UNAME_MACHINE="$cputype"
1095         fi
1096         echo ${UNAME_MACHINE}-unknown-plan9
1097         exit 0 ;;
1098     i*86:OS/2:*:*)
1099         # If we were able to find `uname', then EMX Unix compatibility
1100         # is probably installed.
1101         echo ${UNAME_MACHINE}-pc-os2-emx
1102         exit 0 ;;
1103     *:TOPS-10:*:*)
1104         echo pdp10-unknown-tops10
1105         exit 0 ;;
1106     *:TENEX:*:*)
1107         echo pdp10-unknown-tenex
1108         exit 0 ;;
1109     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1110         echo pdp10-dec-tops20
1111         exit 0 ;;
1112     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1113         echo pdp10-xkl-tops20
1114         exit 0 ;;
1115     *:TOPS-20:*:*)
1116         echo pdp10-unknown-tops20
1117         exit 0 ;;
1118     *:ITS:*:*)
1119         echo pdp10-unknown-its
1120         exit 0 ;;
1121     i*86:XTS-300:*:STOP)
1122         echo ${UNAME_MACHINE}-unknown-stop
1123         exit 0 ;;
1124     i*86:atheos:*:*)
1125         echo ${UNAME_MACHINE}-unknown-atheos
1126         exit 0 ;;
1127 esac
1128
1129 #echo '(No uname command or uname output not recognized.)' 1>&2
1130 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1131
1132 eval $set_cc_for_build
1133 cat >$dummy.c <<EOF
1134 #ifdef _SEQUENT_
1135 # include <sys/types.h>
1136 # include <sys/utsname.h>
1137 #endif
1138 main ()
1139 {
1140 #if defined (sony)
1141 #if defined (MIPSEB)
1142   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1143      I don't know....  */
1144   printf ("mips-sony-bsd\n"); exit (0);
1145 #else
1146 #include <sys/param.h>
1147   printf ("m68k-sony-newsos%s\n",
1148 #ifdef NEWSOS4
1149           "4"
1150 #else
1151           ""
1152 #endif
1153          ); exit (0);
1154 #endif
1155 #endif
1156
1157 #if defined (__arm) && defined (__acorn) && defined (__unix)
1158   printf ("arm-acorn-riscix"); exit (0);
1159 #endif
1160
1161 #if defined (hp300) && !defined (hpux)
1162   printf ("m68k-hp-bsd\n"); exit (0);
1163 #endif
1164
1165 #if defined (NeXT)
1166 #if !defined (__ARCHITECTURE__)
1167 #define __ARCHITECTURE__ "m68k"
1168 #endif
1169   int version;
1170   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1171   if (version < 4)
1172     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1173   else
1174     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1175   exit (0);
1176 #endif
1177
1178 #if defined (MULTIMAX) || defined (n16)
1179 #if defined (UMAXV)
1180   printf ("ns32k-encore-sysv\n"); exit (0);
1181 #else
1182 #if defined (CMU)
1183   printf ("ns32k-encore-mach\n"); exit (0);
1184 #else
1185   printf ("ns32k-encore-bsd\n"); exit (0);
1186 #endif
1187 #endif
1188 #endif
1189
1190 #if defined (__386BSD__)
1191   printf ("i386-pc-bsd\n"); exit (0);
1192 #endif
1193
1194 #if defined (sequent)
1195 #if defined (i386)
1196   printf ("i386-sequent-dynix\n"); exit (0);
1197 #endif
1198 #if defined (ns32000)
1199   printf ("ns32k-sequent-dynix\n"); exit (0);
1200 #endif
1201 #endif
1202
1203 #if defined (_SEQUENT_)
1204     struct utsname un;
1205
1206     uname(&un);
1207
1208     if (strncmp(un.version, "V2", 2) == 0) {
1209         printf ("i386-sequent-ptx2\n"); exit (0);
1210     }
1211     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1212         printf ("i386-sequent-ptx1\n"); exit (0);
1213     }
1214     printf ("i386-sequent-ptx\n"); exit (0);
1215
1216 #endif
1217
1218 #if defined (vax)
1219 # if !defined (ultrix)
1220 #  include <sys/param.h>
1221 #  if defined (BSD)
1222 #   if BSD == 43
1223       printf ("vax-dec-bsd4.3\n"); exit (0);
1224 #   else
1225 #    if BSD == 199006
1226       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1227 #    else
1228       printf ("vax-dec-bsd\n"); exit (0);
1229 #    endif
1230 #   endif
1231 #  else
1232     printf ("vax-dec-bsd\n"); exit (0);
1233 #  endif
1234 # else
1235     printf ("vax-dec-ultrix\n"); exit (0);
1236 # endif
1237 #endif
1238
1239 #if defined (alliant) && defined (i860)
1240   printf ("i860-alliant-bsd\n"); exit (0);
1241 #endif
1242
1243   exit (1);
1244 }
1245 EOF
1246
1247 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1248 rm -f $dummy.c $dummy
1249
1250 # Apollos put the system type in the environment.
1251
1252 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1253
1254 # Convex versions that predate uname can use getsysinfo(1)
1255
1256 if [ -x /usr/convex/getsysinfo ]
1257 then
1258     case `getsysinfo -f cpu_type` in
1259     c1*)
1260         echo c1-convex-bsd
1261         exit 0 ;;
1262     c2*)
1263         if getsysinfo -f scalar_acc
1264         then echo c32-convex-bsd
1265         else echo c2-convex-bsd
1266         fi
1267         exit 0 ;;
1268     c34*)
1269         echo c34-convex-bsd
1270         exit 0 ;;
1271     c38*)
1272         echo c38-convex-bsd
1273         exit 0 ;;
1274     c4*)
1275         echo c4-convex-bsd
1276         exit 0 ;;
1277     esac
1278 fi
1279
1280 cat >&2 <<EOF
1281 $0: unable to guess system type
1282
1283 This script, last modified $timestamp, has failed to recognize
1284 the operating system you are using. It is advised that you
1285 download the most up to date version of the config scripts from
1286
1287     ftp://ftp.gnu.org/pub/gnu/config/
1288
1289 If the version you run ($0) is already up to date, please
1290 send the following data and any information you think might be
1291 pertinent to <config-patches@gnu.org> in order to provide the needed
1292 information to handle your system.
1293
1294 config.guess timestamp = $timestamp
1295
1296 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1297 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1298 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1299 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1300
1301 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1302 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1303
1304 hostinfo               = `(hostinfo) 2>/dev/null`
1305 /bin/universe          = `(/bin/universe) 2>/dev/null`
1306 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1307 /bin/arch              = `(/bin/arch) 2>/dev/null`
1308 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1309 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1310
1311 UNAME_MACHINE = ${UNAME_MACHINE}
1312 UNAME_RELEASE = ${UNAME_RELEASE}
1313 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1314 UNAME_VERSION = ${UNAME_VERSION}
1315 EOF
1316
1317 exit 1
1318
1319 # Local variables:
1320 # eval: (add-hook 'write-file-hooks 'time-stamp)
1321 # time-stamp-start: "timestamp='"
1322 # time-stamp-format: "%:y-%02m-%02d"
1323 # time-stamp-end: "'"
1324 # End: