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