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