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