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