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