Logo AND Algorithmique Numérique Distribuée

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