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