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