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