* Unix only: Support for local .pinerc files that are symbolic links
[alpine.git] / config.guess
blobde8e6dd2c4a6c91b6b39a704857e57a3aa92db13
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-02-10'
9 # This file is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, see <http://www.gnu.org/licenses/>.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
28 # Originally written by Per Bothner. Please send patches (context
29 # diff format) to <config-patches@gnu.org> and include a ChangeLog
30 # entry.
32 # This script attempts to guess a canonical system name similar to
33 # config.sub. If it succeeds, it prints the system name on stdout, and
34 # exits with 0. Otherwise, it exits with 1.
36 # You can get the latest version of this script from:
37 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
39 me=`echo "$0" | sed -e 's,.*/,,'`
41 usage="\
42 Usage: $0 [OPTION]
44 Output the configuration name of the system \`$me' is run on.
46 Operation modes:
47 -h, --help print this help, then exit
48 -t, --time-stamp print date of last modification, then exit
49 -v, --version print version number, then exit
51 Report bugs and patches to <config-patches@gnu.org>."
53 version="\
54 GNU config.guess ($timestamp)
56 Originally written by Per Bothner.
57 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
58 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59 Free Software Foundation, Inc.
61 This is free software; see the source for copying conditions. There is NO
62 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64 help="
65 Try \`$me --help' for more information."
67 # Parse command line
68 while test $# -gt 0 ; do
69 case $1 in
70 --time-stamp | --time* | -t )
71 echo "$timestamp" ; exit ;;
72 --version | -v )
73 echo "$version" ; exit ;;
74 --help | --h* | -h )
75 echo "$usage"; exit ;;
76 -- ) # Stop option processing
77 shift; break ;;
78 - ) # Use stdin as input.
79 break ;;
80 -* )
81 echo "$me: invalid option $1$help" >&2
82 exit 1 ;;
83 * )
84 break ;;
85 esac
86 done
88 if test $# != 0; then
89 echo "$me: too many arguments$help" >&2
90 exit 1
93 trap 'exit 1' 1 2 15
95 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96 # compiler to aid in system detection is discouraged as it requires
97 # temporary files to be created and, as you can see below, it is a
98 # headache to deal with in a portable fashion.
100 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101 # use `HOST_CC' if defined, but it is deprecated.
103 # Portable tmp directory creation inspired by the Autoconf team.
105 set_cc_for_build='
106 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108 : ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113 dummy=$tmp/dummy ;
114 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115 case $CC_FOR_BUILD,$HOST_CC,$CC in
116 ,,) echo "int x;" > $dummy.c ;
117 for c in cc gcc c89 c99 ; do
118 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119 CC_FOR_BUILD="$c"; break ;
120 fi ;
121 done ;
122 if test x"$CC_FOR_BUILD" = x ; then
123 CC_FOR_BUILD=no_compiler_found ;
126 ,,*) CC_FOR_BUILD=$CC ;;
127 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128 esac ; set_cc_for_build= ;'
130 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131 # (ghazi@noc.rutgers.edu 1994-08-24)
132 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133 PATH=$PATH:/.attbin ; export PATH
136 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
139 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141 case "${UNAME_MACHINE}" in
142 i?86)
143 test -z "$VENDOR" && VENDOR=pc
146 test -z "$VENDOR" && VENDOR=unknown
148 esac
149 test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
151 # Note: order is significant - the case branches are not exclusive.
153 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
154 *:NetBSD:*:*)
155 # NetBSD (nbsd) targets should (where applicable) match one or
156 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
157 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
158 # switched to ELF, *-*-netbsd* would select the old
159 # object file format. This provides both forward
160 # compatibility and a consistent mechanism for selecting the
161 # object file format.
163 # Note: NetBSD doesn't particularly care about the vendor
164 # portion of the name. We always set it to "unknown".
165 sysctl="sysctl -n hw.machine_arch"
166 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
167 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
168 case "${UNAME_MACHINE_ARCH}" in
169 armeb) machine=armeb-unknown ;;
170 arm*) machine=arm-unknown ;;
171 sh3el) machine=shl-unknown ;;
172 sh3eb) machine=sh-unknown ;;
173 sh5el) machine=sh5le-unknown ;;
174 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
175 esac
176 # The Operating System including object format, if it has switched
177 # to ELF recently, or will in the future.
178 case "${UNAME_MACHINE_ARCH}" in
179 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
180 eval $set_cc_for_build
181 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
182 | grep -q __ELF__
183 then
184 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
185 # Return netbsd for either. FIX?
186 os=netbsd
187 else
188 os=netbsdelf
192 os=netbsd
194 esac
195 # The OS release
196 # Debian GNU/NetBSD machines have a different userland, and
197 # thus, need a distinct triplet. However, they do not need
198 # kernel version information, so it can be replaced with a
199 # suitable tag, in the style of linux-gnu.
200 case "${UNAME_VERSION}" in
201 Debian*)
202 release='-gnu'
205 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
207 esac
208 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
209 # contains redundant information, the shorter form:
210 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
211 echo "${machine}-${os}${release}"
212 exit ;;
213 *:OpenBSD:*:*)
214 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
215 echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
216 exit ;;
217 *:ekkoBSD:*:*)
218 echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
219 exit ;;
220 *:SolidBSD:*:*)
221 echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
222 exit ;;
223 macppc:MirBSD:*:*)
224 echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
225 exit ;;
226 *:MirBSD:*:*)
227 echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
228 exit ;;
229 alpha:OSF1:*:*)
230 case $UNAME_RELEASE in
231 *4.0)
232 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
234 *5.*)
235 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
237 esac
238 # According to Compaq, /usr/sbin/psrinfo has been available on
239 # OSF/1 and Tru64 systems produced since 1995. I hope that
240 # covers most systems running today. This code pipes the CPU
241 # types through head -n 1, so we only detect the type of CPU 0.
242 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
243 case "$ALPHA_CPU_TYPE" in
244 "EV4 (21064)")
245 UNAME_MACHINE="alpha" ;;
246 "EV4.5 (21064)")
247 UNAME_MACHINE="alpha" ;;
248 "LCA4 (21066/21068)")
249 UNAME_MACHINE="alpha" ;;
250 "EV5 (21164)")
251 UNAME_MACHINE="alphaev5" ;;
252 "EV5.6 (21164A)")
253 UNAME_MACHINE="alphaev56" ;;
254 "EV5.6 (21164PC)")
255 UNAME_MACHINE="alphapca56" ;;
256 "EV5.7 (21164PC)")
257 UNAME_MACHINE="alphapca57" ;;
258 "EV6 (21264)")
259 UNAME_MACHINE="alphaev6" ;;
260 "EV6.7 (21264A)")
261 UNAME_MACHINE="alphaev67" ;;
262 "EV6.8CB (21264C)")
263 UNAME_MACHINE="alphaev68" ;;
264 "EV6.8AL (21264B)")
265 UNAME_MACHINE="alphaev68" ;;
266 "EV6.8CX (21264D)")
267 UNAME_MACHINE="alphaev68" ;;
268 "EV6.9A (21264/EV69A)")
269 UNAME_MACHINE="alphaev69" ;;
270 "EV7 (21364)")
271 UNAME_MACHINE="alphaev7" ;;
272 "EV7.9 (21364A)")
273 UNAME_MACHINE="alphaev79" ;;
274 esac
275 # A Pn.n version is a patched version.
276 # A Vn.n version is a released version.
277 # A Tn.n version is a released field test version.
278 # A Xn.n version is an unreleased experimental baselevel.
279 # 1.2 uses "1.2" for uname -r.
280 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
281 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
282 exitcode=$?
283 trap '' 0
284 exit $exitcode ;;
285 Alpha\ *:Windows_NT*:*)
286 # How do we know it's Interix rather than the generic POSIX subsystem?
287 # Should we change UNAME_MACHINE based on the output of uname instead
288 # of the specific Alpha model?
289 echo alpha-pc-interix
290 exit ;;
291 21064:Windows_NT:50:3)
292 echo alpha-dec-winnt3.5
293 exit ;;
294 Amiga*:UNIX_System_V:4.0:*)
295 echo m68k-${VENDOR}-sysv4
296 exit ;;
297 *:[Aa]miga[Oo][Ss]:*:*)
298 echo ${UNAME_MACHINE}-${VENDOR}-amigaos
299 exit ;;
300 *:[Mm]orph[Oo][Ss]:*:*)
301 echo ${UNAME_MACHINE}-${VENDOR}-morphos
302 exit ;;
303 *:OS/390:*:*)
304 echo i370-ibm-openedition
305 exit ;;
306 *:z/VM:*:*)
307 echo s390-ibm-zvmoe
308 exit ;;
309 *:OS400:*:*)
310 echo powerpc-ibm-os400
311 exit ;;
312 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
313 echo arm-acorn-riscix${UNAME_RELEASE}
314 exit ;;
315 arm:riscos:*:*|arm:RISCOS:*:*)
316 echo arm-${VENDOR}-riscos
317 exit ;;
318 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
319 echo hppa1.1-hitachi-hiuxmpp
320 exit ;;
321 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
322 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
323 if test "`(/bin/universe) 2>/dev/null`" = att ; then
324 echo pyramid-pyramid-sysv3
325 else
326 echo pyramid-pyramid-bsd
328 exit ;;
329 NILE*:*:*:dcosx)
330 echo pyramid-pyramid-svr4
331 exit ;;
332 DRS?6000:unix:4.0:6*)
333 echo sparc-icl-nx6
334 exit ;;
335 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
336 case `/usr/bin/uname -p` in
337 sparc) echo sparc-icl-nx7; exit ;;
338 esac ;;
339 s390x:SunOS:*:*)
340 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341 exit ;;
342 sun4H:SunOS:5.*:*)
343 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344 exit ;;
345 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
346 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
347 exit ;;
348 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
349 echo i386-pc-auroraux${UNAME_RELEASE}
350 exit ;;
351 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
352 eval $set_cc_for_build
353 SUN_ARCH="i386"
354 # If there is a compiler, see if it is configured for 64-bit objects.
355 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
356 # This test works for both compilers.
357 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
358 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
359 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
360 grep IS_64BIT_ARCH >/dev/null
361 then
362 SUN_ARCH="x86_64"
365 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
366 exit ;;
367 sun4*:SunOS:6*:*)
368 # According to config.sub, this is the proper way to canonicalize
369 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
370 # it's likely to be more like Solaris than SunOS4.
371 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
372 exit ;;
373 sun4*:SunOS:*:*)
374 case "`/usr/bin/arch -k`" in
375 Series*|S4*)
376 UNAME_RELEASE=`uname -v`
378 esac
379 # Japanese Language versions have a version number like `4.1.3-JL'.
380 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
381 exit ;;
382 sun3*:SunOS:*:*)
383 echo m68k-sun-sunos${UNAME_RELEASE}
384 exit ;;
385 sun*:*:4.2BSD:*)
386 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
387 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
388 case "`/bin/arch`" in
389 sun3)
390 echo m68k-sun-sunos${UNAME_RELEASE}
392 sun4)
393 echo sparc-sun-sunos${UNAME_RELEASE}
395 esac
396 exit ;;
397 aushp:SunOS:*:*)
398 echo sparc-auspex-sunos${UNAME_RELEASE}
399 exit ;;
400 # The situation for MiNT is a little confusing. The machine name
401 # can be virtually everything (everything which is not
402 # "atarist" or "atariste" at least should have a processor
403 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
404 # to the lowercase version "mint" (or "freemint"). Finally
405 # the system name "TOS" denotes a system which is actually not
406 # MiNT. But MiNT is downward compatible to TOS, so this should
407 # be no problem.
408 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
409 echo m68k-atari-mint${UNAME_RELEASE}
410 exit ;;
411 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
412 echo m68k-atari-mint${UNAME_RELEASE}
413 exit ;;
414 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
415 echo m68k-atari-mint${UNAME_RELEASE}
416 exit ;;
417 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
418 echo m68k-milan-mint${UNAME_RELEASE}
419 exit ;;
420 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
421 echo m68k-hades-mint${UNAME_RELEASE}
422 exit ;;
423 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
424 echo m68k-${VENDOR}-mint${UNAME_RELEASE}
425 exit ;;
426 m68k:machten:*:*)
427 echo m68k-apple-machten${UNAME_RELEASE}
428 exit ;;
429 powerpc:machten:*:*)
430 echo powerpc-apple-machten${UNAME_RELEASE}
431 exit ;;
432 RISC*:Mach:*:*)
433 echo mips-dec-mach_bsd4.3
434 exit ;;
435 RISC*:ULTRIX:*:*)
436 echo mips-dec-ultrix${UNAME_RELEASE}
437 exit ;;
438 VAX*:ULTRIX*:*:*)
439 echo vax-dec-ultrix${UNAME_RELEASE}
440 exit ;;
441 2020:CLIX:*:* | 2430:CLIX:*:*)
442 echo clipper-intergraph-clix${UNAME_RELEASE}
443 exit ;;
444 mips:*:*:UMIPS | mips:*:*:RISCos)
445 eval $set_cc_for_build
446 sed 's/^ //' << EOF >$dummy.c
447 #ifdef __cplusplus
448 #include <stdio.h> /* for printf() prototype */
449 int main (int argc, char *argv[]) {
450 #else
451 int main (argc, argv) int argc; char *argv[]; {
452 #endif
453 #if defined (host_mips) && defined (MIPSEB)
454 #if defined (SYSTYPE_SYSV)
455 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
456 #endif
457 #if defined (SYSTYPE_SVR4)
458 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
459 #endif
460 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
461 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
462 #endif
463 #endif
464 exit (-1);
467 $CC_FOR_BUILD -o $dummy $dummy.c &&
468 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
469 SYSTEM_NAME=`$dummy $dummyarg` &&
470 { echo "$SYSTEM_NAME"; exit; }
471 echo mips-mips-riscos${UNAME_RELEASE}
472 exit ;;
473 Motorola:PowerMAX_OS:*:*)
474 echo powerpc-motorola-powermax
475 exit ;;
476 Motorola:*:4.3:PL8-*)
477 echo powerpc-harris-powermax
478 exit ;;
479 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
480 echo powerpc-harris-powermax
481 exit ;;
482 Night_Hawk:Power_UNIX:*:*)
483 echo powerpc-harris-powerunix
484 exit ;;
485 m88k:CX/UX:7*:*)
486 echo m88k-harris-cxux7
487 exit ;;
488 m88k:*:4*:R4*)
489 echo m88k-motorola-sysv4
490 exit ;;
491 m88k:*:3*:R3*)
492 echo m88k-motorola-sysv3
493 exit ;;
494 AViiON:dgux:*:*)
495 # DG/UX returns AViiON for all architectures
496 UNAME_PROCESSOR=`/usr/bin/uname -p`
497 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
498 then
499 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
500 [ ${TARGET_BINARY_INTERFACE}x = x ]
501 then
502 echo m88k-dg-dgux${UNAME_RELEASE}
503 else
504 echo m88k-dg-dguxbcs${UNAME_RELEASE}
506 else
507 echo i586-dg-dgux${UNAME_RELEASE}
509 exit ;;
510 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
511 echo m88k-dolphin-sysv3
512 exit ;;
513 M88*:*:R3*:*)
514 # Delta 88k system running SVR3
515 echo m88k-motorola-sysv3
516 exit ;;
517 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
518 echo m88k-tektronix-sysv3
519 exit ;;
520 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
521 echo m68k-tektronix-bsd
522 exit ;;
523 *:IRIX*:*:*)
524 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
525 exit ;;
526 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
527 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
528 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
529 i*86:AIX:*:*)
530 echo i386-ibm-aix
531 exit ;;
532 ia64:AIX:*:*)
533 if [ -x /usr/bin/oslevel ] ; then
534 IBM_REV=`/usr/bin/oslevel`
535 else
536 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
538 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
539 exit ;;
540 *:AIX:2:3)
541 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
542 eval $set_cc_for_build
543 sed 's/^ //' << EOF >$dummy.c
544 #include <sys/systemcfg.h>
546 main()
548 if (!__power_pc())
549 exit(1);
550 puts("powerpc-ibm-aix3.2.5");
551 exit(0);
554 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
555 then
556 echo "$SYSTEM_NAME"
557 else
558 echo rs6000-ibm-aix3.2.5
560 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
561 echo rs6000-ibm-aix3.2.4
562 else
563 echo rs6000-ibm-aix3.2
565 exit ;;
566 *:AIX:*:[4567])
567 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
568 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
569 IBM_ARCH=rs6000
570 else
571 IBM_ARCH=powerpc
573 if [ -x /usr/bin/oslevel ] ; then
574 IBM_REV=`/usr/bin/oslevel`
575 else
576 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
578 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
579 exit ;;
580 *:AIX:*:*)
581 echo rs6000-ibm-aix
582 exit ;;
583 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
584 echo romp-ibm-bsd4.4
585 exit ;;
586 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
587 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
588 exit ;; # report: romp-ibm BSD 4.3
589 *:BOSX:*:*)
590 echo rs6000-bull-bosx
591 exit ;;
592 DPX/2?00:B.O.S.:*:*)
593 echo m68k-bull-sysv3
594 exit ;;
595 9000/[34]??:4.3bsd:1.*:*)
596 echo m68k-hp-bsd
597 exit ;;
598 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
599 echo m68k-hp-bsd4.4
600 exit ;;
601 9000/[34678]??:HP-UX:*:*)
602 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
603 case "${UNAME_MACHINE}" in
604 9000/31? ) HP_ARCH=m68000 ;;
605 9000/[34]?? ) HP_ARCH=m68k ;;
606 9000/[678][0-9][0-9])
607 if [ -x /usr/bin/getconf ]; then
608 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
609 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
610 case "${sc_cpu_version}" in
611 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
612 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
613 532) # CPU_PA_RISC2_0
614 case "${sc_kernel_bits}" in
615 32) HP_ARCH="hppa2.0n" ;;
616 64) HP_ARCH="hppa2.0w" ;;
617 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
618 esac ;;
619 esac
621 if [ "${HP_ARCH}" = "" ]; then
622 eval $set_cc_for_build
623 sed 's/^ //' << EOF >$dummy.c
625 #define _HPUX_SOURCE
626 #include <stdlib.h>
627 #include <unistd.h>
629 int main ()
631 #if defined(_SC_KERNEL_BITS)
632 long bits = sysconf(_SC_KERNEL_BITS);
633 #endif
634 long cpu = sysconf (_SC_CPU_VERSION);
636 switch (cpu)
638 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
639 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
640 case CPU_PA_RISC2_0:
641 #if defined(_SC_KERNEL_BITS)
642 switch (bits)
644 case 64: puts ("hppa2.0w"); break;
645 case 32: puts ("hppa2.0n"); break;
646 default: puts ("hppa2.0"); break;
647 } break;
648 #else /* !defined(_SC_KERNEL_BITS) */
649 puts ("hppa2.0"); break;
650 #endif
651 default: puts ("hppa1.0"); break;
653 exit (0);
656 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
657 test -z "$HP_ARCH" && HP_ARCH=hppa
658 fi ;;
659 esac
660 if [ ${HP_ARCH} = "hppa2.0w" ]
661 then
662 eval $set_cc_for_build
664 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
665 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
666 # generating 64-bit code. GNU and HP use different nomenclature:
668 # $ CC_FOR_BUILD=cc ./config.guess
669 # => hppa2.0w-hp-hpux11.23
670 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
671 # => hppa64-hp-hpux11.23
673 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
674 grep -q __LP64__
675 then
676 HP_ARCH="hppa2.0w"
677 else
678 HP_ARCH="hppa64"
681 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
682 exit ;;
683 ia64:HP-UX:*:*)
684 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
685 echo ia64-hp-hpux${HPUX_REV}
686 exit ;;
687 3050*:HI-UX:*:*)
688 eval $set_cc_for_build
689 sed 's/^ //' << EOF >$dummy.c
690 #include <unistd.h>
692 main ()
694 long cpu = sysconf (_SC_CPU_VERSION);
695 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
696 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
697 results, however. */
698 if (CPU_IS_PA_RISC (cpu))
700 switch (cpu)
702 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
703 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
704 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
705 default: puts ("hppa-hitachi-hiuxwe2"); break;
708 else if (CPU_IS_HP_MC68K (cpu))
709 puts ("m68k-hitachi-hiuxwe2");
710 else puts ("unknown-hitachi-hiuxwe2");
711 exit (0);
714 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
715 { echo "$SYSTEM_NAME"; exit; }
716 echo unknown-hitachi-hiuxwe2
717 exit ;;
718 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
719 echo hppa1.1-hp-bsd
720 exit ;;
721 9000/8??:4.3bsd:*:*)
722 echo hppa1.0-hp-bsd
723 exit ;;
724 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
725 echo hppa1.0-hp-mpeix
726 exit ;;
727 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
728 echo hppa1.1-hp-osf
729 exit ;;
730 hp8??:OSF1:*:*)
731 echo hppa1.0-hp-osf
732 exit ;;
733 i*86:OSF1:*:*)
734 if [ -x /usr/sbin/sysversion ] ; then
735 echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
736 else
737 echo ${UNAME_MACHINE}-${VENDOR}-osf1
739 exit ;;
740 parisc*:Lites*:*:*)
741 echo hppa1.1-hp-lites
742 exit ;;
743 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
744 echo c1-convex-bsd
745 exit ;;
746 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
747 if getsysinfo -f scalar_acc
748 then echo c32-convex-bsd
749 else echo c2-convex-bsd
751 exit ;;
752 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
753 echo c34-convex-bsd
754 exit ;;
755 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
756 echo c38-convex-bsd
757 exit ;;
758 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
759 echo c4-convex-bsd
760 exit ;;
761 CRAY*Y-MP:*:*:*)
762 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763 exit ;;
764 CRAY*[A-Z]90:*:*:*)
765 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
766 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
767 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
768 -e 's/\.[^.]*$/.X/'
769 exit ;;
770 CRAY*TS:*:*:*)
771 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
772 exit ;;
773 CRAY*T3E:*:*:*)
774 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
775 exit ;;
776 CRAY*SV1:*:*:*)
777 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
778 exit ;;
779 *:UNICOS/mp:*:*)
780 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
781 exit ;;
782 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
783 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
784 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
785 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
786 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
787 exit ;;
788 5000:UNIX_System_V:4.*:*)
789 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
790 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
791 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
792 exit ;;
793 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
794 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
795 exit ;;
796 sparc*:BSD/OS:*:*)
797 echo sparc-${VENDOR}-bsdi${UNAME_RELEASE}
798 exit ;;
799 *:BSD/OS:*:*)
800 echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE}
801 exit ;;
802 *:FreeBSD:*:*)
803 UNAME_PROCESSOR=`/usr/bin/uname -p`
804 case ${UNAME_PROCESSOR} in
805 amd64)
806 echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
808 echo ${UNAME_PROCESSOR}-${VENDOR}-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*:MSYS*:*)
818 echo ${UNAME_MACHINE}-pc-msys
819 exit ;;
820 i*:windows32*:*)
821 # uname -m includes "-pc" on this system.
822 echo ${UNAME_MACHINE}-mingw32
823 exit ;;
824 i*:PW*:*)
825 echo ${UNAME_MACHINE}-pc-pw32
826 exit ;;
827 *:Interix*:*)
828 case ${UNAME_MACHINE} in
829 x86)
830 echo i586-pc-interix${UNAME_RELEASE}
831 exit ;;
832 authenticamd | genuineintel | EM64T)
833 echo x86_64-${VENDOR}-interix${UNAME_RELEASE}
834 exit ;;
835 IA64)
836 echo ia64-${VENDOR}-interix${UNAME_RELEASE}
837 exit ;;
838 esac ;;
839 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
840 echo i${UNAME_MACHINE}-pc-mks
841 exit ;;
842 8664:Windows_NT:*)
843 echo x86_64-pc-mks
844 exit ;;
845 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
846 # How do we know it's Interix rather than the generic POSIX subsystem?
847 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
848 # UNAME_MACHINE based on the output of uname instead of i386?
849 echo i586-pc-interix
850 exit ;;
851 i*:UWIN*:*)
852 echo ${UNAME_MACHINE}-pc-uwin
853 exit ;;
854 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
855 echo x86_64-${VENDOR}-cygwin
856 exit ;;
857 p*:CYGWIN*:*)
858 echo powerpcle-${VENDOR}-cygwin
859 exit ;;
860 prep*:SunOS:5.*:*)
861 echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
862 exit ;;
863 *:GNU:*:*)
864 # the GNU system
865 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
866 exit ;;
867 *:GNU/*:*:*)
868 # other systems with GNU libc and userland
869 echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
870 exit ;;
871 i*86:Minix:*:*)
872 echo ${UNAME_MACHINE}-pc-minix
873 exit ;;
874 aarch64:Linux:*:*)
875 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
876 exit ;;
877 aarch64_be:Linux:*:*)
878 UNAME_MACHINE=aarch64_be
879 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
880 exit ;;
881 alpha:Linux:*:*)
882 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
883 EV5) UNAME_MACHINE=alphaev5 ;;
884 EV56) UNAME_MACHINE=alphaev56 ;;
885 PCA56) UNAME_MACHINE=alphapca56 ;;
886 PCA57) UNAME_MACHINE=alphapca56 ;;
887 EV6) UNAME_MACHINE=alphaev6 ;;
888 EV67) UNAME_MACHINE=alphaev67 ;;
889 EV68*) UNAME_MACHINE=alphaev68 ;;
890 esac
891 objdump --private-headers /bin/sh | grep -q ld.so.1
892 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
893 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
894 exit ;;
895 arm*:Linux:*:*)
896 eval $set_cc_for_build
897 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
898 | grep -q __ARM_EABI__
899 then
900 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
901 else
902 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
903 | grep -q __ARM_PCS_VFP
904 then
905 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
906 else
907 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabihf
910 exit ;;
911 avr32*:Linux:*:*)
912 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
913 exit ;;
914 cris:Linux:*:*)
915 echo ${UNAME_MACHINE}-axis-linux-gnu
916 exit ;;
917 crisv32:Linux:*:*)
918 echo ${UNAME_MACHINE}-axis-linux-gnu
919 exit ;;
920 frv:Linux:*:*)
921 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
922 exit ;;
923 hexagon:Linux:*:*)
924 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
925 exit ;;
926 i*86:Linux:*:*)
927 LIBC=gnu
928 eval $set_cc_for_build
929 sed 's/^ //' << EOF >$dummy.c
930 #ifdef __dietlibc__
931 LIBC=dietlibc
932 #endif
934 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
935 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
936 exit ;;
937 ia64:Linux:*:*)
938 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
939 exit ;;
940 m32r*:Linux:*:*)
941 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
942 exit ;;
943 m68*:Linux:*:*)
944 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
945 exit ;;
946 mips:Linux:*:* | mips64:Linux:*:*)
947 eval $set_cc_for_build
948 sed 's/^ //' << EOF >$dummy.c
949 #undef CPU
950 #undef ${UNAME_MACHINE}
951 #undef ${UNAME_MACHINE}el
952 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
953 CPU=${UNAME_MACHINE}el
954 #else
955 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
956 CPU=${UNAME_MACHINE}
957 #else
958 CPU=
959 #endif
960 #endif
962 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
963 test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
965 or32:Linux:*:*)
966 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
967 exit ;;
968 padre:Linux:*:*)
969 echo sparc-${VENDOR}-linux-gnu
970 exit ;;
971 parisc64:Linux:*:* | hppa64:Linux:*:*)
972 echo hppa64-${VENDOR}-linux-gnu
973 exit ;;
974 parisc:Linux:*:* | hppa:Linux:*:*)
975 # Look for CPU level
976 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
977 PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
978 PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
979 *) echo hppa-${VENDOR}-linux-gnu ;;
980 esac
981 exit ;;
982 ppc64:Linux:*:*)
983 echo powerpc64-${VENDOR}-linux-gnu
984 exit ;;
985 ppc:Linux:*:*)
986 echo powerpc-${VENDOR}-linux-gnu
987 exit ;;
988 s390:Linux:*:* | s390x:Linux:*:*)
989 echo ${UNAME_MACHINE}-ibm-linux
990 exit ;;
991 sh64*:Linux:*:*)
992 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
993 exit ;;
994 sh*:Linux:*:*)
995 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
996 exit ;;
997 sparc:Linux:*:* | sparc64:Linux:*:*)
998 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
999 exit ;;
1000 tile*:Linux:*:*)
1001 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
1002 exit ;;
1003 vax:Linux:*:*)
1004 echo ${UNAME_MACHINE}-dec-linux-gnu
1005 exit ;;
1006 x86_64:Linux:*:*)
1007 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
1008 exit ;;
1009 xtensa*:Linux:*:*)
1010 echo ${UNAME_MACHINE}-${VENDOR}-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}-${VENDOR}-stop
1033 exit ;;
1034 i*86:atheos:*:*)
1035 echo ${UNAME_MACHINE}-${VENDOR}-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-${VENODR}-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}-${VENDOR}-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-${VENODR}-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-${VENDOR}-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-${VENDOR}-lynxos${UNAME_RELEASE}
1144 exit ;;
1145 rs6000:LynxOS:2.*:*)
1146 echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE}
1147 exit ;;
1148 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1149 echo powerpc-${VENDOR}-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-${VENDOR}-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 SX-4:SUPER-UX:*:*)
1215 echo sx4-nec-superux${UNAME_RELEASE}
1216 exit ;;
1217 SX-5:SUPER-UX:*:*)
1218 echo sx5-nec-superux${UNAME_RELEASE}
1219 exit ;;
1220 SX-6:SUPER-UX:*:*)
1221 echo sx6-nec-superux${UNAME_RELEASE}
1222 exit ;;
1223 SX-7:SUPER-UX:*:*)
1224 echo sx7-nec-superux${UNAME_RELEASE}
1225 exit ;;
1226 SX-8:SUPER-UX:*:*)
1227 echo sx8-nec-superux${UNAME_RELEASE}
1228 exit ;;
1229 SX-8R:SUPER-UX:*:*)
1230 echo sx8r-nec-superux${UNAME_RELEASE}
1231 exit ;;
1232 Power*:Rhapsody:*:*)
1233 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1234 exit ;;
1235 *:Rhapsody:*:*)
1236 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1237 exit ;;
1238 *:Darwin:*:*)
1239 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1240 case $UNAME_PROCESSOR in
1241 i386)
1242 eval $set_cc_for_build
1243 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1244 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1245 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1246 grep IS_64BIT_ARCH >/dev/null
1247 then
1248 UNAME_PROCESSOR="x86_64"
1250 fi ;;
1251 unknown) UNAME_PROCESSOR=powerpc ;;
1252 esac
1253 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1254 exit ;;
1255 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1256 UNAME_PROCESSOR=`uname -p`
1257 if test "$UNAME_PROCESSOR" = "x86"; then
1258 UNAME_PROCESSOR=i386
1259 UNAME_MACHINE=pc
1261 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1262 exit ;;
1263 *:QNX:*:4*)
1264 echo i386-pc-qnx
1265 exit ;;
1266 NEO-?:NONSTOP_KERNEL:*:*)
1267 echo neo-tandem-nsk${UNAME_RELEASE}
1268 exit ;;
1269 NSE-?:NONSTOP_KERNEL:*:*)
1270 echo nse-tandem-nsk${UNAME_RELEASE}
1271 exit ;;
1272 NSR-?:NONSTOP_KERNEL:*:*)
1273 echo nsr-tandem-nsk${UNAME_RELEASE}
1274 exit ;;
1275 *:NonStop-UX:*:*)
1276 echo mips-compaq-nonstopux
1277 exit ;;
1278 BS2000:POSIX*:*:*)
1279 echo bs2000-siemens-sysv
1280 exit ;;
1281 DS/*:UNIX_System_V:*:*)
1282 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1283 exit ;;
1284 *:Plan9:*:*)
1285 # "uname -m" is not consistent, so use $cputype instead. 386
1286 # is converted to i386 for consistency with other x86
1287 # operating systems.
1288 if test "$cputype" = "386"; then
1289 UNAME_MACHINE=i386
1290 else
1291 UNAME_MACHINE="$cputype"
1293 echo ${UNAME_MACHINE}-${VENDOR}-plan9
1294 exit ;;
1295 *:TOPS-10:*:*)
1296 echo pdp10-${VENDOR}-tops10
1297 exit ;;
1298 *:TENEX:*:*)
1299 echo pdp10-${VENDOR}-tenex
1300 exit ;;
1301 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1302 echo pdp10-dec-tops20
1303 exit ;;
1304 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1305 echo pdp10-xkl-tops20
1306 exit ;;
1307 *:TOPS-20:*:*)
1308 echo pdp10-${VENDOR}-tops20
1309 exit ;;
1310 *:ITS:*:*)
1311 echo pdp10-${VENDOR}-its
1312 exit ;;
1313 SEI:*:*:SEIUX)
1314 echo mips-sei-seiux${UNAME_RELEASE}
1315 exit ;;
1316 *:DragonFly:*:*)
1317 echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1318 exit ;;
1319 *:*VMS:*:*)
1320 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1321 case "${UNAME_MACHINE}" in
1322 A*) echo alpha-dec-vms ; exit ;;
1323 I*) echo ia64-dec-vms ; exit ;;
1324 V*) echo vax-dec-vms ; exit ;;
1325 esac ;;
1326 *:XENIX:*:SysV)
1327 echo i386-pc-xenix
1328 exit ;;
1329 i*86:skyos:*:*)
1330 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1331 exit ;;
1332 i*86:rdos:*:*)
1333 echo ${UNAME_MACHINE}-pc-rdos
1334 exit ;;
1335 i*86:AROS:*:*)
1336 echo ${UNAME_MACHINE}-pc-aros
1337 exit ;;
1338 x86_64:VMkernel:*:*)
1339 echo ${UNAME_MACHINE}-${VENDOR}-esx
1340 exit ;;
1341 esac
1343 #echo '(No uname command or uname output not recognized.)' 1>&2
1344 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
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: