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