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