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