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