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