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