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