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