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