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