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