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