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