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