libsodium: Needed for Dnscrypto-proxy Release 1.3.0
[tomato.git] / release / src / router / ntfs-3g / config.guess
blobe6b5d5b86fe8f3755fe55cf9a674aa205bf609b9
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
5 # Free Software Foundation, Inc.
7 timestamp='2008-01-08'
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, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22 # 02110-1301, USA.
24 # As a special exception to the GNU General Public License, if you
25 # distribute this file as part of a program that contains a
26 # configuration script generated by Autoconf, you may include it under
27 # the same distribution terms that you use for the rest of that program.
30 # Originally written by Per Bothner <per@bothner.com>.
31 # Please send patches to <config-patches@gnu.org>. Submit a context
32 # diff and a properly formatted ChangeLog entry.
34 # This script attempts to guess a canonical system name similar to
35 # config.sub. If it succeeds, it prints the system name on stdout, and
36 # exits with 0. Otherwise, it exits with 1.
38 # The plan is that this can be called by configure scripts if you
39 # don't specify an explicit build system type.
41 me=`echo "$0" | sed -e 's,.*/,,'`
43 usage="\
44 Usage: $0 [OPTION]
46 Output the configuration name of the system \`$me' is run on.
48 Operation modes:
49 -h, --help print this help, then exit
50 -t, --time-stamp print date of last modification, then exit
51 -v, --version print version number, then exit
53 Report bugs and patches to <config-patches@gnu.org>."
55 version="\
56 GNU config.guess ($timestamp)
58 Originally written by Per Bothner.
59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
62 This is free software; see the source for copying conditions. There is NO
63 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
65 help="
66 Try \`$me --help' for more information."
68 # Parse command line
69 while test $# -gt 0 ; do
70 case $1 in
71 --time-stamp | --time* | -t )
72 echo "$timestamp" ; exit ;;
73 --version | -v )
74 echo "$version" ; exit ;;
75 --help | --h* | -h )
76 echo "$usage"; exit ;;
77 -- ) # Stop option processing
78 shift; break ;;
79 - ) # Use stdin as input.
80 break ;;
81 -* )
82 echo "$me: invalid option $1$help" >&2
83 exit 1 ;;
84 * )
85 break ;;
86 esac
87 done
89 if test $# != 0; then
90 echo "$me: too many arguments$help" >&2
91 exit 1
94 trap 'exit 1' 1 2 15
96 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97 # compiler to aid in system detection is discouraged as it requires
98 # temporary files to be created and, as you can see below, it is a
99 # headache to deal with in a portable fashion.
101 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102 # use `HOST_CC' if defined, but it is deprecated.
104 # Portable tmp directory creation inspired by the Autoconf team.
106 set_cc_for_build='
107 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109 : ${TMPDIR=/tmp} ;
110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114 dummy=$tmp/dummy ;
115 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116 case $CC_FOR_BUILD,$HOST_CC,$CC in
117 ,,) echo "int x;" > $dummy.c ;
118 for c in cc gcc c89 c99 ; do
119 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120 CC_FOR_BUILD="$c"; break ;
121 fi ;
122 done ;
123 if test x"$CC_FOR_BUILD" = x ; then
124 CC_FOR_BUILD=no_compiler_found ;
127 ,,*) CC_FOR_BUILD=$CC ;;
128 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
129 esac ; set_cc_for_build= ;'
131 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132 # (ghazi@noc.rutgers.edu 1994-08-24)
133 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134 PATH=$PATH:/.attbin ; export PATH
137 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
140 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
142 case "${UNAME_MACHINE}" in
143 i?86)
144 test -z "$VENDOR" && VENDOR=pc
147 test -z "$VENDOR" && VENDOR=unknown
149 esac
150 test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
152 # Note: order is significant - the case branches are not exclusive.
154 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
155 *:NetBSD:*:*)
156 # NetBSD (nbsd) targets should (where applicable) match one or
157 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
158 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
159 # switched to ELF, *-*-netbsd* would select the old
160 # object file format. This provides both forward
161 # compatibility and a consistent mechanism for selecting the
162 # object file format.
164 # Note: NetBSD doesn't particularly care about the vendor
165 # portion of the name. We always set it to "unknown".
166 sysctl="sysctl -n hw.machine_arch"
167 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
168 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
169 case "${UNAME_MACHINE_ARCH}" in
170 armeb) machine=armeb-unknown ;;
171 arm*) machine=arm-unknown ;;
172 sh3el) machine=shl-unknown ;;
173 sh3eb) machine=sh-unknown ;;
174 sh5el) machine=sh5le-unknown ;;
175 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
176 esac
177 # The Operating System including object format, if it has switched
178 # to ELF recently, or will in the future.
179 case "${UNAME_MACHINE_ARCH}" in
180 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
181 eval $set_cc_for_build
182 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
183 | grep __ELF__ >/dev/null
184 then
185 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
186 # Return netbsd for either. FIX?
187 os=netbsd
188 else
189 os=netbsdelf
193 os=netbsd
195 esac
196 # The OS release
197 # Debian GNU/NetBSD machines have a different userland, and
198 # thus, need a distinct triplet. However, they do not need
199 # kernel version information, so it can be replaced with a
200 # suitable tag, in the style of linux-gnu.
201 case "${UNAME_VERSION}" in
202 Debian*)
203 release='-gnu'
206 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
208 esac
209 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
210 # contains redundant information, the shorter form:
211 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
212 echo "${machine}-${os}${release}"
213 exit ;;
214 *:OpenBSD:*:*)
215 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
216 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
217 exit ;;
218 *:ekkoBSD:*:*)
219 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
220 exit ;;
221 *:SolidBSD:*:*)
222 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
223 exit ;;
224 macppc:MirBSD:*:*)
225 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
226 exit ;;
227 *:MirBSD:*:*)
228 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
229 exit ;;
230 alpha:OSF1:*:*)
231 case $UNAME_RELEASE in
232 *4.0)
233 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
235 *5.*)
236 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
238 esac
239 # According to Compaq, /usr/sbin/psrinfo has been available on
240 # OSF/1 and Tru64 systems produced since 1995. I hope that
241 # covers most systems running today. This code pipes the CPU
242 # types through head -n 1, so we only detect the type of CPU 0.
243 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
244 case "$ALPHA_CPU_TYPE" in
245 "EV4 (21064)")
246 UNAME_MACHINE="alpha" ;;
247 "EV4.5 (21064)")
248 UNAME_MACHINE="alpha" ;;
249 "LCA4 (21066/21068)")
250 UNAME_MACHINE="alpha" ;;
251 "EV5 (21164)")
252 UNAME_MACHINE="alphaev5" ;;
253 "EV5.6 (21164A)")
254 UNAME_MACHINE="alphaev56" ;;
255 "EV5.6 (21164PC)")
256 UNAME_MACHINE="alphapca56" ;;
257 "EV5.7 (21164PC)")
258 UNAME_MACHINE="alphapca57" ;;
259 "EV6 (21264)")
260 UNAME_MACHINE="alphaev6" ;;
261 "EV6.7 (21264A)")
262 UNAME_MACHINE="alphaev67" ;;
263 "EV6.8CB (21264C)")
264 UNAME_MACHINE="alphaev68" ;;
265 "EV6.8AL (21264B)")
266 UNAME_MACHINE="alphaev68" ;;
267 "EV6.8CX (21264D)")
268 UNAME_MACHINE="alphaev68" ;;
269 "EV6.9A (21264/EV69A)")
270 UNAME_MACHINE="alphaev69" ;;
271 "EV7 (21364)")
272 UNAME_MACHINE="alphaev7" ;;
273 "EV7.9 (21364A)")
274 UNAME_MACHINE="alphaev79" ;;
275 esac
276 # A Pn.n version is a patched version.
277 # A Vn.n version is a released version.
278 # A Tn.n version is a released field test version.
279 # A Xn.n version is an unreleased experimental baselevel.
280 # 1.2 uses "1.2" for uname -r.
281 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
282 exit ;;
283 Alpha\ *:Windows_NT*:*)
284 # How do we know it's Interix rather than the generic POSIX subsystem?
285 # Should we change UNAME_MACHINE based on the output of uname instead
286 # of the specific Alpha model?
287 echo alpha-pc-interix
288 exit ;;
289 21064:Windows_NT:50:3)
290 echo alpha-dec-winnt3.5
291 exit ;;
292 Amiga*:UNIX_System_V:4.0:*)
293 echo m68k-unknown-sysv4
294 exit ;;
295 *:[Aa]miga[Oo][Ss]:*:*)
296 echo ${UNAME_MACHINE}-unknown-amigaos
297 exit ;;
298 *:[Mm]orph[Oo][Ss]:*:*)
299 echo ${UNAME_MACHINE}-unknown-morphos
300 exit ;;
301 *:OS/390:*:*)
302 echo i370-ibm-openedition
303 exit ;;
304 *:z/VM:*:*)
305 echo s390-ibm-zvmoe
306 exit ;;
307 *:OS400:*:*)
308 echo powerpc-ibm-os400
309 exit ;;
310 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
311 echo arm-acorn-riscix${UNAME_RELEASE}
312 exit ;;
313 arm:riscos:*:*|arm:RISCOS:*:*)
314 echo arm-unknown-riscos
315 exit ;;
316 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317 echo hppa1.1-hitachi-hiuxmpp
318 exit ;;
319 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321 if test "`(/bin/universe) 2>/dev/null`" = att ; then
322 echo pyramid-pyramid-sysv3
323 else
324 echo pyramid-pyramid-bsd
326 exit ;;
327 NILE*:*:*:dcosx)
328 echo pyramid-pyramid-svr4
329 exit ;;
330 DRS?6000:unix:4.0:6*)
331 echo sparc-icl-nx6
332 exit ;;
333 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
334 case `/usr/bin/uname -p` in
335 sparc) echo sparc-icl-nx7; exit ;;
336 esac ;;
337 sun4H:SunOS:5.*:*)
338 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
339 exit ;;
340 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
341 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
342 exit ;;
343 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
344 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
345 exit ;;
346 sun4*:SunOS:6*:*)
347 # According to config.sub, this is the proper way to canonicalize
348 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
349 # it's likely to be more like Solaris than SunOS4.
350 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351 exit ;;
352 sun4*:SunOS:*:*)
353 case "`/usr/bin/arch -k`" in
354 Series*|S4*)
355 UNAME_RELEASE=`uname -v`
357 esac
358 # Japanese Language versions have a version number like `4.1.3-JL'.
359 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
360 exit ;;
361 sun3*:SunOS:*:*)
362 echo m68k-sun-sunos${UNAME_RELEASE}
363 exit ;;
364 sun*:*:4.2BSD:*)
365 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
366 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
367 case "`/bin/arch`" in
368 sun3)
369 echo m68k-sun-sunos${UNAME_RELEASE}
371 sun4)
372 echo sparc-sun-sunos${UNAME_RELEASE}
374 esac
375 exit ;;
376 aushp:SunOS:*:*)
377 echo sparc-auspex-sunos${UNAME_RELEASE}
378 exit ;;
379 # The situation for MiNT is a little confusing. The machine name
380 # can be virtually everything (everything which is not
381 # "atarist" or "atariste" at least should have a processor
382 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
383 # to the lowercase version "mint" (or "freemint"). Finally
384 # the system name "TOS" denotes a system which is actually not
385 # MiNT. But MiNT is downward compatible to TOS, so this should
386 # be no problem.
387 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
388 echo m68k-atari-mint${UNAME_RELEASE}
389 exit ;;
390 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
391 echo m68k-atari-mint${UNAME_RELEASE}
392 exit ;;
393 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
394 echo m68k-atari-mint${UNAME_RELEASE}
395 exit ;;
396 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
397 echo m68k-milan-mint${UNAME_RELEASE}
398 exit ;;
399 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
400 echo m68k-hades-mint${UNAME_RELEASE}
401 exit ;;
402 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
403 echo m68k-unknown-mint${UNAME_RELEASE}
404 exit ;;
405 m68k:machten:*:*)
406 echo m68k-apple-machten${UNAME_RELEASE}
407 exit ;;
408 powerpc:machten:*:*)
409 echo powerpc-apple-machten${UNAME_RELEASE}
410 exit ;;
411 RISC*:Mach:*:*)
412 echo mips-dec-mach_bsd4.3
413 exit ;;
414 RISC*:ULTRIX:*:*)
415 echo mips-dec-ultrix${UNAME_RELEASE}
416 exit ;;
417 VAX*:ULTRIX*:*:*)
418 echo vax-dec-ultrix${UNAME_RELEASE}
419 exit ;;
420 2020:CLIX:*:* | 2430:CLIX:*:*)
421 echo clipper-intergraph-clix${UNAME_RELEASE}
422 exit ;;
423 mips:*:*:UMIPS | mips:*:*:RISCos)
424 eval $set_cc_for_build
425 sed 's/^ //' << EOF >$dummy.c
426 #ifdef __cplusplus
427 #include <stdio.h> /* for printf() prototype */
428 int main (int argc, char *argv[]) {
429 #else
430 int main (argc, argv) int argc; char *argv[]; {
431 #endif
432 #if defined (host_mips) && defined (MIPSEB)
433 #if defined (SYSTYPE_SYSV)
434 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
435 #endif
436 #if defined (SYSTYPE_SVR4)
437 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
438 #endif
439 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
440 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
441 #endif
442 #endif
443 exit (-1);
446 $CC_FOR_BUILD -o $dummy $dummy.c &&
447 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
448 SYSTEM_NAME=`$dummy $dummyarg` &&
449 { echo "$SYSTEM_NAME"; exit; }
450 echo mips-mips-riscos${UNAME_RELEASE}
451 exit ;;
452 Motorola:PowerMAX_OS:*:*)
453 echo powerpc-motorola-powermax
454 exit ;;
455 Motorola:*:4.3:PL8-*)
456 echo powerpc-harris-powermax
457 exit ;;
458 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
459 echo powerpc-harris-powermax
460 exit ;;
461 Night_Hawk:Power_UNIX:*:*)
462 echo powerpc-harris-powerunix
463 exit ;;
464 m88k:CX/UX:7*:*)
465 echo m88k-harris-cxux7
466 exit ;;
467 m88k:*:4*:R4*)
468 echo m88k-motorola-sysv4
469 exit ;;
470 m88k:*:3*:R3*)
471 echo m88k-motorola-sysv3
472 exit ;;
473 AViiON:dgux:*:*)
474 # DG/UX returns AViiON for all architectures
475 UNAME_PROCESSOR=`/usr/bin/uname -p`
476 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
477 then
478 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
479 [ ${TARGET_BINARY_INTERFACE}x = x ]
480 then
481 echo m88k-dg-dgux${UNAME_RELEASE}
482 else
483 echo m88k-dg-dguxbcs${UNAME_RELEASE}
485 else
486 echo i586-dg-dgux${UNAME_RELEASE}
488 exit ;;
489 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
490 echo m88k-dolphin-sysv3
491 exit ;;
492 M88*:*:R3*:*)
493 # Delta 88k system running SVR3
494 echo m88k-motorola-sysv3
495 exit ;;
496 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
497 echo m88k-tektronix-sysv3
498 exit ;;
499 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
500 echo m68k-tektronix-bsd
501 exit ;;
502 *:IRIX*:*:*)
503 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
504 exit ;;
505 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
506 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
507 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
508 i*86:AIX:*:*)
509 echo i386-ibm-aix
510 exit ;;
511 ia64:AIX:*:*)
512 if [ -x /usr/bin/oslevel ] ; then
513 IBM_REV=`/usr/bin/oslevel`
514 else
515 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
517 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
518 exit ;;
519 *:AIX:2:3)
520 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
521 eval $set_cc_for_build
522 sed 's/^ //' << EOF >$dummy.c
523 #include <sys/systemcfg.h>
525 main()
527 if (!__power_pc())
528 exit(1);
529 puts("powerpc-ibm-aix3.2.5");
530 exit(0);
533 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
534 then
535 echo "$SYSTEM_NAME"
536 else
537 echo rs6000-ibm-aix3.2.5
539 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
540 echo rs6000-ibm-aix3.2.4
541 else
542 echo rs6000-ibm-aix3.2
544 exit ;;
545 *:AIX:*:[456])
546 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
547 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
548 IBM_ARCH=rs6000
549 else
550 IBM_ARCH=powerpc
552 if [ -x /usr/bin/oslevel ] ; then
553 IBM_REV=`/usr/bin/oslevel`
554 else
555 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
557 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
558 exit ;;
559 *:AIX:*:*)
560 echo rs6000-ibm-aix
561 exit ;;
562 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
563 echo romp-ibm-bsd4.4
564 exit ;;
565 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
566 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
567 exit ;; # report: romp-ibm BSD 4.3
568 *:BOSX:*:*)
569 echo rs6000-bull-bosx
570 exit ;;
571 DPX/2?00:B.O.S.:*:*)
572 echo m68k-bull-sysv3
573 exit ;;
574 9000/[34]??:4.3bsd:1.*:*)
575 echo m68k-hp-bsd
576 exit ;;
577 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
578 echo m68k-hp-bsd4.4
579 exit ;;
580 9000/[34678]??:HP-UX:*:*)
581 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
582 case "${UNAME_MACHINE}" in
583 9000/31? ) HP_ARCH=m68000 ;;
584 9000/[34]?? ) HP_ARCH=m68k ;;
585 9000/[678][0-9][0-9])
586 if [ -x /usr/bin/getconf ]; then
587 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
588 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
589 case "${sc_cpu_version}" in
590 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
591 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
592 532) # CPU_PA_RISC2_0
593 case "${sc_kernel_bits}" in
594 32) HP_ARCH="hppa2.0n" ;;
595 64) HP_ARCH="hppa2.0w" ;;
596 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
597 esac ;;
598 esac
600 if [ "${HP_ARCH}" = "" ]; then
601 eval $set_cc_for_build
602 sed 's/^ //' << EOF >$dummy.c
604 #define _HPUX_SOURCE
605 #include <stdlib.h>
606 #include <unistd.h>
608 int main ()
610 #if defined(_SC_KERNEL_BITS)
611 long bits = sysconf(_SC_KERNEL_BITS);
612 #endif
613 long cpu = sysconf (_SC_CPU_VERSION);
615 switch (cpu)
617 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
618 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
619 case CPU_PA_RISC2_0:
620 #if defined(_SC_KERNEL_BITS)
621 switch (bits)
623 case 64: puts ("hppa2.0w"); break;
624 case 32: puts ("hppa2.0n"); break;
625 default: puts ("hppa2.0"); break;
626 } break;
627 #else /* !defined(_SC_KERNEL_BITS) */
628 puts ("hppa2.0"); break;
629 #endif
630 default: puts ("hppa1.0"); break;
632 exit (0);
635 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
636 test -z "$HP_ARCH" && HP_ARCH=hppa
637 fi ;;
638 esac
639 if [ ${HP_ARCH} = "hppa2.0w" ]
640 then
641 eval $set_cc_for_build
643 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
644 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
645 # generating 64-bit code. GNU and HP use different nomenclature:
647 # $ CC_FOR_BUILD=cc ./config.guess
648 # => hppa2.0w-hp-hpux11.23
649 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
650 # => hppa64-hp-hpux11.23
652 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
653 grep __LP64__ >/dev/null
654 then
655 HP_ARCH="hppa2.0w"
656 else
657 HP_ARCH="hppa64"
660 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
661 exit ;;
662 ia64:HP-UX:*:*)
663 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
664 echo ia64-hp-hpux${HPUX_REV}
665 exit ;;
666 3050*:HI-UX:*:*)
667 eval $set_cc_for_build
668 sed 's/^ //' << EOF >$dummy.c
669 #include <unistd.h>
671 main ()
673 long cpu = sysconf (_SC_CPU_VERSION);
674 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
675 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
676 results, however. */
677 if (CPU_IS_PA_RISC (cpu))
679 switch (cpu)
681 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
682 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
683 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
684 default: puts ("hppa-hitachi-hiuxwe2"); break;
687 else if (CPU_IS_HP_MC68K (cpu))
688 puts ("m68k-hitachi-hiuxwe2");
689 else puts ("unknown-hitachi-hiuxwe2");
690 exit (0);
693 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
694 { echo "$SYSTEM_NAME"; exit; }
695 echo unknown-hitachi-hiuxwe2
696 exit ;;
697 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
698 echo hppa1.1-hp-bsd
699 exit ;;
700 9000/8??:4.3bsd:*:*)
701 echo hppa1.0-hp-bsd
702 exit ;;
703 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
704 echo hppa1.0-hp-mpeix
705 exit ;;
706 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
707 echo hppa1.1-hp-osf
708 exit ;;
709 hp8??:OSF1:*:*)
710 echo hppa1.0-hp-osf
711 exit ;;
712 i*86:OSF1:*:*)
713 if [ -x /usr/sbin/sysversion ] ; then
714 echo ${UNAME_MACHINE}-unknown-osf1mk
715 else
716 echo ${UNAME_MACHINE}-unknown-osf1
718 exit ;;
719 parisc*:Lites*:*:*)
720 echo hppa1.1-hp-lites
721 exit ;;
722 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
723 echo c1-convex-bsd
724 exit ;;
725 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
726 if getsysinfo -f scalar_acc
727 then echo c32-convex-bsd
728 else echo c2-convex-bsd
730 exit ;;
731 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
732 echo c34-convex-bsd
733 exit ;;
734 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
735 echo c38-convex-bsd
736 exit ;;
737 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
738 echo c4-convex-bsd
739 exit ;;
740 CRAY*Y-MP:*:*:*)
741 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
742 exit ;;
743 CRAY*[A-Z]90:*:*:*)
744 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
745 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
746 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
747 -e 's/\.[^.]*$/.X/'
748 exit ;;
749 CRAY*TS:*:*:*)
750 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751 exit ;;
752 CRAY*T3E:*:*:*)
753 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
754 exit ;;
755 CRAY*SV1:*:*:*)
756 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
757 exit ;;
758 *:UNICOS/mp:*:*)
759 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760 exit ;;
761 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
762 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
763 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
764 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
765 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
766 exit ;;
767 5000:UNIX_System_V:4.*:*)
768 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
769 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
770 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
771 exit ;;
772 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
773 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
774 exit ;;
775 sparc*:BSD/OS:*:*)
776 echo sparc-unknown-bsdi${UNAME_RELEASE}
777 exit ;;
778 *:BSD/OS:*:*)
779 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
780 exit ;;
781 *:FreeBSD:*:*)
782 case ${UNAME_MACHINE} in
783 pc98)
784 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
785 amd64)
786 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
788 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
789 esac
790 exit ;;
791 i*:CYGWIN*:*)
792 echo ${UNAME_MACHINE}-pc-cygwin
793 exit ;;
794 *:MINGW*:*)
795 echo ${UNAME_MACHINE}-pc-mingw32
796 exit ;;
797 i*:windows32*:*)
798 # uname -m includes "-pc" on this system.
799 echo ${UNAME_MACHINE}-mingw32
800 exit ;;
801 i*:PW*:*)
802 echo ${UNAME_MACHINE}-pc-pw32
803 exit ;;
804 *:Interix*:[3456]*)
805 case ${UNAME_MACHINE} in
806 x86)
807 echo i586-pc-interix${UNAME_RELEASE}
808 exit ;;
809 EM64T | authenticamd)
810 echo x86_64-unknown-interix${UNAME_RELEASE}
811 exit ;;
812 IA64)
813 echo ia64-unknown-interix${UNAME_RELEASE}
814 exit ;;
815 esac ;;
816 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
817 echo i${UNAME_MACHINE}-pc-mks
818 exit ;;
819 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
820 # How do we know it's Interix rather than the generic POSIX subsystem?
821 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
822 # UNAME_MACHINE based on the output of uname instead of i386?
823 echo i586-pc-interix
824 exit ;;
825 i*:UWIN*:*)
826 echo ${UNAME_MACHINE}-pc-uwin
827 exit ;;
828 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
829 echo x86_64-unknown-cygwin
830 exit ;;
831 p*:CYGWIN*:*)
832 echo powerpcle-unknown-cygwin
833 exit ;;
834 prep*:SunOS:5.*:*)
835 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
836 exit ;;
837 *:GNU:*:*)
838 # the GNU system
839 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
840 exit ;;
841 *:GNU/*:*:*)
842 # other systems with GNU libc and userland
843 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
844 exit ;;
845 i*86:Minix:*:*)
846 echo ${UNAME_MACHINE}-pc-minix
847 exit ;;
848 arm*:Linux:*:*)
849 eval $set_cc_for_build
850 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
851 | grep -q __ARM_EABI__
852 then
853 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
854 else
855 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
857 exit ;;
858 avr32*:Linux:*:*)
859 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
860 exit ;;
861 cris:Linux:*:*)
862 echo cris-axis-linux-gnu
863 exit ;;
864 crisv32:Linux:*:*)
865 echo crisv32-axis-linux-gnu
866 exit ;;
867 frv:Linux:*:*)
868 echo frv-${VENDOR}-linux-gnu
869 exit ;;
870 ia64:Linux:*:*)
871 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
872 exit ;;
873 m32r*:Linux:*:*)
874 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
875 exit ;;
876 m68*:Linux:*:*)
877 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
878 exit ;;
879 mips:Linux:*:*)
880 eval $set_cc_for_build
881 sed 's/^ //' << EOF >$dummy.c
882 #undef CPU
883 #undef mips
884 #undef mipsel
885 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
886 CPU=mipsel
887 #else
888 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
889 CPU=mips
890 #else
891 CPU=
892 #endif
893 #endif
895 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
896 /^CPU/{
897 s: ::g
899 }'`"
900 test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
902 mips64:Linux:*:*)
903 eval $set_cc_for_build
904 sed 's/^ //' << EOF >$dummy.c
905 #undef CPU
906 #undef mips64
907 #undef mips64el
908 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
909 CPU=mips64el
910 #else
911 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
912 CPU=mips64
913 #else
914 CPU=
915 #endif
916 #endif
918 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
919 /^CPU/{
920 s: ::g
922 }'`"
923 test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
925 or32:Linux:*:*)
926 echo or32-${VENDOR}-linux-gnu
927 exit ;;
928 ppc:Linux:*:*)
929 echo powerpc-${VENDOR}-linux-gnu
930 exit ;;
931 ppc64:Linux:*:*)
932 echo powerpc64-${VENDOR}-linux-gnu
933 exit ;;
934 alpha:Linux:*:*)
935 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
936 EV5) UNAME_MACHINE=alphaev5 ;;
937 EV56) UNAME_MACHINE=alphaev56 ;;
938 PCA56) UNAME_MACHINE=alphapca56 ;;
939 PCA57) UNAME_MACHINE=alphapca56 ;;
940 EV6) UNAME_MACHINE=alphaev6 ;;
941 EV67) UNAME_MACHINE=alphaev67 ;;
942 EV68*) UNAME_MACHINE=alphaev68 ;;
943 esac
944 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
945 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
946 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
947 exit ;;
948 parisc:Linux:*:* | hppa:Linux:*:*)
949 # Look for CPU level
950 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
951 PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
952 PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
953 *) echo hppa-${VENDOR}-linux-gnu ;;
954 esac
955 exit ;;
956 parisc64:Linux:*:* | hppa64:Linux:*:*)
957 echo hppa64-${VENDOR}-linux-gnu
958 exit ;;
959 s390:Linux:*:* | s390x:Linux:*:*)
960 echo ${UNAME_MACHINE}-ibm-linux
961 exit ;;
962 sh64*:Linux:*:*)
963 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
964 exit ;;
965 sh*:Linux:*:*)
966 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
967 exit ;;
968 sparc:Linux:*:* | sparc64:Linux:*:*)
969 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
970 exit ;;
971 vax:Linux:*:*)
972 echo ${UNAME_MACHINE}-dec-linux-gnu
973 exit ;;
974 x86_64:Linux:*:*)
975 echo x86_64-${VENDOR}-linux-gnu
976 exit ;;
977 xtensa*:Linux:*:*)
978 echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
979 exit ;;
980 i*86:Linux:*:*)
981 # The BFD linker knows what the default object file format is, so
982 # first see if it will tell us. cd to the root directory to prevent
983 # problems with other programs or directories called `ld' in the path.
984 # Set LC_ALL=C to ensure ld outputs messages in English.
985 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
986 | sed -ne '/supported targets:/!d
987 s/[ ][ ]*/ /g
988 s/.*supported targets: *//
989 s/ .*//
991 case "$ld_supported_targets" in
992 elf32-i386)
993 TENTATIVE="${UNAME_MACHINE}-${VENDOR}-linux-gnu"
995 a.out-i386-linux)
996 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnuaout"
997 exit ;;
998 coff-i386)
999 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnucoff"
1000 exit ;;
1002 # Either a pre-BFD a.out linker (linux-gnuoldld) or
1003 # one that does not give us useful --help.
1004 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnuoldld"
1005 exit ;;
1006 esac
1007 # Determine whether the default compiler is a.out or elf
1008 eval $set_cc_for_build
1009 sed 's/^ //' << EOF >$dummy.c
1010 #include <features.h>
1011 #ifdef __ELF__
1012 # ifdef __GLIBC__
1013 # if __GLIBC__ >= 2
1014 LIBC=gnu
1015 # else
1016 LIBC=gnulibc1
1017 # endif
1018 # else
1019 LIBC=gnulibc1
1020 # endif
1021 #else
1022 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1023 LIBC=gnu
1024 #else
1025 LIBC=gnuaout
1026 #endif
1027 #endif
1028 #ifdef __dietlibc__
1029 LIBC=dietlibc
1030 #endif
1032 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1033 /^LIBC/{
1034 s: ::g
1036 }'`"
1037 test x"${LIBC}" != x && {
1038 echo "${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}"
1039 exit
1041 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; 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.0*:*)
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 i386.
1116 echo i386-pc-msdosdjgpp
1117 exit ;;
1118 Intel:Mach:3*:*)
1119 echo i386-pc-mach3
1120 exit ;;
1121 paragon:*:*:*)
1122 echo i860-intel-osf1
1123 exit ;;
1124 i860:*:4.*:*) # i860-SVR4
1125 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1126 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1127 else # Add other i860-SVR4 vendors below as they are discovered.
1128 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1130 exit ;;
1131 mini*:CTIX:SYS*5:*)
1132 # "miniframe"
1133 echo m68010-convergent-sysv
1134 exit ;;
1135 mc68k:UNIX:SYSTEM5:3.51m)
1136 echo m68k-convergent-sysv
1137 exit ;;
1138 M680?0:D-NIX:5.3:*)
1139 echo m68k-diab-dnix
1140 exit ;;
1141 M68*:*:R3V[5678]*:*)
1142 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1143 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)
1144 OS_REL=''
1145 test -r /etc/.relid \
1146 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1147 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1148 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1149 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1150 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1151 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1152 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1153 && { echo i486-ncr-sysv4; exit; } ;;
1154 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1155 echo m68k-unknown-lynxos${UNAME_RELEASE}
1156 exit ;;
1157 mc68030:UNIX_System_V:4.*:*)
1158 echo m68k-atari-sysv4
1159 exit ;;
1160 TSUNAMI:LynxOS:2.*:*)
1161 echo sparc-unknown-lynxos${UNAME_RELEASE}
1162 exit ;;
1163 rs6000:LynxOS:2.*:*)
1164 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1165 exit ;;
1166 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1167 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1168 exit ;;
1169 SM[BE]S:UNIX_SV:*:*)
1170 echo mips-dde-sysv${UNAME_RELEASE}
1171 exit ;;
1172 RM*:ReliantUNIX-*:*:*)
1173 echo mips-sni-sysv4
1174 exit ;;
1175 RM*:SINIX-*:*:*)
1176 echo mips-sni-sysv4
1177 exit ;;
1178 *:SINIX-*:*:*)
1179 if uname -p 2>/dev/null >/dev/null ; then
1180 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1181 echo ${UNAME_MACHINE}-sni-sysv4
1182 else
1183 echo ns32k-sni-sysv
1185 exit ;;
1186 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1187 # says <Richard.M.Bartel@ccMail.Census.GOV>
1188 echo i586-unisys-sysv4
1189 exit ;;
1190 *:UNIX_System_V:4*:FTX*)
1191 # From Gerald Hewes <hewes@openmarket.com>.
1192 # How about differentiating between stratus architectures? -djm
1193 echo hppa1.1-stratus-sysv4
1194 exit ;;
1195 *:*:*:FTX*)
1196 # From seanf@swdc.stratus.com.
1197 echo i860-stratus-sysv4
1198 exit ;;
1199 i*86:VOS:*:*)
1200 # From Paul.Green@stratus.com.
1201 echo ${UNAME_MACHINE}-stratus-vos
1202 exit ;;
1203 *:VOS:*:*)
1204 # From Paul.Green@stratus.com.
1205 echo hppa1.1-stratus-vos
1206 exit ;;
1207 mc68*:A/UX:*:*)
1208 echo m68k-apple-aux${UNAME_RELEASE}
1209 exit ;;
1210 news*:NEWS-OS:6*:*)
1211 echo mips-sony-newsos6
1212 exit ;;
1213 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1214 if [ -d /usr/nec ]; then
1215 echo mips-nec-sysv${UNAME_RELEASE}
1216 else
1217 echo mips-unknown-sysv${UNAME_RELEASE}
1219 exit ;;
1220 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1221 echo powerpc-be-beos
1222 exit ;;
1223 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1224 echo powerpc-apple-beos
1225 exit ;;
1226 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1227 echo i586-pc-beos
1228 exit ;;
1229 SX-4:SUPER-UX:*:*)
1230 echo sx4-nec-superux${UNAME_RELEASE}
1231 exit ;;
1232 SX-5:SUPER-UX:*:*)
1233 echo sx5-nec-superux${UNAME_RELEASE}
1234 exit ;;
1235 SX-6:SUPER-UX:*:*)
1236 echo sx6-nec-superux${UNAME_RELEASE}
1237 exit ;;
1238 SX-7:SUPER-UX:*:*)
1239 echo sx7-nec-superux${UNAME_RELEASE}
1240 exit ;;
1241 SX-8:SUPER-UX:*:*)
1242 echo sx8-nec-superux${UNAME_RELEASE}
1243 exit ;;
1244 SX-8R:SUPER-UX:*:*)
1245 echo sx8r-nec-superux${UNAME_RELEASE}
1246 exit ;;
1247 Power*:Rhapsody:*:*)
1248 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1249 exit ;;
1250 *:Rhapsody:*:*)
1251 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1252 exit ;;
1253 *:Darwin:*:*)
1254 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1255 case $UNAME_PROCESSOR in
1256 unknown) UNAME_PROCESSOR=powerpc ;;
1257 esac
1258 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1259 exit ;;
1260 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1261 UNAME_PROCESSOR=`uname -p`
1262 if test "$UNAME_PROCESSOR" = "x86"; then
1263 UNAME_PROCESSOR=i386
1264 UNAME_MACHINE=pc
1266 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1267 exit ;;
1268 *:QNX:*:4*)
1269 echo i386-pc-qnx
1270 exit ;;
1271 NSE-?:NONSTOP_KERNEL:*:*)
1272 echo nse-tandem-nsk${UNAME_RELEASE}
1273 exit ;;
1274 NSR-?:NONSTOP_KERNEL:*:*)
1275 echo nsr-tandem-nsk${UNAME_RELEASE}
1276 exit ;;
1277 *:NonStop-UX:*:*)
1278 echo mips-compaq-nonstopux
1279 exit ;;
1280 BS2000:POSIX*:*:*)
1281 echo bs2000-siemens-sysv
1282 exit ;;
1283 DS/*:UNIX_System_V:*:*)
1284 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1285 exit ;;
1286 *:Plan9:*:*)
1287 # "uname -m" is not consistent, so use $cputype instead. 386
1288 # is converted to i386 for consistency with other x86
1289 # operating systems.
1290 if test "$cputype" = "386"; then
1291 UNAME_MACHINE=i386
1292 else
1293 UNAME_MACHINE="$cputype"
1295 echo ${UNAME_MACHINE}-unknown-plan9
1296 exit ;;
1297 *:TOPS-10:*:*)
1298 echo pdp10-unknown-tops10
1299 exit ;;
1300 *:TENEX:*:*)
1301 echo pdp10-unknown-tenex
1302 exit ;;
1303 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1304 echo pdp10-dec-tops20
1305 exit ;;
1306 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1307 echo pdp10-xkl-tops20
1308 exit ;;
1309 *:TOPS-20:*:*)
1310 echo pdp10-unknown-tops20
1311 exit ;;
1312 *:ITS:*:*)
1313 echo pdp10-unknown-its
1314 exit ;;
1315 SEI:*:*:SEIUX)
1316 echo mips-sei-seiux${UNAME_RELEASE}
1317 exit ;;
1318 *:DragonFly:*:*)
1319 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1320 exit ;;
1321 *:*VMS:*:*)
1322 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1323 case "${UNAME_MACHINE}" in
1324 A*) echo alpha-dec-vms ; exit ;;
1325 I*) echo ia64-dec-vms ; exit ;;
1326 V*) echo vax-dec-vms ; exit ;;
1327 esac ;;
1328 *:XENIX:*:SysV)
1329 echo i386-pc-xenix
1330 exit ;;
1331 i*86:skyos:*:*)
1332 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1333 exit ;;
1334 i*86:rdos:*:*)
1335 echo ${UNAME_MACHINE}-pc-rdos
1336 exit ;;
1337 esac
1339 #echo '(No uname command or uname output not recognized.)' 1>&2
1340 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1342 eval $set_cc_for_build
1343 cat >$dummy.c <<EOF
1344 #ifdef _SEQUENT_
1345 # include <sys/types.h>
1346 # include <sys/utsname.h>
1347 #endif
1348 main ()
1350 #if defined (sony)
1351 #if defined (MIPSEB)
1352 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1353 I don't know.... */
1354 printf ("mips-sony-bsd\n"); exit (0);
1355 #else
1356 #include <sys/param.h>
1357 printf ("m68k-sony-newsos%s\n",
1358 #ifdef NEWSOS4
1360 #else
1362 #endif
1363 ); exit (0);
1364 #endif
1365 #endif
1367 #if defined (__arm) && defined (__acorn) && defined (__unix)
1368 printf ("arm-acorn-riscix\n"); exit (0);
1369 #endif
1371 #if defined (hp300) && !defined (hpux)
1372 printf ("m68k-hp-bsd\n"); exit (0);
1373 #endif
1375 #if defined (NeXT)
1376 #if !defined (__ARCHITECTURE__)
1377 #define __ARCHITECTURE__ "m68k"
1378 #endif
1379 int version;
1380 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1381 if (version < 4)
1382 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1383 else
1384 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1385 exit (0);
1386 #endif
1388 #if defined (MULTIMAX) || defined (n16)
1389 #if defined (UMAXV)
1390 printf ("ns32k-encore-sysv\n"); exit (0);
1391 #else
1392 #if defined (CMU)
1393 printf ("ns32k-encore-mach\n"); exit (0);
1394 #else
1395 printf ("ns32k-encore-bsd\n"); exit (0);
1396 #endif
1397 #endif
1398 #endif
1400 #if defined (__386BSD__)
1401 printf ("i386-pc-bsd\n"); exit (0);
1402 #endif
1404 #if defined (sequent)
1405 #if defined (i386)
1406 printf ("i386-sequent-dynix\n"); exit (0);
1407 #endif
1408 #if defined (ns32000)
1409 printf ("ns32k-sequent-dynix\n"); exit (0);
1410 #endif
1411 #endif
1413 #if defined (_SEQUENT_)
1414 struct utsname un;
1416 uname(&un);
1418 if (strncmp(un.version, "V2", 2) == 0) {
1419 printf ("i386-sequent-ptx2\n"); exit (0);
1421 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1422 printf ("i386-sequent-ptx1\n"); exit (0);
1424 printf ("i386-sequent-ptx\n"); exit (0);
1426 #endif
1428 #if defined (vax)
1429 # if !defined (ultrix)
1430 # include <sys/param.h>
1431 # if defined (BSD)
1432 # if BSD == 43
1433 printf ("vax-dec-bsd4.3\n"); exit (0);
1434 # else
1435 # if BSD == 199006
1436 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1437 # else
1438 printf ("vax-dec-bsd\n"); exit (0);
1439 # endif
1440 # endif
1441 # else
1442 printf ("vax-dec-bsd\n"); exit (0);
1443 # endif
1444 # else
1445 printf ("vax-dec-ultrix\n"); exit (0);
1446 # endif
1447 #endif
1449 #if defined (alliant) && defined (i860)
1450 printf ("i860-alliant-bsd\n"); exit (0);
1451 #endif
1453 exit (1);
1457 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1458 { echo "$SYSTEM_NAME"; exit; }
1460 # Apollos put the system type in the environment.
1462 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1464 # Convex versions that predate uname can use getsysinfo(1)
1466 if [ -x /usr/convex/getsysinfo ]
1467 then
1468 case `getsysinfo -f cpu_type` in
1469 c1*)
1470 echo c1-convex-bsd
1471 exit ;;
1472 c2*)
1473 if getsysinfo -f scalar_acc
1474 then echo c32-convex-bsd
1475 else echo c2-convex-bsd
1477 exit ;;
1478 c34*)
1479 echo c34-convex-bsd
1480 exit ;;
1481 c38*)
1482 echo c38-convex-bsd
1483 exit ;;
1484 c4*)
1485 echo c4-convex-bsd
1486 exit ;;
1487 esac
1490 cat >&2 <<EOF
1491 $0: unable to guess system type
1493 This script, last modified $timestamp, has failed to recognize
1494 the operating system you are using. It is advised that you
1495 download the most up to date version of the config scripts from
1497 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1499 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1501 If the version you run ($0) is already up to date, please
1502 send the following data and any information you think might be
1503 pertinent to <config-patches@gnu.org> in order to provide the needed
1504 information to handle your system.
1506 config.guess timestamp = $timestamp
1508 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1509 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1510 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1511 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1513 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1514 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1516 hostinfo = `(hostinfo) 2>/dev/null`
1517 /bin/universe = `(/bin/universe) 2>/dev/null`
1518 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1519 /bin/arch = `(/bin/arch) 2>/dev/null`
1520 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1521 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1523 UNAME_MACHINE = ${UNAME_MACHINE}
1524 UNAME_RELEASE = ${UNAME_RELEASE}
1525 UNAME_SYSTEM = ${UNAME_SYSTEM}
1526 UNAME_VERSION = ${UNAME_VERSION}
1529 exit 1
1531 # Local variables:
1532 # eval: (add-hook 'write-file-hooks 'time-stamp)
1533 # time-stamp-start: "timestamp='"
1534 # time-stamp-format: "%:y-%02m-%02d"
1535 # time-stamp-end: "'"
1536 # End: