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