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