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