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