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