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