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