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