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