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