Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove the keyword extern to avoid the multiple declaration of the the variables...
[simgrid.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-07-22'
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.*:* | i86xen: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     *:Interix*:[3456]*)
812         case ${UNAME_MACHINE} in
813             x86)
814                 echo i586-pc-interix${UNAME_RELEASE}
815                 exit ;;
816             EM64T | authenticamd)
817                 echo x86_64-unknown-interix${UNAME_RELEASE}
818                 exit ;;
819         esac ;;
820     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
821         echo i${UNAME_MACHINE}-pc-mks
822         exit ;;
823     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
824         # How do we know it's Interix rather than the generic POSIX subsystem?
825         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
826         # UNAME_MACHINE based on the output of uname instead of i386?
827         echo i586-pc-interix
828         exit ;;
829     i*:UWIN*:*)
830         echo ${UNAME_MACHINE}-pc-uwin
831         exit ;;
832     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
833         echo x86_64-unknown-cygwin
834         exit ;;
835     p*:CYGWIN*:*)
836         echo powerpcle-unknown-cygwin
837         exit ;;
838     prep*:SunOS:5.*:*)
839         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
840         exit ;;
841     *:GNU:*:*)
842         # the GNU system
843         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
844         exit ;;
845     *:GNU/*:*:*)
846         # other systems with GNU libc and userland
847         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
848         exit ;;
849     i*86:Minix:*:*)
850         echo ${UNAME_MACHINE}-pc-minix
851         exit ;;
852     arm*:Linux:*:*)
853         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
854         exit ;;
855     avr32*:Linux:*:*)
856         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
857         exit ;;
858     cris:Linux:*:*)
859         echo cris-axis-linux-${LIBC}
860         exit ;;
861     crisv32:Linux:*:*)
862         echo crisv32-axis-linux-${LIBC}
863         exit ;;
864     frv:Linux:*:*)
865         echo frv-unknown-linux-${LIBC}
866         exit ;;
867     ia64:Linux:*:*)
868         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
869         exit ;;
870     m32r*:Linux:*:*)
871         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
872         exit ;;
873     m68*:Linux:*:*)
874         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
875         exit ;;
876     mips:Linux:*:*)
877         eval $set_cc_for_build
878         sed 's/^        //' << EOF >$dummy.c
879         #undef CPU
880         #undef mips
881         #undef mipsel
882         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
883         CPU=mipsel
884         #else
885         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
886         CPU=mips
887         #else
888         CPU=
889         #endif
890         #endif
891 EOF
892         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
893             /^CPU/{
894                 s: ::g
895                 p
896             }'`"
897         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
898         ;;
899     mips64:Linux:*:*)
900         eval $set_cc_for_build
901         sed 's/^        //' << EOF >$dummy.c
902         #undef CPU
903         #undef mips64
904         #undef mips64el
905         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
906         CPU=mips64el
907         #else
908         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
909         CPU=mips64
910         #else
911         CPU=
912         #endif
913         #endif
914 EOF
915         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
916             /^CPU/{
917                 s: ::g
918                 p
919             }'`"
920         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
921         ;;
922     or32:Linux:*:*)
923         echo or32-unknown-linux-${LIBC}
924         exit ;;
925     ppc:Linux:*:*)
926         echo powerpc-unknown-linux-${LIBC}
927         exit ;;
928     ppc64:Linux:*:*)
929         echo powerpc64-unknown-linux-${LIBC}
930         exit ;;
931     alpha:Linux:*:*)
932         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
933           EV5)   UNAME_MACHINE=alphaev5 ;;
934           EV56)  UNAME_MACHINE=alphaev56 ;;
935           PCA56) UNAME_MACHINE=alphapca56 ;;
936           PCA57) UNAME_MACHINE=alphapca56 ;;
937           EV6)   UNAME_MACHINE=alphaev6 ;;
938           EV67)  UNAME_MACHINE=alphaev67 ;;
939           EV68*) UNAME_MACHINE=alphaev68 ;;
940         esac
941         objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
942         if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
943         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
944         exit ;;
945     parisc:Linux:*:* | hppa:Linux:*:*)
946         # Look for CPU level
947         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
948           PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
949           PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
950           *)    echo hppa-unknown-linux-${LIBC} ;;
951         esac
952         exit ;;
953     parisc64:Linux:*:* | hppa64:Linux:*:*)
954         echo hppa64-unknown-linux-${LIBC}
955         exit ;;
956     s390:Linux:*:* | s390x:Linux:*:*)
957         echo ${UNAME_MACHINE}-ibm-linux
958         exit ;;
959     sh64*:Linux:*:*)
960         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
961         exit ;;
962     sh*:Linux:*:*)
963         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
964         exit ;;
965     sparc:Linux:*:* | sparc64:Linux:*:*)
966         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
967         exit ;;
968     vax:Linux:*:*)
969         echo ${UNAME_MACHINE}-dec-linux-${LIBC}
970         exit ;;
971     x86_64:Linux:*:*)
972         echo x86_64-unknown-linux-${LIBC}
973         exit ;;
974     xtensa:Linux:*:*)
975         echo xtensa-unknown-linux-${LIBC}
976         exit ;;
977     i*86:Linux:*:*)
978         # The BFD linker knows what the default object file format is, so
979         # first see if it will tell us. cd to the root directory to prevent
980         # problems with other programs or directories called `ld' in the path.
981         # Set LC_ALL=C to ensure ld outputs messages in English.
982         ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
983                          | sed -ne '/supported targets:/!d
984                                     s/[         ][      ]*/ /g
985                                     s/.*supported targets: *//
986                                     s/ .*//
987                                     p'`
988         case "$ld_supported_targets" in
989           elf32-i386)
990                 TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
991                 ;;
992           a.out-i386-linux)
993                 echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
994                 exit ;;
995           coff-i386)
996                 echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
997                 exit ;;
998           "")
999                 # Either a pre-BFD a.out linker (linux-gnuoldld) or
1000                 # one that does not give us useful --help.
1001                 echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
1002                 exit ;;
1003         esac
1004         # This should get integrated into the C code below, but now we hack
1005         if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
1006         # Determine whether the default compiler is a.out or elf
1007         eval $set_cc_for_build
1008         sed 's/^        //' << EOF >$dummy.c
1009         #include <features.h>
1010         #ifdef __ELF__
1011         # ifdef __GLIBC__
1012         #  if __GLIBC__ >= 2
1013         LIBC=gnu
1014         #  else
1015         LIBC=gnulibc1
1016         #  endif
1017         # else
1018         LIBC=gnulibc1
1019         # endif
1020         #else
1021         #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1022         LIBC=gnu
1023         #else
1024         LIBC=gnuaout
1025         #endif
1026         #endif
1027         #ifdef __dietlibc__
1028         LIBC=dietlibc
1029         #endif
1030 EOF
1031         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1032             /^LIBC/{
1033                 s: ::g
1034                 p
1035             }'`"
1036         test x"${LIBC}" != x && {
1037                 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1038                 exit
1039         }
1040         test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1041         ;;
1042     i*86:DYNIX/ptx:4*:*)
1043         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1044         # earlier versions are messed up and put the nodename in both
1045         # sysname and nodename.
1046         echo i386-sequent-sysv4
1047         exit ;;
1048     i*86:UNIX_SV:4.2MP:2.*)
1049         # Unixware is an offshoot of SVR4, but it has its own version
1050         # number series starting with 2...
1051         # I am not positive that other SVR4 systems won't match this,
1052         # I just have to hope.  -- rms.
1053         # Use sysv4.2uw... so that sysv4* matches it.
1054         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1055         exit ;;
1056     i*86:OS/2:*:*)
1057         # If we were able to find `uname', then EMX Unix compatibility
1058         # is probably installed.
1059         echo ${UNAME_MACHINE}-pc-os2-emx
1060         exit ;;
1061     i*86:XTS-300:*:STOP)
1062         echo ${UNAME_MACHINE}-unknown-stop
1063         exit ;;
1064     i*86:atheos:*:*)
1065         echo ${UNAME_MACHINE}-unknown-atheos
1066         exit ;;
1067     i*86:syllable:*:*)
1068         echo ${UNAME_MACHINE}-pc-syllable
1069         exit ;;
1070     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1071         echo i386-unknown-lynxos${UNAME_RELEASE}
1072         exit ;;
1073     i*86:*DOS:*:*)
1074         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1075         exit ;;
1076     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1077         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1078         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1079                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1080         else
1081                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1082         fi
1083         exit ;;
1084     i*86:*:5:[678]*)
1085         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1086         case `/bin/uname -X | grep "^Machine"` in
1087             *486*)           UNAME_MACHINE=i486 ;;
1088             *Pentium)        UNAME_MACHINE=i586 ;;
1089             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1090         esac
1091         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1092         exit ;;
1093     i*86:*:3.2:*)
1094         if test -f /usr/options/cb.name; then
1095                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1096                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1097         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1098                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1099                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1100                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1101                         && UNAME_MACHINE=i586
1102                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1103                         && UNAME_MACHINE=i686
1104                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1105                         && UNAME_MACHINE=i686
1106                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1107         else
1108                 echo ${UNAME_MACHINE}-pc-sysv32
1109         fi
1110         exit ;;
1111     pc:*:*:*)
1112         # Left here for compatibility:
1113         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1114         # the processor, so we play safe by assuming i386.
1115         echo i386-pc-msdosdjgpp
1116         exit ;;
1117     Intel:Mach:3*:*)
1118         echo i386-pc-mach3
1119         exit ;;
1120     paragon:*:*:*)
1121         echo i860-intel-osf1
1122         exit ;;
1123     i860:*:4.*:*) # i860-SVR4
1124         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1125           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1126         else # Add other i860-SVR4 vendors below as they are discovered.
1127           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1128         fi
1129         exit ;;
1130     mini*:CTIX:SYS*5:*)
1131         # "miniframe"
1132         echo m68010-convergent-sysv
1133         exit ;;
1134     mc68k:UNIX:SYSTEM5:3.51m)
1135         echo m68k-convergent-sysv
1136         exit ;;
1137     M680?0:D-NIX:5.3:*)
1138         echo m68k-diab-dnix
1139         exit ;;
1140     M68*:*:R3V[5678]*:*)
1141         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1142     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)
1143         OS_REL=''
1144         test -r /etc/.relid \
1145         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1146         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1147           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1148         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1149           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1150     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1151         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1152           && { echo i486-ncr-sysv4; exit; } ;;
1153     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1154         echo m68k-unknown-lynxos${UNAME_RELEASE}
1155         exit ;;
1156     mc68030:UNIX_System_V:4.*:*)
1157         echo m68k-atari-sysv4
1158         exit ;;
1159     TSUNAMI:LynxOS:2.*:*)
1160         echo sparc-unknown-lynxos${UNAME_RELEASE}
1161         exit ;;
1162     rs6000:LynxOS:2.*:*)
1163         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1164         exit ;;
1165     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1166         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1167         exit ;;
1168     SM[BE]S:UNIX_SV:*:*)
1169         echo mips-dde-sysv${UNAME_RELEASE}
1170         exit ;;
1171     RM*:ReliantUNIX-*:*:*)
1172         echo mips-sni-sysv4
1173         exit ;;
1174     RM*:SINIX-*:*:*)
1175         echo mips-sni-sysv4
1176         exit ;;
1177     *:SINIX-*:*:*)
1178         if uname -p 2>/dev/null >/dev/null ; then
1179                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1180                 echo ${UNAME_MACHINE}-sni-sysv4
1181         else
1182                 echo ns32k-sni-sysv
1183         fi
1184         exit ;;
1185     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1186                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1187         echo i586-unisys-sysv4
1188         exit ;;
1189     *:UNIX_System_V:4*:FTX*)
1190         # From Gerald Hewes <hewes@openmarket.com>.
1191         # How about differentiating between stratus architectures? -djm
1192         echo hppa1.1-stratus-sysv4
1193         exit ;;
1194     *:*:*:FTX*)
1195         # From seanf@swdc.stratus.com.
1196         echo i860-stratus-sysv4
1197         exit ;;
1198     i*86:VOS:*:*)
1199         # From Paul.Green@stratus.com.
1200         echo ${UNAME_MACHINE}-stratus-vos
1201         exit ;;
1202     *:VOS:*:*)
1203         # From Paul.Green@stratus.com.
1204         echo hppa1.1-stratus-vos
1205         exit ;;
1206     mc68*:A/UX:*:*)
1207         echo m68k-apple-aux${UNAME_RELEASE}
1208         exit ;;
1209     news*:NEWS-OS:6*:*)
1210         echo mips-sony-newsos6
1211         exit ;;
1212     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1213         if [ -d /usr/nec ]; then
1214                 echo mips-nec-sysv${UNAME_RELEASE}
1215         else
1216                 echo mips-unknown-sysv${UNAME_RELEASE}
1217         fi
1218         exit ;;
1219     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1220         echo powerpc-be-beos
1221         exit ;;
1222     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1223         echo powerpc-apple-beos
1224         exit ;;
1225     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1226         echo i586-pc-beos
1227         exit ;;
1228     SX-4:SUPER-UX:*:*)
1229         echo sx4-nec-superux${UNAME_RELEASE}
1230         exit ;;
1231     SX-5:SUPER-UX:*:*)
1232         echo sx5-nec-superux${UNAME_RELEASE}
1233         exit ;;
1234     SX-6:SUPER-UX:*:*)
1235         echo sx6-nec-superux${UNAME_RELEASE}
1236         exit ;;
1237     SX-7:SUPER-UX:*:*)
1238         echo sx7-nec-superux${UNAME_RELEASE}
1239         exit ;;
1240     SX-8:SUPER-UX:*:*)
1241         echo sx8-nec-superux${UNAME_RELEASE}
1242         exit ;;
1243     SX-8R:SUPER-UX:*:*)
1244         echo sx8r-nec-superux${UNAME_RELEASE}
1245         exit ;;
1246     Power*:Rhapsody:*:*)
1247         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1248         exit ;;
1249     *:Rhapsody:*:*)
1250         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1251         exit ;;
1252     *:Darwin:*:*)
1253         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1254         case $UNAME_PROCESSOR in
1255             unknown) UNAME_PROCESSOR=powerpc ;;
1256         esac
1257         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1258         exit ;;
1259     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1260         UNAME_PROCESSOR=`uname -p`
1261         if test "$UNAME_PROCESSOR" = "x86"; then
1262                 UNAME_PROCESSOR=i386
1263                 UNAME_MACHINE=pc
1264         fi
1265         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1266         exit ;;
1267     *:QNX:*:4*)
1268         echo i386-pc-qnx
1269         exit ;;
1270     NSE-?:NONSTOP_KERNEL:*:*)
1271         echo nse-tandem-nsk${UNAME_RELEASE}
1272         exit ;;
1273     NSR-?:NONSTOP_KERNEL:*:*)
1274         echo nsr-tandem-nsk${UNAME_RELEASE}
1275         exit ;;
1276     *:NonStop-UX:*:*)
1277         echo mips-compaq-nonstopux
1278         exit ;;
1279     BS2000:POSIX*:*:*)
1280         echo bs2000-siemens-sysv
1281         exit ;;
1282     DS/*:UNIX_System_V:*:*)
1283         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1284         exit ;;
1285     *:Plan9:*:*)
1286         # "uname -m" is not consistent, so use $cputype instead. 386
1287         # is converted to i386 for consistency with other x86
1288         # operating systems.
1289         if test "$cputype" = "386"; then
1290             UNAME_MACHINE=i386
1291         else
1292             UNAME_MACHINE="$cputype"
1293         fi
1294         echo ${UNAME_MACHINE}-unknown-plan9
1295         exit ;;
1296     *:TOPS-10:*:*)
1297         echo pdp10-unknown-tops10
1298         exit ;;
1299     *:TENEX:*:*)
1300         echo pdp10-unknown-tenex
1301         exit ;;
1302     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1303         echo pdp10-dec-tops20
1304         exit ;;
1305     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1306         echo pdp10-xkl-tops20
1307         exit ;;
1308     *:TOPS-20:*:*)
1309         echo pdp10-unknown-tops20
1310         exit ;;
1311     *:ITS:*:*)
1312         echo pdp10-unknown-its
1313         exit ;;
1314     SEI:*:*:SEIUX)
1315         echo mips-sei-seiux${UNAME_RELEASE}
1316         exit ;;
1317     *:DragonFly:*:*)
1318         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1319         exit ;;
1320     *:*VMS:*:*)
1321         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1322         case "${UNAME_MACHINE}" in
1323             A*) echo alpha-dec-vms ; exit ;;
1324             I*) echo ia64-dec-vms ; exit ;;
1325             V*) echo vax-dec-vms ; exit ;;
1326         esac ;;
1327     *:XENIX:*:SysV)
1328         echo i386-pc-xenix
1329         exit ;;
1330     i*86:skyos:*:*)
1331         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1332         exit ;;
1333     i*86:rdos:*:*)
1334         echo ${UNAME_MACHINE}-pc-rdos
1335         exit ;;
1336 esac
1337
1338 #echo '(No uname command or uname output not recognized.)' 1>&2
1339 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1340
1341 eval $set_cc_for_build
1342 cat >$dummy.c <<EOF
1343 #ifdef _SEQUENT_
1344 # include <sys/types.h>
1345 # include <sys/utsname.h>
1346 #endif
1347 main ()
1348 {
1349 #if defined (sony)
1350 #if defined (MIPSEB)
1351   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1352      I don't know....  */
1353   printf ("mips-sony-bsd\n"); exit (0);
1354 #else
1355 #include <sys/param.h>
1356   printf ("m68k-sony-newsos%s\n",
1357 #ifdef NEWSOS4
1358           "4"
1359 #else
1360           ""
1361 #endif
1362          ); exit (0);
1363 #endif
1364 #endif
1365
1366 #if defined (__arm) && defined (__acorn) && defined (__unix)
1367   printf ("arm-acorn-riscix\n"); exit (0);
1368 #endif
1369
1370 #if defined (hp300) && !defined (hpux)
1371   printf ("m68k-hp-bsd\n"); exit (0);
1372 #endif
1373
1374 #if defined (NeXT)
1375 #if !defined (__ARCHITECTURE__)
1376 #define __ARCHITECTURE__ "m68k"
1377 #endif
1378   int version;
1379   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1380   if (version < 4)
1381     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1382   else
1383     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1384   exit (0);
1385 #endif
1386
1387 #if defined (MULTIMAX) || defined (n16)
1388 #if defined (UMAXV)
1389   printf ("ns32k-encore-sysv\n"); exit (0);
1390 #else
1391 #if defined (CMU)
1392   printf ("ns32k-encore-mach\n"); exit (0);
1393 #else
1394   printf ("ns32k-encore-bsd\n"); exit (0);
1395 #endif
1396 #endif
1397 #endif
1398
1399 #if defined (__386BSD__)
1400   printf ("i386-pc-bsd\n"); exit (0);
1401 #endif
1402
1403 #if defined (sequent)
1404 #if defined (i386)
1405   printf ("i386-sequent-dynix\n"); exit (0);
1406 #endif
1407 #if defined (ns32000)
1408   printf ("ns32k-sequent-dynix\n"); exit (0);
1409 #endif
1410 #endif
1411
1412 #if defined (_SEQUENT_)
1413     struct utsname un;
1414
1415     uname(&un);
1416
1417     if (strncmp(un.version, "V2", 2) == 0) {
1418         printf ("i386-sequent-ptx2\n"); exit (0);
1419     }
1420     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1421         printf ("i386-sequent-ptx1\n"); exit (0);
1422     }
1423     printf ("i386-sequent-ptx\n"); exit (0);
1424
1425 #endif
1426
1427 #if defined (vax)
1428 # if !defined (ultrix)
1429 #  include <sys/param.h>
1430 #  if defined (BSD)
1431 #   if BSD == 43
1432       printf ("vax-dec-bsd4.3\n"); exit (0);
1433 #   else
1434 #    if BSD == 199006
1435       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1436 #    else
1437       printf ("vax-dec-bsd\n"); exit (0);
1438 #    endif
1439 #   endif
1440 #  else
1441     printf ("vax-dec-bsd\n"); exit (0);
1442 #  endif
1443 # else
1444     printf ("vax-dec-ultrix\n"); exit (0);
1445 # endif
1446 #endif
1447
1448 #if defined (alliant) && defined (i860)
1449   printf ("i860-alliant-bsd\n"); exit (0);
1450 #endif
1451
1452   exit (1);
1453 }
1454 EOF
1455
1456 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1457         { echo "$SYSTEM_NAME"; exit; }
1458
1459 # Apollos put the system type in the environment.
1460
1461 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1462
1463 # Convex versions that predate uname can use getsysinfo(1)
1464
1465 if [ -x /usr/convex/getsysinfo ]
1466 then
1467     case `getsysinfo -f cpu_type` in
1468     c1*)
1469         echo c1-convex-bsd
1470         exit ;;
1471     c2*)
1472         if getsysinfo -f scalar_acc
1473         then echo c32-convex-bsd
1474         else echo c2-convex-bsd
1475         fi
1476         exit ;;
1477     c34*)
1478         echo c34-convex-bsd
1479         exit ;;
1480     c38*)
1481         echo c38-convex-bsd
1482         exit ;;
1483     c4*)
1484         echo c4-convex-bsd
1485         exit ;;
1486     esac
1487 fi
1488
1489 cat >&2 <<EOF
1490 $0: unable to guess system type
1491
1492 This script, last modified $timestamp, has failed to recognize
1493 the operating system you are using. It is advised that you
1494 download the most up to date version of the config scripts from
1495
1496   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1497 and
1498   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1499
1500 If the version you run ($0) is already up to date, please
1501 send the following data and any information you think might be
1502 pertinent to <config-patches@gnu.org> in order to provide the needed
1503 information to handle your system.
1504
1505 config.guess timestamp = $timestamp
1506
1507 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1508 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1509 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1510 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1511
1512 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1513 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1514
1515 hostinfo               = `(hostinfo) 2>/dev/null`
1516 /bin/universe          = `(/bin/universe) 2>/dev/null`
1517 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1518 /bin/arch              = `(/bin/arch) 2>/dev/null`
1519 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1520 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1521
1522 UNAME_MACHINE = ${UNAME_MACHINE}
1523 UNAME_RELEASE = ${UNAME_RELEASE}
1524 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1525 UNAME_VERSION = ${UNAME_VERSION}
1526 EOF
1527
1528 exit 1
1529
1530 # Local variables:
1531 # eval: (add-hook 'write-file-hooks 'time-stamp)
1532 # time-stamp-start: "timestamp='"
1533 # time-stamp-format: "%:y-%02m-%02d"
1534 # time-stamp-end: "'"
1535 # End: