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