Convert a couple files to UTF-8; more Copyright years.
[rsync.git] / config.guess
blob120cc0d239ebf31c1cb9c344fcaf5d630edf2da3
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 # Copyright 1992-2013 Free Software Foundation, Inc.
5 timestamp='2013-05-16'
7 # This file is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that
24 # program. This Exception is an additional permission under section 7
25 # of the GNU General Public License, version 3 ("GPLv3").
27 # Originally written by Per Bothner.
29 # You can get the latest version of this script from:
30 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
32 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
35 me=`echo "$0" | sed -e 's,.*/,,'`
37 usage="\
38 Usage: $0 [OPTION]
40 Output the configuration name of the system \`$me' is run on.
42 Operation modes:
43 -h, --help print this help, then exit
44 -t, --time-stamp print date of last modification, then exit
45 -v, --version print version number, then exit
47 Report bugs and patches to <config-patches@gnu.org>."
49 version="\
50 GNU config.guess ($timestamp)
52 Originally written by Per Bothner.
53 Copyright 1992-2013 Free Software Foundation, Inc.
55 This is free software; see the source for copying conditions. There is NO
56 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
58 help="
59 Try \`$me --help' for more information."
61 # Parse command line
62 while test $# -gt 0 ; do
63 case $1 in
64 --time-stamp | --time* | -t )
65 echo "$timestamp" ; exit ;;
66 --version | -v )
67 echo "$version" ; exit ;;
68 --help | --h* | -h )
69 echo "$usage"; exit ;;
70 -- ) # Stop option processing
71 shift; break ;;
72 - ) # Use stdin as input.
73 break ;;
74 -* )
75 echo "$me: invalid option $1$help" >&2
76 exit 1 ;;
77 * )
78 break ;;
79 esac
80 done
82 if test $# != 0; then
83 echo "$me: too many arguments$help" >&2
84 exit 1
87 trap 'exit 1' 1 2 15
89 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90 # compiler to aid in system detection is discouraged as it requires
91 # temporary files to be created and, as you can see below, it is a
92 # headache to deal with in a portable fashion.
94 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95 # use `HOST_CC' if defined, but it is deprecated.
97 # Portable tmp directory creation inspired by the Autoconf team.
99 set_cc_for_build='
100 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102 : ${TMPDIR=/tmp} ;
103 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107 dummy=$tmp/dummy ;
108 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109 case $CC_FOR_BUILD,$HOST_CC,$CC in
110 ,,) echo "int x;" > $dummy.c ;
111 for c in cc gcc c89 c99 ; do
112 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113 CC_FOR_BUILD="$c"; break ;
114 fi ;
115 done ;
116 if test x"$CC_FOR_BUILD" = x ; then
117 CC_FOR_BUILD=no_compiler_found ;
120 ,,*) CC_FOR_BUILD=$CC ;;
121 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
122 esac ; set_cc_for_build= ;'
124 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125 # (ghazi@noc.rutgers.edu 1994-08-24)
126 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127 PATH=$PATH:/.attbin ; export PATH
130 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
135 case "${UNAME_SYSTEM}" in
136 Linux|GNU|GNU/*)
137 # If the system lacks a compiler, then just pick glibc.
138 # We could probably try harder.
139 LIBC=gnu
141 eval $set_cc_for_build
142 cat <<-EOF > $dummy.c
143 #include <features.h>
144 #if defined(__UCLIBC__)
145 LIBC=uclibc
146 #elif defined(__dietlibc__)
147 LIBC=dietlibc
148 #else
149 LIBC=gnu
150 #endif
152 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
154 esac
156 # Note: order is significant - the case branches are not exclusive.
158 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159 *:NetBSD:*:*)
160 # NetBSD (nbsd) targets should (where applicable) match one or
161 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
163 # switched to ELF, *-*-netbsd* would select the old
164 # object file format. This provides both forward
165 # compatibility and a consistent mechanism for selecting the
166 # object file format.
168 # Note: NetBSD doesn't particularly care about the vendor
169 # portion of the name. We always set it to "unknown".
170 sysctl="sysctl -n hw.machine_arch"
171 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
172 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
173 case "${UNAME_MACHINE_ARCH}" in
174 armeb) machine=armeb-unknown ;;
175 arm*) machine=arm-unknown ;;
176 sh3el) machine=shl-unknown ;;
177 sh3eb) machine=sh-unknown ;;
178 sh5el) machine=sh5le-unknown ;;
179 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
180 esac
181 # The Operating System including object format, if it has switched
182 # to ELF recently, or will in the future.
183 case "${UNAME_MACHINE_ARCH}" in
184 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
185 eval $set_cc_for_build
186 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
187 | grep -q __ELF__
188 then
189 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
190 # Return netbsd for either. FIX?
191 os=netbsd
192 else
193 os=netbsdelf
197 os=netbsd
199 esac
200 # The OS release
201 # Debian GNU/NetBSD machines have a different userland, and
202 # thus, need a distinct triplet. However, they do not need
203 # kernel version information, so it can be replaced with a
204 # suitable tag, in the style of linux-gnu.
205 case "${UNAME_VERSION}" in
206 Debian*)
207 release='-gnu'
210 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
212 esac
213 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
214 # contains redundant information, the shorter form:
215 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
216 echo "${machine}-${os}${release}"
217 exit ;;
218 *:Bitrig:*:*)
219 UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
220 echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
221 exit ;;
222 *:OpenBSD:*:*)
223 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
224 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
225 exit ;;
226 *:ekkoBSD:*:*)
227 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
228 exit ;;
229 *:SolidBSD:*:*)
230 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
231 exit ;;
232 macppc:MirBSD:*:*)
233 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
234 exit ;;
235 *:MirBSD:*:*)
236 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
237 exit ;;
238 alpha:OSF1:*:*)
239 case $UNAME_RELEASE in
240 *4.0)
241 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
243 *5.*)
244 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
246 esac
247 # According to Compaq, /usr/sbin/psrinfo has been available on
248 # OSF/1 and Tru64 systems produced since 1995. I hope that
249 # covers most systems running today. This code pipes the CPU
250 # types through head -n 1, so we only detect the type of CPU 0.
251 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
252 case "$ALPHA_CPU_TYPE" in
253 "EV4 (21064)")
254 UNAME_MACHINE="alpha" ;;
255 "EV4.5 (21064)")
256 UNAME_MACHINE="alpha" ;;
257 "LCA4 (21066/21068)")
258 UNAME_MACHINE="alpha" ;;
259 "EV5 (21164)")
260 UNAME_MACHINE="alphaev5" ;;
261 "EV5.6 (21164A)")
262 UNAME_MACHINE="alphaev56" ;;
263 "EV5.6 (21164PC)")
264 UNAME_MACHINE="alphapca56" ;;
265 "EV5.7 (21164PC)")
266 UNAME_MACHINE="alphapca57" ;;
267 "EV6 (21264)")
268 UNAME_MACHINE="alphaev6" ;;
269 "EV6.7 (21264A)")
270 UNAME_MACHINE="alphaev67" ;;
271 "EV6.8CB (21264C)")
272 UNAME_MACHINE="alphaev68" ;;
273 "EV6.8AL (21264B)")
274 UNAME_MACHINE="alphaev68" ;;
275 "EV6.8CX (21264D)")
276 UNAME_MACHINE="alphaev68" ;;
277 "EV6.9A (21264/EV69A)")
278 UNAME_MACHINE="alphaev69" ;;
279 "EV7 (21364)")
280 UNAME_MACHINE="alphaev7" ;;
281 "EV7.9 (21364A)")
282 UNAME_MACHINE="alphaev79" ;;
283 esac
284 # A Pn.n version is a patched version.
285 # A Vn.n version is a released version.
286 # A Tn.n version is a released field test version.
287 # A Xn.n version is an unreleased experimental baselevel.
288 # 1.2 uses "1.2" for uname -r.
289 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
290 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
291 exitcode=$?
292 trap '' 0
293 exit $exitcode ;;
294 Alpha\ *:Windows_NT*:*)
295 # How do we know it's Interix rather than the generic POSIX subsystem?
296 # Should we change UNAME_MACHINE based on the output of uname instead
297 # of the specific Alpha model?
298 echo alpha-pc-interix
299 exit ;;
300 21064:Windows_NT:50:3)
301 echo alpha-dec-winnt3.5
302 exit ;;
303 Amiga*:UNIX_System_V:4.0:*)
304 echo m68k-unknown-sysv4
305 exit ;;
306 *:[Aa]miga[Oo][Ss]:*:*)
307 echo ${UNAME_MACHINE}-unknown-amigaos
308 exit ;;
309 *:[Mm]orph[Oo][Ss]:*:*)
310 echo ${UNAME_MACHINE}-unknown-morphos
311 exit ;;
312 *:OS/390:*:*)
313 echo i370-ibm-openedition
314 exit ;;
315 *:z/VM:*:*)
316 echo s390-ibm-zvmoe
317 exit ;;
318 *:OS400:*:*)
319 echo powerpc-ibm-os400
320 exit ;;
321 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
322 echo arm-acorn-riscix${UNAME_RELEASE}
323 exit ;;
324 arm*:riscos:*:*|arm*:RISCOS:*:*)
325 echo arm-unknown-riscos
326 exit ;;
327 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
328 echo hppa1.1-hitachi-hiuxmpp
329 exit ;;
330 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
331 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
332 if test "`(/bin/universe) 2>/dev/null`" = att ; then
333 echo pyramid-pyramid-sysv3
334 else
335 echo pyramid-pyramid-bsd
337 exit ;;
338 NILE*:*:*:dcosx)
339 echo pyramid-pyramid-svr4
340 exit ;;
341 DRS?6000:unix:4.0:6*)
342 echo sparc-icl-nx6
343 exit ;;
344 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
345 case `/usr/bin/uname -p` in
346 sparc) echo sparc-icl-nx7; exit ;;
347 esac ;;
348 s390x:SunOS:*:*)
349 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350 exit ;;
351 sun4H:SunOS:5.*:*)
352 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
353 exit ;;
354 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
355 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356 exit ;;
357 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
358 echo i386-pc-auroraux${UNAME_RELEASE}
359 exit ;;
360 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
361 eval $set_cc_for_build
362 SUN_ARCH="i386"
363 # If there is a compiler, see if it is configured for 64-bit objects.
364 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
365 # This test works for both compilers.
366 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
367 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
368 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
369 grep IS_64BIT_ARCH >/dev/null
370 then
371 SUN_ARCH="x86_64"
374 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
375 exit ;;
376 sun4*:SunOS:6*:*)
377 # According to config.sub, this is the proper way to canonicalize
378 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
379 # it's likely to be more like Solaris than SunOS4.
380 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
381 exit ;;
382 sun4*:SunOS:*:*)
383 case "`/usr/bin/arch -k`" in
384 Series*|S4*)
385 UNAME_RELEASE=`uname -v`
387 esac
388 # Japanese Language versions have a version number like `4.1.3-JL'.
389 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
390 exit ;;
391 sun3*:SunOS:*:*)
392 echo m68k-sun-sunos${UNAME_RELEASE}
393 exit ;;
394 sun*:*:4.2BSD:*)
395 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
396 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
397 case "`/bin/arch`" in
398 sun3)
399 echo m68k-sun-sunos${UNAME_RELEASE}
401 sun4)
402 echo sparc-sun-sunos${UNAME_RELEASE}
404 esac
405 exit ;;
406 aushp:SunOS:*:*)
407 echo sparc-auspex-sunos${UNAME_RELEASE}
408 exit ;;
409 # The situation for MiNT is a little confusing. The machine name
410 # can be virtually everything (everything which is not
411 # "atarist" or "atariste" at least should have a processor
412 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
413 # to the lowercase version "mint" (or "freemint"). Finally
414 # the system name "TOS" denotes a system which is actually not
415 # MiNT. But MiNT is downward compatible to TOS, so this should
416 # be no problem.
417 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
418 echo m68k-atari-mint${UNAME_RELEASE}
419 exit ;;
420 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
421 echo m68k-atari-mint${UNAME_RELEASE}
422 exit ;;
423 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
424 echo m68k-atari-mint${UNAME_RELEASE}
425 exit ;;
426 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
427 echo m68k-milan-mint${UNAME_RELEASE}
428 exit ;;
429 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
430 echo m68k-hades-mint${UNAME_RELEASE}
431 exit ;;
432 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
433 echo m68k-unknown-mint${UNAME_RELEASE}
434 exit ;;
435 m68k:machten:*:*)
436 echo m68k-apple-machten${UNAME_RELEASE}
437 exit ;;
438 powerpc:machten:*:*)
439 echo powerpc-apple-machten${UNAME_RELEASE}
440 exit ;;
441 RISC*:Mach:*:*)
442 echo mips-dec-mach_bsd4.3
443 exit ;;
444 RISC*:ULTRIX:*:*)
445 echo mips-dec-ultrix${UNAME_RELEASE}
446 exit ;;
447 VAX*:ULTRIX*:*:*)
448 echo vax-dec-ultrix${UNAME_RELEASE}
449 exit ;;
450 2020:CLIX:*:* | 2430:CLIX:*:*)
451 echo clipper-intergraph-clix${UNAME_RELEASE}
452 exit ;;
453 mips:*:*:UMIPS | mips:*:*:RISCos)
454 eval $set_cc_for_build
455 sed 's/^ //' << EOF >$dummy.c
456 #ifdef __cplusplus
457 #include <stdio.h> /* for printf() prototype */
458 int main (int argc, char *argv[]) {
459 #else
460 int main (argc, argv) int argc; char *argv[]; {
461 #endif
462 #if defined (host_mips) && defined (MIPSEB)
463 #if defined (SYSTYPE_SYSV)
464 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
465 #endif
466 #if defined (SYSTYPE_SVR4)
467 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
468 #endif
469 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
470 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
471 #endif
472 #endif
473 exit (-1);
476 $CC_FOR_BUILD -o $dummy $dummy.c &&
477 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
478 SYSTEM_NAME=`$dummy $dummyarg` &&
479 { echo "$SYSTEM_NAME"; exit; }
480 echo mips-mips-riscos${UNAME_RELEASE}
481 exit ;;
482 Motorola:PowerMAX_OS:*:*)
483 echo powerpc-motorola-powermax
484 exit ;;
485 Motorola:*:4.3:PL8-*)
486 echo powerpc-harris-powermax
487 exit ;;
488 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
489 echo powerpc-harris-powermax
490 exit ;;
491 Night_Hawk:Power_UNIX:*:*)
492 echo powerpc-harris-powerunix
493 exit ;;
494 m88k:CX/UX:7*:*)
495 echo m88k-harris-cxux7
496 exit ;;
497 m88k:*:4*:R4*)
498 echo m88k-motorola-sysv4
499 exit ;;
500 m88k:*:3*:R3*)
501 echo m88k-motorola-sysv3
502 exit ;;
503 AViiON:dgux:*:*)
504 # DG/UX returns AViiON for all architectures
505 UNAME_PROCESSOR=`/usr/bin/uname -p`
506 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
507 then
508 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
509 [ ${TARGET_BINARY_INTERFACE}x = x ]
510 then
511 echo m88k-dg-dgux${UNAME_RELEASE}
512 else
513 echo m88k-dg-dguxbcs${UNAME_RELEASE}
515 else
516 echo i586-dg-dgux${UNAME_RELEASE}
518 exit ;;
519 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
520 echo m88k-dolphin-sysv3
521 exit ;;
522 M88*:*:R3*:*)
523 # Delta 88k system running SVR3
524 echo m88k-motorola-sysv3
525 exit ;;
526 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
527 echo m88k-tektronix-sysv3
528 exit ;;
529 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
530 echo m68k-tektronix-bsd
531 exit ;;
532 *:IRIX*:*:*)
533 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
534 exit ;;
535 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
536 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
537 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
538 i*86:AIX:*:*)
539 echo i386-ibm-aix
540 exit ;;
541 ia64:AIX:*:*)
542 if [ -x /usr/bin/oslevel ] ; then
543 IBM_REV=`/usr/bin/oslevel`
544 else
545 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
547 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
548 exit ;;
549 *:AIX:2:3)
550 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
551 eval $set_cc_for_build
552 sed 's/^ //' << EOF >$dummy.c
553 #include <sys/systemcfg.h>
555 main()
557 if (!__power_pc())
558 exit(1);
559 puts("powerpc-ibm-aix3.2.5");
560 exit(0);
563 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
564 then
565 echo "$SYSTEM_NAME"
566 else
567 echo rs6000-ibm-aix3.2.5
569 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
570 echo rs6000-ibm-aix3.2.4
571 else
572 echo rs6000-ibm-aix3.2
574 exit ;;
575 *:AIX:*:[4567])
576 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
577 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
578 IBM_ARCH=rs6000
579 else
580 IBM_ARCH=powerpc
582 if [ -x /usr/bin/oslevel ] ; then
583 IBM_REV=`/usr/bin/oslevel`
584 else
585 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
587 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
588 exit ;;
589 *:AIX:*:*)
590 echo rs6000-ibm-aix
591 exit ;;
592 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
593 echo romp-ibm-bsd4.4
594 exit ;;
595 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
596 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
597 exit ;; # report: romp-ibm BSD 4.3
598 *:BOSX:*:*)
599 echo rs6000-bull-bosx
600 exit ;;
601 DPX/2?00:B.O.S.:*:*)
602 echo m68k-bull-sysv3
603 exit ;;
604 9000/[34]??:4.3bsd:1.*:*)
605 echo m68k-hp-bsd
606 exit ;;
607 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
608 echo m68k-hp-bsd4.4
609 exit ;;
610 9000/[34678]??:HP-UX:*:*)
611 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
612 case "${UNAME_MACHINE}" in
613 9000/31? ) HP_ARCH=m68000 ;;
614 9000/[34]?? ) HP_ARCH=m68k ;;
615 9000/[678][0-9][0-9])
616 if [ -x /usr/bin/getconf ]; then
617 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
618 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
619 case "${sc_cpu_version}" in
620 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
621 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
622 532) # CPU_PA_RISC2_0
623 case "${sc_kernel_bits}" in
624 32) HP_ARCH="hppa2.0n" ;;
625 64) HP_ARCH="hppa2.0w" ;;
626 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
627 esac ;;
628 esac
630 if [ "${HP_ARCH}" = "" ]; then
631 eval $set_cc_for_build
632 sed 's/^ //' << EOF >$dummy.c
634 #define _HPUX_SOURCE
635 #include <stdlib.h>
636 #include <unistd.h>
638 int main ()
640 #if defined(_SC_KERNEL_BITS)
641 long bits = sysconf(_SC_KERNEL_BITS);
642 #endif
643 long cpu = sysconf (_SC_CPU_VERSION);
645 switch (cpu)
647 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
648 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
649 case CPU_PA_RISC2_0:
650 #if defined(_SC_KERNEL_BITS)
651 switch (bits)
653 case 64: puts ("hppa2.0w"); break;
654 case 32: puts ("hppa2.0n"); break;
655 default: puts ("hppa2.0"); break;
656 } break;
657 #else /* !defined(_SC_KERNEL_BITS) */
658 puts ("hppa2.0"); break;
659 #endif
660 default: puts ("hppa1.0"); break;
662 exit (0);
665 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
666 test -z "$HP_ARCH" && HP_ARCH=hppa
667 fi ;;
668 esac
669 if [ ${HP_ARCH} = "hppa2.0w" ]
670 then
671 eval $set_cc_for_build
673 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
674 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
675 # generating 64-bit code. GNU and HP use different nomenclature:
677 # $ CC_FOR_BUILD=cc ./config.guess
678 # => hppa2.0w-hp-hpux11.23
679 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
680 # => hppa64-hp-hpux11.23
682 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
683 grep -q __LP64__
684 then
685 HP_ARCH="hppa2.0w"
686 else
687 HP_ARCH="hppa64"
690 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
691 exit ;;
692 ia64:HP-UX:*:*)
693 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
694 echo ia64-hp-hpux${HPUX_REV}
695 exit ;;
696 3050*:HI-UX:*:*)
697 eval $set_cc_for_build
698 sed 's/^ //' << EOF >$dummy.c
699 #include <unistd.h>
701 main ()
703 long cpu = sysconf (_SC_CPU_VERSION);
704 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
705 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
706 results, however. */
707 if (CPU_IS_PA_RISC (cpu))
709 switch (cpu)
711 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
712 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
713 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
714 default: puts ("hppa-hitachi-hiuxwe2"); break;
717 else if (CPU_IS_HP_MC68K (cpu))
718 puts ("m68k-hitachi-hiuxwe2");
719 else puts ("unknown-hitachi-hiuxwe2");
720 exit (0);
723 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
724 { echo "$SYSTEM_NAME"; exit; }
725 echo unknown-hitachi-hiuxwe2
726 exit ;;
727 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
728 echo hppa1.1-hp-bsd
729 exit ;;
730 9000/8??:4.3bsd:*:*)
731 echo hppa1.0-hp-bsd
732 exit ;;
733 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
734 echo hppa1.0-hp-mpeix
735 exit ;;
736 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
737 echo hppa1.1-hp-osf
738 exit ;;
739 hp8??:OSF1:*:*)
740 echo hppa1.0-hp-osf
741 exit ;;
742 i*86:OSF1:*:*)
743 if [ -x /usr/sbin/sysversion ] ; then
744 echo ${UNAME_MACHINE}-unknown-osf1mk
745 else
746 echo ${UNAME_MACHINE}-unknown-osf1
748 exit ;;
749 parisc*:Lites*:*:*)
750 echo hppa1.1-hp-lites
751 exit ;;
752 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
753 echo c1-convex-bsd
754 exit ;;
755 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
756 if getsysinfo -f scalar_acc
757 then echo c32-convex-bsd
758 else echo c2-convex-bsd
760 exit ;;
761 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
762 echo c34-convex-bsd
763 exit ;;
764 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
765 echo c38-convex-bsd
766 exit ;;
767 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
768 echo c4-convex-bsd
769 exit ;;
770 CRAY*Y-MP:*:*:*)
771 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
772 exit ;;
773 CRAY*[A-Z]90:*:*:*)
774 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
775 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
776 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
777 -e 's/\.[^.]*$/.X/'
778 exit ;;
779 CRAY*TS:*:*:*)
780 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
781 exit ;;
782 CRAY*T3E:*:*:*)
783 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
784 exit ;;
785 CRAY*SV1:*:*:*)
786 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
787 exit ;;
788 *:UNICOS/mp:*:*)
789 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
790 exit ;;
791 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
792 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
793 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
794 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
795 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
796 exit ;;
797 5000:UNIX_System_V:4.*:*)
798 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
799 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
800 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
801 exit ;;
802 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
803 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
804 exit ;;
805 sparc*:BSD/OS:*:*)
806 echo sparc-unknown-bsdi${UNAME_RELEASE}
807 exit ;;
808 *:BSD/OS:*:*)
809 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
810 exit ;;
811 *:FreeBSD:*:*)
812 UNAME_PROCESSOR=`/usr/bin/uname -p`
813 case ${UNAME_PROCESSOR} in
814 amd64)
815 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
817 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
818 esac
819 exit ;;
820 i*:CYGWIN*:*)
821 echo ${UNAME_MACHINE}-pc-cygwin
822 exit ;;
823 *:MINGW64*:*)
824 echo ${UNAME_MACHINE}-pc-mingw64
825 exit ;;
826 *:MINGW*:*)
827 echo ${UNAME_MACHINE}-pc-mingw32
828 exit ;;
829 i*:MSYS*:*)
830 echo ${UNAME_MACHINE}-pc-msys
831 exit ;;
832 i*:windows32*:*)
833 # uname -m includes "-pc" on this system.
834 echo ${UNAME_MACHINE}-mingw32
835 exit ;;
836 i*:PW*:*)
837 echo ${UNAME_MACHINE}-pc-pw32
838 exit ;;
839 *:Interix*:*)
840 case ${UNAME_MACHINE} in
841 x86)
842 echo i586-pc-interix${UNAME_RELEASE}
843 exit ;;
844 authenticamd | genuineintel | EM64T)
845 echo x86_64-unknown-interix${UNAME_RELEASE}
846 exit ;;
847 IA64)
848 echo ia64-unknown-interix${UNAME_RELEASE}
849 exit ;;
850 esac ;;
851 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
852 echo i${UNAME_MACHINE}-pc-mks
853 exit ;;
854 8664:Windows_NT:*)
855 echo x86_64-pc-mks
856 exit ;;
857 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
858 # How do we know it's Interix rather than the generic POSIX subsystem?
859 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
860 # UNAME_MACHINE based on the output of uname instead of i386?
861 echo i586-pc-interix
862 exit ;;
863 i*:UWIN*:*)
864 echo ${UNAME_MACHINE}-pc-uwin
865 exit ;;
866 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
867 echo x86_64-unknown-cygwin
868 exit ;;
869 p*:CYGWIN*:*)
870 echo powerpcle-unknown-cygwin
871 exit ;;
872 prep*:SunOS:5.*:*)
873 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
874 exit ;;
875 *:GNU:*:*)
876 # the GNU system
877 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
878 exit ;;
879 *:GNU/*:*:*)
880 # other systems with GNU libc and userland
881 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
882 exit ;;
883 i*86:Minix:*:*)
884 echo ${UNAME_MACHINE}-pc-minix
885 exit ;;
886 aarch64:Linux:*:*)
887 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
888 exit ;;
889 aarch64_be:Linux:*:*)
890 UNAME_MACHINE=aarch64_be
891 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
892 exit ;;
893 alpha:Linux:*:*)
894 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
895 EV5) UNAME_MACHINE=alphaev5 ;;
896 EV56) UNAME_MACHINE=alphaev56 ;;
897 PCA56) UNAME_MACHINE=alphapca56 ;;
898 PCA57) UNAME_MACHINE=alphapca56 ;;
899 EV6) UNAME_MACHINE=alphaev6 ;;
900 EV67) UNAME_MACHINE=alphaev67 ;;
901 EV68*) UNAME_MACHINE=alphaev68 ;;
902 esac
903 objdump --private-headers /bin/sh | grep -q ld.so.1
904 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
905 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
906 exit ;;
907 arc:Linux:*:* | arceb:Linux:*:*)
908 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
909 exit ;;
910 arm*:Linux:*:*)
911 eval $set_cc_for_build
912 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
913 | grep -q __ARM_EABI__
914 then
915 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
916 else
917 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918 | grep -q __ARM_PCS_VFP
919 then
920 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
921 else
922 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
925 exit ;;
926 avr32*:Linux:*:*)
927 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
928 exit ;;
929 cris:Linux:*:*)
930 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
931 exit ;;
932 crisv32:Linux:*:*)
933 echo ${UNAME_MACHINE}-axis-linux-${LIBC}
934 exit ;;
935 frv:Linux:*:*)
936 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
937 exit ;;
938 hexagon:Linux:*:*)
939 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
940 exit ;;
941 i*86:Linux:*:*)
942 echo ${UNAME_MACHINE}-pc-linux-${LIBC}
943 exit ;;
944 ia64:Linux:*:*)
945 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
946 exit ;;
947 m32r*:Linux:*:*)
948 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
949 exit ;;
950 m68*:Linux:*:*)
951 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
952 exit ;;
953 mips:Linux:*:* | mips64:Linux:*:*)
954 eval $set_cc_for_build
955 sed 's/^ //' << EOF >$dummy.c
956 #undef CPU
957 #undef ${UNAME_MACHINE}
958 #undef ${UNAME_MACHINE}el
959 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
960 CPU=${UNAME_MACHINE}el
961 #else
962 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
963 CPU=${UNAME_MACHINE}
964 #else
965 CPU=
966 #endif
967 #endif
969 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
970 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
972 or1k:Linux:*:*)
973 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
974 exit ;;
975 or32:Linux:*:*)
976 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
977 exit ;;
978 padre:Linux:*:*)
979 echo sparc-unknown-linux-${LIBC}
980 exit ;;
981 parisc64:Linux:*:* | hppa64:Linux:*:*)
982 echo hppa64-unknown-linux-${LIBC}
983 exit ;;
984 parisc:Linux:*:* | hppa:Linux:*:*)
985 # Look for CPU level
986 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
987 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
988 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
989 *) echo hppa-unknown-linux-${LIBC} ;;
990 esac
991 exit ;;
992 ppc64:Linux:*:*)
993 echo powerpc64-unknown-linux-${LIBC}
994 exit ;;
995 ppc:Linux:*:*)
996 echo powerpc-unknown-linux-${LIBC}
997 exit ;;
998 s390:Linux:*:* | s390x:Linux:*:*)
999 echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1000 exit ;;
1001 sh64*:Linux:*:*)
1002 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1003 exit ;;
1004 sh*:Linux:*:*)
1005 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1006 exit ;;
1007 sparc:Linux:*:* | sparc64:Linux:*:*)
1008 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1009 exit ;;
1010 tile*:Linux:*:*)
1011 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1012 exit ;;
1013 vax:Linux:*:*)
1014 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1015 exit ;;
1016 x86_64:Linux:*:*)
1017 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1018 exit ;;
1019 xtensa*:Linux:*:*)
1020 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1021 exit ;;
1022 i*86:DYNIX/ptx:4*:*)
1023 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1024 # earlier versions are messed up and put the nodename in both
1025 # sysname and nodename.
1026 echo i386-sequent-sysv4
1027 exit ;;
1028 i*86:UNIX_SV:4.2MP:2.*)
1029 # Unixware is an offshoot of SVR4, but it has its own version
1030 # number series starting with 2...
1031 # I am not positive that other SVR4 systems won't match this,
1032 # I just have to hope. -- rms.
1033 # Use sysv4.2uw... so that sysv4* matches it.
1034 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1035 exit ;;
1036 i*86:OS/2:*:*)
1037 # If we were able to find `uname', then EMX Unix compatibility
1038 # is probably installed.
1039 echo ${UNAME_MACHINE}-pc-os2-emx
1040 exit ;;
1041 i*86:XTS-300:*:STOP)
1042 echo ${UNAME_MACHINE}-unknown-stop
1043 exit ;;
1044 i*86:atheos:*:*)
1045 echo ${UNAME_MACHINE}-unknown-atheos
1046 exit ;;
1047 i*86:syllable:*:*)
1048 echo ${UNAME_MACHINE}-pc-syllable
1049 exit ;;
1050 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1051 echo i386-unknown-lynxos${UNAME_RELEASE}
1052 exit ;;
1053 i*86:*DOS:*:*)
1054 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1055 exit ;;
1056 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1057 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1058 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1059 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1060 else
1061 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1063 exit ;;
1064 i*86:*:5:[678]*)
1065 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1066 case `/bin/uname -X | grep "^Machine"` in
1067 *486*) UNAME_MACHINE=i486 ;;
1068 *Pentium) UNAME_MACHINE=i586 ;;
1069 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1070 esac
1071 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1072 exit ;;
1073 i*86:*:3.2:*)
1074 if test -f /usr/options/cb.name; then
1075 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1076 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1077 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1078 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1079 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1080 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1081 && UNAME_MACHINE=i586
1082 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1083 && UNAME_MACHINE=i686
1084 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1085 && UNAME_MACHINE=i686
1086 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1087 else
1088 echo ${UNAME_MACHINE}-pc-sysv32
1090 exit ;;
1091 pc:*:*:*)
1092 # Left here for compatibility:
1093 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1094 # the processor, so we play safe by assuming i586.
1095 # Note: whatever this is, it MUST be the same as what config.sub
1096 # prints for the "djgpp" host, or else GDB configury will decide that
1097 # this is a cross-build.
1098 echo i586-pc-msdosdjgpp
1099 exit ;;
1100 Intel:Mach:3*:*)
1101 echo i386-pc-mach3
1102 exit ;;
1103 paragon:*:*:*)
1104 echo i860-intel-osf1
1105 exit ;;
1106 i860:*:4.*:*) # i860-SVR4
1107 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1108 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1109 else # Add other i860-SVR4 vendors below as they are discovered.
1110 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1112 exit ;;
1113 mini*:CTIX:SYS*5:*)
1114 # "miniframe"
1115 echo m68010-convergent-sysv
1116 exit ;;
1117 mc68k:UNIX:SYSTEM5:3.51m)
1118 echo m68k-convergent-sysv
1119 exit ;;
1120 M680?0:D-NIX:5.3:*)
1121 echo m68k-diab-dnix
1122 exit ;;
1123 M68*:*:R3V[5678]*:*)
1124 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1125 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)
1126 OS_REL=''
1127 test -r /etc/.relid \
1128 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1129 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1130 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1131 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1132 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1133 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1134 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1135 && { echo i486-ncr-sysv4; exit; } ;;
1136 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1137 OS_REL='.3'
1138 test -r /etc/.relid \
1139 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1140 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1141 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1142 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1143 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1144 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1145 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1146 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1147 echo m68k-unknown-lynxos${UNAME_RELEASE}
1148 exit ;;
1149 mc68030:UNIX_System_V:4.*:*)
1150 echo m68k-atari-sysv4
1151 exit ;;
1152 TSUNAMI:LynxOS:2.*:*)
1153 echo sparc-unknown-lynxos${UNAME_RELEASE}
1154 exit ;;
1155 rs6000:LynxOS:2.*:*)
1156 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1157 exit ;;
1158 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1159 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1160 exit ;;
1161 SM[BE]S:UNIX_SV:*:*)
1162 echo mips-dde-sysv${UNAME_RELEASE}
1163 exit ;;
1164 RM*:ReliantUNIX-*:*:*)
1165 echo mips-sni-sysv4
1166 exit ;;
1167 RM*:SINIX-*:*:*)
1168 echo mips-sni-sysv4
1169 exit ;;
1170 *:SINIX-*:*:*)
1171 if uname -p 2>/dev/null >/dev/null ; then
1172 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1173 echo ${UNAME_MACHINE}-sni-sysv4
1174 else
1175 echo ns32k-sni-sysv
1177 exit ;;
1178 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1179 # says <Richard.M.Bartel@ccMail.Census.GOV>
1180 echo i586-unisys-sysv4
1181 exit ;;
1182 *:UNIX_System_V:4*:FTX*)
1183 # From Gerald Hewes <hewes@openmarket.com>.
1184 # How about differentiating between stratus architectures? -djm
1185 echo hppa1.1-stratus-sysv4
1186 exit ;;
1187 *:*:*:FTX*)
1188 # From seanf@swdc.stratus.com.
1189 echo i860-stratus-sysv4
1190 exit ;;
1191 i*86:VOS:*:*)
1192 # From Paul.Green@stratus.com.
1193 echo ${UNAME_MACHINE}-stratus-vos
1194 exit ;;
1195 *:VOS:*:*)
1196 # From Paul.Green@stratus.com.
1197 echo hppa1.1-stratus-vos
1198 exit ;;
1199 mc68*:A/UX:*:*)
1200 echo m68k-apple-aux${UNAME_RELEASE}
1201 exit ;;
1202 news*:NEWS-OS:6*:*)
1203 echo mips-sony-newsos6
1204 exit ;;
1205 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1206 if [ -d /usr/nec ]; then
1207 echo mips-nec-sysv${UNAME_RELEASE}
1208 else
1209 echo mips-unknown-sysv${UNAME_RELEASE}
1211 exit ;;
1212 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1213 echo powerpc-be-beos
1214 exit ;;
1215 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1216 echo powerpc-apple-beos
1217 exit ;;
1218 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1219 echo i586-pc-beos
1220 exit ;;
1221 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1222 echo i586-pc-haiku
1223 exit ;;
1224 x86_64:Haiku:*:*)
1225 echo x86_64-unknown-haiku
1226 exit ;;
1227 SX-4:SUPER-UX:*:*)
1228 echo sx4-nec-superux${UNAME_RELEASE}
1229 exit ;;
1230 SX-5:SUPER-UX:*:*)
1231 echo sx5-nec-superux${UNAME_RELEASE}
1232 exit ;;
1233 SX-6:SUPER-UX:*:*)
1234 echo sx6-nec-superux${UNAME_RELEASE}
1235 exit ;;
1236 SX-7:SUPER-UX:*:*)
1237 echo sx7-nec-superux${UNAME_RELEASE}
1238 exit ;;
1239 SX-8:SUPER-UX:*:*)
1240 echo sx8-nec-superux${UNAME_RELEASE}
1241 exit ;;
1242 SX-8R:SUPER-UX:*:*)
1243 echo sx8r-nec-superux${UNAME_RELEASE}
1244 exit ;;
1245 Power*:Rhapsody:*:*)
1246 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1247 exit ;;
1248 *:Rhapsody:*:*)
1249 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1250 exit ;;
1251 *:Darwin:*:*)
1252 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1253 eval $set_cc_for_build
1254 if test "$UNAME_PROCESSOR" = unknown ; then
1255 UNAME_PROCESSOR=powerpc
1257 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1258 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1259 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1260 grep IS_64BIT_ARCH >/dev/null
1261 then
1262 case $UNAME_PROCESSOR in
1263 i386) UNAME_PROCESSOR=x86_64 ;;
1264 powerpc) UNAME_PROCESSOR=powerpc64 ;;
1265 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: