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