2002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
[official-gcc.git] / config.guess
blob297e5c30f41b65e95341322c77994c4d1d447134
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4 # Free Software Foundation, Inc.
6 timestamp='2001-10-05'
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
27 # Originally written by Per Bothner <bothner@cygnus.com>.
28 # Please send patches to <config-patches@gnu.org>. Submit a context
29 # diff and a properly formatted ChangeLog entry.
31 # This script attempts to guess a canonical system name similar to
32 # config.sub. If it succeeds, it prints the system name on stdout, and
33 # exits with 0. Otherwise, it exits with 1.
35 # The plan is that this can be called by configure scripts if you
36 # don't specify an explicit build system type.
38 me=`echo "$0" | sed -e 's,.*/,,'`
40 usage="\
41 Usage: $0 [OPTION]
43 Output the configuration name of the system \`$me' is run on.
45 Operation modes:
46 -h, --help print this help, then exit
47 -t, --time-stamp print date of last modification, then exit
48 -v, --version print version number, then exit
50 Report bugs and patches to <config-patches@gnu.org>."
52 version="\
53 GNU config.guess ($timestamp)
55 Originally written by Per Bothner.
56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57 Free Software Foundation, Inc.
59 This is free software; see the source for copying conditions. There is NO
60 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
62 help="
63 Try \`$me --help' for more information."
65 # Parse command line
66 while test $# -gt 0 ; do
67 case $1 in
68 --time-stamp | --time* | -t )
69 echo "$timestamp" ; exit 0 ;;
70 --version | -v )
71 echo "$version" ; exit 0 ;;
72 --help | --h* | -h )
73 echo "$usage"; exit 0 ;;
74 -- ) # Stop option processing
75 shift; break ;;
76 - ) # Use stdin as input.
77 break ;;
78 -* )
79 echo "$me: invalid option $1$help" >&2
80 exit 1 ;;
81 * )
82 break ;;
83 esac
84 done
86 if test $# != 0; then
87 echo "$me: too many arguments$help" >&2
88 exit 1
92 dummy=dummy-$$
93 trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
95 # CC_FOR_BUILD -- compiler used by this script.
96 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
97 # use `HOST_CC' if defined, but it is deprecated.
99 set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
100 ,,) echo "int dummy(){}" > $dummy.c ;
101 for c in cc gcc c89 ; do
102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
104 CC_FOR_BUILD="$c"; break ;
105 fi ;
106 done ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
108 if test x"$CC_FOR_BUILD" = x ; then
109 CC_FOR_BUILD=no_compiler_found ;
112 ,,*) CC_FOR_BUILD=$CC ;;
113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
114 esac'
116 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
117 # (ghazi@noc.rutgers.edu 1994-08-24)
118 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
119 PATH=$PATH:/.attbin ; export PATH
122 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
123 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
124 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
125 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
127 # Note: order is significant - the case branches are not exclusive.
129 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
130 *:NetBSD:*:*)
131 # NetBSD (nbsd) targets should (where applicable) match one or
132 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
133 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
134 # switched to ELF, *-*-netbsd* would select the old
135 # object file format. This provides both forward
136 # compatibility and a consistent mechanism for selecting the
137 # object file format.
138 # Determine the machine/vendor (is the vendor relevant).
139 case "${UNAME_MACHINE}" in
140 amiga) machine=m68k-unknown ;;
141 arm32) machine=arm-unknown ;;
142 atari*) machine=m68k-atari ;;
143 sun3*) machine=m68k-sun ;;
144 mac68k) machine=m68k-apple ;;
145 macppc) machine=powerpc-apple ;;
146 hp3[0-9][05]) machine=m68k-hp ;;
147 ibmrt|romp-ibm) machine=romp-ibm ;;
148 sparc*) machine=`uname -p`-unknown ;;
149 *) machine=${UNAME_MACHINE}-unknown ;;
150 esac
151 # The Operating System including object format, if it has switched
152 # to ELF recently, or will in the future.
153 case "${UNAME_MACHINE}" in
154 i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
155 eval $set_cc_for_build
156 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
157 | grep __ELF__ >/dev/null
158 then
159 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
160 # Return netbsd for either. FIX?
161 os=netbsd
162 else
163 os=netbsdelf
167 os=netbsd
169 esac
170 # The OS release
171 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
172 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
173 # contains redundant information, the shorter form:
174 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
175 echo "${machine}-${os}${release}"
176 exit 0 ;;
177 amiga:OpenBSD:*:*)
178 echo m68k-unknown-openbsd${UNAME_RELEASE}
179 exit 0 ;;
180 arc:OpenBSD:*:*)
181 echo mipsel-unknown-openbsd${UNAME_RELEASE}
182 exit 0 ;;
183 hp300:OpenBSD:*:*)
184 echo m68k-unknown-openbsd${UNAME_RELEASE}
185 exit 0 ;;
186 mac68k:OpenBSD:*:*)
187 echo m68k-unknown-openbsd${UNAME_RELEASE}
188 exit 0 ;;
189 macppc:OpenBSD:*:*)
190 echo powerpc-unknown-openbsd${UNAME_RELEASE}
191 exit 0 ;;
192 mvme68k:OpenBSD:*:*)
193 echo m68k-unknown-openbsd${UNAME_RELEASE}
194 exit 0 ;;
195 mvme88k:OpenBSD:*:*)
196 echo m88k-unknown-openbsd${UNAME_RELEASE}
197 exit 0 ;;
198 mvmeppc:OpenBSD:*:*)
199 echo powerpc-unknown-openbsd${UNAME_RELEASE}
200 exit 0 ;;
201 pmax:OpenBSD:*:*)
202 echo mipsel-unknown-openbsd${UNAME_RELEASE}
203 exit 0 ;;
204 sgi:OpenBSD:*:*)
205 echo mipseb-unknown-openbsd${UNAME_RELEASE}
206 exit 0 ;;
207 sun3:OpenBSD:*:*)
208 echo m68k-unknown-openbsd${UNAME_RELEASE}
209 exit 0 ;;
210 wgrisc:OpenBSD:*:*)
211 echo mipsel-unknown-openbsd${UNAME_RELEASE}
212 exit 0 ;;
213 *:OpenBSD:*:*)
214 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
215 exit 0 ;;
216 alpha:OSF1:*:*)
217 if test $UNAME_RELEASE = "V4.0"; then
218 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
220 # A Vn.n version is a released version.
221 # A Tn.n version is a released field test version.
222 # A Xn.n version is an unreleased experimental baselevel.
223 # 1.2 uses "1.2" for uname -r.
224 cat <<EOF >$dummy.s
225 .data
226 \$Lformat:
227 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
229 .text
230 .globl main
231 .align 4
232 .ent main
233 main:
234 .frame \$30,16,\$26,0
235 ldgp \$29,0(\$27)
236 .prologue 1
237 .long 0x47e03d80 # implver \$0
238 lda \$2,-1
239 .long 0x47e20c21 # amask \$2,\$1
240 lda \$16,\$Lformat
241 mov \$0,\$17
242 not \$1,\$18
243 jsr \$26,printf
244 ldgp \$29,0(\$26)
245 mov 0,\$16
246 jsr \$26,exit
247 .end main
249 eval $set_cc_for_build
250 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
251 if test "$?" = 0 ; then
252 case `./$dummy` in
253 0-0)
254 UNAME_MACHINE="alpha"
256 1-0)
257 UNAME_MACHINE="alphaev5"
259 1-1)
260 UNAME_MACHINE="alphaev56"
262 1-101)
263 UNAME_MACHINE="alphapca56"
265 2-303)
266 UNAME_MACHINE="alphaev6"
268 2-307)
269 UNAME_MACHINE="alphaev67"
271 2-1307)
272 UNAME_MACHINE="alphaev68"
274 esac
276 rm -f $dummy.s $dummy
277 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
278 exit 0 ;;
279 Alpha\ *:Windows_NT*:*)
280 # How do we know it's Interix rather than the generic POSIX subsystem?
281 # Should we change UNAME_MACHINE based on the output of uname instead
282 # of the specific Alpha model?
283 echo alpha-pc-interix
284 exit 0 ;;
285 21064:Windows_NT:50:3)
286 echo alpha-dec-winnt3.5
287 exit 0 ;;
288 Amiga*:UNIX_System_V:4.0:*)
289 echo m68k-unknown-sysv4
290 exit 0;;
291 *:[Aa]miga[Oo][Ss]:*:*)
292 echo ${UNAME_MACHINE}-unknown-amigaos
293 exit 0 ;;
294 *:OS/390:*:*)
295 echo i370-ibm-openedition
296 exit 0 ;;
297 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
298 echo arm-acorn-riscix${UNAME_RELEASE}
299 exit 0;;
300 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
301 echo hppa1.1-hitachi-hiuxmpp
302 exit 0;;
303 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
304 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
305 if test "`(/bin/universe) 2>/dev/null`" = att ; then
306 echo pyramid-pyramid-sysv3
307 else
308 echo pyramid-pyramid-bsd
310 exit 0 ;;
311 NILE*:*:*:dcosx)
312 echo pyramid-pyramid-svr4
313 exit 0 ;;
314 sun4H:SunOS:5.*:*)
315 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
316 exit 0 ;;
317 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
318 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
319 exit 0 ;;
320 i86pc:SunOS:5.*:*)
321 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
322 exit 0 ;;
323 sun4*:SunOS:6*:*)
324 # According to config.sub, this is the proper way to canonicalize
325 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
326 # it's likely to be more like Solaris than SunOS4.
327 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 exit 0 ;;
329 sun4*:SunOS:*:*)
330 case "`/usr/bin/arch -k`" in
331 Series*|S4*)
332 UNAME_RELEASE=`uname -v`
334 esac
335 # Japanese Language versions have a version number like `4.1.3-JL'.
336 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
337 exit 0 ;;
338 sun3*:SunOS:*:*)
339 echo m68k-sun-sunos${UNAME_RELEASE}
340 exit 0 ;;
341 sun*:*:4.2BSD:*)
342 UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
343 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
344 case "`/bin/arch`" in
345 sun3)
346 echo m68k-sun-sunos${UNAME_RELEASE}
348 sun4)
349 echo sparc-sun-sunos${UNAME_RELEASE}
351 esac
352 exit 0 ;;
353 aushp:SunOS:*:*)
354 echo sparc-auspex-sunos${UNAME_RELEASE}
355 exit 0 ;;
356 # The situation for MiNT is a little confusing. The machine name
357 # can be virtually everything (everything which is not
358 # "atarist" or "atariste" at least should have a processor
359 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
360 # to the lowercase version "mint" (or "freemint"). Finally
361 # the system name "TOS" denotes a system which is actually not
362 # MiNT. But MiNT is downward compatible to TOS, so this should
363 # be no problem.
364 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
365 echo m68k-atari-mint${UNAME_RELEASE}
366 exit 0 ;;
367 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
368 echo m68k-atari-mint${UNAME_RELEASE}
369 exit 0 ;;
370 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
371 echo m68k-atari-mint${UNAME_RELEASE}
372 exit 0 ;;
373 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
374 echo m68k-milan-mint${UNAME_RELEASE}
375 exit 0 ;;
376 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
377 echo m68k-hades-mint${UNAME_RELEASE}
378 exit 0 ;;
379 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
380 echo m68k-unknown-mint${UNAME_RELEASE}
381 exit 0 ;;
382 powerpc:machten:*:*)
383 echo powerpc-apple-machten${UNAME_RELEASE}
384 exit 0 ;;
385 RISC*:Mach:*:*)
386 echo mips-dec-mach_bsd4.3
387 exit 0 ;;
388 RISC*:ULTRIX:*:*)
389 echo mips-dec-ultrix${UNAME_RELEASE}
390 exit 0 ;;
391 VAX*:ULTRIX*:*:*)
392 echo vax-dec-ultrix${UNAME_RELEASE}
393 exit 0 ;;
394 2020:CLIX:*:* | 2430:CLIX:*:*)
395 echo clipper-intergraph-clix${UNAME_RELEASE}
396 exit 0 ;;
397 mips:*:*:UMIPS | mips:*:*:RISCos)
398 eval $set_cc_for_build
399 sed 's/^ //' << EOF >$dummy.c
400 #ifdef __cplusplus
401 #include <stdio.h> /* for printf() prototype */
402 int main (int argc, char *argv[]) {
403 #else
404 int main (argc, argv) int argc; char *argv[]; {
405 #endif
406 #if defined (host_mips) && defined (MIPSEB)
407 #if defined (SYSTYPE_SYSV)
408 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
409 #endif
410 #if defined (SYSTYPE_SVR4)
411 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
412 #endif
413 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
414 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
415 #endif
416 #endif
417 exit (-1);
420 $CC_FOR_BUILD $dummy.c -o $dummy \
421 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
422 && rm -f $dummy.c $dummy && exit 0
423 rm -f $dummy.c $dummy
424 echo mips-mips-riscos${UNAME_RELEASE}
425 exit 0 ;;
426 Motorola:PowerMAX_OS:*:*)
427 echo powerpc-motorola-powermax
428 exit 0 ;;
429 Night_Hawk:Power_UNIX:*:*)
430 echo powerpc-harris-powerunix
431 exit 0 ;;
432 m88k:CX/UX:7*:*)
433 echo m88k-harris-cxux7
434 exit 0 ;;
435 m88k:*:4*:R4*)
436 echo m88k-motorola-sysv4
437 exit 0 ;;
438 m88k:*:3*:R3*)
439 echo m88k-motorola-sysv3
440 exit 0 ;;
441 AViiON:dgux:*:*)
442 # DG/UX returns AViiON for all architectures
443 UNAME_PROCESSOR=`/usr/bin/uname -p`
444 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
445 then
446 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
447 [ ${TARGET_BINARY_INTERFACE}x = x ]
448 then
449 echo m88k-dg-dgux${UNAME_RELEASE}
450 else
451 echo m88k-dg-dguxbcs${UNAME_RELEASE}
453 else
454 echo i586-dg-dgux${UNAME_RELEASE}
456 exit 0 ;;
457 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
458 echo m88k-dolphin-sysv3
459 exit 0 ;;
460 M88*:*:R3*:*)
461 # Delta 88k system running SVR3
462 echo m88k-motorola-sysv3
463 exit 0 ;;
464 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
465 echo m88k-tektronix-sysv3
466 exit 0 ;;
467 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
468 echo m68k-tektronix-bsd
469 exit 0 ;;
470 *:IRIX*:*:*)
471 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
472 exit 0 ;;
473 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
474 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
475 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
476 i*86:AIX:*:*)
477 echo i386-ibm-aix
478 exit 0 ;;
479 ia64:AIX:*:*)
480 if [ -x /usr/bin/oslevel ] ; then
481 IBM_REV=`/usr/bin/oslevel`
482 else
483 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
485 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
486 exit 0 ;;
487 *:AIX:2:3)
488 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
489 eval $set_cc_for_build
490 sed 's/^ //' << EOF >$dummy.c
491 #include <sys/systemcfg.h>
493 main()
495 if (!__power_pc())
496 exit(1);
497 puts("powerpc-ibm-aix3.2.5");
498 exit(0);
501 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
502 rm -f $dummy.c $dummy
503 echo rs6000-ibm-aix3.2.5
504 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
505 echo rs6000-ibm-aix3.2.4
506 else
507 echo rs6000-ibm-aix3.2
509 exit 0 ;;
510 *:AIX:*:[45])
511 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
512 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
513 IBM_ARCH=rs6000
514 else
515 IBM_ARCH=powerpc
517 if [ -x /usr/bin/oslevel ] ; then
518 IBM_REV=`/usr/bin/oslevel`
519 else
520 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
523 exit 0 ;;
524 *:AIX:*:*)
525 echo rs6000-ibm-aix
526 exit 0 ;;
527 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
528 echo romp-ibm-bsd4.4
529 exit 0 ;;
530 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
531 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
532 exit 0 ;; # report: romp-ibm BSD 4.3
533 *:BOSX:*:*)
534 echo rs6000-bull-bosx
535 exit 0 ;;
536 DPX/2?00:B.O.S.:*:*)
537 echo m68k-bull-sysv3
538 exit 0 ;;
539 9000/[34]??:4.3bsd:1.*:*)
540 echo m68k-hp-bsd
541 exit 0 ;;
542 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
543 echo m68k-hp-bsd4.4
544 exit 0 ;;
545 9000/[34678]??:HP-UX:*:*)
546 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
547 case "${UNAME_MACHINE}" in
548 9000/31? ) HP_ARCH=m68000 ;;
549 9000/[34]?? ) HP_ARCH=m68k ;;
550 9000/[678][0-9][0-9])
551 if [ -x /usr/bin/getconf ]; then
552 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
553 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
554 case "${sc_cpu_version}" in
555 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
556 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
557 532) # CPU_PA_RISC2_0
558 case "${sc_kernel_bits}" in
559 32) HP_ARCH="hppa2.0n" ;;
560 64) HP_ARCH="hppa2.0w" ;;
561 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
562 esac ;;
563 esac
565 if [ "${HP_ARCH}" = "" ]; then
566 eval $set_cc_for_build
567 sed 's/^ //' << EOF >$dummy.c
569 #define _HPUX_SOURCE
570 #include <stdlib.h>
571 #include <unistd.h>
573 int main ()
575 #if defined(_SC_KERNEL_BITS)
576 long bits = sysconf(_SC_KERNEL_BITS);
577 #endif
578 long cpu = sysconf (_SC_CPU_VERSION);
580 switch (cpu)
582 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
583 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
584 case CPU_PA_RISC2_0:
585 #if defined(_SC_KERNEL_BITS)
586 switch (bits)
588 case 64: puts ("hppa2.0w"); break;
589 case 32: puts ("hppa2.0n"); break;
590 default: puts ("hppa2.0"); break;
591 } break;
592 #else /* !defined(_SC_KERNEL_BITS) */
593 puts ("hppa2.0"); break;
594 #endif
595 default: puts ("hppa1.0"); break;
597 exit (0);
600 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
601 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602 rm -f $dummy.c $dummy
603 fi ;;
604 esac
605 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
606 exit 0 ;;
607 ia64:HP-UX:*:*)
608 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
609 echo ia64-hp-hpux${HPUX_REV}
610 exit 0 ;;
611 3050*:HI-UX:*:*)
612 eval $set_cc_for_build
613 sed 's/^ //' << EOF >$dummy.c
614 #include <unistd.h>
616 main ()
618 long cpu = sysconf (_SC_CPU_VERSION);
619 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
620 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
621 results, however. */
622 if (CPU_IS_PA_RISC (cpu))
624 switch (cpu)
626 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
627 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
628 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
629 default: puts ("hppa-hitachi-hiuxwe2"); break;
632 else if (CPU_IS_HP_MC68K (cpu))
633 puts ("m68k-hitachi-hiuxwe2");
634 else puts ("unknown-hitachi-hiuxwe2");
635 exit (0);
638 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639 rm -f $dummy.c $dummy
640 echo unknown-hitachi-hiuxwe2
641 exit 0 ;;
642 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
643 echo hppa1.1-hp-bsd
644 exit 0 ;;
645 9000/8??:4.3bsd:*:*)
646 echo hppa1.0-hp-bsd
647 exit 0 ;;
648 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
649 echo hppa1.0-hp-mpeix
650 exit 0 ;;
651 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
652 echo hppa1.1-hp-osf
653 exit 0 ;;
654 hp8??:OSF1:*:*)
655 echo hppa1.0-hp-osf
656 exit 0 ;;
657 i*86:OSF1:*:*)
658 if [ -x /usr/sbin/sysversion ] ; then
659 echo ${UNAME_MACHINE}-unknown-osf1mk
660 else
661 echo ${UNAME_MACHINE}-unknown-osf1
663 exit 0 ;;
664 parisc*:Lites*:*:*)
665 echo hppa1.1-hp-lites
666 exit 0 ;;
667 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
668 echo c1-convex-bsd
669 exit 0 ;;
670 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
671 if getsysinfo -f scalar_acc
672 then echo c32-convex-bsd
673 else echo c2-convex-bsd
675 exit 0 ;;
676 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
677 echo c34-convex-bsd
678 exit 0 ;;
679 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
680 echo c38-convex-bsd
681 exit 0 ;;
682 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
683 echo c4-convex-bsd
684 exit 0 ;;
685 CRAY*X-MP:*:*:*)
686 echo xmp-cray-unicos
687 exit 0 ;;
688 CRAY*Y-MP:*:*:*)
689 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
690 exit 0 ;;
691 CRAY*[A-Z]90:*:*:*)
692 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
693 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
694 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
695 -e 's/\.[^.]*$/.X/'
696 exit 0 ;;
697 CRAY*TS:*:*:*)
698 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
699 exit 0 ;;
700 CRAY*T3D:*:*:*)
701 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702 exit 0 ;;
703 CRAY*T3E:*:*:*)
704 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705 exit 0 ;;
706 CRAY*SV1:*:*:*)
707 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708 exit 0 ;;
709 CRAY-2:*:*:*)
710 echo cray2-cray-unicos
711 exit 0 ;;
712 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
713 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
714 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
715 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
716 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
717 exit 0 ;;
718 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
719 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
720 exit 0 ;;
721 sparc*:BSD/OS:*:*)
722 echo sparc-unknown-bsdi${UNAME_RELEASE}
723 exit 0 ;;
724 *:BSD/OS:*:*)
725 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
726 exit 0 ;;
727 *:FreeBSD:*:*)
728 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
729 exit 0 ;;
730 i*:CYGWIN*:*)
731 echo ${UNAME_MACHINE}-pc-cygwin
732 exit 0 ;;
733 i*:MINGW*:*)
734 echo ${UNAME_MACHINE}-pc-mingw32
735 exit 0 ;;
736 i*:PW*:*)
737 echo ${UNAME_MACHINE}-pc-pw32
738 exit 0 ;;
739 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
740 # How do we know it's Interix rather than the generic POSIX subsystem?
741 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
742 # UNAME_MACHINE based on the output of uname instead of i386?
743 echo i386-pc-interix
744 exit 0 ;;
745 i*:UWIN*:*)
746 echo ${UNAME_MACHINE}-pc-uwin
747 exit 0 ;;
748 p*:CYGWIN*:*)
749 echo powerpcle-unknown-cygwin
750 exit 0 ;;
751 prep*:SunOS:5.*:*)
752 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
753 exit 0 ;;
754 *:GNU:*:*)
755 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
756 exit 0 ;;
757 i*86:Minix:*:*)
758 echo ${UNAME_MACHINE}-pc-minix
759 exit 0 ;;
760 arm*:Linux:*:*)
761 echo ${UNAME_MACHINE}-unknown-linux-gnu
762 exit 0 ;;
763 ia64:Linux:*:*)
764 echo ${UNAME_MACHINE}-unknown-linux
765 exit 0 ;;
766 m68*:Linux:*:*)
767 echo ${UNAME_MACHINE}-unknown-linux-gnu
768 exit 0 ;;
769 mips:Linux:*:*)
770 case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
771 big) echo mips-unknown-linux-gnu && exit 0 ;;
772 little) echo mipsel-unknown-linux-gnu && exit 0 ;;
773 esac
775 ppc:Linux:*:*)
776 echo powerpc-unknown-linux-gnu
777 exit 0 ;;
778 ppc64:Linux:*:*)
779 echo powerpc64-unknown-linux-gnu
780 exit 0 ;;
781 alpha:Linux:*:*)
782 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
783 EV5) UNAME_MACHINE=alphaev5 ;;
784 EV56) UNAME_MACHINE=alphaev56 ;;
785 PCA56) UNAME_MACHINE=alphapca56 ;;
786 PCA57) UNAME_MACHINE=alphapca56 ;;
787 EV6) UNAME_MACHINE=alphaev6 ;;
788 EV67) UNAME_MACHINE=alphaev67 ;;
789 EV68*) UNAME_MACHINE=alphaev68 ;;
790 esac
791 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
792 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
793 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
794 exit 0 ;;
795 parisc:Linux:*:* | hppa:Linux:*:*)
796 # Look for CPU level
797 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
798 PA7*) echo hppa1.1-unknown-linux-gnu ;;
799 PA8*) echo hppa2.0-unknown-linux-gnu ;;
800 *) echo hppa-unknown-linux-gnu ;;
801 esac
802 exit 0 ;;
803 parisc64:Linux:*:* | hppa64:Linux:*:*)
804 echo hppa64-unknown-linux-gnu
805 exit 0 ;;
806 s390:Linux:*:* | s390x:Linux:*:*)
807 echo ${UNAME_MACHINE}-ibm-linux
808 exit 0 ;;
809 sh*:Linux:*:*)
810 echo ${UNAME_MACHINE}-unknown-linux-gnu
811 exit 0 ;;
812 sparc:Linux:*:* | sparc64:Linux:*:*)
813 echo ${UNAME_MACHINE}-unknown-linux-gnu
814 exit 0 ;;
815 x86_64:Linux:*:*)
816 echo x86_64-unknown-linux-gnu
817 exit 0 ;;
818 i*86:Linux:*:*)
819 # The BFD linker knows what the default object file format is, so
820 # first see if it will tell us. cd to the root directory to prevent
821 # problems with other programs or directories called `ld' in the path.
822 ld_supported_targets=`cd /; ld --help 2>&1 \
823 | sed -ne '/supported targets:/!d
824 s/[ ][ ]*/ /g
825 s/.*supported targets: *//
826 s/ .*//
828 case "$ld_supported_targets" in
829 elf32-i386)
830 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
832 a.out-i386-linux)
833 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
834 exit 0 ;;
835 coff-i386)
836 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
837 exit 0 ;;
839 # Either a pre-BFD a.out linker (linux-gnuoldld) or
840 # one that does not give us useful --help.
841 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
842 exit 0 ;;
843 esac
844 # Determine whether the default compiler is a.out or elf
845 eval $set_cc_for_build
846 cat >$dummy.c <<EOF
847 #include <features.h>
848 #ifdef __cplusplus
849 #include <stdio.h> /* for printf() prototype */
850 int main (int argc, char *argv[]) {
851 #else
852 int main (argc, argv) int argc; char *argv[]; {
853 #endif
854 #ifdef __ELF__
855 # ifdef __GLIBC__
856 # if __GLIBC__ >= 2
857 printf ("%s-pc-linux-gnu\n", argv[1]);
858 # else
859 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
860 # endif
861 # else
862 printf ("%s-pc-linux-gnulibc1\n", argv[1]);
863 # endif
864 #else
865 printf ("%s-pc-linux-gnuaout\n", argv[1]);
866 #endif
867 return 0;
870 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
871 rm -f $dummy.c $dummy
872 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
874 i*86:DYNIX/ptx:4*:*)
875 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
876 # earlier versions are messed up and put the nodename in both
877 # sysname and nodename.
878 echo i386-sequent-sysv4
879 exit 0 ;;
880 i*86:UNIX_SV:4.2MP:2.*)
881 # Unixware is an offshoot of SVR4, but it has its own version
882 # number series starting with 2...
883 # I am not positive that other SVR4 systems won't match this,
884 # I just have to hope. -- rms.
885 # Use sysv4.2uw... so that sysv4* matches it.
886 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
887 exit 0 ;;
888 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
889 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
890 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
891 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
892 else
893 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
895 exit 0 ;;
896 i*86:*:5:[78]*)
897 case `/bin/uname -X | grep "^Machine"` in
898 *486*) UNAME_MACHINE=i486 ;;
899 *Pentium) UNAME_MACHINE=i586 ;;
900 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
901 esac
902 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
903 exit 0 ;;
904 i*86:*:3.2:*)
905 if test -f /usr/options/cb.name; then
906 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
907 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
908 elif /bin/uname -X 2>/dev/null >/dev/null ; then
909 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
910 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
911 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
912 && UNAME_MACHINE=i586
913 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
914 && UNAME_MACHINE=i686
915 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
916 && UNAME_MACHINE=i686
917 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
918 else
919 echo ${UNAME_MACHINE}-pc-sysv32
921 exit 0 ;;
922 i*86:*DOS:*:*)
923 echo ${UNAME_MACHINE}-pc-msdosdjgpp
924 exit 0 ;;
925 pc:*:*:*)
926 # Left here for compatibility:
927 # uname -m prints for DJGPP always 'pc', but it prints nothing about
928 # the processor, so we play safe by assuming i386.
929 echo i386-pc-msdosdjgpp
930 exit 0 ;;
931 Intel:Mach:3*:*)
932 echo i386-pc-mach3
933 exit 0 ;;
934 paragon:*:*:*)
935 echo i860-intel-osf1
936 exit 0 ;;
937 i860:*:4.*:*) # i860-SVR4
938 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
939 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
940 else # Add other i860-SVR4 vendors below as they are discovered.
941 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
943 exit 0 ;;
944 mini*:CTIX:SYS*5:*)
945 # "miniframe"
946 echo m68010-convergent-sysv
947 exit 0 ;;
948 M68*:*:R3V[567]*:*)
949 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
950 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
951 OS_REL=''
952 test -r /etc/.relid \
953 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
954 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
955 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
956 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
957 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
958 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
959 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
960 && echo i486-ncr-sysv4 && exit 0 ;;
961 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
962 echo m68k-unknown-lynxos${UNAME_RELEASE}
963 exit 0 ;;
964 mc68030:UNIX_System_V:4.*:*)
965 echo m68k-atari-sysv4
966 exit 0 ;;
967 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
968 echo i386-unknown-lynxos${UNAME_RELEASE}
969 exit 0 ;;
970 TSUNAMI:LynxOS:2.*:*)
971 echo sparc-unknown-lynxos${UNAME_RELEASE}
972 exit 0 ;;
973 rs6000:LynxOS:2.*:*)
974 echo rs6000-unknown-lynxos${UNAME_RELEASE}
975 exit 0 ;;
976 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
977 echo powerpc-unknown-lynxos${UNAME_RELEASE}
978 exit 0 ;;
979 SM[BE]S:UNIX_SV:*:*)
980 echo mips-dde-sysv${UNAME_RELEASE}
981 exit 0 ;;
982 RM*:ReliantUNIX-*:*:*)
983 echo mips-sni-sysv4
984 exit 0 ;;
985 RM*:SINIX-*:*:*)
986 echo mips-sni-sysv4
987 exit 0 ;;
988 *:SINIX-*:*:*)
989 if uname -p 2>/dev/null >/dev/null ; then
990 UNAME_MACHINE=`(uname -p) 2>/dev/null`
991 echo ${UNAME_MACHINE}-sni-sysv4
992 else
993 echo ns32k-sni-sysv
995 exit 0 ;;
996 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
997 # says <Richard.M.Bartel@ccMail.Census.GOV>
998 echo i586-unisys-sysv4
999 exit 0 ;;
1000 *:UNIX_System_V:4*:FTX*)
1001 # From Gerald Hewes <hewes@openmarket.com>.
1002 # How about differentiating between stratus architectures? -djm
1003 echo hppa1.1-stratus-sysv4
1004 exit 0 ;;
1005 *:*:*:FTX*)
1006 # From seanf@swdc.stratus.com.
1007 echo i860-stratus-sysv4
1008 exit 0 ;;
1009 *:VOS:*:*)
1010 # From Paul.Green@stratus.com.
1011 echo hppa1.1-stratus-vos
1012 exit 0 ;;
1013 mc68*:A/UX:*:*)
1014 echo m68k-apple-aux${UNAME_RELEASE}
1015 exit 0 ;;
1016 news*:NEWS-OS:6*:*)
1017 echo mips-sony-newsos6
1018 exit 0 ;;
1019 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1020 if [ -d /usr/nec ]; then
1021 echo mips-nec-sysv${UNAME_RELEASE}
1022 else
1023 echo mips-unknown-sysv${UNAME_RELEASE}
1025 exit 0 ;;
1026 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1027 echo powerpc-be-beos
1028 exit 0 ;;
1029 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1030 echo powerpc-apple-beos
1031 exit 0 ;;
1032 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1033 echo i586-pc-beos
1034 exit 0 ;;
1035 SX-4:SUPER-UX:*:*)
1036 echo sx4-nec-superux${UNAME_RELEASE}
1037 exit 0 ;;
1038 SX-5:SUPER-UX:*:*)
1039 echo sx5-nec-superux${UNAME_RELEASE}
1040 exit 0 ;;
1041 Power*:Rhapsody:*:*)
1042 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1043 exit 0 ;;
1044 *:Rhapsody:*:*)
1045 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1046 exit 0 ;;
1047 *:Darwin:*:*)
1048 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1049 exit 0 ;;
1050 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1051 if test "${UNAME_MACHINE}" = "x86pc"; then
1052 UNAME_MACHINE=pc
1054 echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1055 exit 0 ;;
1056 *:QNX:*:4*)
1057 echo i386-pc-qnx
1058 exit 0 ;;
1059 NSR-[KW]:NONSTOP_KERNEL:*:*)
1060 echo nsr-tandem-nsk${UNAME_RELEASE}
1061 exit 0 ;;
1062 *:NonStop-UX:*:*)
1063 echo mips-compaq-nonstopux
1064 exit 0 ;;
1065 BS2000:POSIX*:*:*)
1066 echo bs2000-siemens-sysv
1067 exit 0 ;;
1068 DS/*:UNIX_System_V:*:*)
1069 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1070 exit 0 ;;
1071 *:Plan9:*:*)
1072 # "uname -m" is not consistent, so use $cputype instead. 386
1073 # is converted to i386 for consistency with other x86
1074 # operating systems.
1075 if test "$cputype" = "386"; then
1076 UNAME_MACHINE=i386
1077 else
1078 UNAME_MACHINE="$cputype"
1080 echo ${UNAME_MACHINE}-unknown-plan9
1081 exit 0 ;;
1082 i*86:OS/2:*:*)
1083 # If we were able to find `uname', then EMX Unix compatibility
1084 # is probably installed.
1085 echo ${UNAME_MACHINE}-pc-os2-emx
1086 exit 0 ;;
1087 *:TOPS-10:*:*)
1088 echo pdp10-unknown-tops10
1089 exit 0 ;;
1090 *:TENEX:*:*)
1091 echo pdp10-unknown-tenex
1092 exit 0 ;;
1093 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1094 echo pdp10-dec-tops20
1095 exit 0 ;;
1096 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1097 echo pdp10-xkl-tops20
1098 exit 0 ;;
1099 *:TOPS-20:*:*)
1100 echo pdp10-unknown-tops20
1101 exit 0 ;;
1102 *:ITS:*:*)
1103 echo pdp10-unknown-its
1104 exit 0 ;;
1105 i*86:XTS-300:*:STOP)
1106 echo ${UNAME_MACHINE}-unknown-stop
1107 exit 0 ;;
1108 i*86:atheos:*:*)
1109 echo ${UNAME_MACHINE}-unknown-atheos
1110 exit 0 ;;
1111 esac
1113 #echo '(No uname command or uname output not recognized.)' 1>&2
1114 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1116 eval $set_cc_for_build
1117 cat >$dummy.c <<EOF
1118 #ifdef _SEQUENT_
1119 # include <sys/types.h>
1120 # include <sys/utsname.h>
1121 #endif
1122 main ()
1124 #if defined (sony)
1125 #if defined (MIPSEB)
1126 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1127 I don't know.... */
1128 printf ("mips-sony-bsd\n"); exit (0);
1129 #else
1130 #include <sys/param.h>
1131 printf ("m68k-sony-newsos%s\n",
1132 #ifdef NEWSOS4
1134 #else
1136 #endif
1137 ); exit (0);
1138 #endif
1139 #endif
1141 #if defined (__arm) && defined (__acorn) && defined (__unix)
1142 printf ("arm-acorn-riscix"); exit (0);
1143 #endif
1145 #if defined (hp300) && !defined (hpux)
1146 printf ("m68k-hp-bsd\n"); exit (0);
1147 #endif
1149 #if defined (NeXT)
1150 #if !defined (__ARCHITECTURE__)
1151 #define __ARCHITECTURE__ "m68k"
1152 #endif
1153 int version;
1154 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1155 if (version < 4)
1156 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1157 else
1158 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1159 exit (0);
1160 #endif
1162 #if defined (MULTIMAX) || defined (n16)
1163 #if defined (UMAXV)
1164 printf ("ns32k-encore-sysv\n"); exit (0);
1165 #else
1166 #if defined (CMU)
1167 printf ("ns32k-encore-mach\n"); exit (0);
1168 #else
1169 printf ("ns32k-encore-bsd\n"); exit (0);
1170 #endif
1171 #endif
1172 #endif
1174 #if defined (__386BSD__)
1175 printf ("i386-pc-bsd\n"); exit (0);
1176 #endif
1178 #if defined (sequent)
1179 #if defined (i386)
1180 printf ("i386-sequent-dynix\n"); exit (0);
1181 #endif
1182 #if defined (ns32000)
1183 printf ("ns32k-sequent-dynix\n"); exit (0);
1184 #endif
1185 #endif
1187 #if defined (_SEQUENT_)
1188 struct utsname un;
1190 uname(&un);
1192 if (strncmp(un.version, "V2", 2) == 0) {
1193 printf ("i386-sequent-ptx2\n"); exit (0);
1195 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1196 printf ("i386-sequent-ptx1\n"); exit (0);
1198 printf ("i386-sequent-ptx\n"); exit (0);
1200 #endif
1202 #if defined (vax)
1203 # if !defined (ultrix)
1204 # include <sys/param.h>
1205 # if defined (BSD)
1206 # if BSD == 43
1207 printf ("vax-dec-bsd4.3\n"); exit (0);
1208 # else
1209 # if BSD == 199006
1210 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1211 # else
1212 printf ("vax-dec-bsd\n"); exit (0);
1213 # endif
1214 # endif
1215 # else
1216 printf ("vax-dec-bsd\n"); exit (0);
1217 # endif
1218 # else
1219 printf ("vax-dec-ultrix\n"); exit (0);
1220 # endif
1221 #endif
1223 #if defined (alliant) && defined (i860)
1224 printf ("i860-alliant-bsd\n"); exit (0);
1225 #endif
1227 exit (1);
1231 $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1232 rm -f $dummy.c $dummy
1234 # Apollos put the system type in the environment.
1236 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1238 # Convex versions that predate uname can use getsysinfo(1)
1240 if [ -x /usr/convex/getsysinfo ]
1241 then
1242 case `getsysinfo -f cpu_type` in
1243 c1*)
1244 echo c1-convex-bsd
1245 exit 0 ;;
1246 c2*)
1247 if getsysinfo -f scalar_acc
1248 then echo c32-convex-bsd
1249 else echo c2-convex-bsd
1251 exit 0 ;;
1252 c34*)
1253 echo c34-convex-bsd
1254 exit 0 ;;
1255 c38*)
1256 echo c38-convex-bsd
1257 exit 0 ;;
1258 c4*)
1259 echo c4-convex-bsd
1260 exit 0 ;;
1261 esac
1264 cat >&2 <<EOF
1265 $0: unable to guess system type
1267 This script, last modified $timestamp, has failed to recognize
1268 the operating system you are using. It is advised that you
1269 download the most up to date version of the config scripts from
1271 ftp://ftp.gnu.org/pub/gnu/config/
1273 If the version you run ($0) is already up to date, please
1274 send the following data and any information you think might be
1275 pertinent to <config-patches@gnu.org> in order to provide the needed
1276 information to handle your system.
1278 config.guess timestamp = $timestamp
1280 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1281 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1282 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1283 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1285 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1286 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1288 hostinfo = `(hostinfo) 2>/dev/null`
1289 /bin/universe = `(/bin/universe) 2>/dev/null`
1290 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1291 /bin/arch = `(/bin/arch) 2>/dev/null`
1292 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1293 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1295 UNAME_MACHINE = ${UNAME_MACHINE}
1296 UNAME_RELEASE = ${UNAME_RELEASE}
1297 UNAME_SYSTEM = ${UNAME_SYSTEM}
1298 UNAME_VERSION = ${UNAME_VERSION}
1301 exit 1
1303 # Local variables:
1304 # eval: (add-hook 'write-file-hooks 'time-stamp)
1305 # time-stamp-start: "timestamp='"
1306 # time-stamp-format: "%:y-%02m-%02d"
1307 # time-stamp-end: "'"
1308 # End: