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