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