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