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